Commit Graph

55 Commits

Author SHA1 Message Date
Dan Williams
88bdb5d29a plugin: add a base class to handle modem tracking 2009-06-19 11:55:31 -04:00
Dan Williams
10b8674e5c gobi: add plugin for Qualcomm Gobi devices 2009-06-18 23:32:08 -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
832b43cab5 generic: misc fixes 2009-06-18 22:35:58 -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
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
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
b79a3c0a65 Fix a typo. 2009-04-03 13:45:17 +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
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
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
1f08d4c408 Fix a compilation warning/error. 2009-02-10 15:26:18 +02:00
Dan Williams
bef9c48ffc add --enable-more-warnings=yes/no and fix up resulting errors 2009-02-10 06:48:56 -05:00
Tambet Ingo
618db2dd8a Bump the version.
Remove a leftover include from mbm modem implementation to make it compile
again.
2009-02-09 10:48:26 +02:00
Tambet Ingo
fd5f4222d7 Extend org.freedesktop.ModemManager.Modem interface.
* Add IpMethod property with known values ppp (default), static, DHCP.
* Rename DataDevice property to Device.
* Add GetIP4Config method. It should be implemented only when IpMethod==static.
* Update org.freedesktop.ModemManager.Modem.Gsm.Sms interface based on
  Pablo Martí Gamboa's suggestions.
* Adjust MBM and HSO interfaces to take advantage of the generic Modem
  interface.
2009-02-06 13:34:02 +02:00
Tambet Ingo
2226bb8752 Implement Novatel plugin. 2009-01-26 11:54:10 +02:00
Tambet Ingo
8bf265f349 Implement 'Simple' interface for HSO modems. 2009-01-22 12:30:09 +02:00
Tambet Ingo
423637272a Fix the "Option" plugin to not steal modems from "HSO" plugin. 2009-01-13 11:29:44 +02:00
Tambet Ingo
6018ff81ba Implement DCD disabling for serial base class.
Turn DCD detection off for certain Huawei modems that don't report it
correctly.
2009-01-13 11:27:41 +02:00
Tambet Ingo
50d2a8b80c If none of the HSO serial device parents match none of the network device
parents, try to match "grandparents" as well.
2009-01-13 11:23:02 +02:00
Tambet Ingo
56bd8994ee Implement Huawei modem registration with unsolicited messages (no polling).
Keep registration info in sync correctly. Emit signal when it changes.
2008-12-17 13:37:57 +02:00
Tambet Ingo
e4efbc5c84 Cache data in Huawei modem. 2008-12-15 13:56:53 +02:00
Tambet Ingo
4bf6681800 Parse Huawei flow report. 2008-12-15 11:50:31 +02:00
Tambet Ingo
4e94acfbc3 Don't ever disable radio of Sierra GSM modems.
Based on patch from Stefan Seyfried <seife@suse.de>.
2008-12-12 10:14:41 +02:00
Tambet Ingo
d1d94de6a1 Lots of random fixes:
Rework the MMCallbackInfo callback invocation.
Always use g_error_literal() where it makes sense.
Replace sleep() calls, with timeouts to not block the whole MM.
2008-12-09 15:41:51 +02:00
Tambet Ingo
793044b577 Add support for the HP branded version of the sierra mc8775.
Patch from Stefan Seyfried <seife@suse.de>.
2008-12-04 17:39:15 +02:00
Tambet Ingo
3d84a60ab1 Fix HSO modem plugin. 2008-12-02 15:48:52 +02:00
Tambet Ingo
929c1a8a54 Make the MBM plugin's HAL UDI checking more strict, it caught HSO modems too. 2008-12-01 11:34:52 +02:00
Tambet Ingo
1c67b9327e Fix the bug where HSO plugin would create a modem instance for each serial device. 2008-11-28 13:25:26 +02:00
Tambet Ingo
157da2be75 Implement plugin for Sierra Wireless modems.
For now, it only waits a bit after CFUN=1 call.
2008-11-18 13:04:21 +02:00
Tambet Ingo
00c79d7fa1 Explicitly check the PIN after modem is enabled. 2008-10-30 17:00:15 +02:00
Tambet Ingo
de6c6cd561 Implement Option plugin. 2008-10-30 15:15:23 +02:00
Tambet Ingo
f8c2f2af65 Implement unsolicited message parsers for MBM modem.
Patch from Per Hallsmark <per@hallsmark.se>.
2008-10-30 10:33:16 +02:00
Tambet Ingo
d7c7ab2732 Implement signal quality and network mode querying for MBM modem.
Patch from Bjorn Runaker <bjorn.runaker@ericsson.com>.
2008-10-28 09:28:37 +02:00
Tambet Ingo
f82b187c2b Move the string parser with regexp from huawei plugin to generic utility function.
It's useful for other modems too that need to strip unsolicited messages from
responses.
2008-10-24 16:20:22 +03:00
Tambet Ingo
0bd4f4a604 More work with MBM plugin.
Author: Per Hallsmark.
2008-10-24 10:04:42 +03:00
Tambet Ingo
f7aeeafec8 Use only one serial device in Huawei plugin. 2008-10-22 16:36:25 +03:00
Tambet Ingo
ed5d81da8f Implement a plugin for Ericsson MBM modems (like F3507g) (Author Per Hallsmark). 2008-10-20 11:11:23 +03:00
Tambet Ingo
6f9adb1980 Get the monitoring device from HAL. 2008-09-17 11:54:46 +03:00
Tambet Ingo
ac4409e7ce Rewrite serial device communications.
Instead of vague "send something, wait something" the responses are now
analyzed by (overridable) parsers. Makes all the modem implementations much
easier since each caller knows without any code whether the call succeeded
or failed.

Another thing that makes modem code simpler (and the whole thing more robust),
is the queueing of sent commands. Each queued command has a command and a
callback which is quaranteed to get called, even if sending failed.

Define and implement error reporting.
2008-09-11 08:35:32 +03:00
Tambet Ingo
ebd99af6a0 Disable the HSO modem in addition to just closing the device on Enable(False). 2008-09-01 18:51:48 +03:00
Tambet Ingo
c56d5a257b Handle reading failure replies correctly everywhere. 2008-09-01 16:01:55 +03:00
Tambet Ingo
1bb60347b5 Implement reading IMEI, IMSI, manufacturer, model, and version (revision). 2008-09-01 15:45:55 +03:00
Tambet Ingo
209a6390cb Fix up HSO modem plugin. 2008-09-01 11:27:35 +03:00