aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-04-05broadband-bearer: handle NULL and character escaping of APN valueBen Chan
2013-04-04port-probe: remove non-AT port hint, as it may come in ATI repliesAleksander Morgado
We remove "/SRC/AMSS" as a hint of non-AT port, as it really comes in ATI replies, see: [mm-at-serial-port.c:408] debug_log(): (ttyUSB6): <-- '<CR><LF>Manufacturer: Sierra Wireless, Incorporated<CR><LF>Model: USB 306<CR><LF>Revision: M3_0_10_1AP C:/WS/FW/M3_0_10_1AP/MDM8200/SRC/AMSS 2010/03/29 17:52:11<CR><LF>IMEI: xxxxxxxx<CR><LF>IMEI SV: 11<CR><LF>FSN: xxxxxxxxxx<CR><LF>3GPP Release 7<CR><LF>+GCAP: +CGSM,+DS,+ES<CR><LF><CR><LF><CR><LF>OK<CR><LF>' [mm-serial-parsers.c:188] mm_serial_parser_v1_parse(): Got response filtered in serial port: Not an AT response [mm-port-probe.c:148] mm_port_probe_set_result_at(): (tty/ttyUSB6) port is not AT-capable
2013-04-04sierra: implement PIN/PUK retry count loadingAleksander Morgado
Not all Sierra modems support it, but those which do reply like this: AT+CPINC=? OK AT+CPINC? +CPINC: 3,3,10,10
2013-04-04sierra: early detect non-AT portsAleksander Morgado
Detect the parser filter errors during our custom_init(), and set the port as not being AT if the error found.
2013-04-04port-probe: remove no longer needed filterAleksander Morgado
Remove the additional check for AT responses done *after* having parsed the response. This check only worked whenever the response string ended up matching one of the regular expressions in the parser, which of course wasn't always.
2013-04-04port-probe: add a new serial parser filter to detect non-AT stringsAleksander Morgado
We will check each string with our custom filter before even trying to parse them. A MM_SERIAL_ERROR_PARSE_FAILED error will be issued whenever the string doesn't match the filter.
2013-04-04serial-parsers: allow specifying a custom response filterAleksander Morgado
The serial parser will now allow specifying a custom user-provided filter, which is applied before even trying to match successful/error responses. This filter provides a very early barrier to detect strings that are clearly not going to match. E.g. this filter may be used during port probing to early detect non-AT ports.
2013-04-04port-probe: don't assume the NULL bytes will be at the beginning of the responseAleksander Morgado
Also report as non-AT responses if the NUL bytes are embedded within a stream of bytes which doesn't start with NUL. This e.g. applies to CnS ports from Sierra modems, which show streams like: ~\0\245y\0}^T1_0_4_0BT R372 CNSZXD00000061 2011/05/12 15:25:25\0\0\0\0\0\0\0\0\0 \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0T1_0_4_0AP R372 CNSZXD00000061 2011/05 /12 15:25:25\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0~~ \0Tb\0T1_0_4_0AP R372 CNSZXD
2013-04-04sierra: too many timeout errors during custom init means non-AT portAleksander Morgado
Reduces probing time of the modem in ~10s.
2013-04-04serial,blacklist: fix file mode (0755 -> 0644)Ben Chan
2013-04-04mbm: ignore *ESTKSMS unsolicited messagesAleksander Morgado
https://bugzilla.gnome.org/show_bug.cgi?id=697280
2013-04-04sierra: 'data' may be NULL if the parent dialling failsAleksander Morgado
2013-04-04sierra: plug memleakAleksander Morgado
2013-04-04broadband-bearer: ensure we close the port even if we got cancelledAleksander Morgado
When there is an error in the connection attempt we need to close the dialling port ourselves. In the case where we got an error and we also got cancelled, we need to make sure that the port gets closed.
2013-04-04altair-lte: minor style changesAleksander Morgado
2013-04-04altair-lte: initial altair lte pluginori inbar
2013-04-03broadband-modem: remove incorrect debug logAleksander Morgado
2013-04-02broadband-modem: turn off CNMI <ds> reporting if modem doesn't support itDan Williams
MM doesn't yet parse the +CNMI=? response and dynamically figure out what indication settings are supported, so add another last-resort CNMI setting for the UMW190 which doesn't support any <ds> at all. And the commands shouldn't be cached, so fix that too.
2013-04-02qcdm: fix IM*I buffer sizes for GSM and WCDMA state info requestsDan Williams
Found by Enrico Murador.
2013-04-02pantech: skip WMC portsAleksander Morgado
WMC ports will return "ERROR" to all AT commands, except for "AT" itself. So just provide a custom AT probing logic, which uses "ATE0" instead, and assumes the port is not an AT port if an error is returned.
2013-04-02qcdm-serial-port: avoid playing with GByteArray internalsAleksander Morgado
Since glib 2.32, we can use g_byte_array_new_take() to build a new GByteArray from an own allocated buffer, so skip playing with the GByteArray internals.
2013-04-02sms-part: properly skip validity field when given in absolute or enhanced formatAleksander Morgado
We don't support absolute or enhanced format for validity, but we still need to properly skip those fields if given. According to GSM 03.40, they are both always 7 bytes, not just 1.
2013-04-02broadband-modem: update CMGL parsing logicAleksander Morgado
Pantech UMW190 modem uses a custom +CMGL response which includes only three fields before the actual PDU, e.g: +CMGL: <index>,<status>,<something>\r\n<PDU> instead of what we had before: +CMGL: <index>,<status>,<alpha>,<length>\r\n<PDU> The CMGL parsing logic is now updated to use a regex to match the reply, and also considering the UMW190 specific case. Actually, we end up reading only the two first fields (index and status) which are the ones we really need, so we skip the <length> and the <alpha> if given. Added also unit tests to cover all these known cases. Partially fixes https://bugzilla.gnome.org/show_bug.cgi?id=696723 (missing the actual PDU parsing fixes).
2013-04-02pantech: fully skip the SIM storage in the messaging interfaceAleksander Morgado
Seems that trying to use the SIM storage hangs a UMW190 modem, so just fully ignore it for now. https://bugzilla.gnome.org/show_bug.cgi?id=696724
2013-04-01mbm: fix udev rule tagging logicAleksander Morgado
2013-04-01serial-usb greylist: added new USB<->Serial adaptersAleksander Morgado
https://bugzilla.gnome.org/show_bug.cgi?id=643793
2013-04-01x22x: Fix problem in set allowed modeDavid Castellanos
NM attempts to set allowed and preferred mode during the connection process. The plugin x220x does not handle properly when NM request allowed mode to '2g, 3g' and the preferred mode to 'none'. This commit attempts to solve the problem described above. When this situation happens, establish the mode of the modem has 'ANY' (which seems the safest one) instead of just throwing an error. Signed-off-by: David Castellanos <dcastellanos@indra.es>
2013-04-01base-modem: don't assume all cdc-wdm ports are QMIAleksander Morgado
2013-04-01mbm: don't tag only tty ports, and also grab cdc-wdm portsAleksander Morgado
We also need to tag cdc-wdm ports, so that they get grabbed but ignored and not QMI-probed. https://bugzilla.gnome.org/show_bug.cgi?id=696701
2013-03-29mbm: wait for unlock reporting READY after PIN/PUK unlockAleksander Morgado
MBM modems will lie about the unlock status just after having sent a correct PIN or PUK. So, explicitly wait to get in READY state after having sent the PIN or PUK, before keeping on. https://bugzilla.gnome.org/show_bug.cgi?id=696702
2013-03-29broadband-modem-novatel: implement CDMA time API (bgo #696739)Dan Williams
Use AT$NWLTIME to get current time and UTC offset.
2013-03-29port-probe: don't reschedule next probing step when serial port buffer fullAleksander Morgado
When the serial port buffer gets full of non-AT garbage during port probing, we were re-scheduling the next probing step, which is completely wrong, as we then would be processing the same probing task twice. If we get a buffer full, just cancel the AT probing cancellable, which would cancel not only the possible AT probings, but also the custom init if there is any. Also, make sure that the custom_init() of the plugins out there don't return an error if the GCancellable is cancelled. Cancelling the GCancellable means we should just stop the custom_init(), and actually sending an error in custom_init() means that the port should be set as unsupported by the plugin, so completely different things. Should fix https://bugzilla.gnome.org/show_bug.cgi?id=696695
2013-03-28broadband-modem: plugins may disable parent's access tech loadingAleksander Morgado
2013-03-28serial: add support to optionally send line-feed at the end of AT commands.ori inbar
2013-03-28iface-modem-3gpp: handle access technology change in operator_loading stateori inbar
This patch fixes a problem of disregarding CEREG/CGREG/CREG reported access technology since we are in "registering" state - meaning we are loading operator name+code. now even in this transition state the ACT is updated.
2013-03-28option: don't apply both vendor and product filters at the same timeAleksander Morgado
The probing logic expects either one or the other right now. In this case, it is just simpler to include the Nozomi-related VID in the vendor filter, and remove the product filter.
2013-03-28device: read PCI VID/PIDDan Williams
Nozomi devices are old Option NV CardBus devices with the ttys (nozX) hanging directly off the PCI device. We need to read the vendor and product IDs off them too. It appears that udev screws up the ID_MODEL_ID field (at least on F17, its set to the device path and not the PCI ID) so just skip looking at the TTY itself and read the PCI parent, where we're 100% sure to find the PCI IDs we want.
2013-03-28option: ignore PH_SIM facility lock in 'nozomi' based modemsAleksander Morgado
https://bugzilla.gnome.org/show_bug.cgi?id=696593
2013-03-28iface-modem-3gpp: let plugins ignore facility locksAleksander Morgado
Plugins may decide which facility locks can be completely skipped from the list being checked.
2013-03-28broadband-modem-icera: make CME 3 errors fail power-up (bgo #696742)Dan Williams
+CME ERROR: 3 (Not Allowed) means airplane mode, at least for the Samsung Yxxxx devices that I've got. And if we get this error on any other devices, chances are they'll fail to power up too.
2013-03-28plugin: explicitly request QMI probingAleksander Morgado
Plugins which may support QMI ports need to explicitly request QMI probing in cdc-wdm devices. This should also avoid probing cdc-wdm ports when we know that the plugin doesn't support them (e.g. with Ericsson MBM devices). https://bugzilla.gnome.org/show_bug.cgi?id=696701
2013-03-28novatel: try to flip secondary ports to AT as soon as possibleAleksander Morgado
So do it during port probing. If we send this command early enough in the first AT port being probed, it should flip the secondary ports to AT mode before their port probing is finished. https://bugzilla.gnome.org/show_bug.cgi?id=696696
2013-03-27broadband-modem-sierra: fix trivial copy & paste errorDan Williams
2013-03-27broadband-modem: prefer specific access tech checks over generic +CGREG ↵Dan Williams
access tech (bgo #696705) If the modem has specific access technology checks, don't override them with the generic access technology from +CGREG responses, since that doesn't have the granularity that specific checks do. For example, the +CGREG response only indicates UMTS, and cannot indicate HSDPA, HSUPA, HSPA, HSPA+, DC-HSPA, etc.
2013-03-27broadband-modem: remove debugging codeDan Williams
Slipped in while debugging Nozomi stuff; not caught in review.
2013-03-27iface-modem: never try to create a SIM in a CDMA-only modemAleksander Morgado
CDMA modems without LTE capabilities will usually not have a SIM, so just skip loading a SIM object if so. https://bugzilla.gnome.org/show_bug.cgi?id=696582
2013-03-27broadband-modem-qmi: zero-pad ESN to 8 charactersDan Williams
It's very likely to already be 8 characters, but if by some chance it's 7, zero-pad like we do for AT+GSN responses in the generic CDMA code.
2013-03-27broadband-modem: parse +GSN response for IMEI, MEID, and ESN (bgo #696596)Dan Williams
+GSN response differs widely between modems. Some prefix the MEID and/or ESN with 0x, some have leading zeros, some return the MEID and the ESN, and some append the serial number to the end of the IMEI. Handle that and make the ESN, MEID, IMEI, and EquipmentIdentifier parsing consistent.
2013-03-26sms-part: use correct printf modifier for gsizeAleksander Morgado
This is the port to git master of the following commit: commit 294a91d9f6390d532399be35ddbf6a2b8d136576 Author: Thomas Bechtold <thomasbechtold@jpberlin.de> Date: Mon Mar 25 14:28:03 2013 +0100 sms-utils: use correct printf modifier for gsize
2013-03-25broadband-modem: minimally verify QCDM MDN before using itDan Williams
Sometimes it's garbage, and we don't like garbage.