Commit Graph
207 Commits
Author SHA1 Message Date
Dan Williams 30473ce7c9 novatel: implement allowed modes and access technology 2010-04-30 00:32:54 -07:00
Dan Williams bfe3dd49ed core: refcount serial port open/close
This specifically fixes a regression with Novatel GSM secondary
AT port enablement, where the inital pin check closed the port
before the Novatel plugin could send the command to flip secondary
ports to AT mode.

But it's useful elsewhere too, and simplifies a bunch of the PIN
checking code which had to use various ugly methods to track whether
to close the port or not after checking the PIN.
2010-04-29 21:15:17 -07:00
Dan Williams fbfb7f8953 novatel: let generic CDMA class handle signal strength while connected
Instead of returning an unhelpful error when there isn't a second
AT port (which there never will be for Novatel CDMA devices) we should
let the superclass handle the request.
2010-04-29 18:57:49 -07:00
Torgny Johansson 921048b12e mbm: add Dell 5541 and 5542 2010-04-29 11:28:19 -07:00
Dan Williams a4c094c340 core: fix serial error #defines
Should have ERROR in them.
2010-04-24 23:44:35 -07:00
Dan Williams b9bb12a01e core: flash failure on disconnect shouldn't be a hard error (rh #578280) 2010-04-24 23:40:24 -07:00
Dan Williams 411051b1f3 mbm: add Sony Ericsson MD400 device IDs 2010-04-24 23:16:45 -07:00
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