Commit Graph

35 Commits

Author SHA1 Message Date
Aleksander Morgado
14c03f98ad mbm: fix 3gpp dialling sequence when result comes through polling 2013-03-05 20:47:58 +01:00
Aleksander Morgado
144cc7011e mbm: tag the ttys instead of the parent usb device
We can just tag the ttys instead of the parent usb device, so that the core
logic which looks in the plugin-specified port tags works properly. There is no
need to explicitly tag the net port, as the probing for this port ends when a
plugin suggestion comes from another port probing on the same device.
2013-03-05 20:32:03 +01:00
Aleksander Morgado
ca49af0c5d mbm: fix CFUN result parsing 2013-02-22 17:54:16 +01:00
Aleksander Morgado
50ecf2a7d9 mbm: implement custom modem_power_down()
Cache last valid allowed mode always, so that we re-use it when powering up
again.
2013-02-22 17:33:49 +01:00
Aleksander Morgado
c0ce165d09 mbm: implement custom load_power_state()
We need to handle modems which appear in low-power mode (e.g. CFUN=4), so
implement a custom check of the power state. We cannot use the default check
as MBM modems use CFUN also for allowed mode handling.
2013-02-22 16:35:56 +01:00
Aleksander Morgado
b6402a4e21 bearer,3gpp: dial operation specifies which data port to use
Instead of deciding in advance which data port to use, we let the dialling
operation gather it. For the generic dialling logic, ATD-based, always an
'AT' port will be used as data port, even if we grabbed a 'net' port. Those
plugins that can work with 'net' ports will grab the specific 'net' port
themselves.
2013-02-18 15:41:26 +01:00
Aleksander Morgado
1746949277 ports: add port initialization sequences instead of iface-modem's modem_init()
Instead of a custom modem_init() step in the 'Modem' interface, just add a
sequence of port initialization commands in each port.

While enabling for the first time a non-hotplugged modem, we will issue the
port initialization commands only after having run the enabling_modem_init()
step (i.e. after ATZ usually).
2013-02-18 13:47:35 +01:00
Aleksander Morgado
30639606d3 broadband-modem: new step during 'enabling_started' to initialize the modem
We previously had the modem initialization command merged with some other port
setup commands in the 'modem_init' step of the 'Modem' interface. Instead of
doing this, we now split the logic into two separate steps:

A first 'enabling_modem_init' modem initialization step is to be run just after
the ports have been opened, but only during the first enabling operation, and
only if the modem was not hotplugged. A hotplugged modem is assumed to be
properly initialized already, so no need to ATZ-it. Also, we will now wait 500ms
by default after the modem initialization command has been sent, to let it
settle down.

The second 'modem_init' step will be run during the 'Modem' interface
initialization, and it currently only holds specific setup of the primary and
secondary serial ports. We'll be modifying this logic a bit in the next commits,
so no big deal to have that step name unchanged.
2013-02-18 13:47:34 +01:00
Dan Williams
cd2545c2b6 broadband-modem-mbm: handle HSPA access technology in ERINFO response
HSUPA/HSPA capable devices (ex F5521gw) can report '3' here, which
we'll decide to interpret as HSPA.  It might actually be HSDPA + HSUPA,
but whatever...
2013-02-07 12:49:55 -06:00
Aleksander Morgado
7c87555bf8 mbm: force initial power-up during first enabling
When both load_power_state() and modem_power_down() are not implemented, the
logic will launch the power-up command during (only the first) enabling of the
modem.

In this kind of modems, CFUN is directly related to allowed/preferred modes, so
during the initial power-up we'll just assume we want ANY mode.
2013-01-11 10:05:46 +01:00
David Härdeman
529b031a01 Add udev rules for HP (Ericsson) hs2350 Mobile Broadband Module
This WWAN module came installed in my new HP EliteBook 8570p Laptop.
The patch is generated against the master branch but the same udev
rule should be useful in the 0.5 and 0.6 branches as well.

Signed-off-by: David Härdeman <david@hardeman.nu>
2012-10-14 17:03:38 +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
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
Dan Williams
9d2a046754 mbm: add Ericsson H5321gw (often found in Thinkpad X230) 2012-08-31 10:11:05 +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
2d0cb24af8 mbm: implement custom 3GPP disconnection sequence 2012-08-23 18:56:23 +02:00
Aleksander Morgado
3ddb57d816 mbm: implement custom 3GPP dialling sequence 2012-08-23 18:56:23 +02:00
Aleksander Morgado
2f20fc64c2 mbm: new `MMBroadbandBearerMbm' object 2012-08-23 18:56:23 +02:00
Aleksander Morgado
3753184eb1 mbm: implement custom PIN retry count loading 2012-08-23 18:56:23 +02:00
Aleksander Morgado
3cdfa93c73 mbm: implement custom modem factory reset 2012-08-23 18:56:23 +02:00
Aleksander Morgado
1fa82ebd40 mbm: implement custom modem reset 2012-08-23 18:56:23 +02:00
Aleksander Morgado
ef300a69b6 mbm: receive E2NAP unsolicited messages 2012-08-23 18:56:23 +02:00
Aleksander Morgado
e9941b1b80 mbm: implement custom 3GPP unsolicited messages setup/cleanup
Including access technology reporting now.
2012-08-23 18:56:23 +02:00
Aleksander Morgado
08825d361c mbm: no need to flash serial ports 2012-08-23 18:56:23 +02:00
Aleksander Morgado
894ff1be68 mbm: ignore several unsolicited messages 2012-08-23 18:56:23 +02:00
Aleksander Morgado
49f5bc98e2 mbm: only allow enabling if *EMRDY has been received 2012-08-23 18:56:23 +02:00
Aleksander Morgado
6c6cbb33e7 mbm: implement custom initialization commands 2012-08-23 18:56:23 +02:00
Aleksander Morgado
2a06d1ed08 mbm: implement custom power-up command 2012-08-23 18:56:23 +02:00
Aleksander Morgado
efe4a7fb75 mbm: implement custom 3GPP unsolicited events enabling/disabling 2012-08-23 18:56:23 +02:00
Aleksander Morgado
78a716e07b mbm: implement custom allowed mode setting 2012-08-23 18:56:23 +02:00
Aleksander Morgado
e2c7ff2219 mbm: implement custom allowed mode loading 2012-08-23 18:56:23 +02:00
Aleksander Morgado
758eb07c0d mbm: sleep 500ms after sim unlock 2012-08-23 18:56:23 +02:00
Aleksander Morgado
ea53df17dd mbm: new `MMBroadbandModemMbm' object 2012-08-23 18:56:23 +02:00
Aleksander Morgado
c7c21ae460 mbm: start porting the MBM plugin 2012-08-23 18:56:23 +02:00