New way to connect to your Pioreactor: local internet sharing

One of our goals this year is to make networking easier for users. We’re starting to share our solutions, both here and on our documentation site. Some of these solutions aren’t even Pioreactor specific: they work with all Raspberry Pis.

Detailed below is an easy way to connect to your Pioreactor from a PC via an ethernet cable, and share the PC’s internet with the Pioreactor.

1 Like

Hi Cam! I’m with the team from Harvey Mudd College that is currently working on a couple projects for AMYBO. We have just built two Pioreactors, and we’re currently struggling to get them properly connected to the Internet.

We are able to upload the necessary software to the SD card, and the Pioreactor light flashes blue, but it seems it cannot connect to the internet (the blue light will flash once). We have tried using a mobile hotspot, and uploading the local_access_point file, but that does not change anything. The network is valid, and the LAN country is set to US, so I am not sure where the issue lies.

We’re currently in the process of tracking down the correct cables that will be able to physically connect our Pioreactor to any of our PCs. We were wondering if you had any troubleshooting tips in the meantime? Does this sound like a software issue to you?

If you think that tracking down an ethernet cable is where we should focus our attention rather than further troubleshooting, definitely let us know!

Thanks so much for your time.

Hi @sheridandorsey,

Actually I did add something in the latest release that may help us. Make sure you’re using the latest leader image (new as of Friday the 19th) from our software page Software installation | Pioreactor Docs. Try all the same steps again that make it fail, and I’d like you to do the following:

  1. Wait atleast 10m with the Pioreactor on.
  2. Pull the power from the Pi, and remove the SD card.
  3. Put the SD card back into your Pioreactor, and find the new drive bootfs that comes up.
  4. In this drive is a file network_info.txt. Open it up and copy the results here (or via email, info@pioreactor.com) In the latest software, I’ve added more logs to this file that should help debug these situations.

Hi @CamDavidsonPilon,

Thanks for your patience with this response! I was able to obtain an ethernet cable and decided to attempt to connect my raspberry pi through that method. However, I still cannot seem to get it connected fully. I was able to ping the IP address and I did receive a response. I run into problems when I check for SSH status as I receive a response that the connection is “refused”. I would assume this is related to an ethernet issue I’m having. When checking my network, it says the USB10/100/1000 LAN connection has a “self-assigned IP address and will not be able to connect to the Internet.” Let me know if you have any further thoughts on that. Also, I finally have my network_info.txt file! This is probably mainly what you want to look at:
HOSTNAME=pioreactorsheridan
IP=192.168.2.2
eth0_MAC=b8:27:eb:d0:e9:ca
lo_MAC=00:00:00:00:00:00

Sep 26 16:10:31 pioreactorsheridan systemd[1]: Starting NetworkManager.service - Network Manager…
Sep 26 16:10:35 pioreactorsheridan NetworkManager[335]: [1727392235.6271] NetworkManager (version 1.42.4) is starting… (boot:c32e6f7c-bc21-4611-8b9c-175046357794)
Sep 26 16:10:35 pioreactorsheridan NetworkManager[335]: [1727392235.6517] Read config: /etc/NetworkManager/NetworkManager.conf (lib: no-mac-addr-change.conf)
Sep 26 16:10:35 pioreactorsheridan NetworkManager[335]: [1727392235.9242] bus-manager: acquired D-Bus service “org.freedesktop.NetworkManager”
Sep 26 16:10:31 pioreactorsheridan systemd[1]: Starting NetworkManager.service - Network Manager…
Sep 26 16:10:35 pioreactorsheridan NetworkManager[335]: [1727392235.6271] NetworkManager (version 1.42.4) is starting… (boot:c32e6f7c-bc21-4611-8b9c-175046357794)
Sep 26 16:10:35 pioreactorsheridan NetworkManager[335]: [1727392235.6517] Read config: /etc/NetworkManager/NetworkManager.conf (lib: no-mac-addr-change.conf)
Sep 26 16:10:35 pioreactorsheridan NetworkManager[335]: [1727392235.9242] bus-manager: acquired D-Bus service “org.freedesktop.NetworkManager”
Sep 26 16:10:36 pioreactorsheridan NetworkManager[335]: [1727392236.2703] manager[0xb1b8f8]: monitoring kernel firmware directory ‘/lib/firmware’.
Sep 26 16:10:36 pioreactorsheridan NetworkManager[335]: [1727392236.2714] monitoring ifupdown state file ‘/run/network/ifstate’.
Sep 26 16:10:54 pioreactorsheridan systemd[1]: Started NetworkManager.service - Network Manager.
Sep 26 16:11:01 pioreactorsheridan NetworkManager[335]: [1727392261.5120] hostname: hostname: using hostnamed
Sep 26 16:11:01 pioreactorsheridan NetworkManager[335]: [1727392261.5125] hostname: static hostname changed from (none) to “pioreactorsheridan”
Sep 26 16:11:01 pioreactorsheridan NetworkManager[335]: [1727392261.6066] dns-mgr: init: dns=default,systemd-resolved rc-manager=symlink (auto)
Sep 26 16:11:01 pioreactorsheridan NetworkManager[335]: [1727392261.8117] manager[0xb1b8f8]: rfkill: Wi-Fi hardware radio set enabled
Sep 26 16:11:01 pioreactorsheridan NetworkManager[335]: [1727392261.8122] manager[0xb1b8f8]: rfkill: WWAN hardware radio set enabled
Sep 26 16:11:02 pioreactorsheridan NetworkManager[335]: [1727392262.1082] Loaded device plugin: NMTeamFactory (/usr/lib/arm-linux-gnueabihf/NetworkManager/1.42.4/libnm-device-plugin-team.so)
Sep 26 16:11:02 pioreactorsheridan NetworkManager[335]: [1727392262.3855] Loaded device plugin: NMBluezManager (/usr/lib/arm-linux-gnueabihf/NetworkManager/1.42.4/libnm-device-plugin-bluetooth.so)
Sep 26 16:11:02 pioreactorsheridan NetworkManager[335]: [1727392262.4141] Loaded device plugin: NMWwanFactory (/usr/lib/arm-linux-gnueabihf/NetworkManager/1.42.4/libnm-device-plugin-wwan.so)
Sep 26 16:11:02 pioreactorsheridan NetworkManager[335]: [1727392262.4327] Loaded device plugin: NMAtmManager (/usr/lib/arm-linux-gnueabihf/NetworkManager/1.42.4/libnm-device-plugin-adsl.so)
Sep 26 16:11:02 pioreactorsheridan NetworkManager[335]: [1727392262.4588] Loaded device plugin: NMWifiFactory (/usr/lib/arm-linux-gnueabihf/NetworkManager/1.42.4/libnm-device-plugin-wifi.so)
Sep 26 16:11:02 pioreactorsheridan NetworkManager[335]: [1727392262.5202] manager: rfkill: Wi-Fi enabled by radio killswitch; enabled by state file
Sep 26 16:11:02 pioreactorsheridan NetworkManager[335]: [1727392262.5226] manager: rfkill: WWAN enabled by radio killswitch; enabled by state file
Sep 26 16:11:02 pioreactorsheridan NetworkManager[335]: [1727392262.5247] manager: Networking is enabled by state file
Sep 26 16:11:02 pioreactorsheridan NetworkManager[335]: [1727392262.5986] settings: Loaded settings plugin: ifupdown (“/usr/lib/arm-linux-gnueabihf/NetworkManager/1.42.4/libnm-settings-plugin-ifupdown.so”)
Sep 26 16:11:02 pioreactorsheridan NetworkManager[335]: [1727392262.5995] settings: Loaded settings plugin: keyfile (internal)
Sep 26 16:11:02 pioreactorsheridan NetworkManager[335]: [1727392262.6103] ifupdown: management mode: unmanaged
Sep 26 16:11:02 pioreactorsheridan NetworkManager[335]: [1727392262.6107] ifupdown: interface-parser: parsing file /etc/network/interfaces
Sep 26 16:11:02 pioreactorsheridan NetworkManager[335]: [1727392262.6112] ifupdown: interface-parser: source line includes interfaces file(s) /etc/network/interfaces.d/*
Sep 26 16:11:02 pioreactorsheridan NetworkManager[335]: [1727392262.6119] ifupdown: interfaces file /etc/network/interfaces.d/* doesn’t exist
Sep 26 16:11:02 pioreactorsheridan NetworkManager[335]: [1727392262.6123] ifupdown: interface-parser: finished parsing file /etc/network/interfaces
Sep 26 16:11:03 pioreactorsheridan NetworkManager[335]: [1727392263.2063] dhcp: init: Using DHCP client ‘internal’
Sep 26 16:11:03 pioreactorsheridan NetworkManager[335]: [1727392263.2909] manager: (lo): new Loopback device (/org/freedesktop/NetworkManager/Devices/1)
Sep 26 16:11:03 pioreactorsheridan NetworkManager[335]: [1727392263.4078] device (lo): state change: unmanaged → unavailable (reason ‘managed’, sys-iface-state: ‘external’)
Sep 26 16:11:04 pioreactorsheridan NetworkManager[335]: [1727392264.0107] manager: (eth0): new Ethernet device (/org/freedesktop/NetworkManager/Devices/2)
Sep 26 16:11:04 pioreactorsheridan NetworkManager[335]: [1727392264.0984] device (eth0): state change: unmanaged → unavailable (reason ‘managed’, sys-iface-state: ‘external’)
Sep 26 16:11:05 pioreactorsheridan NetworkManager[335]: [1727392265.1838] device (eth0): carrier: link connected
Sep 26 16:11:05 pioreactorsheridan NetworkManager[335]: [1727392265.4419] modem-manager: ModemManager available
Sep 26 16:11:05 pioreactorsheridan NetworkManager[335]: [1727392265.5518] device (lo): state change: unavailable → disconnected (reason ‘connection-assumed’, sys-iface-state: ‘external’)
Sep 26 16:11:05 pioreactorsheridan NetworkManager[335]: [1727392265.7022] device (lo): Activation: starting connection ‘lo’ (7e26831f-5185-4508-80ec-9faed7ad6448)
Sep 26 16:11:05 pioreactorsheridan NetworkManager[335]: [1727392265.7030] device (eth0): state change: unavailable → disconnected (reason ‘carrier-changed’, sys-iface-state: ‘managed’)
Sep 26 16:11:05 pioreactorsheridan NetworkManager[335]: [1727392265.8098] device (lo): state change: disconnected → prepare (reason ‘none’, sys-iface-state: ‘external’)
Sep 26 16:11:05 pioreactorsheridan NetworkManager[335]: [1727392265.8724] device (lo): state change: prepare → config (reason ‘none’, sys-iface-state: ‘external’)
Sep 26 16:11:05 pioreactorsheridan NetworkManager[335]: [1727392265.9141] device (lo): state change: config → ip-config (reason ‘none’, sys-iface-state: ‘external’)
Sep 26 16:11:05 pioreactorsheridan NetworkManager[335]: [1727392265.9755] policy: auto-activating connection ‘eth0’ (5e55231f-ea1a-484b-88f9-88e3598c66ae)
Sep 26 16:11:06 pioreactorsheridan NetworkManager[335]: [1727392266.0287] device (lo): state change: ip-config → ip-check (reason ‘none’, sys-iface-state: ‘external’)
Sep 26 16:11:06 pioreactorsheridan NetworkManager[335]: [1727392266.1901] device (eth0): Activation: starting connection ‘eth0’ (5e55231f-ea1a-484b-88f9-88e3598c66ae)
Sep 26 16:11:06 pioreactorsheridan NetworkManager[335]: [1727392266.1932] device (eth0): state change: disconnected → prepare (reason ‘none’, sys-iface-state: ‘managed’)
Sep 26 16:11:06 pioreactorsheridan NetworkManager[335]: [1727392266.2913] manager: NetworkManager state is now CONNECTING
Sep 26 16:11:06 pioreactorsheridan NetworkManager[335]: [1727392266.3188] device (eth0): state change: prepare → config (reason ‘none’, sys-iface-state: ‘managed’)
Sep 26 16:11:06 pioreactorsheridan NetworkManager[335]: [1727392266.4453] device (eth0): state change: config → ip-config (reason ‘none’, sys-iface-state: ‘managed’)
Sep 26 16:11:06 pioreactorsheridan NetworkManager[335]: [1727392266.4858] dhcp4 (eth0): activation: beginning transaction (timeout in 45 seconds)
Sep 26 16:11:06 pioreactorsheridan NetworkManager[335]: [1727392266.5295] device (lo): state change: ip-check → secondaries (reason ‘none’, sys-iface-state: ‘external’)
Sep 26 16:11:06 pioreactorsheridan NetworkManager[335]: [1727392266.6042] device (lo): state change: secondaries → activated (reason ‘none’, sys-iface-state: ‘external’)
Sep 26 16:11:06 pioreactorsheridan NetworkManager[335]: [1727392266.7106] device (lo): Activation: successful, device activated.
Sep 26 16:11:06 pioreactorsheridan NetworkManager[335]: [1727392266.8949] dhcp4 (eth0): state changed new lease, address=192.168.2.2
Sep 26 16:11:07 pioreactorsheridan NetworkManager[335]: [1727392267.0333] policy: set ‘eth0’ (eth0) as default for IPv4 routing and DNS
Sep 26 16:11:07 pioreactorsheridan NetworkManager[335]: [1727392267.6237] device (eth0): state change: ip-config → ip-check (reason ‘none’, sys-iface-state: ‘managed’)
Sep 26 16:11:07 pioreactorsheridan NetworkManager[335]: [1727392267.9761] device (eth0): state change: ip-check → secondaries (reason ‘none’, sys-iface-state: ‘managed’)
Sep 26 16:11:07 pioreactorsheridan NetworkManager[335]: [1727392267.9852] device (eth0): state change: secondaries → activated (reason ‘none’, sys-iface-state: ‘managed’)
Sep 26 16:11:08 pioreactorsheridan NetworkManager[335]: [1727392268.1123] manager: NetworkManager state is now CONNECTED_SITE
Sep 26 16:11:08 pioreactorsheridan NetworkManager[335]: [1727392268.2103] device (eth0): Activation: successful, device activated.
Sep 26 16:11:08 pioreactorsheridan NetworkManager[335]: [1727392268.2594] manager: NetworkManager state is now CONNECTED_GLOBAL
Sep 26 16:11:08 pioreactorsheridan NetworkManager[335]: [1727392268.3682] manager: startup complete

Hi @sheridandorsey,

It’s interesting that you can ping, but not SSH. With the ethernet connected, can you try either:

ssh pioreactor@pioreactorsheridan.local

or

ssh pioreactor@192.168.2.2

Do either of those work? What about those addresses (http://pioreactorsheridan.local or http://192.168.2.2) in your browser - does that bring up the UI?

Hi Cam!

Thank you for all your help in the troubleshooting process. Sheridan and I are in the same AMYBO project team and we have been working together to address the connectivity issues.

Both of our pioreactors can connect to the internet (ping, SSH, and web interface) via local internet sharing through my Windows laptop. However on Sheridan’s Macbook, we kept encountering the self-assigned IP address issue previously mentioned. We ensured that internet sharing was on for the Ethernet and USB ports. We both followed the instructions for local internet sharing on our respective OS’s and used the same Ethernet cable and USB-C to Ethernet adapter. The web interface will load on my laptop but not on hers when the pioreactor is connected via Ethernet and powered on.

I’m seeing a lot of Mac users on the internet have the same issue of self-assigned IP addresses when using Ethernet. Though, most solutions suggest resetting the router/resolving DHCP settings, which we don’t have access to because we are using our college’s Wi-Fi. We’re convinced that this may be a Mac-specific issue, so if there are any other troubleshooting tips you have in mind, that would be greatly appreciated!

Thank you,
Julien

Hi @clamtime,

Hm, it’s hard to explain what might be happening here. Just a few questions so I can better reproduce the issue:

  1. Are you using a recently downloaded leader image?
  2. What macOS version is being used?

And here’s an idea: you can start the local-access-point on the PIoreactor (follow these docs: Local access points | Pioreactor Docs), which will provide a secondary way to access the Pi’s command line. Next, plug the macbook in via ethernet, and with another computer connected to the Pi’s local-access-point, SSH into the Pi, and we can run some tests there. For example, what does

nmcli device show eth0

output?