Check the attachments for relevant files
NOTE: if the wifi stops working, there's a chance that rit's wifi security changed or someone's credentials stopped working.
If this is the case, and RIT is still using eduroam, you need to get authentication files from RIT's wifi start website thing (cer and p12 files),
and then follow this guide: https://wiki.ritlug.com/eduroam/. If the wifi security is changed, hopefully ritlug will have an updated guide on
how to connect NetworkManager to whatever the new wifi is, and then you'll just want to follow that.
Flash board
https://beagleboard.org/latest-images
"Buster IoT (without graphical desktop) for BeagleBone and PocketBeagle via microSD card"
Flash micro sd card
for example, with Balena Etcher: https://www.balena.io/etcher
Note that if you can copy an existing card that is already set up and works, do that and save yourself from the pain of manually installing packages without wifi
Now put into board, and you should be able to start the board by connecting to your laptop with the USB cable
(Optional) Set SD card up as a storage medium
If you want to use the SD card as an extra storage medium (since the board itself has limited storage - 4GB of onboard memory):
Format the SD card either as ext4 (Linux only) or FAT (any OS compatible) format.
Create a mount point on the filesystem (such as a folder under /media for example).
In /etc/fstab (will require root or sudo), add the following line, then reboot:
/dev/mmcblk0p1 <path to mount point> auto rw,user,auto,nofail 0 0
The mount point will require root privileges to access. If you can change it (may not be able to with FAT format, I'm not sure), run this:
sudo chown -R debian:debian <path to mount point>
Next, ssh in
windows 192.168.7.2
linux 192.168.6.2
over AP 192.168.4.1 (not needed until later)
It should tell you the default username and password
Should be debian and something like temppwd
For all of the following steps, either log in as root or put sudo before everything
You likely cannot log in as root over ssh, but you can su to become root once you log in as debian
Default root password is root
Make sure you change the passwords at some point
Connect to wifi (check AP section if you've already done this once)
Update: it's way easier to connect at first by making a hotspot and using connman
this is done by disabling wifi tethering and then connecting as usual
connman (brings up prompt)
don't remember commands right now, should be easy to google, this might be updated later but once we get an ISO then hopefully this won't be needed in the first place
however, networkmanager still needs to be installed to connect to eduroam (can be done way easier once you have wifi with sudo apt-get install network-manager)
make sure you disable connman after setting up network-manager though (sudo systemctl disable connman)
Install NetworkManager
Download the package from the debian repositories on your computer
Copy it over, for example:
scp <file path> debian@192.168.7.2:~
apt-get install <file(s)>
It's going to complain about missing packages, download those, copy them over, and install all of them at the same time
If you scroll down on the networkmanager page, you should be able to find them easily without searching
This should work and successfully install networkmanager
Enable & start (but first disable connman
systemctl disable connman --now
systemctl enable NetworkManager --now
Connect
You're going to need someone's authentication files, which you can get from RIT
Specifically, the p12 file and the cer file; you'll have to copy these over like with the networkmanager packages
This may change, it may get easier, harder, or different, so check out RIT LUG's guide on connecting to uni wifi with NetworkManager
This should just be creating a .nmconnection file in /etc/NetworkManager/system-connections with specific network properties
Then to connect, nmcli con <name> up (probably eduroam for name)
down to put it down
If you're lucky and they change the wifi to make it easier, you might be able to connect with connman if you know what you're doing, but networkmanager probably has more support online
DNS server thingy (dnsmasqd)
This should be installed and enabled by default? If not, go through the same process; use "systemctl status dnsmasq" to figure out if it's running / enabled, or get error output if it crashed
Once this is finished, you might be able to connect to wifi; if not, don't worry
/etc/network/interfaces
This might already be good for wifi, if not then copy the reference file; make sure that the wifi section is uncommented, and ap section is commented out if they exist (in the future I might write a script to switch modes)
/etc/resolv.conf
This file contains the DNS servers that you will use to connect to domains. It is not recommended to manually edit this file since it is typically overwritten on startup by your network manager.
However, even if you disable connman and enable NetworkManager, this file will still be symlinked to the connman location, and will not be properly managed.
To switch this file to have NetworkManager manage your DNS settings, remove this file, then ln -s /run/NetworkManager/resolv.conf /etc/resolv.conf to create a new symlink.
Fun stuff
You should be able to connect to wifi at this point. Try rebooting if not, or if you know how, you can restart the relevant services
I'd highly recommend installing fish (apt-get install fish), which is like zsh with sane defaults so you don't have to set it up at all; in other words, it's so much more convenient than bash
You can also install whatever else you think you might need or want at this point
Set up AP
Install hostapd: apt-get install hostapd
Follow guide: https://fleshandmachines.wordpress.com/2012/10/04/wifi-acces-point-on-beaglebone-with-dhcp/
this should set up some files; make sure to follow everything, with the following exceptions:
For the first step, you should just have to uncomment the stuff in /etc/network/interface ; don't worry if eth1 is missing
For /etc/hostapd/hostapd.conf , use the preset file, and maybe change the password or ssid if you want
For the second half, the dhcp server part, skip the first method and instead go to the dnsmasq version
So the AP setup does not work with the wifi. There might be a way to get this to work, but I have no idea how, so any time you want to switch between the AP and wifi, you'll have to change some stuff;
Here's what needs to be done for AP to work:
systemctl disable NetworkManager --now
systemctl enable hostapd --now
If this fails cause it's masked: systemctl unmask hostapd
Change /etc/networking/interfaces
Should just be commenting and uncommenting
Add stuff to /etc/dnsmasq.con
Here's what needs to be done for wifi to work:
systemctl disable hostapd --now
systemctl enable NetworkManager --now
Connect to network: nmcli con up <name>
Change /etc/network/interfaces
should just be commenting and uncommenting
Remove stuff from /etc/dnsmasq.conf
not sure if this is actually needed
There may be a script written in the future that does all of this, in which case you can just use that
You should not have a working Wireless Access Point; if you connect, you can ssh over 192.168.4.1
Setting up CAN interface
There are 2 can interfaces on the Beaglebone Black, which are can0 that uses pins p9.19 and p9.20, and can1 that uses pins p9.24 and p9.26. I'm not sure which interface is used by the GUB at the moment, but these instructions will be written for the can0 interface, if using the other one, just switch all references to can1.
To get the can interface to be brought up automatically on startup:
Modify /boot/uEnv.txt and uncomment the line under ###Additional custom capes , then modify it as follows:
uboot_overlay_addr4=/lib/firmware/BB-CAN0-00A0.dtbo
Modify /etc/network/interfaces and add the following (these lines need to be included in both the WiFi and AP versions of the file):
auto can0
iface can0 inet manual
pre-up /sbin/ip link set can0 type can bitrate 500000
up /sbin/ifconfig can0 up
down /sbin/ifconfig can0 down
Reboot and run ifconfig to see if the can interface appears in the list.
To run a loopback test on the interface, first bring down the can interface with the command ip link set can0 down, then bring it up again with ip link set can0 up type can bitrate 500000 loopback on to put it in loopback mode.
Make sure that can-utils are installed on the Beaglebone by checking if the candump and cansend commands exist.
In one terminal window, run candump on the interface by candump can0
Open a second terminal window, then run the command cansend can0 01a#11223344AABBCCDD
If the test is successful, you should see the CAN message appear twice in the candump window. Verify that the message received is the same as the message sent.