Commit Graph

4066 Commits

Author SHA1 Message Date
Dan Williams
63dcc3e189 cdma: handle older AT+CSS response format 2009-08-31 14:30:23 -05:00
Bryan Duff
8a6cbdfb88 core: fix uninitialized variable 2009-08-26 11:28:14 -05:00
Alexander Sack
cd75023068 gsm: handle "net" device removal properly in release_port 2009-08-20 20:32:37 +02:00
Dan Williams
ca767e4037 gsm: update for D-Bus interface specification changes
Specifically, SupportedModes, SupportedBands, and SMS completeness changes.
2009-08-17 13:16:41 -05:00
Alexander Sack
12ac98e9f6 license: add license header to all files and set copyright based on git log 2009-08-06 12:43:51 +02:00
Dan Williams
2d194a5798 gsm: harmonize band/mode enums
Use the same enum for set/get of band and mode, as for exposing the
device's capabilities.
2009-08-05 13:03:59 -04:00
Dan Williams
c307606e74 cdma: fix serving-system parsing for oddly-placed spaces
Sierra 580 returns "+CSS: 0, Z , 0" when not associated.  Handle that.
2009-07-22 07:42:05 -04:00
Dan Williams
354785f440 cdma: handle devices that don't prefix CSS result with +CSS:
Like the Sanyo SCP-3800 (Sprint Katana LX).  Make up your freakin'
mind people, either prefix *all* responses with the command stem,
or don't.  But just pick one dammit.
2009-07-17 23:03:16 -04:00
Dan Williams
34f3117a82 cdma: fix 32-bit compile issues 2009-07-07 17:34:04 -04:00
Dan Williams
736aa0d2d6 serial: rework 'connected' logic
So many modems just don't implement carrier detect that it makes
the previous 'connected' logic useless, so base it off connect/disconnect
and fix up a few places that didn't check connect status before
trying to send commands.  Also ensure the serial port is unlocked
for PPP to use when connected.
2009-07-06 11:40:22 -04:00
Dan Williams
52da9990ee plugins: allow plugins to more easily suggest port types
ZTE modems need to use udev rules to assign port type hints,
so generalize that and port all the plugins over to suggested
port types in the MMModem interface's grab_port() function.
2009-07-02 13:48:30 -04:00
Dan Williams
4e7548e496 gsm: fix init for modems for which ATZ does not play well with others 2009-06-29 23:11:43 -04:00
Dan Williams
5298be26dd Merge branch 'master' into udev 2009-06-29 22:54:32 -04:00
Dan Williams
8e3da63599 gsm: increase COPS manual registration timeout; it just takes longer sometimes 2009-06-29 22:53:20 -04:00
Dan Williams
78633192d2 plugin-base: better Huawei detection; don't drop BUSlink response 2009-06-29 22:49:19 -04:00
Dan Williams
d929eb859b errors: fix typo 2009-06-29 17:35:15 -04:00
Dan Williams
b38c3160ae plugin-base: don't scribble on memory when looking up cached capabilities 2009-06-29 16:53:23 -04:00
Dan Williams
7b7df91eb8 manager: do modem creation from an idle handler
It helps make the supports/grab callchain less crappy to look at
in gdb by ensuring that the supports chain unwinds before the grab
happens, and also ensures that we use the right subsys/name variables
rather than depending on ones the plugin provided to supports_callback,
that may go be freed by the plugin somewhere in grab_port().
2009-06-29 16:51:25 -04:00
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