Ethernet-over-USB: no ip assigned with kernel 4.1.13-bone-rt-r17

Hi

I’m trying to write a module for a real-time kernel. Following the instructions on https://eewiki.net/display/linuxonarm/BeagleBone+Black, I compiled and deployed a 4.1.13-bone-rt-r17 kernel to an sd card with a Debian GNU/Linux 7 BeagleBoard.org Debian Image 2015-03-01.

Before, with kernel 3.8.13-bone70, everything was working perfectly fine. However after upgrading the kernel, my desktop (running Linux Mint) no longer receives an ip address.

ifconfig beaglebone:

usb0 Link encap:Ethernet HWaddr a2:29:c5:ee:bf:e6
inet addr:192.168.7.2 Bcast:192.168.7.3 Mask:255.255.255.252
inet6 addr: fe80::a029:c5ff:feee:bfe6/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1 errors:0 dropped:0 overruns:0 frame:0
TX packets:37 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:76 (76.0 B) TX bytes:9408 (9.1 KiB)

ifconfig desktop:

eth1 Link encap:Ethernet HWaddr 84:eb:18:ae:cb:aa
inet6 addr: fe80::86eb:18ff:feae:cbaa/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:37 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:7262 (7.2 KB) TX bytes:268 (268.0 B)

manually assigning an ip does not do the trick. When pinging the desktop from the beaglebone (with or without manually assigning an ip), i can catch the requests using tcpdump. The beaglebone does however not receive anything, no answers to pings, nothing showing up in tcpdump.

fdalbert@edge ~ $ sudo tcpdump -i eth1
tcpdump: WARNING: eth1: no IPv4 address assigned
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
15:01:10.597986 ARP, Request who-has 192.168.7.1 tell 192.168.7.2, length 28
15:01:11.588800 ARP, Request who-has 192.168.7.1 tell 192.168.7.2, length 28
15:01:12.588895 ARP, Request who-has 192.168.7.1 tell 192.168.7.2, length 28
15:01:13.597976 ARP, Request who-has 192.168.7.1 tell 192.168.7.2, length 28
15:01:14.588800 ARP, Request who-has 192.168.7.1 tell 192.168.7.2, length 28
15:01:15.588772 ARP, Request who-has 192.168.7.1 tell 192.168.7.2, length 28
15:01:16.597983 ARP, Request who-has 192.168.7.1 tell 192.168.7.2, length 28
15:01:17.588936 ARP, Request who-has 192.168.7.1 tell 192.168.7.2, length 28
15:01:18.588919 ARP, Request who-has 192.168.7.1 tell 192.168.7.2, length 28
^C
9 packets captured
9 packets received by filter
0 packets dropped by kernel

root@beaglebone:~# ping 192.168.7.1
PING 192.168.7.1 (192.168.7.1) 56(84) bytes of data.
From 192.168.7.2 icmp_seq=1 Destination Host Unreachable
From 192.168.7.2 icmp_seq=2 Destination Host Unreachable
From 192.168.7.2 icmp_seq=3 Destination Host Unreachable
From 192.168.7.2 icmp_seq=4 Destination Host Unreachable
From 192.168.7.2 icmp_seq=5 Destination Host Unreachable
From 192.168.7.2 icmp_seq=6 Destination Host Unreachable
From 192.168.7.2 icmp_seq=7 Destination Host Unreachable
From 192.168.7.2 icmp_seq=8 Destination Host Unreachable
From 192.168.7.2 icmp_seq=9 Destination Host Unreachable
From 192.168.7.2 icmp_seq=10 Destination Host Unreachable
From 192.168.7.2 icmp_seq=11 Destination Host Unreachable
From 192.168.7.2 icmp_seq=12 Destination Host Unreachable
^C
— 192.168.7.1 ping statistics —
14 packets transmitted, 0 received, +12 errors, 100% packet loss, time 13001ms
pipe 3
root@beaglebone:~# tcpdump -i usb0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on usb0, link-type EN10MB (Ethernet), capture size 65535 bytes
^C
0 packets captured
0 packets received by filter
0 packets dropped by kernel

I already spent hours trying to figure out the problem here, any help is greatly appreciated!

Fixed in:

https://github.com/RobertCNelson/ti-linux-kernel-dev/commit/1d9085bfb11e9e35ab0f4262799c8c801219a84f

r24.3

feel free to upgrade to:

4.1.13-ti-rt-r35

Regards,

Have you loaded the g_ether kernel module on the beaglebone ? When building your own kernel, this is something you have to take care of yourself .

Thanks, I’ll try that.

I actually thought, it were a problem with g_ether and spent hours trying to fix that. However as I used Robert Nelsons patches, everything was fine there. I’ll try the updated kernel.

Sorry missed the “bone”

r17 has that fix too:

https://github.com/RobertCNelson/bb-kernel/blob/am33x-rt-v4.1/patches/defconfig#L4305

Now i’m not sure…

What shows up on the beagle’s journal?

journal as in journalctl? doesn’t seem to be included. but here’s what I found in dmesg that seemed relevant:

It always just worked for me. g_ether that is. Of course, I do not use systemd . . . no idea if systemd requires any special voodoo to get g_ether working, or not.

One thing to note though Fabian. You can use ./build_deb next time you build a new kernel, copy the deb over, and just sudo dpkg -i linux-image*.deb.

I only mention that in case you were unaware of that. . . but this way has the added benefit of being easier, and installing everything you need. Once you get a base rootfs running. It’ll work on all the base images too, of course.

journal as in journalctl? doesn't seem to be included. but here's what I
found in dmesg that seemed relevant:

In wheezy it's systemd-journalctl

[ 2.976012] musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk

combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftCo)
[ 2.976031] musb-hdrc: MHDRC RTL version 2.0
[ 2.976039] musb-hdrc: setup fifo_mode 4
[ 2.976056] musb-hdrc: 28/31 max ep, 16384/16384 memory
[ 2.977348] 47401b00.usb-phy supply vcc not found, using dummy
regulator
[ 3.005848] musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk
combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftCo)
[ 3.005863] musb-hdrc: MHDRC RTL version 2.0
[ 3.005871] musb-hdrc: setup fifo_mode 4
[ 3.005885] musb-hdrc: 28/31 max ep, 16384/16384 memory
[ 3.006170] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
[ 3.006461] musb-hdrc musb-hdrc.1.auto: new USB bus registered,
assigned bus number 1
[ 3.006690] usb usb1: New USB device found, idVendor=1d6b,
idProduct=0002
[ 3.006703] usb usb1: New USB device strings: Mfr=3, Product=2,
SerialNumber=1
[ 3.006712] usb usb1: Product: MUSB HDRC host driver
[ 3.006721] usb usb1: Manufacturer: Linux 4.1.13-bone-rt-r17 musb-hcd
[ 3.006730] usb usb1: SerialNumber: musb-hdrc.1.auto
[ 3.007420] hub 1-0:1.0: USB hub found
[ 3.007470] hub 1-0:1.0: 1 port detected

[ 21.101221] using random self ethernet address
[ 21.101247] using random host ethernet address
[ 21.101265] using host ethernet address: 84:EB:18:AE:CB:AA
[ 21.160643] Mass Storage Function, version: 2009/09/11
[ 21.160672] LUN: removable file: (no medium)
[ 21.160867] LUN: removable file: /dev/mmcblk0p1
[ 21.160878] Number of LUNs=1
[ 21.162626] usb0: HOST MAC 84:eb:18:ae:cb:aa
[ 21.162973] usb0: MAC a2:29:c5:ee:bf:e6
[ 21.163029] Number of LUNs=1
[ 21.166695] g_multi gadget: Multifunction Composite Gadget
[ 21.166721] g_multi gadget: g_multi ready
[ 21.767642] g_multi gadget: high-speed config #1: Multifunction with
RNDIS
[ 33.184926] net eth0: initializing cpsw version 1.12 (0)
[ 33.187423] net eth0: phy found : id is : 0x7c0f1
[ 33.187492] libphy: PHY 4a101000.mdio:01 not found
[ 33.192436] net eth0: phy 4a101000.mdio:01 not found on slave 1
[ 33.218457] net eth0: BQL enabled
[ 33.228304] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 132.378851] device usb0 entered promiscuous mode
[ 153.177973] device usb0 left promiscuous mode
[ 1555.067418] device usb0 entered promiscuous mode
[ 1570.862790] device usb0 left promiscuous mode

Here's what you should see:

Host:
[ 4310.886819] usb 5-1.4: new high-speed USB device number 5 using xhci_hcd
[ 4310.977656] usb 5-1.4: New USB device found, idVendor=1d6b,
idProduct=0104
[ 4310.977663] usb 5-1.4: New USB device strings: Mfr=3, Product=4,
SerialNumber=5
[ 4310.977667] usb 5-1.4: Product: BeagleBoneBlack
[ 4310.977670] usb 5-1.4: Manufacturer: Circuitco
[ 4310.977673] usb 5-1.4: SerialNumber: -BBG115081143
[ 4310.982450] usb-storage 5-1.4:1.4: USB Mass Storage device detected
[ 4310.982579] scsi host11: usb-storage 5-1.4:1.4
[ 4311.003239] cdc_acm 5-1.4:1.2: ttyACM0: USB ACM device
[ 4311.003873] usbcore: registered new interface driver cdc_acm
[ 4311.003874] cdc_acm: USB Abstract Control Model driver for USB modems
and ISDN adapters
[ 4311.008181] usbcore: registered new interface driver cdc_ether
[ 4311.012262] cfg80211: World regulatory domain updated:
[ 4311.012266] cfg80211: DFS Master region: unset
[ 4311.012268] cfg80211: (start_freq - end_freq @ bandwidth),
(max_antenna_gain, max_eirp), (dfs_cac_time)
[ 4311.012270] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A,
2000 mBm), (N/A)
[ 4311.012272] cfg80211: (2457000 KHz - 2482000 KHz @ 40000 KHz), (N/A,
2000 mBm), (N/A)
[ 4311.012274] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A,
2000 mBm), (N/A)
[ 4311.012276] cfg80211: (5170000 KHz - 5250000 KHz @ 80000 KHz, 160000
KHz AUTO), (N/A, 2000 mBm), (N/A)
[ 4311.012278] cfg80211: (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000
KHz AUTO), (N/A, 2000 mBm), (0 s)
[ 4311.012280] cfg80211: (5490000 KHz - 5730000 KHz @ 160000 KHz), (N/A,
2000 mBm), (0 s)
[ 4311.012281] cfg80211: (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A,
2000 mBm), (N/A)
[ 4311.012283] cfg80211: (57240000 KHz - 63720000 KHz @ 2160000 KHz),
(N/A, 0 mBm), (N/A)
[ 4311.013968] rndis_host 5-1.4:1.0 eth0: register 'rndis_host' at
usb-0000:00:10.1-1.4, RNDIS device, 84:eb:18:af:f5:e8
[ 4311.014010] usbcore: registered new interface driver rndis_host
[ 4311.015133] usbcore: registered new interface driver rndis_wlan
[ 4311.019341] rndis_host 5-1.4:1.0 enx84eb18aff5e8: renamed from eth0
[ 4311.052121] IPv6: ADDRCONF(NETDEV_UP): enx84eb18aff5e8: link is not ready
[ 4311.982606] scsi 11:0:0:0: Direct-Access Linux File-Stor Gadget
0401 PQ: 0 ANSI: 2
[ 4311.983127] sd 11:0:0:0: Attached scsi generic sg5 type 0
[ 4311.983783] sd 11:0:0:0: [sdf] 196608 512-byte logical blocks: (100
MB/96.0 MiB)
[ 4311.984032] sd 11:0:0:0: [sdf] Write Protect is off
[ 4311.984036] sd 11:0:0:0: [sdf] Mode Sense: 0f 00 00 00
[ 4311.984332] sd 11:0:0:0: [sdf] Write cache: enabled, read cache:
enabled, doesn't support DPO or FUA
[ 4311.989100] sdf:
[ 4311.991160] sd 11:0:0:0: [sdf] Attached SCSI removable disk
[ 4324.263618] usb 2-3: USB disconnect, device number 4

$ sudo ifconfig -a
enx84eb18aff5e8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
        ether 84:eb:18:af:f5:e8 txqueuelen 1000 (Ethernet)
        RX packets 43 bytes 6563 (6.4 KiB)
        RX errors 0 dropped 0 overruns 0 frame 0
        TX packets 0 bytes 0 (0.0 B)
        TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

$ sudo dhclient enx84eb18aff5e8
$ sudo ifconfig -a
enx84eb18aff5e8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
        inet 192.168.7.1 netmask 255.255.255.252 broadcast 192.168.7.3
        inet6 fe80::86eb:18ff:feaf:f5e8 prefixlen 64 scopeid 0x20<link>
        ether 84:eb:18:af:f5:e8 txqueuelen 1000 (Ethernet)
        RX packets 46 bytes 7247 (7.0 KiB)
        RX errors 0 dropped 0 overruns 0 frame 0
        TX packets 41 bytes 8987 (8.7 KiB)
        TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

(odd naming is systemd-network in debian stretch)

Bone:
root@beaglebone:~# journalctl | grep usb0
Dec 06 21:30:13 beaglebone connmand[297]: usb0 {create} index 3 type 1
<ETHER>
Dec 06 21:30:13 beaglebone connmand[297]: usb0 {update} flags 4098 <DOWN>
Dec 06 21:30:13 beaglebone connmand[297]: usb0 {newlink} index 3 address
00:00:00:00:00:00 mtu 1500
Dec 06 21:30:13 beaglebone connmand[297]: usb0 {newlink} index 3 operstate
2 <DOWN>
Dec 06 21:30:13 beaglebone connmand[297]: Adding interface usb0 [ gadget ]
Dec 06 21:30:13 beaglebone connmand[297]: usb0 {newlink} index 3 address
84:EB:18:AF:F5:E0 mtu 1500
Dec 06 21:30:13 beaglebone connmand[297]: usb0 {newlink} index 3 operstate
2 <DOWN>
Dec 06 21:30:13 beaglebone kernel: usb0: HOST MAC 84:eb:18:af:f5:e8
Dec 06 21:30:13 beaglebone kernel: usb0: MAC 84:eb:18:af:f5:e0
Dec 06 21:30:16 beaglebone connmand[297]: usb0 {add} address 192.168.7.2/24
label usb0 family 2
Dec 06 21:30:16 beaglebone connmand[297]: usb0 {update} flags 69699
<UP,RUNNING,LOWER_UP>
Dec 06 21:30:16 beaglebone connmand[297]: usb0 {newlink} index 3 address
84:EB:18:AF:F5:E0 mtu 1500
Dec 06 21:30:16 beaglebone connmand[297]: usb0 {newlink} index 3 operstate
6 <UP>
Dec 06 21:30:16 beaglebone avahi-daemon[291]: Joining mDNS multicast group
on interface usb0.IPv4 with address 192.168.7.2.
Dec 06 21:30:16 beaglebone connmand[297]: usb0 {add} route 192.168.7.0 gw
0.0.0.0 scope 253 <LINK>
Dec 06 21:30:16 beaglebone connmand[297]: usb0 {add} route fe80:: gw ::
scope 0 <UNIVERSE>
Dec 06 21:30:16 beaglebone avahi-daemon[291]: New relevant interface
usb0.IPv4 for mDNS.
Dec 06 21:30:16 beaglebone avahi-daemon[291]: Registering new address
record for 192.168.7.2 on usb0.IPv4.
Dec 06 21:30:16 beaglebone avahi-daemon[291]: Withdrawing address record
for 192.168.7.2 on usb0.
Dec 06 21:30:16 beaglebone avahi-daemon[291]: Leaving mDNS multicast group
on interface usb0.IPv4 with address 192.168.7.2.
Dec 06 21:30:16 beaglebone connmand[297]: usb0 {del} address 192.168.7.2/24
label usb0
Dec 06 21:30:16 beaglebone connmand[297]: usb0 {del} route 192.168.7.0 gw
0.0.0.0 scope 253 <LINK>
Dec 06 21:30:16 beaglebone connmand[297]: usb0 {add} address 192.168.7.2/30
label usb0 family 2
Dec 06 21:30:16 beaglebone connmand[297]: usb0 {add} route 192.168.7.0 gw
0.0.0.0 scope 253 <LINK>
Dec 06 21:30:16 beaglebone avahi-daemon[291]: Interface usb0.IPv4 no longer
relevant for mDNS.
Dec 06 21:30:16 beaglebone avahi-daemon[291]: Joining mDNS multicast group
on interface usb0.IPv4 with address 192.168.7.2.
Dec 06 21:30:16 beaglebone avahi-daemon[291]: New relevant interface
usb0.IPv4 for mDNS.
Dec 06 21:30:16 beaglebone avahi-daemon[291]: Registering new address
record for 192.168.7.2 on usb0.IPv4.
Dec 06 21:30:18 beaglebone avahi-daemon[291]: Joining mDNS multicast group
on interface usb0.IPv6 with address fe80::86eb:18ff:feaf:f5e0.
Dec 06 21:30:18 beaglebone avahi-daemon[291]: New relevant interface
usb0.IPv6 for mDNS.
Dec 06 21:30:18 beaglebone avahi-daemon[291]: Registering new address
record for fe80::86eb:18ff:feaf:f5e0 on usb0.*.
Dec 06 21:32:09 beaglebone dnsmasq-dhcp[727]: DHCPDISCOVER(usb0)
192.168.7.1 84:eb:18:af:f5:e8
Dec 06 21:32:09 beaglebone dnsmasq-dhcp[727]: DHCPOFFER(usb0) 192.168.7.1
84:eb:18:af:f5:e8
Dec 06 21:32:09 beaglebone dnsmasq-dhcp[727]: DHCPREQUEST(usb0) 192.168.7.1
84:eb:18:af:f5:e8
Dec 06 21:32:09 beaglebone dnsmasq-dhcp[727]: DHCPACK(usb0) 192.168.7.1
84:eb:18:af:f5:e8 hades

dnsmasq-dhcp & udhcpd are pretty changeable..

Regards,

Here’s what I see:

Host: (sadly no journalctl as linux mint is still based on ubuntu 14.04)
[78574.911519] usb 2-1.7: new high-speed USB device number 15 using ehci-pci
[78575.004301] usb 2-1.7: New USB device found, idVendor=1d6b, idProduct=0104
[78575.004305] usb 2-1.7: New USB device strings: Mfr=3, Product=4, SerialNumber=5
[78575.004307] usb 2-1.7: Product: BeagleBone
[78575.004309] usb 2-1.7: Manufacturer: Circuitco
[78575.004310] usb 2-1.7: SerialNumber: -
[78575.007074] rndis_host 2-1.7:1.0 eth1: register ‘rndis_host’ at usb-0000:00:1d.0-1.7, RNDIS device, 84:eb:18:ae:cb:aa
[78575.007451] cdc_acm 2-1.7:1.2: This device cannot do calls on its own. It is not a modem.
[78575.007474] cdc_acm 2-1.7:1.2: ttyACM0: USB ACM device
[78575.008073] usb-storage 2-1.7:1.4: USB Mass Storage device detected
[78575.008368] scsi24 : usb-storage 2-1.7:1.4
[78576.007089] scsi 24:0:0:0: Direct-Access Linux File-Stor Gadget 0401 PQ: 0 ANSI: 2
[78576.007323] sd 24:0:0:0: Attached scsi generic sg2 type 0
[78576.015073] sd 24:0:0:0: [sdb] 196608 512-byte logical blocks: (100 MB/96.0 MiB)
[78576.015778] sd 24:0:0:0: [sdb] Write Protect is off
[78576.015782] sd 24:0:0:0: [sdb] Mode Sense: 0f 00 00 00
[78576.016443] sd 24:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn’t support DPO or FUA
[78576.019831] sdb:
[78576.023439] sd 24:0:0:0: [sdb] Attached SCSI removable disk

fdalbert@edge ~ $ sudo ifconfig -a

eth1 Link encap:Ethernet HWaddr 84:eb:18:ae:cb:aa
inet6 addr: fe80::86eb:18ff:feae:cbaa/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:41 errors:0 dropped:0 overruns:0 frame:0
TX packets:2 errors:522 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:7554 (7.5 KB) TX bytes:520 (520.0 B)

fdalbert@edge ~ $ sudo dhclient -v eth1
Internet Systems Consortium DHCP Client 4.2.4
Copyright 2004-2012 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth1/84:eb:18:ae:cb:aa
Sending on LPF/eth1/84:eb:18:ae:cb:aa
Sending on Socket/fallback
DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 3 (xid=0xfe901674)
DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 7 (xid=0xfe901674)
.
.
.
nothing

Beaglebone:
root@beaglebone:~# systemd-journalctl | grep usb0
Jan 01 00:00:09 beaglebone udhcpd[629]: is interface usb0 up and configured?..e
Mar 01 20:46:05 beaglebone udhcpd[1056]: is interface usb0 up and configured…s
Mar 01 20:46:05 beaglebone avahi-daemon[569]: New relevant interface usb0.IP…
Mar 01 20:46:05 beaglebone avahi-daemon[569]: Interface usb0.IPv4 no longer …
Mar 01 20:46:05 beaglebone avahi-daemon[569]: New relevant interface usb0.IP…
Mar 01 20:46:06 beaglebone avahi-daemon[569]: New relevant interface usb0.IP…
Mar 01 20:46:08 beaglebone ntpd[734]: Listen normally on 4 usb0 192.168.7.2…23
Mar 01 20:46:08 beaglebone ntpd[734]: Listen normally on 5 usb0 fe80::507b:…23
root@beaglebone:~# dmesg | grep usb0
[ 15.723970] usb0: HOST MAC 84:eb:18:ae:cb:aa
[ 15.728147] usb0: MAC 52:7b:9c:b8:2a:20

Sorry for the cutoff on the beaglebone output, I’m currently using minicom…

@William: that’s actually a very good idea, thanks! I’ll try installing the kernel like that from now on.
I tried to turn off systemd, following your instructions in another thread. Didn’t help though.

ahh, looks like a race between usb0 & udhcpd..

is /opt/scripts/ up to date?

cd /opt/scripts/
git pull

Regards,

it should be now. however I don’t currently have network access on the beaglebone, I therefore cloned https://github.com/RobertCNelson/boot-scripts to my desktop and copied it over.

I restarted from a backup, updated /opt/scripts/ with kernel 3.8 and installed the new kernel using dpkg as William suggested. No luck.

usb0 Link encap:Ethernet HWaddr 84:eb:18:ae:cb:a0
inet addr:192.168.7.2 Bcast:192.168.7.255 Mask:255.255.255.0
inet6 addr: fe80::86eb:18ff:feae:cba0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1 errors:0 dropped:0 overruns:0 frame:0
TX packets:38 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:76 (76.0 B) TX bytes:9563 (9.3 KiB)

root@beaglebone:~# systemd-journalctl | grep usb
Mar 01 21:02:39 beaglebone udhcpd[772]: is interface usb0 up and configured?..e
Mar 01 21:02:45 beaglebone avahi-daemon[692]: New relevant interface usb0.IP…
Mar 01 21:02:46 beaglebone ntpd[1133]: Listen normally on 4 usb0 192.168.7…23
Mar 01 21:02:46 beaglebone avahi-daemon[692]: New relevant interface usb0.IP…
Mar 01 21:02:48 beaglebone ntpd[1133]: Listen normally on 5 usb0 fe80::86eb…23

restarting udhcpd also does not do the trick. Any ideas?

Thanks for your help!

SO is the hardware detected on both sides now or what ? If its just a dhcp thing, you can always just use static IPs. Which is exactly what I always do . . .

no. still, the host gets not assigned an ip address. if I assign one manually, doesn’t change the fact, that somehow messages don’t get through to the bone…

on host:
eth1 Link encap:Ethernet HWaddr 84:eb:18:ae:cb:aa
inet addr:192.168.7.1 Bcast:192.168.7.3 Mask:255.255.255.252
inet6 addr: fe80::86eb:18ff:feae:cbaa/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:44 errors:0 dropped:0 overruns:0 frame:0
TX packets:2 errors:174 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:7511 (7.5 KB) TX bytes:520 (520.0 B)
fdalbert@edge ~/beaglebone/kernel4-1-new/ti-linux-kernel-dev $ sudo tcpdump -i eth1
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
19:46:52.116552 IP 192.168.7.1.netbios-ns > 192.168.7.3.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST
19:46:52.116593 ARP, Reply 192.168.7.1 is-at 84:eb:18:ae:cb:aa (oui Unknown), length 28
19:46:52.116595 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 84:eb:18:ae:cb:aa (oui Unknown), length 300
19:46:52.116606 ARP, Reply 192.168.7.1 is-at 84:eb:18:ae:cb:aa (oui Unknown), length 28
19:46:52.116608 IP 192.168.7.1.netbios-ns > 192.168.7.3.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST
19:46:52.116658 ARP, Reply 192.168.7.1 is-at 84:eb:18:ae:cb:aa (oui Unknown), length 28
19:46:52.238846 ARP, Request who-has 192.168.7.1 tell 192.168.7.2, length 28
19:46:52.238866 ARP, Reply 192.168.7.1 is-at 84:eb:18:ae:cb:aa (oui Unknown), length 28
19:46:53.238687 ARP, Request who-has 192.168.7.1 tell 192.168.7.2, length 28
19:46:53.238711 ARP, Reply 192.168.7.1 is-at 84:eb:18:ae:cb:aa (oui Unknown), length 28
19:46:53.741673 IP 192.168.7.1.mdns > 224.0.0.251.mdns: 0 [2q] PTR (QM)? _ipps._tcp.local. PTR (QM)? _ipp._tcp.local. (45)
19:46:54.247896 ARP, Request who-has 192.168.7.1 tell 192.168.7.2, length 28
19:46:54.247917 ARP, Reply 192.168.7.1 is-at 84:eb:18:ae:cb:aa (oui Unknown), length 28
19:46:54.941595 IP 192.168.7.1.1534 > 192.168.7.3.1534: UDP, length 8

on the bone:
usb0 Link encap:Ethernet HWaddr da:3d:72:a2:b3:7a
inet addr:192.168.7.2 Bcast:192.168.7.3 Mask:255.255.255.252
inet6 addr: fe80::d83d:72ff:fea2:b37a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1 errors:0 dropped:0 overruns:0 frame:0
TX packets:38 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:76 (76.0 B) TX bytes:9547 (9.3 KiB)

root@beaglebone:~# ping 192.168.7.1
PING 192.168.7.1 (192.168.7.1) 56(84) bytes of data.
From 192.168.7.2 icmp_seq=1 Destination Host Unreachable
From 192.168.7.2 icmp_seq=2 Destination Host Unreachable
From 192.168.7.2 icmp_seq=3 Destination Host Unreachable
From 192.168.7.2 icmp_seq=4 Destination Host Unreachable
From 192.168.7.2 icmp_seq=5 Destination Host Unreachable
From 192.168.7.2 icmp_seq=6 Destination Host Unreachable
From 192.168.7.2 icmp_seq=7 Destination Host Unreachable
From 192.168.7.2 icmp_seq=8 Destination Host Unreachable
From 192.168.7.2 icmp_seq=9 Destination Host Unreachable

I’m stuck

any ideas?

seems to have been a driver compatibility problem on the host side (linux mint 17.2, kernel 3.16). an update to linux mint 17.3 with kernel 3.19 solved the problem.

I experienced the same issue:
BBB runs in 4.1.15-ti-rt-r43
Host runs in 4.2.5-300.fc23.x86_64.

I thought I had network setup issue in host PC. So I checked the route, IP, net mask and gateway in host PC under 3.8 kernel, where host PC get connected to USB gadget ethernet correctly.

But even I manually applied this setting for 4.1.15-ti-rt-r43. The connection is still broken. I wonder if/what DHCP server runs in 3.8? Is it possible that kernel USB gadget driver is broken in 4.1?

thanks,
Ricky

I also tested in different host in Mac OS 10.11.3. It still doesn’t work even after manually assign static IP, network mast in host. The hosts works fine with 3.8 kernel in BBB.
4.1.15-ti-rt-43 image is from https://rcn-ee.com/rootfs/bb.org/testing/2016-01-24/lxqt-4gb/bone-debian-8.3-lxqt-4gb-armhf-2016-01-24-4gb.img.xz

en5: flags=8923<UP,BROADCAST,SMART,PROMISC,SIMPLEX,MULTICAST> mtu 1486

ether 6c:ec:eb:b0:96:bd

inet6 fe80::6eec:ebff:feb0:96bd%en5 prefixlen 64 scopeid 0xa

nd6 options=1

media: autoselect ()

ping 192.168.7.2

PING 192.168.7.2 (192.168.7.2): 56 data bytes

Request timeout for icmp_seq 0

Request timeout for icmp_seq 1

Request timeout for icmp_seq 2

^C