Commit Graph

3500 Commits

Author SHA1 Message Date
Aleksander Morgado
998b622611 cinterion: set and get bands 2011-06-06 17:20:16 +02:00
Aleksander Morgado
ade9fe8d30 cinterion: set and get allowed mode
The 2G-preferred and 3G-preferred modes are not supported on dual
2G/3G cinterion modems.
2011-06-06 17:20:16 +02:00
Aleksander Morgado
8d8888bc63 cinterion: query supported networks to detect if 2G or 3G device 2011-06-06 17:20:16 +02:00
Aleksander Morgado
795de12050 cinterion: query network technology capabilities
We try to look for 'psinfo' indication in AT^SIND? output (available in 3G
devices from Cinterion), and if that is not available, we try to use the
AT^SMONG GPRS monitor (available in 2G devices from Cinterion).
2011-06-06 17:20:16 +02:00
Aleksander Morgado
c6060e8c0f cinterion: add initial dummy plugin 2011-06-06 17:20:16 +02:00
Aleksander Morgado
668726dbd7 charsets: new utf8_to_hex() method 2011-06-06 17:20:16 +02:00
Aleksander Morgado
1e507824c6 gsm: let plugins use their own command for CMER enabling 2011-06-06 17:20:16 +02:00
Aleksander Morgado
85569f77e9 gsm: let plugins use their own commands for SMS indications and storage configuration 2011-06-06 17:20:16 +02:00
Aleksander Morgado
8c1430763f introspection: indentation fixes 2011-06-06 17:20:16 +02:00
Dan Williams
c45df27ca0 x22x: add support for the Alcatel X200
Same USB IDs as the X060s which is driven by Longcheer, but uses the
X22X command set so we have to do a little dance and make sure we
don't claim the X060s here.
2011-06-05 20:58:23 -05:00
Dan Williams
1936979f11 longcheer: ensure the Alcatel X200 is not claimed
The X200 shares the same USB VID and PID as the X060s but the X200
does not use the same AT command set; it uses the X22X plugin
instead.  Since both modems also report the same +GMM and +GMI
responses, we have to fall back to using +GMR even though that's
a pretty sketchy way to tell them apart if the firmware ever changes.
2011-06-05 20:58:18 -05:00
Dan Williams
b122938ab5 core: allow plugins to stop probing and not support a modem
Previously plugins could only stop probing, *or* stop probing and
indicate support for a device.  For the Alcatel X200/X060s debacle
we need to stop probing and indicate that the plugin does not
support the device at all.
2011-06-05 20:58:13 -05:00
Dan Williams
d81fa43c1d x22x: support access technology reporting 2011-06-05 18:29:00 -05:00
Aleksander Morgado
da55d11e72 plugins: use MMCallbackInfo instead of custom DisableInfo
Implemented using a custom invoke method which doesn't call the callback, and
instead calls parent disable passing the callback as argument.

This fix ensures that if a modem gets removed, no invalid modem reference is
passed to the parent disable, as info->modem would be set to NULL and we can
detect it in the custom invoke method.
2011-06-05 17:51:05 +02:00
Aleksander Morgado
d37dbaca2a core: ensure ERROR_REMOVED error is used in MMCallbackInfo when detecting modem removal 2011-06-05 17:51:03 +02:00
Aleksander Morgado
9323daec01 core, plugins: if modem removed don't process response
We try to avoid a memory leak when info->error is reset, as well as a second
re-schedule of the info.
2011-06-05 17:51:00 +02:00
Nathan Williams
f7dff81eec gsm: free the string allocated by utils_hexstr2bin().
Change-Id: I1f7dabc8209d9757b573a59abb788a2346f72ad5
2011-06-02 17:50:47 -05:00
Nathan Williams
a1378ae8e8 Spec out and implement a command to get a GSM SIM SPN value.
Using a SIM with a SPN, run the following command:
dbus-send --system --dest=org.freedesktop.ModemManager --print-reply /org/freedesktop/ModemManager/Modems/0 org.freedesktop.ModemManager.Modem.Gsm.Card.GetSpn

Change-Id: I8f36c8432f40fa4e3cb3f8c6ceef16b2bdadf2a1
Reviewed-on: http://gerrit.chromium.org/gerrit/1464
Reviewed-by: Nathan J. Williams <njw@chromium.org>
Tested-by: Nathan J. Williams <njw@chromium.org>
2011-06-02 17:45:56 -05:00
Nathan Williams
dfab00bf1e sms_decode_address(): Add a leading "+" on international numbers.
BUG=chromium-os-partner:4278
TEST=Send SMS from phone (to get +... format) and from AIM-SMS gateway
(to get raw-digit format).

Change-Id: I36eb9f1432a432435578180dfdb315b0e7ee5744
2011-06-02 17:42:20 -05:00
Aleksander Morgado
6d69432a85 serial-parser: allow 0 or more whitespaces before error code in regular expresions 2011-06-02 16:49:53 +02:00
Nathan Williams
b8cb764d08 sms: use correct start and length for alphanumeric data
sms_parse_pdu(): Protocol ID doesn't actually affect decoding, so
don't fret about its value.

ChromeOS:
Change-Id: Ia4cb20c415aed1026bb7b8dd4daa8ae53dd749e8
2011-05-27 10:26:01 -05:00
Dan Williams
6e9b11a047 simtech: tag ports on Prolink PH-300 2011-05-27 09:57:47 -05:00
Nathan Williams
52bd7646e8 gsm: correctly set registration status when disabling
Chromium:
Change-Id: I0629706985f273832ac3662acb260388d0e6ed83
2011-05-19 15:45:22 -05:00
Nathan Williams
97ea7dca8a samsung: split initialization sequence to ensure echo is off
Split the Samsung initialization sequence from "ATZ E0 V1" to "ATZ"
and "ATE0 V1" - the modem is allowed to ignore the rest of the line
after Z, so echoing was not being turned off, leading to getting
"AT+CIMI\n\n" as part of the IMSI when it is retrieved at startup.

Chromium:
Change-Id: Icfd767174e779e472f8cde419acb163128e4715d
2011-05-19 15:01:34 -05:00
Dan Williams
e28946841d ussd: formatting and spacing cleanups 2011-05-19 10:44:03 -05:00
Dan Williams
7c70ad55bb api: proposed new interface for MM 0.6 and later
Main changes are cleaning up the API and allowing for multi-mode
devices that support two or more of CDMA/EVDO, GSM/UMTS, and LTE
at the same time.  This provides a starting discussion point for
the new MM 0.6 API.
2011-05-18 21:59:42 -05:00
Dan Williams
b3f0ca9233 qcdm: add some more CDMA band classes 2011-05-16 18:44:11 -05:00
Nathan Williams
fa15c50b29 sms: suppress duplicate SMS received notifications
If the modem sends the same notification on more than one port,
make sure we don't send a signal out to clients more than once.
2011-05-11 21:46:09 -05:00
Aleksander Morgado
d73673c265 build: add include dir to .gitignore 2011-05-10 11:50:40 +02:00
Aleksander Morgado
673005e602 manager: avoid assertion warning when enumerating devices 2011-05-09 18:21:46 +02:00
Dan Williams
1bc70be993 gsm: whitespace fixes 2011-05-09 11:05:28 -05:00
Dan Williams
00e00bf9e7 longcheer: ensure the plugin on handles devices it's supposed to
Other devices from the same vendor (x220) need to be handled by
the x22x plugin, so Longcheer can't just rely on the vendor ID
match to know whether it should handle the modem.
2011-05-04 15:11:37 -05:00
Dan Williams
1f86a85c1c build: bump version to 0.5.999 for 0.6 development 2011-05-04 11:33:36 -05:00
Dan Williams
868129e37c build: build docs during distcheck and fix up udev rules install base 2011-05-04 11:33:20 -05:00
Dan Williams
82cee08875 samsung: lock plugin to Y3300 to exclude other Samsung USB modems
Like the SGH-Z810/SCH-U209 which are a different chipset, don't
have pseudo-ethernet ports, and just wouldn't work with this
plugin.
2011-05-02 18:35:50 -05:00
Aleksander Morgado
863dbca631 wavecom: enable usage of MM_MODEM_GSM_BAND_ANY in SetBand() 2011-04-29 12:31:14 +02:00
Aleksander Morgado
fc1f35baf6 samsung: allow getting more than one band 2011-04-29 12:31:12 +02:00
Aleksander Morgado
bb827c3ef7 samsung: allow setting a single band only 2011-04-29 12:31:11 +02:00
Aleksander Morgado
db7c11768a utils: new utils_check_for_single_value() method
It was being used in several places with different static implementations
2011-04-29 12:31:10 +02:00
Aleksander Morgado
a0c902bdb5 huawei: enable getting and setting more than one band 2011-04-29 12:31:09 +02:00
Aleksander Morgado
466b6edbf7 gsm: allow setting more than one band 2011-04-29 12:31:07 +02:00
Aleksander Morgado
573dcd51c0 introspection: add missing UMTS 2600 band reference 2011-04-28 12:02:15 +02:00
Aleksander Morgado
0cce1f4e4c build: remove unneeded message in configure build report
Location API is always built
2011-04-28 12:02:10 +02:00
Dan Williams
83bbd0eb11 build: only require gettext if enabling polkit 2011-04-27 14:54:41 -05:00
Dan Williams
c96db0c91b Revert "build: don't require intltool unless --with-polkit=yes"
This reverts commit 0299cf51c4.
2011-04-27 14:47:00 -05:00
Dan Williams
383bf8c9a3 Revert "build: po shouldn't be built unless --with-polkit=yes"
This reverts commit ba17060219.
2011-04-27 14:46:52 -05:00
Dan Williams
ba17060219 build: po shouldn't be built unless --with-polkit=yes
Since translations are only used with polkit.
2011-04-27 13:25:10 -05:00
Dan Williams
0299cf51c4 build: don't require intltool unless --with-polkit=yes 2011-04-27 13:00:51 -05:00
Dan Williams
dc89c0a42d huawei: rework probing and detection
Long ago there were problems where certain Huawei devices would
stop responding on various ports, and sometimes would crash
randomly.  The theory at the time was that touching the secondary
ports made the device angry, thus the plugin simply opened the
ports and listened for unsolicited messages.  But if the device
didn't send any during that 7 second period, MM would not detect
and secondary ports at all.  Plus, it was always a hack.

Instead, the new theory is that the device crashes if unsolicited
messages are enabled (^CURC=1), the secondary port gets touched,
*and* then closed and left for a while.  Fix that by turning
unsolicited messages off at probe time, on when the device is
enabled, and off again when the device is disabled like happens
for other modems.  Thus when MM first detects the modem, it turns
off unsolicited messages and the serial buffer on the secondary
port doesn't fill up and crash the modem.

Second, this allows us to simplify the probing logic quite a bit
so that we can probe all ports we find, but we still wait to probe
the first port so we can turn off unsolicited messages and get
hints about what port is the secondary.
2011-04-27 10:50:32 -05:00
Dan Williams
1cf7a4da44 plugins: allow multiple custom init commands in sequence
Huawei will need this.
2011-04-26 23:44:56 -05:00