Driver station randomly disconnects

Our robot randomly disconnects from the driver station when connected via WiFi.

Last time it happened, the RSL turned OFF.

The robot still shows as being connected to the radio, even though it does not respond. Restarting it is the only option.

There are no meaningful messages except the code 44004 and the message “FRC: The Driver Station lost communication with the robot”.

This all happens with normal CPU usage and RAM available.

We did have a color sensor connected to the I2C on the RIO, so we reconnected it to NavX instead. We will need to do some more testing with that one.

We have occasional loop overruns, primarily due to the SmartDashboard telemetry.

We tried it from two completely different laptops, one from school and another - private, so two different configurations - same thing happens.

We originally thought it’s a laptop, so once it happened, we tried connection from a different laptop. We did not try to connect via USB once the issue happened, but I am not sure what additional information will that provide us.

Any help or direction would be much appreciated.

What other software besides the driver station is installed on the laptop?

On one of the laptops - quite a few software products. It’s a work laptop.

On another laptop - FRC Java development environment. So, WPILIB, NI, VSCode, game tools etc.

And that’s it.

The fact that the RSL turned OFF is very interesting, as it would normally be ON even if the driver station disconnected. The only time I have seen this is when the RIO crashes due to the I2C-triggered bug that led to the recommendation this year not to use the on-board I2C.
One test to see if this is the problem is to connect the RoboRIO to a PC with a USB cable. If Windows pops up an error about an unrecognized device, that’s probably what has happened. The only way to clear from this state is to press the RESET button on the RoboRIO or power-cycle it.

1 Like

My team also had an issue where I lost DS comms with the radio. I had plugged in an external USB dongle that was messing with comms. Not sure why this was occurring. But I would watch out for external hardware plugged into your laptop. It could be the reason.

We saw something we have not seen before last night, and it is interesting you mention the color sensor. We had been using the color sensor but found it to be unsatisfactory in our application. So the students unplugged it but left it in code. After that, every time we deployed the code it would crash in a loop and we would lose comms every 3-4 seconds. Removing the pertinent color sensor I2C calls fixed the problem.

Thanks for reply!

Originally we used two color sensors - one connect to the RIO I2C and another one - to NavX.

We found that we’re Ok with using just one. So, we unplugged the one connected to RIO, but had a code there anyway.

At this point I commented out the code for the sensor that was connected to RIO, so we will not be pulling that port at all.

Question - in your case where you had the code - did you have it connected to RIO or NavX? We do want one color sensor working. We can probably put it on Pi or Arduino instead, but we will not be able to do so in time. The sensor itself worked fine for us.

To answer others replying to this thread (thank you!) - no USB devices is connected to the laptop except the USB hub.
Re: USB test - we will try that as well.

1 Like

We used only the mxp connection.

It is most likely an issue with using the Robrio’s I2C port see Reliability of Onboard I2C port for 2022
Our team has been encountering this a lot when using the Robrio’s I2C port. A good test to see if it is this issue you are encountering is trying to SSH or open the Robrio’s webpage after it stops responding. If either of those test fails its probably the I2C hard lockup.

Did you encounter the same issue with the MXP port?

I’ll give that a test tonight and report back. We will be offloading the I2C devices to a raspberry pi in the near future if it doesn’t fix it.

Thanks! Do you know if Rev Robotics Color Sensor 3 has libraries/APIs for Pi?

They do not but a super awesome person made a python script for it. Reliability of Onboard I2C port for 2022 - #46 by Peter_Johnson. It’ll write the data out to Network Tables so once you have the pi setup you can just read values from NetworkTables on the roborio side of things.

@Thad_House also built a Pi Pico image that sends the data over serial. Both of these are now linked from the known issue for I2C section of the docs.

1 Like

That would work for us.

We use Pi with Photonvision image for “regular” camera feeds, and we can add code there if needed. Updating network tables is perfectly fine solution for this, as long as it works :slight_smile: I wonder if there is anyone that actually got it working.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.