Hello.
We have been using a raspberry pi 4 model B for computer vision since the beginning of the season and it worked fine until recently. Our electronics board was remade a few days ago. It all works fine except for the raspberry pi not communicating with the network. The raspberry pi is connected to the vrm’s 5V 2A the pi’s it’s GPIO pins.
The red LED on the raspberry pi lights up which indicates that it receives enough voltage.
We know that the pi works since when we tried to connect it to a monitor it boot up successfully.
We have tried:
Using multiple ethernet cables
Powering the pi using a usb-c cable
Changing the router
We have also tried connecting a raspberry pi 3 to the robot, but it too had the same issue.
Is the router properly powered? Do you have other devices on it that work/don’t? You say you have tried multiple cables, have you tried different cables router to radio?
Have you tried plugging a laptop into the pi to see if it is booted to wpilibpi ?
Not sure if it will solve your specific problem, but personally I have had a bunch of issues when I tried connecting a pi to the VRM 5v 2A slot. Spec sheet requirement states at least 3amps:
My guess is that the roborio was accessing the pi with an IP address before? Or are you using SPI/I2C. Your post says via GPIO pins, yet also mentioned debugging the Ethernet cable. If the pi is communicating over Ethernet with the Rio, my bet is that it is IP address related. If it’s SPI or I2C, ignore the rest of my post as it would be unrelated
When the raspberry pi was powered off for a bit, the DHCP lease expired and it’s IP address was no longer valid. When you plugged the raspberry pi into the radio (or a new radio for that matter), the raspberry pi requested a new IP address due to that expired DHCP lease.
TLDR: the IP address probably changed. You need to tell your roborio the new IP address of the pi and it should start communicating again.
A more permanent fix is to set a static IP on the pi so that the router isn’t supplying the pi with varying IP addresses cause this very well could continue to happen to you
First, put a monitor and keyboard on the Pi when it is on the robot and test what is happening. Is it running properly? What is the network, and what can it reach?
But you also should look at your Ethernet. The radio is not a proper Ethernet switch. You should put a real switch on the robot and connect everything to that. We only saw problems on the field, but we lost 1/2 day of competition (well, only running without vision) because of this.
If you’re using a REV POE injector cable to power the radio, do yourself a favor and throw it away. Those things universally fail to provide data transmission. Seriously, every last single one stops working. Power it directly from the PDP or use a Radio Power Module.