Commit Graph

661 Commits

Author SHA1 Message Date
Torgny Johansson
ef0a604dc2 mbm: merge updated Ericsson 'mbm' driver from git://gitorious.org/~torgny_j/modemmanager/mbm-mainline.git
And other cleanups by Dan.
2009-06-29 07:26:20 -04:00
Dan Williams
6077763d90 asynchronous and deferred port detection
Allow plugins to perform asynchronous port detection, and to defer port detection
until later.  This moves the prober bits into MMPluginBase so that all plugins
can take adavantage of it only when needed; the probing is not done at udev time.
Furthermore, plugins like Novatel can flip the secondary ports over the AT mode
through	deferred detection, by deferring the secondary ports until the main port
has been detected and AT$NWDMAT	has been sent.

This commit also finishes the port of the rest of the plugins (except mbm) over
to the new port detection methods and plugin API.
2009-06-28 14:05:05 -04:00
Dan Williams
112f2da19d serial-port: open port exclusively 2009-06-25 16:45:49 -04:00
Dan Williams
bb50295e5e serial-port: if 0 bytes are read, just return
Otherwise, if something else is mistakenly holding the serial port open at
the same time as this MMSerialPort, you get a stream of reads of size 0 and
effectively hang modem-manager.
2009-06-25 14:14:10 -04:00
Dan Williams
742bf7d17c serial-port: print port name in debug messages 2009-06-25 06:14:11 -04:00
Dan Williams
05ab7b2a7c plugins: implement mm_plugin_base_get_device_ids()
We'll need it in more than one place, so make it generic.
2009-06-20 18:18:08 -04:00
Dan Williams
d5a43aa862 udev: modem port refactor; convert 'hso' to udev
Create a base MMPort class to handle both tty and net ports generically,
and move plugins over to that.  Also port the 'hso' plugin to udev.
2009-06-20 10:49:09 -04:00
Dan Williams
73e536c3c3 huawei: convert to udev and new API 2009-06-19 22:59:43 -04:00
Dan Williams
c3dd2eb070 moto-c: rebase onto MMPluginBase 2009-06-19 14:33:24 -04:00
Dan Williams
af4ecc3e6d cdma: implement GetServingSystem 2009-06-19 13:55:00 -04:00
Dan Williams
f50a762763 cdma: fix up quality reporting 2009-06-19 13:02:16 -04:00
Dan Williams
9be1d66ef0 cdma: implement GetEsn() 2009-06-19 12:54:07 -04:00
Dan Williams
6d4616c1d3 modem: move GetInfo from GsmCard -> Modem interface
It's generic, everything implements some variant of +GMM, +GMR, and +GMI.
2009-06-19 12:43:37 -04:00
Dan Williams
88bdb5d29a plugin: add a base class to handle modem tracking 2009-06-19 11:55:31 -04:00
Dan Williams
018e9e5831 test: refactor 2009-06-19 11:51:04 -04:00
Dan Williams
10b8674e5c gobi: add plugin for Qualcomm Gobi devices 2009-06-18 23:32:08 -04:00
Dan Williams
983e3c9947 core: gracefully handle SIGTERM and SIGINT by shutting down cleanly 2009-06-18 23:22:07 -04:00
Dan Williams
aa8d3241e5 moto-c: add plugin for Motorola C-series phones and BUSlink SCWi275u 2009-06-18 22:48:51 -04:00
Dan Williams
53d6ca970c test: allow IMEI request to fail 2009-06-18 22:36:31 -04:00
Dan Williams
832b43cab5 generic: misc fixes 2009-06-18 22:35:58 -04:00
Dan Williams
4eb2e75ca3 plugin: bump required plugin major version for udev changes 2009-06-18 14:39:40 -04:00
Dan Williams
924814c101 udev: move device probing and detection to udev
Get rid of dependency on HAL, using libgudev instead.  Fix up the plugin API
to no longer use either HAL or udev defines, but let plugins use whatever
mechanism they want for getting more information out of the device given the
subsystem and device node name.

Modems are now defined as "master" devices which "own" a one or more ports.
A port could be a serial tty device or a network device or whatever.  The
plugin figures out whether it supports a given port or not and then assigns
it to a new or existing modem.  Modems now have a 'valid' property that
should be set to TRUE when the modem has enough ports to operate correctly.
For devices (ex. 'hso') that use a network device for data transfer, the
modem would need to grab at least one TTY and the network device associated
with that physical device to be 'valid'.

Also move the generic modem support code to a plugin like other modem plugins,
and change the I-support-this-device mechanism to return a number indicating
the level of support.  For example, the generic plugin would return a quite
low number if the device indicates via probing that it can do GSM or CDMA, but
a more specific plugin can indicate better support for the device, and thus
the more specific plugin would win control.
2009-06-18 14:25:30 -04:00
Dan Williams
0555cc1824 test: fix up test program for current API 2009-06-18 13:28:09 -04:00
Tambet Ingo
440cd967e2 Fix a typo.
Thanks to Pablo Martí Gamboa.
2009-06-09 14:34:12 +03:00
Tambet Ingo
911a105408 Fix a typo. 2009-05-25 10:17:11 +03:00
Tambet Ingo
9b5425cdd9 Turn off carrier detection for all Huawei modems.
Find the monitoring device for Huawei modems by usb interface number.
2009-05-25 10:16:12 +03:00
Tambet Ingo
f7e9e61cf9 Handle the case where there's no APNs set up on the card.
Based on patch from Torgny Johansson <torgny.johansson@ericsson.com>.
2009-05-18 14:10:31 +03:00
Tambet Ingo
ddbeb41829 Make pending_registration_stop() accessible to inherited implementations. 2009-05-14 13:14:45 +03:00
Dan Williams
92041d5f75 Merge branch 'gsm-mode-cleanup' 2009-05-11 06:43:43 -04:00
Tambet Ingo
2a3acc7a3d Handle "Call setup failed" case for HSO modems to speed up error reporting. 2009-04-22 16:10:32 +03:00
Dan Williams
58a48405cf gsm: clean up network modes
Add specific modes for HSUPA and HSPA; add modes for 2G and 3G only, and
update plugins to use the right modes.
2009-04-15 10:44:09 -04:00
Tambet Ingo
8eb9fa50b4 Handle cases where HAL is not running/disappears/reappears. 2009-04-14 11:43:26 +03:00
Tambet Ingo
b79a3c0a65 Fix a typo. 2009-04-03 13:45:17 +03:00
Tambet Ingo
d378204742 Fix a typo (thanks to Torgny Johansson). 2009-04-02 15:19:34 +03:00
Tambet Ingo
636fe2921c Implement a plugin for ZTE modems.
Contributed by Jesse Sung (jsung@novell.com).
2009-04-02 14:48:12 +03:00
Tambet Ingo
1ca34cfc0c Implement Nokia plugin. 2009-04-02 12:41:59 +03:00
Tambet Ingo
eae902db41 Implement 'V1 E1' parser to work with modems which refuse to turn their echo off. 2009-04-02 12:31:40 +03:00
Tambet Ingo
cf6aeffd63 Fix a compilation error (with certain warning flags). 2009-04-01 16:20:19 +03:00
Tambet Ingo
83ba035aad Fix the use of uninitialized variables. 2009-03-27 09:11:51 +02:00
Tambet Ingo
45f32e7e09 Implement sending SMS messages.
Add a test program to use the newly added method.
2009-03-23 15:05:15 +02:00
Tambet Ingo
697b5f0364 Add the NM patch back. Create a directory for patches. 2009-03-12 15:43:27 +02:00
Tambet Ingo
8750037faf Implement MMModemNovatelCdma class for Novatel CDMA devices.
Rename MMModemNovatel to MMModemNovatelGsm.
2009-03-02 10:13:54 +02:00
Tambet Ingo
6606e15a9b Handle CDMA modems in Novatel plugin. 2009-02-27 10:21:23 +02:00
Tambet Ingo
a7f9033611 Probe HSO modems, don't trust (often incorrect) HAL modem properties. 2009-02-26 11:28:00 +02:00
Tambet Ingo
d8fa8d7d1b Eat "^BOOT:..." messages in Huawei plugin. 2009-02-20 12:10:12 +02:00
Tambet Ingo
469529985d Use cached commands for things that never change (while the card is plugged). 2009-02-20 12:09:47 +02:00
Tambet Ingo
9e6aa4ec96 Implement cached commands. 2009-02-20 12:09:15 +02:00
Tambet Ingo
1215bd6a9d Rework unsolicited message handling.
Implement registration using unsolicited messages for generic GSM class (which
is disabled by default, HSO and Huawei plugins enable it).

Modify all GSM modem subclasses that used unsolicited messages to use the new
method.
2009-02-18 14:48:08 +02:00
Tambet Ingo
13facad4fa Close the serial device on HUP. 2009-02-13 10:54:21 +02:00
Tambet Ingo
28fd7f7820 Implement the spec correctly for DeviceAdded and DeviceRemoved signals. 2009-02-10 15:26:51 +02:00