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

Reply via email to