Commit Graph
40 Commits
Author SHA1 Message Date
Aleksander Morgado de96243cd4 sierra: use user-specified allowed authentication methods
If none of the specified methods is supported, an error is returned.

Also quote user and password using `mm_at_serial_port_quote_string()'.
2012-10-07 21:12:00 +02:00
Aleksander Morgado c250fa3797 libmm-glib: remove the `libmm-common.h' header
Both the ModemManager daemon and the mmcli will now include `libmm-glib.h' only.

We also handle two new special `_LIBMM_INSIDE_MM' and `LIBMM_INSIDE_MMCLI'
symbols, which if included before the `libmm-glib.h' library allow us to:

 * Don't include the libmm-glib high level API in the ModemManager daemon, as
   the object names would clash with those in the core.

 * Define some of the methods of helper objects to be included only if compiling
   ModemManager daemon or the mmcli.
2012-10-04 10:17:12 +02:00
Aleksander Morgado 54f476fe10 sierra: run power-down during init 2012-10-01 16:40:52 +02:00
Marius B. Kotsbak d2353e01ff sierra: use +CFUN=4 for powering down GSM modems 2012-09-18 16:27:09 -05:00
Aleksander Morgado a66f971a7c libmm-common: added common utils from core
Moved the utils to play with binary to hex strings into libmm-common.
2012-09-14 07:05:26 +02:00
Aleksander Morgado 4804c37604 build: new `--without-qmi' configure option
For those who don't care about the QMI support through libqmi-glib, or if you're
stuck with glib 2.30 (libqmi-glib requires 2.32), this configure switch allows
disabling the QMI support completely.

The logic to detect cdc-wdm ports is still in place, but the QMI probing is
never launched at them. Also, all QMI-related objects won't be compiled.
2012-09-05 20:02:31 +02:00
Marius B. Kotsbak 9c2a6320a8 sierra: add support for new !SELRAT values in newer Sierra LTE modems
AT!SELRAT=?
!SELRAT: Index, Name
00, Automatic
01, UMTS 3G Only
02, GSM 2G Only
03, Automatic
04, Automatic
05, GSM and UMTS Only
06, LTE Only
07, GSM, UMTS, LTE
2012-09-03 18:33:44 +02:00
Aleksander Morgado 80fa4cb312 sierra: use generic current capabilities loading
The generic current capabilities loading already has the required extra
AT+WS46=? query to see if LTE capabilities are available.
2012-09-02 16:20:12 +02:00
Aleksander Morgado fa0ccc593e sierra: fix finding LTE capabilities 2012-08-31 16:41:38 +02:00
Dan Williams 63ef0990b6 sierra: allow users to help debug APP1 PPP capability
Most Sierra PPP-based devices are supposed to allow PPP on the
APP1 port, which has a dumb AT parser, leaving the main port
(with the intelligent AT parser) free for status and signal strength.
But out of all the devices I've tested it with (8775, 8781, AC881,
and C885), only the C885 actually works.  The rest (including three
different firmware versions for the 8775) either crash or disconnect
shortly after PPP starts.

To help figure out which devices actually support this, when
running MM in debug mode, users can set the MM_SIERRA_APP1_PPP_OK
environment variable and assume the APP1 port allows PPP.  This
is only for debugging purposes.
2012-08-31 15:11:30 +02:00
Aleksander Morgado b4e0fa3d89 sierra: skip echo removal in the secondary port
This is the port to git master of the following commit:

commit d1be19d231a395339b1f452d1a30b73ea77ad528
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Aug 28 21:58:43 2012 -0500

    sierra: fix CSQ handling on APP1 port

    The APP1 port doesn't always prefix its replies with <CR><LF> which
    runs afoul of the built-in echo removal.  Since Sierra modems are on
    the whole well-behaved WRT echo removal, just disable it on the
    secondary ports.  Only changes behavior for PPP-based devices since
    they are the only ones that use the APP1 ports.
2012-08-31 15:11:30 +02:00
Aleksander Morgado 061e184d39 sierra: use DHCP for the USB 305 (AT&T Lightning)
This is the port to git master of the following commit:

commit 44f70121f75d59dbf31a4a9a1a4e87293e509e7a
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Aug 28 20:18:40 2012 -0500

    sierra: use DHCP for the USB 305 (AT&T Lightning)

    For some reason, my AT&T Lightning just doesn't work with static
    IP (AT%IPDPADDR) any more.  No traffic passes even though everything
    is set up the way it was before.  No idea what happened.  Using
    latest firmware 2.0.0.11.

    But what's interesting is on Windows the generic Sierra Watcher
    app uses DHCP.  But on Linux, when using AT%IPDPACT, DHCP doesn't
    work.  That's odd.  But it turns out the modem supports the
    "standard" Sierra proprietary AT!SCACT commands, and that
    *does* make DHCP work.  Crazy no?  So since the Windows app
    uses DHCP, it's likely that the non-DHCP case (AT%IPDPACT/AT%IPDPADDR)
    either isn't well tested or isn't well supported.  With that
    in mind, let's just use DHCP for this device in Linux too.
2012-08-31 15:11:30 +02:00
Aleksander Morgado c6a1d91cd5 sierra: use an additional AT+WS46=? to detect LTE capabilities
Some Sierra modems (e.g. MC7710) will report LTE-specific supported modes in the
AT+WS46=? reply, but not +CLTE capability in the AT+GCAP reply:

AT+GCAP
 +GCAP: +CGSM
 OK

AT+WS46=?
 +WS46: (12,22,25,28,29)
 OK
2012-08-31 13:05:51 +02:00
Aleksander Morgado a2c7cacb69 sierra: fix detection of APP1 port
This is the port to git master of the following commit:

commit e0242b4db7fb1556e79f6829d22edf411f9f6ba4
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Aug 23 21:14:38 2012 -0500

    sierra: fix detection of APP1 port

    The APP1 port (which has a limited AT parser) doesn't prefix
    its replies with <CR><LF> like nice modems do, and that means
    it runs afoul of the echo removal bits of the AT serial port
    code.  We need to parse the whole string even though it's not
    prefixed properly to find the APP1 string in the response.
2012-08-31 09:22:45 +02:00
Aleksander Morgado 6c94741e04 sierra: fix dialling context deallocation
We were using the slice allocator, not plain g_malloc().
2012-08-31 00:05:21 +02:00
Aleksander Morgado ff1a175035 sierra: detect stupid secondary ports
Some sierra modems (e.g. MC7710) have a secondary port that likes to reply OK
to any AT command passed. Detect that as soon as possible, and don't consider
the Icera port probing result from that secondary port.
2012-08-30 22:46:56 +02:00
Aleksander Morgado 35bece0af3 sierra: enable QMI-powered Sierra modems 2012-08-30 14:17:51 +02:00
Aleksander Morgado 1ca46bb4a7 port-probe: easier check for Icera support over a list of port probes 2012-08-30 13:57:56 +02:00
Aleksander Morgado 0436b3e457 api,introspection: report list of drivers, not just one
Different ports of the same modem may get handled by different drivers. We
therefore need to provide a list of drivers (new `Modem.Drivers' property with
signature 'as') instead of just one (removed `Modem.Driver' property with
signature 's').

$ sudo mmcli -m 0 | grep drivers
           |        drivers: 'qcserial, qmi_wwan'
2012-08-24 13:34:51 +02:00
Aleksander Morgado d18dbb869a base-modem-at: add 'raw' handling to `mm_base_modem_at_command_full()' 2012-08-24 12:32:29 +02:00
Aleksander Morgado d9ea4a304c at-serial-port: allow sending 'raw' commands
Commands treated as 'raw' won't get the 'AT' prefix and will also not get the
trailing carriage return.
2012-08-24 12:32:28 +02:00
Aleksander Morgado 6b1ee4e3cb sierra: both AT and QCDM expected 2012-08-23 18:56:22 +02:00
Aleksander Morgado 896e0469f0 sierra: implement custom CDMA detailed registration checks 2012-08-23 18:56:22 +02:00
Aleksander Morgado 86e7b0e8c6 sierra: custom power-down command for CDMA modems 2012-08-23 18:56:22 +02:00
Aleksander Morgado 5b9c1625b6 sierra: custom power-up command for CDMA modems 2012-08-23 18:56:22 +02:00
Aleksander Morgado 7027c6e972 sierra: custom 3GPP disconnection sequence 2012-08-23 18:56:22 +02:00
Aleksander Morgado d8bc27a8c3 sierra: custom 3GPP dialling sequence 2012-08-23 18:56:22 +02:00
Aleksander Morgado 3666168c12 sierra: new `MMBroadbandBearerSierra' object 2012-08-23 18:56:22 +02:00
Aleksander Morgado 79b4c4b47d sierra: implement custom ports setup 2012-08-23 18:56:22 +02:00
Aleksander Morgado 3dfb48d75a sierra: custom SIM identifier loading 2012-08-23 18:56:22 +02:00
Aleksander Morgado 0c80815ea2 sierra: new `MMSimSierra' object 2012-08-23 18:56:22 +02:00
Aleksander Morgado cd2174d2ef sierra: implement custom allowed/preferred mode setting 2012-08-23 18:56:22 +02:00
Aleksander Morgado bce0a2c48e sierra: implement custom allowed/preferred mode loading 2012-08-23 18:56:22 +02:00
Aleksander Morgado b6fb78ffd7 sierra,icera: implement custom power up sequence 2012-08-23 18:56:22 +02:00
Aleksander Morgado 713eb28484 sierra: new `MMBroadbandModemSierraIcera' object 2012-08-23 18:56:22 +02:00
Aleksander Morgado 4195a3f1a3 sierra: implement custom power up sequence
It is split in a new set of `mm-common-sierra.[hc]' files as this sequence will
also be used in Icera-based modems.
2012-08-23 18:56:22 +02:00
Aleksander Morgado d517b611e9 sierra: load access technologies in 3GPP modems 2012-08-23 18:56:21 +02:00
Aleksander Morgado 2d425d89b9 sierra: new `MMBroadbandModemSierra' object 2012-08-23 18:56:21 +02:00
Aleksander Morgado d033d6927f sierra: allow Icera-based sierra modems 2012-08-23 18:56:21 +02:00
Aleksander Morgado 69316289e8 sierra: start porting the Sierra plugin 2012-08-23 18:56:21 +02:00