PocketBeagle: Internet over USB breaks down


I am working an official Pocket Beagle image, kernel v. 4.19.94-ti-r68, and I set up an Internet-over-USB connection successfully , as described here. Basically, I add a default gateway to be my host PC (sudo /sbin/route add default gw, I add nameservers into the /etc/resolv.conf, and on my host PC (Win10), I enable share connection on my WiFi adapter. And it worked like a charm for a couple of weeks.

Then it broke down. My PB is not able to connect to the Internet anymore.
I looked into the file /etc/network/interfaces, and into ifconfig, and ip route, and all seems OK. On my host PC everything is also as it used to be. Don’t know where to look anymore. dmesg is in the attachment: dmesg.txt (20.4 KB)

Any suggestion what may have happened and how to fix it?

Hi @WesPeros , sadly this is very fun to debug. While the usb-ethernet interface is very useful. It really isn’t 100% reliable, as in the default state, the interface relies on Power and Communications from your USB Host device (Your Win10 PC)… If said USB host decides to ‘reset’ the bus for any local reason, the Pocket Beagle will reboot/reset after the loss of power/etc. Thus you end up debugging both devices. If you want to debug this, make sure your PocketBeagle is running off external power, and make sure you logging all kernel events on both devices…


It gets even funner.
I tried installing the wifi dongle, and was successful with my PB recognizing it

debian@beaglebone:~$ lsusb
Bus 002 Device 002: ID 0bda:8179 Realtek Semiconductor Corp. RTL8188EUS 802.11n Wireless Network Adapter
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

debian@beaglebone:~$ ifconfig wlan0
wlan0: flags=-28605<UP,BROADCAST,RUNNING,MULTICAST,DYNAMIC>  mtu 1500
        inet  netmask  broadcast
        inet6 fe80::7ec2:c6ff:fe2a:6e13  prefixlen 64  scopeid 0x20<link>
        ether 7c:c2:c6:2a:6e:13  txqueuelen 1000  (Ethernet)
        RX packets 643  bytes 281667 (275.0 KiB)
        RX errors 0  dropped 53  overruns 0  frame 0
        TX packets 524  bytes 213648 (208.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

debian@beaglebone:~$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface         UG    0      0        0 usb0   U     0      0        0 wlan0 UH    0      0        0 wlan0   U     0      0        0 usb1   U     0      0        0 usb0 UGH   0      0        0 wlan0 UGH   0      0        0 wlan0

But I cant connect to the Internet!
Pinging any website (both as URL or as IPv4 address) always returns the same:

debian@beaglebone:~$ ping beagleboard.org
PING beagleboard.org ( 56(84) bytes of data.
From ( icmp_seq=1 Destination Host Unreachable
From ( icmp_seq=2 Destination Host Unreachable
From ( icmp_seq=3 Destination Host Unreachable
From ( icmp_seq=4 Destination Host Unreachable

what the heck is going on? how can it not work?
If it helps, here are some relevant files:
dmesg.txt (20.8 KB)
interfaces (819 Bytes) i.e. /etc/network/interfaces
resolv.conf (99 Bytes), i.e. /etc/resolv.conf

This might have been solved. I’ve noticed that ping emits from, what can’t be right, since I’m on a wifi, and that IP address is on the USB-Ethernet connection. So, without much knowing what I’m doing, I added a new default gateway route add default gw, that is my home wifi router. And after some time, it worked. I’m not sure why was it necessary, since that gateway was already in my ip tables (route -n above).

It’s fun when we have 2-3 possible network connections…