Commit Graph
557 Commits
Author SHA1 Message Date
Dan Williams 26c1402aae qcdm: add initial roaming and mode preference bits 2010-03-19 19:18:02 -07:00
Dan Williams 5897d8f275 gsm: PIN2 doesn't block enabling either
Again, only required for various dialing features we don't deal with
yet.
2010-03-19 11:09:43 -07:00
Dan Williams f5f388c7fd gsm: use new callback info chain functions for simple status 2010-03-19 11:05:05 -07:00
Dan Williams 85fc71818e core: have modem base class handle card information 2010-03-19 11:01:19 -07:00
Dan Williams 4558df894b helpers: add generic response stripping function 2010-03-19 10:57:01 -07:00
Dan Williams 6ca5765eb6 core: add chaining helper functions to callback info
Helpful when chaining a number of commands together when you want
to schedule the callback info only after all of them complete.
2010-03-19 10:54:10 -07:00
Dan Williams bb62cfe07a core: add base location API implementation 2010-03-18 18:08:23 -07:00
Dan Williams 1df244f307 api: fix syntax error 2010-03-18 08:47:14 -07:00
Dan Williams fb2b80f11a serial: flush I/O right after open
We don't really care about anything that came before.
2010-03-17 12:05:31 -07:00
Michael Biebl 857dcd7bcf serial: use termios instead of old terminal ioctls
Makes sure we build on Alpha, plus the right thing to do.
2010-03-17 11:59:29 -07:00
Dan Williams 0815597d8d qcdm: fix command buffer initialization
Use the right buffer size to initialize.
2010-03-17 00:40:13 -07:00
Dan Williams d7a0ad7686 gsm: implement roaming triggers 2010-03-16 22:44:09 -07:00
Dan Williams 2c65e0ceaa gsm: ignore SIM-PUK2 unlock required
Device is functional without it; it's only required for stuff
we don't do yet.
2010-03-16 17:19:21 -07:00
Dan Williams 79bca53f21 cdma: simplify finding the right serial port for commands 2010-03-16 17:03:55 -07:00
Dan Williams 6266f949ba gsm: fix operator name on Option devices with UCS2 charset 2010-03-16 16:45:32 -07:00
Dan Williams c18dfa67d8 gsm: turn off unsolicited messages on disable 2010-03-16 15:53:09 -07:00
Dan Williams bdefdac2dc hso: add allowed mode and unsolicited response handling 2010-03-16 15:51:27 -07:00
Dan Williams ad9fe9da28 option: generalize common Option/HSO mode and unsolicited response handling 2010-03-16 15:50:58 -07:00
Dan Williams 4d5f4f9a82 gsm: only change allowed mode during Simple.Connect when needed 2010-03-16 15:16:01 -07:00
Dan Williams 6744e08104 gsm: simplify finding the right serial port for commands 2010-03-16 13:17:14 -07:00
Dan Williams b002e54cf4 core: immediately reject Sierra CnS ports during probe
For now; until Sierra releases their CnS documentation.
2010-03-16 13:03:13 -07:00
Dan Williams 882a86040e gsm: make mm_generic_gsm_check_pin() static
No more external users of it.
2010-03-16 11:52:01 -07:00
Dan Williams eff1bcc7f3 huawei: simplify setting allowed mode 2010-03-16 11:42:57 -07:00
Dan Williams 8af469ccad huawei: clean up and simplify band handling 2010-03-16 11:38:34 -07:00
Dan Williams e3aa8d5008 api: add UMTS 1900MHz (Class II) band 2010-03-16 11:04:12 -07:00
Dan Williams 19257f540c gsm: handle allowed mode during Simple.Connect() 2010-03-16 11:02:35 -07:00
Dan Williams e0c3052b0f huawei: handle unsolicited unregistered mode change 2010-03-16 10:29:47 -07:00
Dan Williams 70d9d60d0c mbm: send internet account username/password in modem character set
Apparently at least the F3507g wants the username and password in
the modem's current character set, otherwise it sends the wrong
thing over-the-air.
2010-03-15 14:52:21 -07:00
Dan Williams d9a47ef2e8 core: fix serial port base class callback types 2010-03-15 14:51:18 -07:00
Dan Williams 3151e0e298 core: add command helper that handles character set conversion 2010-03-15 14:25:49 -07:00
Dan Williams 2dd7e12f72 gsm: allow subclasses to retrieve current character set 2010-03-15 14:24:59 -07:00
Dan Williams a872107cfc api: better define Scan() command results 2010-03-15 11:57:01 -07:00
Dan Williams 2a94d38edc core: move charset enum/string conversion to it's own file 2010-03-13 16:37:24 -08:00
Dan Williams ac7310ab10 gsm: add character set get/set support 2010-03-13 16:26:46 -08:00
Dan Williams 429c7cc661 sierra: implement GSM mode preference handling 2010-03-12 17:06:04 -08:00
Dan Williams 2777f9f488 trivial: spacing fixes 2010-03-12 16:59:39 -08:00
Dan Williams 4202bfb86e zte: implement GSM mode preference handling 2010-03-12 16:49:22 -08:00
Dan Williams c11c0431ff trivial: gitignore updates 2010-03-12 15:34:27 -08:00
Dan Williams 179604d6cb build: another distcheck fix 2010-03-12 15:33:46 -08:00
Dan Williams ef749399fd build: fix distcheck error 2010-03-12 15:31:29 -08:00
Dan Williams 936533cfcc Merge remote branch 'origin/master' into qcdm 2010-03-12 12:40:00 -08:00
Dan Williams 3e760488b6 cdma: make previous state tag private 2010-03-12 12:38:53 -08:00
Dan Williams 9d91501330 Merge remote branch 'origin/master' into qcdm 2010-03-12 12:21:29 -08:00
Dan Williams 7aa6d03d95 novatel: add CDMA plugin for signal quality parsing
Some Novatel devices reply with the normal units to +CSQ and it
doesn't look quite like the +CSQ reply is in dBm either; so
use the custom Novatel command for RSSI.
2010-03-12 12:13:21 -08:00
Dan Williams cda38d390a cdma: fix Simple.GetStatus to actually work 2010-03-12 12:07:08 -08:00
Dan Williams 7a0c503036 cdma: use E1 parser to ignore re-echoed commands
Some modems turn E1 on and off random (Huawei EC168C) and sometimes
the echoed command confuses things.  We have a parser just for that,
so let's use it.  It should be safe to use with devices that repect
E0 too.
2010-03-12 10:16:24 -08:00
Dan Williams e055bd72db hso: fix connections with username/password after e3c87e4e14
e3c87e4e14 introduced a use-after-free
bug that causes passwords and usernames to be corrupted.
2010-03-12 08:57:55 -08:00
Dan Williams 4d1e00c496 core: fix merge damage 2010-03-11 16:02:12 -08:00
Dan Williams 3ec7e89f11 Merge remote branch 'origin/master' into qcdm 2010-03-11 13:43:06 -08:00
Dan Williams 749f9c0eb5 core: stop probing known-unusable ports early
Some ports we know we shouldn't use when we get certain responses
from them.  Reading from these ports triggers kernel bugs (at least
on 2.6.31 and 2.6.32) relating to flow control in some drivers
(*cough* hso *cough*), so lets try not to aggravate the kernel too
much.  This happens on Icera-based Option devices like the GI0322
(AT&T Quicksilver) for example.

(note: AFAICT this doesn't have any relation to the recent XON/XOFF
patch, since I get this problem without the XON/XOFF patch on both
2.6.31 and 2.6.32 as well)

---

BUG: sleeping function called from invalid context at kernel/mutex.c:94
in_atomic(): 1, irqs_disabled(): 1, pid: 9295, name: modem-manager
Pid: 9295, comm: modem-manager Not tainted 2.6.32.9-67.fc12.x86_64 #1
Call Trace:
 <IRQ>  [<ffffffff81045d41>] __might_sleep+0xed/0xef
 [<ffffffff81454dd0>] mutex_lock+0x24/0x50
 [<ffffffff8104811e>] ? enqueue_task_fair+0x2a/0x6d
 [<ffffffff812af79f>] tty_throttle+0x1b/0x49
 [<ffffffff812af0d9>] n_tty_receive_buf+0xdbb/0xe12
 [<ffffffff810459fd>] ? task_rq_unlock+0x11/0x13
 [<ffffffff81050c5c>] ? try_to_wake_up+0x2f3/0x305
 [<ffffffff8110de0c>] ? __kmalloc+0x37/0x15e
 [<ffffffff8110de42>] ? __kmalloc+0x6d/0x15e
 [<ffffffff812b12c9>] flush_to_ldisc+0xf8/0x18d
 [<ffffffff812b13ae>] tty_flip_buffer_push+0x50/0x61
 [<ffffffffa040ccd5>] put_rxbuf_data+0xea/0x124 [hso]
 [<ffffffffa040cd97>] put_rxbuf_data_and_resubmit_bulk_urb+0x21/0x6b [hso]
 [<ffffffffa040d0b1>] hso_std_serial_read_bulk_callback+0x14d/0x15f [hso]
 [<ffffffff8132edf7>] ? dma_unmap_single_attrs.clone.0+0x38/0x3a
 [<ffffffff8132ef74>] usb_hcd_giveback_urb+0x91/0xc5
 [<ffffffff813417c8>] ehci_urb_done+0x7b/0x90
 [<ffffffff81050c5c>] ? try_to_wake_up+0x2f3/0x305
 [<ffffffff81341b45>] qh_completions+0x368/0x4b9
 [<ffffffff8103e7a0>] ? __wake_up_common+0x4e/0x84
 [<ffffffff81343f70>] ehci_work+0x95/0x732
 [<ffffffff81045b53>] ? __wake_up+0x44/0x4d
 [<ffffffff81070490>] ? insert_work+0x8e/0x9b
 [<ffffffff81345f01>] ehci_irq+0x2be/0x420
 [<ffffffff8107071a>] ? __queue_work+0x3a/0x41
 [<ffffffff81049e43>] ? resched_cpu+0x6e/0x77
 [<ffffffff8107075d>] ? delayed_work_timer_fn+0x3c/0x3e
 [<ffffffff810b0e44>] ? __rcu_process_callbacks+0x7d/0x28a
 [<ffffffff8132e846>] usb_hcd_irq+0x3f/0x7b
 [<ffffffff810acd61>] handle_IRQ_event+0x60/0x121
 [<ffffffff810aeb8e>] handle_fasteoi_irq+0x8b/0xc7
 [<ffffffff81014625>] handle_irq+0x8b/0x96
 [<ffffffff81459c14>] do_IRQ+0x5c/0xbc
 [<ffffffff81012693>] ret_from_intr+0x0/0x11
2010-03-11 13:20:43 -08:00