IIRC the BB-s virtual Ethernet port is not configured to be an uplink to the Internet - the Ethernet port is. Changing this is going to be tricky (not impossible, but requires in-depth understanding of what you’re doing).
The simplest way to solve your problem is to connect the BB to Internet using an Ethernet cable and your nearest router.
A crossover cable is a bit old school. Most modern Ethernet divides do not require this; at least I have not seen a need for one a good amount of time.
As far as connecting to the Internet, did you set the “resolv.conf” on your Beaglebone. This is described in the link I provided previously.
Ex: echo “nameserver 8.8.8.8” >> /etc/resolv.conf
That adapter is the norm for the BBB USB "ethernet" emulation.
How are you powering the BBB? Using USB from the host computer? If so,
you also have the USB ethernet gadget active.
In either case, you need the BBB configured to /route/ packets to the
next node in your network. Normally that would be an internet router --
even though I've powered this BBB using the USB (and hence have the
192.168.7.x IPs active) it is also connected to my router over a CAT-5
cable. Note that the router issued the BBB 192.168.1.69, and also that the
default destination for packets is the router (ATT U-Verse service).
debian@beaglebone:~$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use
Iface
default dsldevice.attlo 0.0.0.0 UG 0 0 0
eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0
eth0
dsldevice.attlo 0.0.0.0 255.255.255.255 UH 0 0 0
eth0
192.168.6.0 0.0.0.0 255.255.255.0 U 0 0 0
usb1
192.168.7.0 0.0.0.0 255.255.255.0 U 0 0 0
usb0
If you are connecting to an ethernet port on your computer, your host
computer has to also be configured to act as a router -- that is, it has to
accept packets from the BBB, and pass them on to whatever node the host has
defined as a gateway.
I have never done this, and have no desire to experiment with it
debian@beaglebone:~$ traceroute 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
1 dsldevice.attlocal.net (192.168.1.254) 0.741 ms 0.966 ms 0.868 ms
2 76-255-152-1.lightspeed.gdrpmi.sbcglobal.net (76.255.152.1) 26.304 ms
26.519 ms 27.412 ms
3 71.152.176.29 (71.152.176.29) 21.155 ms 21.087 ms 21.230 ms
4 cr2.cgcil.ip.att.net (12.123.7.142) 32.936 ms 32.997 ms 33.044 ms
5 gar10.cgcil.ip.att.net (12.122.133.45) 28.911 ms 29.198 ms 30.100 ms
6 12.255.10.54 (12.255.10.54) 30.498 ms 22.241 ms 23.598 ms
7 10.252.38.62 (10.252.38.62) 24.052 ms 10.252.49.190 (10.252.49.190)
23.670 ms 10.252.38.30 (10.252.38.30) 24.364 ms
8 dns.google (8.8.8.8) 25.134 ms 22.236 ms 23.141 ms
debian@beaglebone:~$ traceroute 192.168.1.66
traceroute to 192.168.1.66 (192.168.1.66), 30 hops max, 60 byte packets
1 * * *
2 * * *
3 * * *
4 * * *
5 * * *
6 *^C
debian@beaglebone:~$
Appears my host computer is blocking traceroute, but ping is okay
debian@beaglebone:~$ ping 192.168.1.66
PING 192.168.1.66 (192.168.1.66) 56(84) bytes of data.
64 bytes from 192.168.1.66: icmp_seq=1 ttl=128 time=0.440 ms
64 bytes from 192.168.1.66: icmp_seq=2 ttl=128 time=0.473 ms
64 bytes from 192.168.1.66: icmp_seq=3 ttl=128 time=0.454 ms
64 bytes from 192.168.1.66: icmp_seq=4 ttl=128 time=0.424 ms
64 bytes from 192.168.1.66: icmp_seq=5 ttl=128 time=0.433 ms
64 bytes from 192.168.1.66: icmp_seq=6 ttl=128 time=0.424 ms
^C
--- 192.168.1.66 ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 13ms
rtt min/avg/max/mdev = 0.424/0.441/0.473/0.024 ms
debian@beaglebone:~$
The initial ping to the gateway 192.168.7.1 fails when I SSH into the beaglebone (Figure 3)
Before this I have configured the “created” network adapter when I connect the USB cable named as Ethernet 3 Uidentified network “Remote NDIS Compatible Device” as
Internet Protocol Version 4 (TCP/IPv4) Properties
IP address 192.168.7.1
Subnet Mask: 255.255.255.0
Preferred DNS server: 8.8.8.8
Alternate DNS Server: 8.8.4.4
I’ve setup the Wifi Network Adapter from the PC as shared with “Ethernet 3” detailed above.
tried this command “sudo /sbin/route add default gw 192.168.7.1”
The ping still doesn’t work…
attempting this even which sudo "echo “nameserver 8.8.8.8” >> /etc/resolv.conf "
Gives permission denied however this is a step later on the process as the initial ping should work…
The initial ping to the gateway 192.168.7.1 fails when I SSH into the
beaglebone (Figure 3)
WHY a screen grab? You are using a text console, aren't you -- just
select/copy/paste the TEXT...
debian@beaglebone:~$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use
Iface
192.168.6.0 0.0.0.0 255.255.255.0 U 0 0 0
usb1
192.168.7.0 0.0.0.0 255.255.255.0 U 0 0 0
usb0
debian@beaglebone:~$ ping 192.168.7.1
PING 192.168.7.1 (192.168.7.1) 56(84) bytes of data.
64 bytes from 192.168.7.1: icmp_seq=1 ttl=128 time=0.368 ms
64 bytes from 192.168.7.1: icmp_seq=2 ttl=128 time=0.475 ms
64 bytes from 192.168.7.1: icmp_seq=3 ttl=128 time=0.501 ms
64 bytes from 192.168.7.1: icmp_seq=4 ttl=128 time=0.491 ms
^C
--- 192.168.7.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 9ms
rtt min/avg/max/mdev = 0.368/0.458/0.501/0.059 ms
debian@beaglebone:~$
Pinging the host computer works, even without a gateway setting (since
192.168.7.1 and 192.168.7.2 are the same network, and likely it is presumed
that all hosts on that network can be reached using the adapter [usb0] that
is itself on the network).
If that simple step is failing, you might have to check whatever
firewall you have running on Windows.
NEXT action I tried was opening the Windows "Network Connections"
control panel. BRIDGING "Ethernet" (remember -- My systems are normally
cable connection) and "Ethernet 2" (the RNDIS gadget) is not the correct
action, as it kills the Internet access on "Ethernet" (and there is an
advisory that one cannot bridge an ICS adapter).
So... remove bridge, open "Ethernet" and enable Sharing, specifying
"Ethernet 2" as the private network side.
With ICS active, Windows assigned 192.168.137.1 to the RNDIS adapter! I
just edited that to use a manual IP address 192.168.7.1, length 24, and
gateway is set to my router (192.168.1.1). (I used the "WiFi" section as
that was the control panel type I had open)
SSH back into the BBB at 192.168.7.2.
Lastly, I added a gateway on the BBB...
debian@beaglebone:~$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use
Iface
192.168.6.0 0.0.0.0 255.255.255.0 U 0 0 0
usb1
192.168.7.0 0.0.0.0 255.255.255.0 U 0 0 0
usb0
debian@beaglebone:~$ sudo route add default gw 192.168.7.1 usb0
[sudo] password for debian:
debian@beaglebone:~$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use
Iface
default 192.168.7.1 0.0.0.0 UG 0 0 0
usb0
192.168.6.0 0.0.0.0 255.255.255.0 U 0 0 0
usb1
192.168.7.0 0.0.0.0 255.255.255.0 U 0 0 0
usb0
debian@beaglebone:~$ ping 192.168.7.1
PING 192.168.7.1 (192.168.7.1) 56(84) bytes of data.
64 bytes from 192.168.7.1: icmp_seq=1 ttl=128 time=0.432 ms
64 bytes from 192.168.7.1: icmp_seq=2 ttl=128 time=0.491 ms
64 bytes from 192.168.7.1: icmp_seq=3 ttl=128 time=0.460 ms
^C
--- 192.168.7.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 5ms
rtt min/avg/max/mdev = 0.432/0.461/0.491/0.024 ms
Okay, I didn't expect that layer to change, as that is just BBB to host
level.
debian@beaglebone:~$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=116 time=23.4 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=116 time=22.7 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=116 time=23.7 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=116 time=23.5 ms
64 bytes from 8.8.8.8: icmp_seq=5 ttl=116 time=23.1 ms
^C
--- 8.8.8.8 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 12ms
rtt min/avg/max/mdev = 22.723/23.281/23.677/0.362 ms
... but that shows the routing went from BBB through my host computer to my
router...
For the resolv.conf permission issue, you either need to login as root, “sudo su -” or as I do just make a copy of the “/etc/resolv.conf” in a local folder, edit it, and then copy over as such:
You are right disabling the windows firewall allowed the beaglebone to ping the windows PC. I disabled the PC wifi in order that there were no issues. Any idea how I can configure the firewall in order that the beaglebone over the usb cable is allowed through?
Typically, Windows disables the response to ping. I would leave it that way.
To get the Beaglebone to talk to the Internet through the Windows internet connection you should not have to change anything with the firewall; I did not have to do this.
I would go back through the steps and see what is missing.