On Wed, 2015-10-14 at 06:40 +0000, John Ernberg wrote: > I made a ramdisk out of /var/ when I made the file system read only. > Nothing is however preserved after a reboot, and that has not been > problem for me yet.
That's actually a problem, as /var (especially /var/lib) is the only location that per definition can hold application state over reboot. In this case it presents a problem, as ConnMan will now not know its state over reboot. /var/run (or /run) is the proper location for run-time data, which can be cleared. > If I have other services that reach the internet, and possibly want to > tether on these in the future, but want to keep this link private (not > share it with the other connections). Would this then be out of scope > for what ConnMan is designed for? What do you mean by keeping the link private? > I had to obfuscate the MAC addresses, but it should still give a > picture of what the setup looks like. Our cdc_ether driver publishes > the Ethernet-over-USB interface as usb0, and shows up in ConnMan as a > gadget technology. > USB Host side: > eth0 Link encap:Ethernet HWaddr yy:yy:yy:yy:yy:yy > UP BROADCAST MULTICAST MTU:1500 Metric:1 > RX packets:0 errors:0 dropped:0 overruns:0 frame:0 > TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 > collisions:0 txqueuelen:1000 > RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) > > tether Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx > inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0 > inet6 addr: fe80::d838:94ff:fe48:389b/64 Scope:Link > UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 > RX packets:5 errors:0 dropped:0 overruns:0 frame:0 > TX packets:8 errors:0 dropped:0 overruns:0 carrier:0 > collisions:0 txqueuelen:0 > RX bytes:364 (364.0 B) TX bytes:620 (620.0 B) > > usb0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx > inet6 addr: fe80::ff:fe02:1201/64 Scope:Link > UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 > RX packets:11 errors:0 dropped:0 overruns:0 frame:0 > TX packets:2 errors:0 dropped:0 overruns:0 carrier:0 > collisions:0 txqueuelen:1000 > RX bytes:748 (748.0 B) TX bytes:132 (132.0 method) Thethering has been enabled on the USB host. If you enabled 'ethernet' technology tethering, eth0 will be tethered. If you enabled 'gadget' tethering usb0 will be tethered. The fact that usb0 shows up with an IPv6 address makes me think that ethernet tethering is enabled. So your USB host end also has a gadget connector?? > return sender=:1.2 -> dest=:1.22 reply_serial=2 > array [ > struct { > object path "/net/connman/technology/gadget" > array [ > dict entry( > string "Name" > variant string "Gadget" > ) > dict entry( > string "Type" > variant string "gadget" > ) > dict entry( > string "Powered" > variant boolean true > ) > dict entry( > string "Connected" > variant boolean false > ) > dict entry( > string "Tethering" > variant boolean true > ) > ] > } Gadget is tethering. Which means this is the USB client end. If it's the same situation as above, there is a bug somewhere as usb0 should not have an IP address. > struct { > object path "/net/connman/technology/ethernet" > array [ > dict entry( > string "Name" > variant string "Wired" > ) > dict entry( > string "Type" > variant string "ethernet" > ) > dict entry( > string "Powered" > variant boolean true > ) > dict entry( > string "Connected" > variant boolean false > ) > dict entry( > string "Tethering" > variant boolean false > ) > ] > } Ok, ethernet is not tethering. Is this the same situation as above where you listed the interfaces? Networks created in the USB host end of things will show up as 'ethernet' devices. > USB gadget side: > usb0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx > inet6 addr: fe80::ff:fe00:1011/64 Scope:Link > UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 > RX packets:2 errors:0 dropped:0 overruns:0 frame:0 > TX packets:11 errors:0 dropped:0 overruns:0 carrier:0 > collisions:0 txqueuelen:1000 > RX bytes:104 (104.0 B) TX bytes:902 (902.0 B) > > method return sender=:1.2 -> dest=:1.169 reply_serial=2 > array [ > struct { > object path "/net/connman/service/gadget_xxxxxxxxxxxx_usb" The USB client/gadget end is not tethering, as the service gadget_xxxxxxxxxxxx_usb shows up. To me it seems that you have enabled gadget tethering instead of ethernet USB host tethering for the first device. But this means the first device has an ethernet connector (possibly a USB host?) and a USB gadget (client) connector. Is this correct? > array [ > dict entry( > string "Type" > variant string "gadget" > ) > dict entry( > string "Security" > variant array [ > ] > ) > dict entry( > string "State" > variant string "idle" > ) > dict entry( > string "Favorite" > variant boolean false > ) > dict entry( > string "Immutable" > variant boolean false > ) > dict entry( > string "AutoConnect" > variant boolean false > ) > dict entry( > string "Name" > variant string "Wired" > ) > dict entry( > string "Ethernet" > variant array [ > dict entry( > string "Method" > variant string "auto" > ) > dict entry( > string "Interface" > variant string "usb0" > ) > dict entry( > string "Address" > variant string > "xx:xx:xx:xx:xx:xx" > ) > dict entry( > string "MTU" > variant uint16 1500 > ) > ] > ) > dict entry( > string "IPv4" > variant array [ > ] > ) > dict entry( > string "IPv4.Configuration" > variant array [ > dict entry( > string "Method" > variant string "dhcp" > ) > ] > ) > dict entry( > string "IPv6" > variant array [ > ] > ) > dict entry( > string "IPv6.Configuration" > variant array [ > dict entry( > string "Method" > variant string "auto" > ) > dict entry( > string "Privacy" > variant string "disabled" > ) > ] > ) > dict entry( > string "Nameservers" > variant array [ > ] > ) > dict entry( > string "Nameservers.Configuration" > variant array [ > ] > ) > dict entry( > string "Timeservers" > variant array [ > ] > ) > dict entry( > string "Timeservers.Configuration" > variant array [ > ] > ) > dict entry( > string "Domains" > variant array [ > ] > ) > dict entry( > string "Domains.Configuration" > variant array [ > ] > ) > dict entry( > string "Proxy" > variant array [ > ] > ) > dict entry( > string "Proxy.Configuration" > variant array [ > ] > ) > dict entry( > string "Provider" > variant array [ > ] > ) > ] > } > ] Cheers, Patrik _______________________________________________ connman mailing list connman@connman.net https://lists.connman.net/mailman/listinfo/connman