aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-04-26plugins: allow multiple custom init commands in sequenceDan Williams
Huawei will need this.
2011-04-26plugins: simplify custom init commandsDan Williams
Instead of having two places that custom init stuff got processed (a hook in the MMPluginBase class itself and a callback too) just use a callback, and simplify it somewhat so that the plugin tracks how many tries it cares about and what to do based on the response or error.
2011-04-21mbm: add MBM device IDs for Lenovo F5521gw moduleMarius B. Kotsbak
2011-04-19zte: only dispose Icera data onceDan Williams
2011-04-18samsung: use common Icera codeDan Williams
Port the differences over to the common Icera code (there were only two) and remove the duplicate code from the Samsung plugin. The Icera NWSTATE regex had to be adjusted to capture "-1" in the first element which wasn't handled before but which I've seen on the Samsung Y3300 before the card has registered.
2011-04-18icera: fix abuse of GInterfaceDan Williams
The GInterface structure for MMModemIcera isn't instance data, thus we shouldn't be storing an instance pointer in it. Instead, make implemtors store the intstance data in their private structure, and have them implement an accessor for the Icera-private data. This makes everone (especially GObject) happy. It's a bit of additional indirection, but we still get to use the MM_MODEM_ICERA_GET_PRIVATE() and we still get to cast the passed-in GInterface MMModemIcera into the various GSM MMModem subclasses, which is all we ever wanted anyway.
2011-04-18core: tear down all pending work when closing a portDan Williams
Make sure all pending work, if any, is torn down when closing the port, since it's closed, and is likely going to get unreffed soon and we don't want anything running after the port is dead.
2011-04-18gsm: return success if unlocked but doesn't allow subsequent CPIN commandsDan Williams
If the modem for some reason returns ERROR for a +CPIN when it's unlocked, and subsequent PIN post-unlock pin checks return READY, just treat the modem as unlocked don't return the +CPIN error.
2011-04-14Merge remote-tracking branch 'lanedo/plugin-wavecom'Dan Williams
2011-04-14gsm: implement basic SMS reception and PDU parsingNathan Williams
2011-04-14serial: ensure response array is empty before setting cached replyAleksander Morgado
2011-04-14charset: change GSM unpack to take number of characters rather than octetsNathan Williams
Change interface to take the number of GSM characters rather than the number of octets, so that it is possible to distinguish the 7-character and 8-character cases.
2011-04-14serial: ensure spew control can be changed after port is createdDan Williams
Since we don't allow properties to be passed into the serial port create routines we don't want a construct-only property here.
2011-04-14serial: allow spew control to be turned offNathan Williams
It's only used during probing where some port types (Sierra CnS and some Icera devices) may send streams of data that we can't understand until we close the port. It interferes with some SMS operations, so turn it off for ports opened after probing.
2011-04-11wavecom: set and get bandsAleksander Morgado
Use AT+WMBS for devices in 2G mode, and AT+WUBS for devices in 3G mode.
2011-04-11gsm: handle UMTS 2600 internal bandAleksander Morgado
2011-04-11wavecom: ensure full functionality statusAleksander Morgado
Check the current functionality status with AT+CFUN? and make sure its '1', otherwise, RF may be switched off.
2011-04-11wavecom: set and get allowed modeAleksander Morgado
For 3G devices in Class A, AT+WWSM can be used to get or set the allowed mode: * +WWSM: 0 (2G only) * +WWSM: 1 (3G only) * +WWSM: 2,0 (Any) * +WWSM: 2,1 (2G preferred) * +WWSM: 2,2 (3G preferred) For 2G devices, there is no such command, so we will default to Any and allow 2G-only and 2G-preferred setups.
2011-04-11wavecom: ensure the modem uses the highest possible mobile classAleksander Morgado
These modems can be configured to use different mobile classes. For each kind of modem, the best mobile class is the highest one in the following order: - Class A (3G only mode) - Class B (PS or CS, GPRS/EDGE or GSM) - Class CG (PS only, GPRS/EDGE) - Class CC (CS only, GSM)
2011-04-11wavecom: query network technology capabilitiesAleksander Morgado
2011-04-11wavecom: enable RTS/CTS flow control instead of XOFF/XONAleksander Morgado
2011-04-11wavecom: disable default power up commandAleksander Morgado
2011-04-11wavecom: handle READY without OK in CPIN? replyAleksander Morgado
2011-04-11wavecom: add initial dummy pluginAleksander Morgado
2011-04-08hso: use zero send_delay since Option firmware is generally excellentDan Williams
2011-04-08serial: allow plugins to specify probe-time send_delayDan Williams
Let modems we know don't suck use a zero send-delay at probe time, which greatly reduces time required to probe AT-compatible ports.
2011-04-08gsm: make sure verbose error reporting is enabled before checking PINDan Williams
Otherwise we don't get the expected "Incorrect password" error if the PIN is wrong, just a generic error.
2011-04-08serial: send entire command in one write if send_delay is 0 (chromium:13506)Dan Williams
Avoids additional USB latency and groups the whole command into one USB packet. BUG=chromium-os:13506
2011-04-08samsung: add Reset and UnlockRetries.Elly Jones
BUG=chromeos-partner:2999, chromeos-partner:3215 TEST=network_LockedSIM Change-Id: I17c25c52fa5cf4cffa94e73bd827eaae9e687df0 Signed-off-by: Elly Jones <ellyjones@chromium.org> Signed-off-by: Jason Glasgow <jglasgow@chromium.org> Signed-off-by: Jun Woo Lee <jw86.lee@samsung.com>
2011-04-07sms: don't try to destroy NULL hash tablesNathan Williams
2011-04-06serial: allow user to provide custom regex for successful and error repliesAleksander Morgado
New mm_serial_parser_v1_set_custom_regex() method.
2011-04-06modem-base: allow NULL ports in get_card_info() if port_error givenAleksander Morgado
So that cached values can be returned if querying while the port is connected.
2011-04-06serial: don't let EAGAIN block sending commands until completionDan Williams
If a port returns EAGAIN on write attempts, previously the code would spin and attempt to resend the failed byte after send_delay microseconds. This resulted in up to 3 second hard blocks in the serial code when sending to ports that don't respond. While in this blocking loop no other events or dbus commands could be processed. Instead, send each byte and reschedule sending the next byte in send_delay microseconds, so that we can process other events in between attempts to write to stupid ports. This doesn't hugely decrease the amount of time that probing requires, since we still need to probe all ports of the device before exporting the modem to D-Bus, but it does let MM find responsive ports much more quickly, and ensures that MM doesn't block any D-Bus requests.
2011-04-04generic-gsm: make flow control setup command a propertyAleksander Morgado
2011-04-04build: use brackets in autoconf initialization macrosAleksander Morgado
2011-04-04build: use LT_INIT to initialize libtool, and require at least 2.2Aleksander Morgado
2011-04-04build: require autoconf 2.60 and fix warningsAleksander Morgado
AC_GNU_SOURCE is deprecated, AC_USE_SYSTEM_EXTENSIONS (introduced in autoconf 2.60) should be used instead.
2011-04-04build: fix automake portability warningsAleksander Morgado
2011-03-31core: make modem StateChanged signal consistent with API documentationJason Glasgow
The new and old state arguments were flipped.
2011-03-27samsung: fix style of samsung_call_control() nameDan Williams
2011-03-27samsung: fix up disconnectDan Williams
Two issues here, first we dont' need to chain up to the parent because it's not doing anything we need (it's mainly for PPP-based devices) and second we need to wait a bit for the disconnect command to complete by specifying a callback, otherwise the command may get discarded when the port is shut down afterward.
2011-03-27samsung: streamline enable/init processDan Williams
Don't need init retries since the modem seems pretty sane, and we also don't need to call AT+CFUN=1 twice. Just once should be fine. We also don't need any "flashing" since the modem doesn't really do PPP and thus shouldn't need any of the serial port carrier stuff to get its attention, since we'll never be using PPP on any of its ports.
2011-03-27samsung: remove debug codeDan Williams
2011-03-27samsung: fix access technology detectionDan Williams
Need to send the MM allowed mode back to the caller, not the Icera mode. Simple typo in original plugin patch I think.
2011-03-27samsung: make a few local functions privateDan Williams
No need for them to be public as they aren't used anywhere else.
2011-03-27samsung: clean up modem detectionDan Williams
Use standard vendor/device id detection mechanisms and handle the net port like other net ports are handled, by just claiming it. Also reject CDMA modems for now.
2011-03-27samsung: drop PORT_TYPE_ECMDan Williams
Isn't really needed since it's just the same as any other net device port type.
2011-03-27samsung: spacing, style, and build fixesDan Williams
Clean up the spacing and use more consistent styling.
2011-03-27samsung: fix compilationAleksander Morgado
2011-03-26test: add test program to send SIM PINDan Williams