Mick <[email protected]> [15-05-14 08:00]:
> On Thursday 14 May 2015 04:45:38 [email protected] wrote:
> > Hi,
> >
> > I have a problem with some kind of a lokal net connection (ethernet
> > over USB):
>
> I think that the problem is not network related, but USB rules related.
> Please see below.
>
>
> > Current handling is as follows:
> > I boot my Gentoo-Linux PC, which connects to my Fritz!Box, collect
> > EMail etc...works fine so far.
> > Then I connect an embedded system (Arietta G25
> > www.acmesystems.it/arietta) to the usb port and wait until this
> > little thing has booted.
> > On my Linux PC I do the following then (as root):
> >
> > ifconfig usb0 192.168.10.1 up
> > echo 1 >! /proc/sys/net/ipv4/ip_forward
> > iptables -A FORWARD -i eth1 -j ACCEPT
> > modprobe ip_tables
> > modprobe ip_conntrack
> > iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
> > ssh -t root@ariettaa abduco -A root
> >
> > (I real life I have two Ariettas which I connect to the
> > PC the same time with two different IP-addresses and two
> > different USB-ports)
> >
> > This connects me finally to the Arietta, which do ethernet over USB.
> > I put the commands into a script, so not too much hassle here.
> >
> > But!
> > On the Arietta I also installed Gentoo. An update, especially
> > when it includes gcc can take up to three days (I tried
> > crosscompilation and some other construction and I am currently
> > most happiest (sounds a litte too much like 'german english'...;)
> > with this).
> > So I first fetch all needed files and then restart the update
> > and detach from the terminal.
> >
> > Now the problem:
> > When I shutdown the PC, which needs not to run all the time, and
> > restart it later again I am no longer able to connect to the Arietta
> > with the steps described above. All needed modules are loaded while
> > booting the PC and ifplugd is installed on the Arietta.
> >
> > Unfortunately I have not found any differences of the USB interface,
> > which would make it possible to handle the Ariettas via udev.
>
> Have you used 'udevadm monitor' to check how your USB device is recognised?
> Each time it will be a different host & target and this is your problem.
>
>
> > How can I make a reconnect after rebooting my PC possible every time?
>
> I think that the solution is to create a udev rule which will identify your
> arietta interface when plugged in the PC and run the necessary script from
> there on.
>
> Have a look here for persistent device naming:
>
> https://wiki.gentoo.org/wiki/Udev
>
> --
> Regards,
> Mick
Hi Mick,
This is what udevadm monitor prints, when I unplug both Ariettas
simultanously:
solfire:/home/mccramer>udevadm monitor
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent
KERNEL[13781.884965] remove
/devices/pci0000:00/0000:00:13.2/usb4/4-4/4-4:1.0/net/usb1/queues/rx-0 (queues)
KERNEL[13781.885027] remove
/devices/pci0000:00/0000:00:13.2/usb4/4-4/4-4:1.0/net/usb1/queues/tx-0 (queues)
KERNEL[13781.885067] remove
/devices/pci0000:00/0000:00:13.2/usb4/4-4/4-4:1.0/net/usb1 (net)
UDEV [13781.886418] remove
/devices/pci0000:00/0000:00:13.2/usb4/4-4/4-4:1.0/net/usb1/queues/rx-0 (queues)
KERNEL[13781.889122] remove /devices/pci0000:00/0000:00:13.2/usb4/4-4/4-4:1.0
(usb)
KERNEL[13781.889194] remove /devices/pci0000:00/0000:00:13.2/usb4/4-4 (usb)
UDEV [13781.902185] remove
/devices/pci0000:00/0000:00:13.2/usb4/4-4/4-4:1.0/net/usb1/queues/tx-0 (queues)
UDEV [13781.908021] remove
/devices/pci0000:00/0000:00:13.2/usb4/4-4/4-4:1.0/net/usb1 (net)
UDEV [13781.908429] remove /devices/pci0000:00/0000:00:13.2/usb4/4-4/4-4:1.0
(usb)
UDEV [13781.919474] remove /devices/pci0000:00/0000:00:13.2/usb4/4-4 (usb)
KERNEL[13781.993142] remove
/devices/pci0000:00/0000:00:13.2/usb4/4-5/4-5:1.0/net/usb0/queues/rx-0 (queues)
KERNEL[13781.993182] remove
/devices/pci0000:00/0000:00:13.2/usb4/4-5/4-5:1.0/net/usb0/queues/tx-0 (queues)
KERNEL[13781.993211] remove
/devices/pci0000:00/0000:00:13.2/usb4/4-5/4-5:1.0/net/usb0 (net)
UDEV [13781.993928] remove
/devices/pci0000:00/0000:00:13.2/usb4/4-5/4-5:1.0/net/usb0/queues/rx-0 (queues)
UDEV [13781.994215] remove
/devices/pci0000:00/0000:00:13.2/usb4/4-5/4-5:1.0/net/usb0/queues/tx-0 (queues)
KERNEL[13781.998111] remove /devices/pci0000:00/0000:00:13.2/usb4/4-5/4-5:1.0
(usb)
KERNEL[13781.998170] remove /devices/pci0000:00/0000:00:13.2/usb4/4-5 (usb)
UDEV [13782.000177] remove
/devices/pci0000:00/0000:00:13.2/usb4/4-5/4-5:1.0/net/usb0 (net)
UDEV [13782.000767] remove /devices/pci0000:00/0000:00:13.2/usb4/4-5/4-5:1.0
(usb)
UDEV [13782.013093] remove /devices/pci0000:00/0000:00:13.2/usb4/4-5 (usb)
This is printed, when I connect the first Arietta to the PC:
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent
KERNEL[14000.140611] add /devices/pci0000:00/0000:00:13.2/usb4/4-5 (usb)
KERNEL[14000.141572] add /devices/pci0000:00/0000:00:13.2/usb4/4-5/4-5:1.0
(usb)
KERNEL[14000.141967] add
/devices/pci0000:00/0000:00:13.2/usb4/4-5/4-5:1.0/net/usb0 (net)
KERNEL[14000.142000] add
/devices/pci0000:00/0000:00:13.2/usb4/4-5/4-5:1.0/net/usb0/queues/rx-0 (queues)
KERNEL[14000.142046] add
/devices/pci0000:00/0000:00:13.2/usb4/4-5/4-5:1.0/net/usb0/queues/tx-0 (queues)
UDEV [14000.162311] add /devices/pci0000:00/0000:00:13.2/usb4/4-5 (usb)
UDEV [14000.163727] add /devices/pci0000:00/0000:00:13.2/usb4/4-5/4-5:1.0
(usb)
UDEV [14000.170206] add
/devices/pci0000:00/0000:00:13.2/usb4/4-5/4-5:1.0/net/usb0 (net)
UDEV [14000.170572] add
/devices/pci0000:00/0000:00:13.2/usb4/4-5/4-5:1.0/net/usb0/queues/rx-0 (queues)
UDEV [14000.185482] add
/devices/pci0000:00/0000:00:13.2/usb4/4-5/4-5:1.0/net/usb0/queues/tx-0 (queues
This is printed, when I connect the second Arietta to the PC:
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent
KERNEL[14108.192714] add /devices/pci0000:00/0000:00:13.2/usb4/4-4 (usb)
KERNEL[14108.193781] add /devices/pci0000:00/0000:00:13.2/usb4/4-4/4-4:1.0
(usb)
KERNEL[14108.194211] add
/devices/pci0000:00/0000:00:13.2/usb4/4-4/4-4:1.0/net/usb1 (net)
KERNEL[14108.194247] add
/devices/pci0000:00/0000:00:13.2/usb4/4-4/4-4:1.0/net/usb1/queues/rx-0 (queues)
KERNEL[14108.194269] add
/devices/pci0000:00/0000:00:13.2/usb4/4-4/4-4:1.0/net/usb1/queues/tx-0 (queues)
UDEV [14108.211967] add /devices/pci0000:00/0000:00:13.2/usb4/4-4 (usb)
UDEV [14108.213327] add /devices/pci0000:00/0000:00:13.2/usb4/4-4/4-4:1.0
(usb)
UDEV [14108.217344] add
/devices/pci0000:00/0000:00:13.2/usb4/4-4/4-4:1.0/net/usb1 (net)
UDEV [14108.217615] add
/devices/pci0000:00/0000:00:13.2/usb4/4-4/4-4:1.0/net/usb1/queues/rx-0 (queues)
UDEV [14108.237237] add
/devices/pci0000:00/0000:00:13.2/usb4/4-4/4-4:1.0/net/usb1/queues/tx-0 (queues)
The assigment to certain USB ports may vary from time to time.
This is what lsusb prints for both devices
Bus 004 Device 007: ID 0525:a4a2 Netchip Technology, Inc. Linux-USB
Ethernet/RNDIS Gadget
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 2 Communications
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x0525 Netchip Technology, Inc.
idProduct 0xa4a2 Linux-USB Ethernet/RNDIS Gadget
bcdDevice 4.00
iManufacturer 1 Linux 4.0.1-20150414.001 with atmel_usba_udc
iProduct 2 RNDIS/Ethernet Gadget
iSerial 0
bNumConfigurations 2
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 75
bNumInterfaces 2
bConfigurationValue 2
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 2mA
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 0
bInterfaceCount 2
bFunctionClass 2 Communications
bFunctionSubClass 6 Ethernet Networking
bFunctionProtocol 0
iFunction 6 RNDIS
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 2 Abstract (modem)
bInterfaceProtocol 255 Vendor Specific (MSFT RNDIS?)
iInterface 4 RNDIS Communications Control
CDC Header:
bcdCDC 1.10
CDC Call Management:
bmCapabilities 0x00
bDataInterface 1
CDC ACM:
bmCapabilities 0x00
CDC Union:
bMasterInterface 0
bSlaveInterface 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 32
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 5 RNDIS Ethernet Data
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 2mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 2 Communications
bInterfaceSubClass 12 Ethernet Emulation
bInterfaceProtocol 7 Ethernet Emulation (EEM)
iInterface 8 CDC Ethernet Emulation Model (EEM)
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 2 Communications
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 2
Device Status: 0x0001
Self Powered
Bus 004 Device 008: ID 0525:a4a2 Netchip Technology, Inc. Linux-USB
Ethernet/RNDIS Gadget
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 2 Communications
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x0525 Netchip Technology, Inc.
idProduct 0xa4a2 Linux-USB Ethernet/RNDIS Gadget
bcdDevice 4.00
iManufacturer 1 Linux 4.0.1-20150414.001 with atmel_usba_udc
iProduct 2 RNDIS/Ethernet Gadget
iSerial 0
bNumConfigurations 2
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 75
bNumInterfaces 2
bConfigurationValue 2
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 2mA
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 0
bInterfaceCount 2
bFunctionClass 2 Communications
bFunctionSubClass 6 Ethernet Networking
bFunctionProtocol 0
iFunction 6 RNDIS
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 2 Abstract (modem)
bInterfaceProtocol 255 Vendor Specific (MSFT RNDIS?)
iInterface 4 RNDIS Communications Control
CDC Header:
bcdCDC 1.10
CDC Call Management:
bmCapabilities 0x00
bDataInterface 1
CDC ACM:
bmCapabilities 0x00
CDC Union:
bMasterInterface 0
bSlaveInterface 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 32
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 5 RNDIS Ethernet Data
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 2mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 2 Communications
bInterfaceSubClass 12 Ethernet Emulation
bInterfaceProtocol 7 Ethernet Emulation (EEM)
iInterface 8 CDC Ethernet Emulation Model (EEM)
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 2 Communications
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 2
Device Status: 0x0001
Self Powered
As I wrote in my initial mail:
I see no difference in both, which may offer a possibilty to act upon
when plugging in the one or the other (or both) devices/Ariettas.
Before I mailed to the group I read the documentation you linked, but
may be I missed something which reveals the solution to this
problem...
But what did I miss?
Best regards,
Meino