Commit Graph

2375 Commits

Author SHA1 Message Date
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
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
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
d378204742 Fix a typo (thanks to Torgny Johansson). 2009-04-02 15:19:34 +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
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
Dan Williams
bef9c48ffc add --enable-more-warnings=yes/no and fix up resulting errors 2009-02-10 06:48:56 -05: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
d4e1d7dc8c Fix a typo in error message when MM couldn't acquire it's DBus service name. 2009-02-04 15:24:39 +02:00
Tambet Ingo
6b14ebe6ab Relax the "CONNECT" string regex a bit. 2009-01-23 11:58:38 +02:00
Tambet Ingo
d8fada1785 Don't require 'number' property, it's not always needed. 2009-01-22 12:30:25 +02:00
Tambet Ingo
b4c8615409 Implement 'Simple' interface for CDMA devices. 2009-01-22 12:29:45 +02:00
Tambet Ingo
17b739c73d Implement simple interface. 2009-01-19 10:45:18 +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
9804a21686 Explicitly disable unsolicited messages for generic GSM modems. 2009-01-13 11:18:16 +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
a1223a9eaf Convert multiple return values to structs.
Python DBus bindings are unable to implement methods that return multiple
values.
2008-12-17 13:35:22 +02:00
Tambet Ingo
614aa0316a Clean up generic registration code. 2008-12-15 14:03:27 +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
a504fb408a Merge branch 'master' of git://gitorious.org/modemmanager/asacs-mbm 2008-12-05 15:57:55 +02:00
Alexander Sack
1673c6c998 Implement SendPuk feature
* introspection/mm-modem-gsm-card.xml: add SendPuk method
	Gsm.Card interface

* src/mm-generic-gsm.c (send_puk_done, send_puk):
	- implement generic SendPuk with +CPIN="<puk>,<pin>"

* src/mm-modem-gsm-card.h,
  src/mm-modem-gsm-card.c (mm_modem_gsm_card_send_pin,
  impl_gsm_modem_send_pin): implement SendPuk glue.
2008-12-05 12:41:46 +01:00
Tambet Ingo
3d84a60ab1 Fix HSO modem plugin. 2008-12-02 15:48:52 +02:00
Tambet Ingo
c44079b312 Always print out which plugin created the modem. 2008-11-24 16:41:23 +02:00
Tambet Ingo
cf2344381c Make +CMEE optional for CDMA modems.
It's mandatory by spec, so it really shouldn't be optional. Need to figure
out which CDMA modems have problems with it and implement plugin for them.
2008-11-18 12:35:34 +02:00
Tambet Ingo
0b9badee75 Hope the card will eventually start searching after it replied OK to registration request. 2008-10-30 16:55:06 +02:00
Tambet Ingo
fe4e7ee62b Enable/disable debugging on SIGUSR1. 2008-10-30 15:13:51 +02:00
Tambet Ingo
128021dc16 Add guards to public functions to validate passed arguments. 2008-10-24 17:46:01 +03: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
f7aeeafec8 Use only one serial device in Huawei plugin. 2008-10-22 16:36:25 +03:00
Tambet Ingo
fd4e78fe92 Add a default send delay to the serial class.
Show the correct error in case of write errors (EAGAIN).
2008-10-22 16:34:34 +03:00
Tambet Ingo
3201a1e6b7 Don't loop forever on EAGAIN (copied from NM). 2008-10-20 18:39:19 +03:00
Tambet Ingo
2b76d68854 Update NM patch. 2008-10-20 17:13:18 +03:00
Tambet Ingo
4d27cef5ed Add a response parser to the generic CDMA implementation. 2008-10-20 14:37:56 +03:00
Tambet Ingo
446a4752d6 Remove the fancy init string options, these do not seem to work very well. 2008-10-20 12:25:14 +03:00
Tambet Ingo
cdccfa8ac1 Return an error ig scan results can not be parsed (fixes a segfault). 2008-10-20 11:54:02 +03:00
Tambet Ingo
5853f2216c Specify call mode in the modem init string. 2008-09-18 14:31:45 +03:00
Tambet Ingo
5c403fb223 Reset the CID when the modem is enabled/disabled and disconnected. 2008-09-18 12:39:46 +03:00
Tambet Ingo
447bca91b0 Reduce the amount of power used to minimum when modem is disabled. 2008-09-18 12:33:25 +03:00
Tambet Ingo
36acdcb70e Finish the non-verbose (V0) mode parser. 2008-09-17 13:37:35 +03:00
Tambet Ingo
341c28de2f Add correct message to mobile (+CMEE) errors. 2008-09-17 12:37:27 +03:00
Tambet Ingo
07f1b3cc3a Document DBus error codes and messages. 2008-09-16 14:00:10 +03:00