Commit Graph

2375 Commits

Author SHA1 Message Date
Aleksander Morgado
055b56306a port-probe: no need to keep our internal copies of subsys/name 2012-08-06 20:06:46 +02:00
Aleksander Morgado
4a85707b09 port-probe: no need to keep neither physdev path nor driver 2012-08-06 20:06:46 +02:00
Aleksander Morgado
a5560bef3d port-probe: don't warn if requesting info which wasn't probed 2012-08-06 20:06:46 +02:00
Aleksander Morgado
a8bc1909e4 plugin: setup a `priv' opaque pointer for the internal data
G_TYPE_INSTANCE_GET_PRIVATE() is really slow, so try to call it as less as
possible.
2012-08-06 20:06:46 +02:00
Aleksander Morgado
a315602166 plugin: no need to have our own `GUdevClient' 2012-08-06 20:06:46 +02:00
Aleksander Morgado
1e9c6772ce plugin: no need to take care of probing tasks ourselves 2012-08-06 20:06:45 +02:00
Aleksander Morgado
cf48d3daa7 plugin: don't provide an additional method to cancel the probing
We'll do it with a GCancellable.
2012-08-06 20:06:45 +02:00
Aleksander Morgado
d84cecac99 plugin: don't use internal task list to cancel AT probing in other probes 2012-08-06 20:06:45 +02:00
Aleksander Morgado
61e285497c port-probe-cache: removed, no longer needed
The `MMDevice' acts as port probe cache for us now, directly storing all port
probes of the same device.
2012-08-06 20:06:45 +02:00
Aleksander Morgado
9d14e4e8e9 device: get vendor/product IDs
And don't do it in MMPlugin.
2012-08-06 20:06:45 +02:00
Aleksander Morgado
74dd724669 plugin: simplify interface by passing around the device and/or port objects 2012-08-06 20:06:45 +02:00
Aleksander Morgado
b816887cac port-probe: use dispose() to cleanup internal object references 2012-08-06 20:06:45 +02:00
Aleksander Morgado
87c2c8632e port-probe: new method to check if there is an AT port in a list of probes 2012-08-06 20:06:45 +02:00
Aleksander Morgado
b791e87b23 device: keep a list of port probes instead of just ports 2012-08-06 20:06:45 +02:00
Aleksander Morgado
a9075b0c09 port-probe: rename _get_port() to _peek_port() as there is no ownership transfer 2012-08-06 20:06:45 +02:00
Aleksander Morgado
e5e46f489e core: merge MMPluginBase' and MMPlugin'
There's no real point in maintaining a separate `MMPlugin' interface, as all the
plugins will inherit from `MMPluginBase', so just merge them and simplify
everything.
2012-08-06 20:06:45 +02:00
Aleksander Morgado
7e9d3e4b68 plugin-base: method to get device IDs doesn't need to be public
Given the new pre-probing filters, the IDs are no longer retrieved by the
plugins.
2012-08-06 20:06:45 +02:00
Aleksander Morgado
aaa487094e plugin-manager: simplify device/port probing logic
The plugin manager no longer needs to take care of keeping track of which probes
are being run and to which physical device they correspond, as the upper layer's
`MMDevice' already does this. This simplifies the internal logic quite a lot, as
we can now easily suggest plugins to the remaining port probes of the same
device directly.
2012-08-06 20:06:45 +02:00
Aleksander Morgado
a1ffbdf1c8 plugin-manager: find port support is now only an internal operation 2012-08-06 20:06:45 +02:00
Aleksander Morgado
c1c3702f53 plugin-manager: remove unneeded methods
We no longer need to query the plugin manager whether we're checking support for
a specific port, as the ports are now grabbed only once in the MMDevice, and
therefore we ensure that supports check is launched only once in the
PluginManager for that specific port.

Also, we no longer need to query the plugin manager whether we're checking
support for a given device, as the logic to check when all ports of the device
are probed is now maintained internally.
2012-08-06 20:06:45 +02:00
Aleksander Morgado
b35d6a65fa plugin-manager: define a minimum probing time of 2s
Effectively, we're now letting the kernel up to 2s to show all the ports of the
device, starting from the time where the first port is exposed.
2012-08-06 20:06:45 +02:00
Aleksander Morgado
e8339385da manager: use the new method to check support of a given full device 2012-08-06 20:06:45 +02:00
Aleksander Morgado
5b4abce64a plugin-manager: new method to check support for a given device and all its ports
The new `mm_plugin_manager_find_device_support()' will be an async method which
waits for ports to be added in the given `MMDevice'. As soon as all added ports
are probed, the device support check is considered finished.
2012-08-06 20:06:45 +02:00
Aleksander Morgado
3daed5130f plugin-base: don't assume a plugin will give as supported all ports of the device
E.g. the Generic plugin will give as unsupported 'net' ports found in the
device, as it doesn't know how to use them.
2012-08-06 20:06:44 +02:00
Aleksander Morgado
66ec5cd724 device: signal grabbed/released ports 2012-08-06 20:06:44 +02:00
Aleksander Morgado
72ffa7a1e5 device: load driver being used when first port grabbed 2012-08-06 20:06:44 +02:00
Aleksander Morgado
7b7f5b9dcb device: keep sysfs path around for logging 2012-08-06 20:06:44 +02:00
Aleksander Morgado
0aff871b04 device: split `MMDevice' creation and plugin setting
We want to be able to create the MMDevice way before we have decided which
plugin to use.
2012-08-06 20:06:44 +02:00
Aleksander Morgado
815693661c core: compile all ports before creating the modem object
Before this, we only exported the modem to DBus when all ports were organized,
in order to make sure that we select as primary port the one we really want and
not the first AT port grabbed. Given that to get all the ports organized we also
needed to wait to get all the ports grabbed, we can now also defer the creation
of the modem object until all the ports get grabbed. This allows us to create
different types of objects based on the ports available (e.g. we can now create
QMI-supported modem objects if we see a QMI port around).
2012-08-06 20:06:44 +02:00
Aleksander Morgado
0336b8f89d iface-modem: don't process signal/act updates if interface is shut down
When the interface is shut down the skeleton object no longer exists. Given that
we're allowing this actions from outside the interface, we should be safe and
don't assume that the caller knows exactly the state of the interface.
2012-08-02 09:23:16 +02:00
Ben Chan
b320f5c065 iface-modem: fix crashes due to removed context 2012-08-02 09:18:06 +02:00
Aleksander Morgado
0ff904b3c5 bearer: set state as DISCONNECTING as soon as we cancel the connection sequence
Just when we request to cancel the connection we need to set the bearer as
being disconnected, so that we do not end up overwriting connection cancellation
requests.

Reported by: Thieu Le <thieule@chromium.org>
2012-07-31 09:18:45 +02:00
Aleksander Morgado
a448eabb3d iface-modem: SIM-PIN2 lock takes us to disabled state, not locked 2012-07-26 11:05:20 +02:00
Aleksander Morgado
8d31e79ac4 sim: getting SIM-PIN2 lock doesn't mean PIN sending failed 2012-07-26 11:00:17 +02:00
Aleksander Morgado
05289d094b iface-modem-3gpp: fix variant ref count 2012-07-25 12:00:28 +02:00
Aleksander Morgado
c6c1e0fb50 broadband-modem: fallback to unencoded command in USSD if encoded fails 2012-07-22 14:51:31 +02:00
Aleksander Morgado
19e65253de broadband-bearer: debug logs when disconnecting 3GPP bearer 2012-07-22 13:40:02 +02:00
Aleksander Morgado
aa11a0bf7d broadband-modem: assume CS if 2G supported 2012-07-22 13:39:50 +02:00
Aleksander Morgado
79fbe274e9 iface-modem: new async method to be run just after the successful SIM unlock 2012-07-22 13:39:35 +02:00
Aleksander Morgado
2aceb907f4 mm-broadband-modem: fix result completion on hex encoding errors 2012-07-22 13:36:43 +02:00
Aleksander Morgado
9670b362bf mm-broadband-modem: fix USSD command sending, don't use cached AT replies 2012-07-22 13:35:18 +02:00
Aleksander Morgado
ea10c57056 broadband-modem: cancel pending USSD request if USSD session cancelled 2012-07-22 13:33:34 +02:00
Aleksander Morgado
ce33bcfd7a iface-modem-3gpp-ussd: set proper initial session state 2012-07-22 13:33:25 +02:00
Aleksander Morgado
89cdb8819a iface-modem-3gpp-ussd: don't allow USSD actions if the modem is not enabled 2012-07-22 13:33:15 +02:00
Aleksander Morgado
dd8dcbb899 messaging: don't treat as fatal error if we cannot read from a given storage 2012-07-22 13:33:07 +02:00
Aleksander Morgado
2146553c59 broadband-bearer: fix missing method
It was wrongly removed in commit 2506e3093e.
2012-07-21 17:13:07 +02:00
Aleksander Morgado
3653ec4b8e broadband-modem: send always ATZ alone
ITU rec v.250 (6.1.1) says:
  The DTE should not include additional commands on the same command line after
  the Z command because such commands may be ignored.
2012-07-19 16:22:52 +02:00
Dan Williams
e7715af875 serial: fix AT port carriage return handling
Off-by-one, fix it.
2012-07-18 10:51:44 -05:00
Ben Chan
717977d0b5 iface-modem-messaging: check if supported storage is allocated before use
load_supported_storages may fail, which results in unallocated storage
memory. This patch modifies load_initial_sms_parts_from_storages and
is_storage_supported to handle that gracefully.
2012-07-17 08:02:13 +02:00
Aleksander Morgado
431b6a0fc5 broadband-modem: remove `USE_WS46' property
3GPP modems will all try to use AT+WS46=? by default to gather supported modes.
2012-07-16 08:34:01 +02:00