Difference between revisions of "Beaglebone"

From Steak Wiki
Jump to navigationJump to search
Line 15: Line 15:
  
 
====On Host====
 
====On Host====
'''Enable packet forwarding'''
+
'''Enable packet forwarding on Host'''
  
 
Check the current packet forwarding settings:
 
Check the current packet forwarding settings:
Line 34: Line 34:
  
 
Afterwards it is advisable to double-check forwarding is enabled as required after a reboot.
 
Afterwards it is advisable to double-check forwarding is enabled as required after a reboot.
'''Enable NAT'''
+
'''Enable NAT on Host'''
 
With iptables
 
With iptables
  
Line 44: Line 44:
 
ref: https://wiki.archlinux.org/index.php/Internet_Sharing
 
ref: https://wiki.archlinux.org/index.php/Internet_Sharing
  
 +
====Fix DNS on beagle====
 
At this point, you will have ip routing, but DNS isn't setup yet. To get DNS working put your preferred name server in /etc/resolv.conf
 
At this point, you will have ip routing, but DNS isn't setup yet. To get DNS working put your preferred name server in /etc/resolv.conf
 
  nameserver 192.168.1.1
 
  nameserver 192.168.1.1
  
 
Note: If you are testing an existing ping, when you change the iptables settings, you must stop / start a new ping to see the changes take effect.
 
Note: If you are testing an existing ping, when you change the iptables settings, you must stop / start a new ping to see the changes take effect.

Revision as of 02:26, 11 March 2020

The beaglebone is similar to the RPI, but more powerful for microcontroller applications. There are more accessible IO pins. However, on the general use side of things, the beaglebone is less supported than the RPI due to it being targeted for EE types.


PocketBeagle

Connected via usb. Opens up cloud9 IDE, and gives you a web server connected arduino like interface to program the AM355x CPU.

GNU\Linux Sharing internet with Pocketbeagle over USB

Had some trouble with this today. This guide: https://elementztechblog.wordpress.com/2014/12/22/sharing-internet-using-network-over-usb-in-beaglebone-black/ does NOT work. These guides are also no good: https://unix.stackexchange.com/questions/520528/sharing-internet-using-network-over-usb-in-raspberry-zero-based-on-beaglebone

You don't need to setup a bridge. It might work that way, but its not required. What works is the following:

On beagle

Have Pocketbeagle Route to Host

# route add default gw 192.168.6.1

Or 192.168.7.1, see # route

On Host

Enable packet forwarding on Host

Check the current packet forwarding settings:

# sysctl -a | grep forward

You will note that options exist for controlling forwarding per default, per interface, as well as separate options for IPv4/IPv6 per interface.

Enter this command to temporarily enable packet forwarding at runtime:

# sysctl net.ipv4.ip_forward=1

Edit /etc/sysctl.d/30-ipforward.conf to make the previous change persistent after a reboot for all interfaces:

/etc/sysctl.d/30-ipforward.conf

net.ipv4.ip_forward=1

Afterwards it is advisable to double-check forwarding is enabled as required after a reboot. Enable NAT on Host With iptables

# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
# iptables -A FORWARD -i usb0 -o eth0 -j ACCEPT


ref: https://wiki.archlinux.org/index.php/Internet_Sharing

Fix DNS on beagle

At this point, you will have ip routing, but DNS isn't setup yet. To get DNS working put your preferred name server in /etc/resolv.conf

nameserver 192.168.1.1

Note: If you are testing an existing ping, when you change the iptables settings, you must stop / start a new ping to see the changes take effect.