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

862 views
Skip to first unread message

Fabian Dalbert

unread,
Dec 7, 2015, 9:21:52 AM12/7/15
to BeagleBoard
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!

Robert Nelson

unread,
Dec 7, 2015, 9:36:14 AM12/7/15
to Beagle Board
On Mon, Dec 7, 2015 at 8:21 AM, Fabian Dalbert <fab...@gmail.com> wrote:
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.


William Hermans

unread,
Dec 7, 2015, 9:36:23 AM12/7/15
to beagl...@googlegroups.com
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 .

--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups "BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Fabian Dalbert

unread,
Dec 7, 2015, 10:01:41 AM12/7/15
to BeagleBoard
Thanks, I'll try that.

Fabian Dalbert

unread,
Dec 7, 2015, 10:03:32 AM12/7/15
to BeagleBoard
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.

Robert Nelson

unread,
Dec 7, 2015, 10:05:37 AM12/7/15
to Beagle Board
Sorry missed the "bone"

r17 has that fix too:


Now i'm not sure..

What shows up on the beagle's journal?

Fabian Dalbert

unread,
Dec 7, 2015, 10:23:00 AM12/7/15
to BeagleBoard
journal as in journalctl? doesn't seem to be included. but here's what I found in dmesg that seemed relevant:


[    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

William Hermans

unread,
Dec 7, 2015, 10:45:30 AM12/7/15
to beagl...@googlegroups.com
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.

Robert Nelson

unread,
Dec 7, 2015, 10:49:45 AM12/7/15
to Beagle Board
On Mon, Dec 7, 2015 at 9:22 AM, Fabian Dalbert <fab...@gmail.com> wrote:
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
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,

Fabian Dalbert

unread,
Dec 7, 2015, 11:17:38 AM12/7/15
to BeagleBoard
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

Fabian Dalbert

unread,
Dec 7, 2015, 11:25:13 AM12/7/15
to BeagleBoard
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.

Robert Nelson

unread,
Dec 7, 2015, 11:26:11 AM12/7/15
to Beagle Board
ahh, looks like a race between usb0 & udhcpd..

is /opt/scripts/ up to date?

cd /opt/scripts/
git pull

Regards,

Fabian Dalbert

unread,
Dec 7, 2015, 11:55:23 AM12/7/15
to BeagleBoard
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.

Fabian Dalbert

unread,
Dec 7, 2015, 1:06:28 PM12/7/15
to BeagleBoard
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!

William Hermans

unread,
Dec 7, 2015, 1:15:24 PM12/7/15
to beagl...@googlegroups.com
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 . . .

--

Fabian Dalbert

unread,
Dec 7, 2015, 1:51:48 PM12/7/15
to BeagleBoard
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

Fabian Dalbert

unread,
Dec 9, 2015, 3:13:47 AM12/9/15
to BeagleBoard
any ideas?

Fabian Dalbert

unread,
Dec 9, 2015, 12:11:10 PM12/9/15
to BeagleBoard
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.

On Wednesday, December 9, 2015 at 9:13:47 AM UTC+1, Fabian Dalbert wrote:
any ideas?

ricky...@gmail.com

unread,
Jan 27, 2016, 10:44:09 PM1/27/16
to BeagleBoard
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

ricky...@gmail.com

unread,
Jan 28, 2016, 8:11:27 AM1/28/16
to BeagleBoard, ricky...@gmail.com
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<PERFORMNUD>

media: autoselect (<unknown type>)


 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



ricky...@gmail.com

unread,
Jan 30, 2016, 8:25:02 PM1/30/16
to BeagleBoard, ricky...@gmail.com
I used the console image below. The ethernet USB gadget works. I'm not sure if lxqt and console use the same commit. Run the checksum on the kernel?

https://rcn-ee.com/rootfs/bb.org/testing/2016-01-24/console/bone-debian-8.3-console-armhf-2016-01-24-2gb.img.xz

das...@gmail.com

unread,
Feb 4, 2016, 5:49:12 PM2/4/16
to BeagleBoard, ricky...@gmail.com
I can report similiar issues. I can't believe the host system matters here.

Beaglebone kernel linux-image-4.1.12-ti-r29 works perfectly
Beaglebone kernel linux-image-4.1.15-ti-rt-r43 has flaw in USB0 as well as a flaw in another cape serial device...

The usb link is *almost* functional. The problem appears to be that the beaglebone doesn't receive ethernet packets over the usb ethernet device. It can send packets out that are picked up by my desktop ubuntu 14.04 LTS system. It is consistent with an RX interrupt mismatch on the beaglebone. RX count is always 1. TX goes up as expected.

-Dave

das...@gmail.com

unread,
Feb 14, 2016, 2:17:37 PM2/14/16
to BeagleBoard, ricky...@gmail.com, das...@gmail.com
SOLVED!!!!!!!

The issue is the default cmdline for linux has this:  "cape_universal=enable" which activates pin setup, naming, functionality and whatnot according to structures built into the kernel. Those defaults are not necessarily correct. Example: In the case of /dev/ttyS0 linux reports finding the serial port ttyS1 at MMIO 0x48022000 but the IO pins associated with that uart are left as GPIO pins... so the serial port doesn't work.

I have a viable setup where I used this source tree:

https://github.com/RobertCNelson/bb.org-overlays

Inside is a file src/arm/cape-universal-00A0.dts and I've been tinkering with that. I do make && make install and it
copies cape-universal-00A0.dtbo to /lib/firmware (in addition to overwriting whatever else might be there -- CAUTION!!!)
So things can be made to work this way, making changes to /boot/uEnv.txt:
1) Turn off cmd line switch "
cape_universal=enable"
cmdline=coherent_pool=1M quiet
2) Activate our own cape-universal file from bb.org-overlays with
cape_enable=bone_capemgr.enable_partno=cape-universal
3) Once linux boots I can fix /dev/ttyS1 with these commands:
config-pin p9_24 uart
config-pin p9_26 uart

The USB problem I was experiencing went away with this cape-universal overlay, so I assume it's another pinmux flaw,
and it wasn't an interrupt problem like I thought. NOTE that this is sort of a hack. I think the preferred way of doing
this thing is to explicitly load the overlays of the hardware one wants to use. So if I wanted to use uart1 I'd do
echo BB_UART1 > /sys/devices/platform/bone_capemgr/slots
but that conflicts with the cape-universal I'm loading at bootup, so it doesn't work for me...

Basically the underlying issue is the linux / bone_capemgr philosophy is to have all pins default to GPIO and you're
supposed to use overlays to activate the hardware you want to use, and the overlays configure the pins the way
they're supposed to be. I think understanding the bone_capemgr is a requirement. I found these links informative:

http://www.thing-printer.com/cape-manager-is-back-baby/
https://learn.adafruit.com/introduction-to-the-beaglebone-black-device-tree/exporting-and-unexporting-an-overlay
http://derekmolloy.ie/gpios-on-the-beaglebone-black-using-device-tree-overlays/
https://github.com/beagleboard/linux/blob/4.1/Documentation/ABI/testing/sysfs-devices-platform-bone_capemgr

-Dave

das...@gmail.com

unread,
Feb 14, 2016, 9:43:29 PM2/14/16
to BeagleBoard, ricky...@gmail.com, das...@gmail.com
Some new info: It doesn't seem like the cape_universal=enable makes any difference whatsoever, meaning by taking it out nothing changes.

Regarding fixing the USB problem, I'm not sure if it did fix it after all. I'm running the beaglebone with a separate 5V power supply plugged in, so it isn't being powered by USB. When I first boot the USB exhibits the same problem, the beaglebone side doesn't receive any ethernet packets. But if I unplug the usb and plug it back in, the USB works fine, without making any bone_capemgr changes at all.

This isn't an option when the beaglebone is being powered by USB, unplugging it will shut it down and when it is plugged in again everything starts over...

-Dave
Reply all
Reply to author
Forward
0 new messages