Robot communication issues

Hey folks!

4607 has been working on testing out the new control system updates and firmware. I have been the one working on this and have hit a brick wall when it comes to connecting to a robot.

When I open the driver station and connect to the robot through either wifi or tethered USB/Ethernet, we notice a strange thing happen. The connection lights in the driver station come on for a brief second, then the robot communication indicator halfway goes off (it’s red and green side by side). Everything then goes back to red and acts like there is zero connection. However, when I open the diagnostics tab, both the Robot and Robot Radio indicators are green, yet robot comm and code are red and I cannot drive. The battery voltage is also not present and just shows the red box. What’s weird is that I can still deploy code to the robot even when the driver station won’t show us that it’s connected and ready to drive.

There are rare times where I will open the driver station and the comm indicator will go green, cut to red, then come back about 20 seconds later and i’m then allowed to drive. The only surefire way to get connection with the robot is immediately after freshly imaging the Roborio.

Here are the details of what we are running:

Laptop: Lenovo Thinkpad E560
OS: Windows 10 Pro x64
Roborio image: 2017 v8 (current)
Installed update suite: 2017.0.0 (current)
Robot Radio: OpenMesh AC, programmed from new bridge tool (new 2017 version)

We have multiple laptops that have been tried and we still get the same results. If anyone has seen this issue yet or knows how to fix it, we’d greatly appreciate the help. We have had no issues at all with robot communication until we upgraded to the 2017 FRC software and radio. This is my fourth year of programming with 4607, and I haven’t noticed something like this before now.

I wanted to bring this issue forward in case we are discovering a potential firmware issue or other problem. Hopefully we can get it figured out and maybe help others with a similar problem.

When you have no communications, can you access the roboRIO webpage (roborio-4607-FRC.local in IE)? Have you disabled all other network adapters as well as disabled all firewalls?

Based on the information you’ve provided, there are some elements of deterministic behavior (performs the same using any laptop & still seems to be able to download code), and some random behavior (i.e., the rare times it behaves differently). Through your troubleshooting you’ve already removed one source of potential randomness from consideration: It’s not a wireless issue since you’ve tested it tethered. Are you testing the using code that is known to be operational with an older firmware version? If not, I’d recommend either reverting firmware to the previous one or using the current firmware with code that you’ve written that’s known to work with the current firmware.

You don’t say what language you are using or what type of control (e.g., Iterative). I don’t have experience with the RoboRIO – my experience is a bit more dated, so others might set me straight. However, based on the information you provided, it could be possible that your code is simply failing most of the time and dropping out the the bottom of your code. You might try wrapping all your methods in a catch block and have the contents of the catch block do something to demonstrate that the catch block was entered (e.g., turn on an LED).

Try setting a static IP for the roboRIO. I’ve seen that help issues like this before.

Also, what Bkeeneykid is good advice. It seems like you’re having a driver station issue, and not a connection issue, as you can deploy code.

You could also try QDriverStation - although you won’t be able to use it in official competition, and it does have some issues, you can set the IP for it to try to connect to, which can be useful in debugging.

Downgrading the roborio, radio, and DS firmware one at a time could also help isolate where the issue is. I would save that as a last resort though, since it will take a lot of time.