Commit Graph

200 Commits

Author SHA1 Message Date
Dan Williams
7aeac2f646 mbm: fix getting current allowed mode 2010-04-07 15:04:32 -07:00
Dan Williams
f3dd034aad cdma: fix subclass registration state checking in error paths (rh #569067)
The generic CDMA superclass already checks minimal registration state,
and when some of the additional query_registration_state() subclass checks
were being performed, if the device returned an error (if it didn't support
the subclass' specific registration command like *STATE or ^SYSINFO) the
superclass' registration state checks would be thrown away.

Fix that by specifying the behavior of the subclass'
query_registration_state() methods to ignore most errors and leave the
superclass' registration state intact if a non-critical error occurs.
2010-04-05 18:46:53 -07:00
Dan Williams
720e38aec0 core: move physical device checking into the manager
It turns out that the manager needs to know about the physical
device so we can prevent multiple plugins from claiming ports on
the same modem.
2010-03-30 14:50:40 -07:00
Dan Williams
fe69ab4210 huawei: ensure modem ports get claimed even if probe fails
Previously there was an issue where if the probe failed, because
we can't really probe huawei secondary ports for various reasons,
the Generic plugin would eventually come around and try actively
probing the secondary port after the Huawei plugin said "I don't
support this port".  Which resulted (potentially) in two MMModem
objects for the same device (one driven by Huawei, the other by
Generic).
2010-03-28 09:12:17 -07:00
Dan Williams
b876182fe6 zte: implement GSM solicited access technology request 2010-03-26 01:27:49 -07:00
Dan Williams
23986f8b0e huawei: implement GSM solicited access technology request 2010-03-26 01:15:20 -07:00
Dan Williams
a50708dbea sierra: implement GSM solicited access technology request 2010-03-26 00:27:30 -07:00
Dan Williams
843a772b4c option/hso: implement solicited access technology request 2010-03-26 00:14:47 -07:00
Dan Williams
bcfb75d88d core: grab probed QCDM ports for plugins where they are useful 2010-03-23 01:36:00 -07:00
Dan Williams
9e8a0fda9f option/hso: ensure unsolicited messages get turned off on disable 2010-03-22 15:05:45 -07:00
Dan Williams
7a5ba2e099 option/hso: make use of unsolicited access technology signals 2010-03-22 15:03:58 -07:00
Dan Williams
79bca53f21 cdma: simplify finding the right serial port for commands 2010-03-16 17:03:55 -07:00
Dan Williams
bdefdac2dc hso: add allowed mode and unsolicited response handling 2010-03-16 15:51:27 -07:00
Dan Williams
ad9fe9da28 option: generalize common Option/HSO mode and unsolicited response handling 2010-03-16 15:50:58 -07:00
Dan Williams
6744e08104 gsm: simplify finding the right serial port for commands 2010-03-16 13:17:14 -07:00
Dan Williams
eff1bcc7f3 huawei: simplify setting allowed mode 2010-03-16 11:42:57 -07:00
Dan Williams
8af469ccad huawei: clean up and simplify band handling 2010-03-16 11:38:34 -07:00
Dan Williams
19257f540c gsm: handle allowed mode during Simple.Connect() 2010-03-16 11:02:35 -07:00
Dan Williams
e0c3052b0f huawei: handle unsolicited unregistered mode change 2010-03-16 10:29:47 -07:00
Dan Williams
70d9d60d0c mbm: send internet account username/password in modem character set
Apparently at least the F3507g wants the username and password in
the modem's current character set, otherwise it sends the wrong
thing over-the-air.
2010-03-15 14:52:21 -07:00
Dan Williams
429c7cc661 sierra: implement GSM mode preference handling 2010-03-12 17:06:04 -08:00
Dan Williams
2777f9f488 trivial: spacing fixes 2010-03-12 16:59:39 -08:00
Dan Williams
4202bfb86e zte: implement GSM mode preference handling 2010-03-12 16:49:22 -08:00
Dan Williams
9d91501330 Merge remote branch 'origin/master' into qcdm 2010-03-12 12:21:29 -08:00
Dan Williams
7aa6d03d95 novatel: add CDMA plugin for signal quality parsing
Some Novatel devices reply with the normal units to +CSQ and it
doesn't look quite like the +CSQ reply is in dBm either; so
use the custom Novatel command for RSSI.
2010-03-12 12:13:21 -08:00
Dan Williams
e055bd72db hso: fix connections with username/password after e3c87e4e14
e3c87e4e14 introduced a use-after-free
bug that causes passwords and usernames to be corrupted.
2010-03-12 08:57:55 -08:00
Dan Williams
479937cbbb Merge remote branch 'origin/master' into qcdm 2010-03-10 15:04:49 -08:00
Dan Williams
1979512d8d Merge remote branch 'origin/master' into qcdm 2010-03-10 14:50:41 -08:00
Dan Williams
e3c87e4e14 hso: clean up connect and disconnect
Disconnect didn't actually work for HSO since it overrode the parent
class's connect handler and thus didn't set the right state after
the connection was made.  It turns out we can use the same logic
that 'mbm' does for connection and not have to override quite so
much of the parent class.

This also splits the authentication and connection parts into two
distinct stages, which wasn't the case before but was what was
intended.
2010-03-10 14:42:53 -08:00
Dan Williams
461de7ea0e mbm: use new disconnect handling helper 2010-03-10 14:42:34 -08:00
Dan Williams
b7858ba235 novatel: fix GSM secondary port enabling after PIN changes
With the PIN changes, the primary port would already be closed
by the time the Novatel modem class was able to send the DMAT
command to enable the secondary ports.  Just try again later.
2010-03-10 10:58:27 -08:00
Dan Williams
658d3d572d zte: handle access technology changes 2010-03-09 22:12:46 -08:00
Dan Williams
ce1c72152b mbm: fix memory leak in connection state processing 2010-03-09 21:56:57 -08:00
Dan Williams
82abd5595e mbm: fix memory leak in unsolicited signal strength processing 2010-03-09 21:55:51 -08:00
Dan Williams
59605936d0 mbm: use unsolicited access technology updates 2010-03-09 21:55:19 -08:00
Dan Williams
38514db896 gsm: let generic class handle signal quality caching and updates 2010-03-09 21:31:57 -08:00
Dan Williams
f3721a5674 Merge remote branch 'origin/master' into qcdm 2010-03-08 20:01:22 -08:00
Dan Williams
9e231c3d4b huawei: attach unsolicited message handlers to the primary port too 2010-03-08 18:06:10 -08:00
Dan Williams
29a67e9d89 huawei: unify GSM device probing
Using the USB product ID to direct certain modems to the generic
driver is wrong since even new modems like the E1550 are 0x1001
after the modeswitch.  Instead, lets assume that most current modes
use the Huawei-specific AT command set.
2010-03-08 18:04:14 -08:00
Dan Williams
cdf9279ee8 api+gsm: split out access technology
As with allowed modes, make things clearer and simpler by giving
access technology it's own values.
2010-03-08 18:02:14 -08:00
Dan Williams
c5a897d0ae api+gsm: clean up AllowedMode values
Instead of trying to stuff everything into the mode bitfield it
turns out it's just easier, clearer, and simpler to use different
values for each of the following:

1) the device's supported access technologies and allowed modes
2) the device's current access technology
3) the device's allowed mode preference

Since none of the AccessTechnology or AllowedMode stuff has hit a
release yet, let's make sure we're doing it the right way early on.
2010-03-08 17:27:56 -08:00
Dan Williams
aeac17a81e gsm: implement allowed mode 2010-03-08 15:13:14 -08:00
Dan Williams
343245fc21 gsm: add AccessTechnology property and associated infrastructure
AccessTechnology takes over half of what NetworkMode was supposed to
do, but we'll keep NetworkMode around for a while for compatibility
anyway.  Create async updaters that subclasses can use to update
the access tech when they get unsolicited messages.
2010-03-08 11:40:54 -08:00
Dan Williams
54c1d069eb gsm: rework registration handling
First, generically handle registration polling if the device does
not support unsolicited registration.  Second, using the new
creg/cgreg parsing functions from mm-modem-helpers.c, handle
CREG=2 unsolicited registration replies to capture the GSM LAC/CI
for the location information API.

Because of these changes we can simplify the registration polling
during connection as well by using the common registration parsing
code and the cached registration state.
2010-03-06 10:28:11 -08:00
Dan Williams
e6e3784c02 hso: remove PIN checking code
This is handled by the generic class before the modem is even exported
over D-Bus.
2010-03-04 20:45:30 -08:00
Dan Williams
6c760464d4 zte: remove PIN checking code
This is handled by the generic class before the modem is even exported
over D-Bus.
2010-03-04 20:43:22 -08:00
Dan Williams
c02835722f novatel: remove PIN checking code
This is handled by the generic class before the modem is even exported
over D-Bus.
2010-03-04 20:37:36 -08:00
Dan Williams
a40d3dbead option: fix power-on delay
Since the modem states patch the delay for power-on wasn't honored
for Option devices.  Fix that using the new power-on-done handler
and also fix the bug where if the modem was removed, the plugin
would crash because it wasn't handling the timeout removal.

Also remove the explicit PIN check since that's now handled by the
generic GSM code before the modem is even exported over DBus.
2010-03-04 20:27:44 -08:00
Dan Williams
d94ca3d310 sierra: fix power-on delay
Since the modem states patch the delay for power-on wasn't honored
for Sierra devices.  Fix that using the new power-on-done handler
and also fix the bug where if the modem was removed, the plugin
would crash because it wasn't handling the timeout removal.

Also remove the explicit PIN check since that's now handled by the
generic GSM code before the modem is even exported over DBus.
2010-03-04 20:09:54 -08:00
Dan Williams
3f7b173932 sierra: fix comment about CFUN=1 delay 2010-03-04 19:40:33 -08:00