Age | Commit message (Collapse) | Author | Files | Lines |
|
There is a race that causes the network not to be added if we get the
CDMA netreg changed signal before the CDMA connection manager added
signal. In that case the network is not added because the device has
not been created yet. So we fix this by trying to add the network
whenever the device is created.
|
|
Connecting the network requires powering the CDMA connection manager,
which fails with an error if network registration is not complete. So
we only add the network when registration is complete and remove it when
the modem is no longer registered.
|
|
|
|
The string is only used for debugging purposes.
|
|
Whenever the GPRS contextext is removed we need also to remove
the network object. Following sequence was observed:
cm_update_attached() /huawei_1 Attached 1
modem_changed() /huawei_1 Interfaces 0x07
Plugin creates network object and registers it at core
cm_update_attached() /huawei_1 Attached 0
service.c:run_auto_connect()
set_property() /huawei_1 path /huawei_1/context1 org.ofono.ConnectionContext.Active
Obviously, the context is not attached at this point so we get an
Failed to change property: /huawei_1/context1 org.ofono.ConnectionContext.Active: org.ofono.Error.NotAttached GPRS is not
attached
Fixes BMC#25725
|
|
|
|
Since connman_network_set_index() does not create magically the
ipconfig for us anymore, we need to create it inside set_connected().
|
|
|
|
|
|
If a dummy context is created, it might happen
that its index is equal to -1. In this particular case
the IP address has not been copied to context->address
during ipv4 extraction.
If we force from oFono a context activation, it will
make ConnMan crashing on set_connected().
|
|
|
|
|
|
We could end up calling connman_ipaddress_set_ipv6() withouth
prefix_lenght initialized.
Reported by hdante.
|
|
We need to check the ConnectionManager attached signal before
we are allowed to connect to the gprs context:
connmand[592]: plugins/ofono.c:cm_update_attached() /zte_0 Attached 0
[...]
connmand[592]: plugins/ofono.c:context_set_active() /zte_0 active 1
connmand[592]: plugins/ofono.c:set_property() /zte_0 path /zte_0/context1
org.ofono.ConnectionContext.Active
[...]
connmand[592]: plugins/ofono.c:cm_update_attached() /zte_0 Attached 1
Fixes BMC#25112
|
|
|
|
Empty AccessPointName in a oFono internet context means it cannot
be activated: Don't create networks in this situation.
The conditions for adding a network are then
a) modem supports NetworkRegistration
b) modem has a context with a valid APN
Fixes BMC#24959
|
|
|
|
oFono sends several ConnectionContext.PropertyChanged("Active", False)
after it was told to disconnect.
After studying the oFono part, it looks like that serveral CREGS updates
could trigger oFono to send us the same flag over and over again
(see ofono_gprs_status_notify()).
Even though oFono might missbehave, ConnMan should not crash so
easily. Luckely, the fix is very simple. We should just check if we still
have a valid network pointer before accessing it.
Fixes BMC#25026
|
|
Fixes BMC#24942
|
|
|
|
|
|
|
|
Also avoid calling set_regdom is the alpha2 is NULL.
|
|
Explain how the plugin works for a GSM modem.
|
|
If the cellular technolgy is disabled while ConnMan is connected
to a cellular network, the plugin gets first a network_disconnect()
call and shortly after that a modem_disable(). network_disconnect()
will set org.ofono.ConnectionContext.Active to false while this call
is pending modem_disable() tries to set org.ofono.Modem.Online to false.
There is no point in waiting for the first call to succeed or fail.
Just cancel it and set the modem offline.
Fixes BMC#24651.
|
|
With e1d92d253c5db96bdc8fe2a21e463fc730570311 we need to register a driver
for each technology.
Fixes BMC#24702.
|
|
|
|
When we add cdma network, we alloc the context for the modem, due
to add_network logic needs, then we need extract ip settings even
context is not NULL
|
|
For cdma modem, the property change for serial may after interfaces,
then we need to create device for cdma modem when we get serial property
|
|
Create the ipconfig layer before trying to connect. Withouth
the ipconfig layer the core is not ready to process errors.
|
|
If a modem is already online there will be no updates
on the interfaces and therefore no triggers to do the
complete discovering.
|
|
|
|
Simplify the way the interface apperance and disapperance are
handled and write them explicitly out. This is not extremly fast
or elegant but it is much more readable and maintainable.
Also unregister the network object when the modem goes offline.
Fixes BMC#24432
|
|
Instead of directly online we let the core decide
when to set the modem online therefore we have
to create the connman_device a bit earlier at
register it.
|
|
to use connection_manager_init().
|
|
|
|
Only trigger update code if there was a change in
the interface we are interested in.
|
|
Also follow the patternt that we have only a set function
with an argument for the value tos set.
|
|
Also follow the patternt that we have only a set function
with an argument for the value tos set.
|
|
Also follow the patternt that we have only a set function
with an argument for the value tos set.
|
|
Follow the pattern that we have only a set function with
an argument for the value to set.
|
|
Follow the pattern that we have only a set function with
an argument for the value to set.
|
|
Streamline Property handling code with the rest of the plugin.
|
|
Fixes BMC#24430
|
|
The return value has to be boolean.
|
|
|
|
|
|
|
|
|
|
|