Hi Martin, > Below patch can be used to fix bug 3076. > Currently, the service disconnect can only work for the one based on network, > so Ethernet can not be disconnected. I use connman_device_set_carrier() to > set carrier as FALSE to disconnect ethernet service. I think it is almost > like the Ethernet cable is unplugged. I have verified that it can work fine > together with carrick. > Please review it. > > diff --git a/src/device.c b/src/device.c > index cd9105d..bf72a69 100644 > --- a/src/device.c > +++ b/src/device.c > @@ -1332,6 +1332,8 @@ int __connman_device_connect(struct connman_device > *device) > if (device->disconnected == FALSE) > return -EINVAL; > > + if (device->mode == CONNMAN_DEVICE_MODE_TRANSPORT_IP) > + connman_device_set_carrier(device, TRUE); > return 0; > } > > @@ -1353,6 +1355,8 @@ int __connman_device_disconnect(struct connman_device > *device) > __connman_network_disconnect(network); > } > > + if (device->mode == CONNMAN_DEVICE_MODE_TRANSPORT_IP) > + connman_device_set_carrier(device, FALSE); > return 0; > }
so I was testing this patch and had it in my tree for a while. Then I decided to add connect/disconnect callbacks to devices. And implement the detail in the Ethernet plugin. Regards Marcel _______________________________________________ connman mailing list [email protected] http://lists.connman.net/listinfo/connman
