Commit Graph
2398 Commits
Author SHA1 Message Date
Dan Williams ef1e709c12 serial-port: shut valgrind up 2009-06-29 16:50:50 -04:00
Dan Williams 853af00142 plugin-base: fix finding the physical device again
Don't mis-use udev's ID_BUS key.
2009-06-29 14:24:43 -04:00
Dan Williams c106368ce7 Merge commit 'origin/master' into udev 2009-06-29 13:14:11 -04:00
Dan Williams c397247c05 gsm: attempt to fix registration crashes due to mishandled timeouts 2009-06-29 13:00:58 -04:00
Dan Williams b79ebbac35 gsm/cdma: mark netdev as data device if it was found first 2009-06-29 10:15:14 -04:00
Dan Williams fe7acaf457 plugin-base: better detection of physical device 2009-06-29 10:08:56 -04:00
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 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 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 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
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