aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2010-03-17serial: flush I/O right after openDan Williams
We don't really care about anything that came before.
2010-03-17serial: use termios instead of old terminal ioctlsMichael Biebl
Makes sure we build on Alpha, plus the right thing to do.
2010-03-16gsm: implement roaming triggersDan Williams
2010-03-16gsm: ignore SIM-PUK2 unlock requiredDan Williams
Device is functional without it; it's only required for stuff we don't do yet.
2010-03-16cdma: simplify finding the right serial port for commandsDan Williams
2010-03-16gsm: fix operator name on Option devices with UCS2 charsetDan Williams
2010-03-16gsm: turn off unsolicited messages on disableDan Williams
2010-03-16gsm: only change allowed mode during Simple.Connect when neededDan Williams
2010-03-16gsm: simplify finding the right serial port for commandsDan Williams
2010-03-16core: immediately reject Sierra CnS ports during probeDan Williams
For now; until Sierra releases their CnS documentation.
2010-03-16gsm: make mm_generic_gsm_check_pin() staticDan Williams
No more external users of it.
2010-03-16api: add UMTS 1900MHz (Class II) bandDan Williams
2010-03-16gsm: handle allowed mode during Simple.Connect()Dan Williams
2010-03-15core: fix serial port base class callback typesDan Williams
2010-03-15core: add command helper that handles character set conversionDan Williams
2010-03-15gsm: allow subclasses to retrieve current character setDan Williams
2010-03-13core: move charset enum/string conversion to it's own fileDan Williams
2010-03-13gsm: add character set get/set supportDan Williams
2010-03-12build: fix distcheck errorDan Williams
2010-03-12Merge remote branch 'origin/master' into qcdmDan Williams
2010-03-12cdma: make previous state tag privateDan Williams
2010-03-12Merge remote branch 'origin/master' into qcdmDan Williams
2010-03-12cdma: fix Simple.GetStatus to actually workDan Williams
2010-03-12cdma: use E1 parser to ignore re-echoed commandsDan Williams
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-11core: fix merge damageDan Williams
2010-03-11Merge remote branch 'origin/master' into qcdmDan Williams
2010-03-11core: stop probing known-unusable ports earlyDan Williams
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-10gsm: ensure PDP context deactivation happens on disconnectDan Williams
The port is still connected until disconnect_done() runs, but by this point we already know it's been disconnected so it's safe to run the CGACT commands.
2010-03-10gsm: close open ports on Enable errorsDan Williams
2010-03-10gsm: fix PUK2 and other PIN unlock code recognitionDan Williams
Longer entries first so we catch them before matching shorter substrings. Previously, the strcmp() would have treated PUK2 and PUK unlocks the same.
2010-03-10Merge remote branch 'origin/master' into qcdmDan Williams
2010-03-10serial: not all commands have response callbacksDan Williams
So don't crash if they don't.
2010-03-10Merge remote branch 'origin/master' into qcdmDan Williams
2010-03-10gsm: clean up disconnect handlingDan Williams
Allow subclasses to override disconnect more cleanly so that modem state gets handled correctly when the disconnect is complete. Also fix up PDP Context ID handle (cid) so that subclasses can get the previously-activated context ID when disconnecting, and let the cid be an int since '0' is a valid context number. For the generic devices, this also attempts to actually deactivate the PDP context to ensure that the data session is terminated.
2010-03-10gsm: revert part of d2e69d34f86e8994f74fb209082fcfb7573b2ea2Dan Williams
Reg status returned here is cached reg status, so it's pointless to set it here again.
2010-03-10gsm: make registration status change handling consistentDan Williams
Ensure we send out signals when anything changes.
2010-03-09gsm: fix CREG/CGREG parsing with multiple responsesDan Williams
When a modem sends both CREG and CGREG in the same response packet, the parser was failing to correctly distinguish which response was being parsed, since the string passed to g_regex_match() is the whole response including both CREG + CGREG.
2010-03-09gsm: only update access technology when enabledDan Williams
2010-03-09gsm: let generic class handle signal quality caching and updatesDan Williams
2010-03-09cdma: tell the modem we're using XON/XOFF tooDan Williams
2010-03-09serial: default to XON/XOFF flow controlDan Williams
This seems to help with Huawei and ZTE devices which often appeared to stop responding on either primary or secondary ports at various times. We had this problem a long time ago, but it was fixed then by always picking the right serial port via the USB interface number (Huawei) or udev rules files (ZTE). Now that we're using the second serial port more extensively the problem came up again, so lets try to fix it for real.
2010-03-09gsm: only use CREG responses for authoritative registration stateDan Williams
For now...
2010-03-09gsm: fix inifinite in ETSI tech -> MM tech conversion functionDan Williams
2010-03-09gsm: fix crash in Simple API's GetStatus handlingDan Williams
Can't schedule the info completion until we're sure all the requests have completed. They won't necessarily be completed in the same order they were issued since some of the data the requests pull from could be cached and thus we don't have to wait in the queue to hit up the modem.
2010-03-09core: fix SIGTERM before mainloop has startedDan Williams
2010-03-08core: don't try to remove 0 characters after matching responsesDan Williams
2010-03-08Merge remote branch 'origin/master' into qcdmDan Williams
2010-03-08api+gsm: split out access technologyDan Williams
As with allowed modes, make things clearer and simpler by giving access technology it's own values.
2010-03-08api+gsm: clean up AllowedMode valuesDan Williams
Instead of trying to stuff everything into the mode bitfield it turns out it's just easier, clearer, and simpler to use different values for each of the following: 1) the device's supported access technologies and allowed modes 2) the device's current access technology 3) the device's allowed mode preference Since none of the AccessTechnology or AllowedMode stuff has hit a release yet, let's make sure we're doing it the right way early on.
2010-03-08gsm: implement allowed modeDan Williams