Hi All…
For some time now, I’ve used the ethernet over USB feature to get updates on my BeagleBone black. This has never been reliable, but now it just never works. I have followed through (I think!) the instructions in Derek Molloy’s Exploring BeagleBone with no luck. From the BBB, I can:
ping 192.168.7.1 (~0.4ms)
but cannot:
ping 8.8.8.8 (waits for response but never gets one)
From the Linux (Ubuntu 16.04) I can
ping 192.168.7.2 (~0.4ms)
ping 8.8.8.8 (~30ms)
ping 192.168.1.1 (between 4 and 40ms) (this is the household Cisco router)
I have run the following commands:
sudo iptables --append FORWARD --in-interface enxc8fd19c63830 -j ACCEPT
sudo iptables --table nat --append POSTROUTING --out-interface wl01 -j MASQUERADE
and
echo 1 > /proc/sys/net/ipv4/ip_forward (all that I can see as a result is that the file ip_forward contains “1”)
if I try to check what is in the iptables, I see…
pmi-bu-ubuntu@PMI-BU-Ubuntu:/proc/sys/net/ipv4$ sudo iptables -S
[sudo] password for pmi-bu-ubuntu:
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-N DOCKER
-N DOCKER-ISOLATION
-A FORWARD -j DOCKER-ISOLATION
-A FORWARD -o docker0 -j DOCKER
-A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i docker0 ! -o docker0 -j ACCEPT
-A FORWARD -i docker0 -o docker0 -j ACCEPT
-A DOCKER-ISOLATION -j RETURN
If I run the following in the PC:
sudo tcpdump ip proto \icmp
I can see a successful ping to 8.8.8.8 from the PC as:
11:52:41.538173 IP 192.XXX.X.XXX > google-public-dns-a.google.com: ICMP echo request, id 6724, seq 1, length 64
11:52:41.562409 IP google-public-dns-a.google.com > 192.XXX.X.XXX: ICMP echo reply, id 6724, seq 1, length 64
and ifconfig on the PC produces:
enp0s25 Link encap:Ethernet HWaddr 2c:44:fd:63:02:cc
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)
Interrupt:17 Memory:d9500000-d9520000
enxc8fd19c63830 Link encap:Ethernet HWaddr c8:fd:19:c6:38:30
inet addr:192.168.7.1 Bcast:192.168.7.3 Mask:255.255.255.252
inet6 addr: fe80::4fd3:88c1:b27b:1219/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:738 errors:0 dropped:0 overruns:0 frame:0
TX packets:1257 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:146854 (146.8 KB) TX bytes:220240 (220.2 KB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:2377 errors:0 dropped:0 overruns:0 frame:0
TX packets:2377 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:331652 (331.6 KB) TX bytes:331652 (331.6 KB)
wlo1 Link encap:Ethernet HWaddr 3c:a9:f4:3b:f2:08
inet addr:192.XXX.X.XXX Bcast:192.XXX.X.XXX Mask:255.255.255.0
inet6 addr: fe80::3ea9:f4ff:fe3b:f208/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:46544 errors:0 dropped:0 overruns:0 frame:0
TX packets:32912 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:39848064 (39.8 MB) TX bytes:5772957 (5.7 MB)
and ifconfig from the BeagleBone produces:
eth0 Link encap:Ethernet HWaddr c8:fd:19:c6:38:2e
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)
Interrupt:40
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 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:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
usb0 Link encap:Ethernet HWaddr 72:61:2e:0f:e2:57
inet addr:192.168.7.2 Bcast:192.168.7.3 Mask:255.255.255.252
inet6 addr: fe80::7061:2eff:fe0f:e257/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1422 errors:0 dropped:0 overruns:0 frame:0
TX packets:865 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:166261 (162.3 KiB) TX bytes:214119 (209.1 KiB)
Finally, this is:
BeagleBoard.org BeagleBone Debian Image 2014-05-14
So my questions would be:
- Does it look like my problem is in the PC or the BeagleBone? If it’s unclear, is there a method to find out?
- Does it look like my requested changes to the IPtable are going into effect? If it’s unclear, is there a better method to tell?
- It looks like the PC is simply forwarding on the ping request with no change to the IP address. I would have thought that the PC would have changed the IP address to find one that isn’t being used (I thought that is what masquerade was for). Is there something I am doing wrong that is preventing this?
Any other advice would also be appreciated.
Thanks very much in advance,
Alan