[HELP] Radio Issues

I have no idea which forum this was supposed to go in (probably not this one), but I have bigger fish to fry.

Here are the facts:
-My team needs to run our robot from last season again
-We ran the robot one or two times after the competitions with no issues
-Now, when turning on the robot, all the motor-runners (little white boxes that run the motors) flash blue lights (I can’t remember if that is supposed to happen or not), the OM5P-AC router (the radio)'s power light flashes blue, meaning that it is not fully on and does not give off a WiFi signal, and the orange status light does not turn on at all
-We were told to reset the radio, so we started following the tutorial (https://wpilib.screenstepslive.com/s/currentCS/m/getting_started/l/144986-programming-your-radio), but it just gives an error when we try to load the firmware
-The error says to disconnect all other adapters from the PC, but there is only one adapter plugged into it (an Ethernet adapter hooking it to the radio)
-Even when plugging the laptop into the RoboRio with an Ethernet cable, there is no connection to the robot from the drive station
-The radio (when plugged in to a wall socket with its black cord for extra power) can have a solid blue light and start up the WiFi, but it doesn’t last long
-We need help

When it says “disconnect all other adapters” it is preferred that you disable all other network adapters on the computer (including Wi-Fi) before attempting again. Look up how to disable network adapters on Windows if you are unsure of how to do it.

Edit: Also, as a note, I don’t believe you can normally control the roboRio with an Ethernet directly to it. The Ethernet has to go through the radio first. Otherwise, you can use a USB A-to-B cable (“printer cable”) to go directly from a PC to the roboRio

You absolutely can control the roboRIO while directly connected to it if you have static IP addresses. If you are using dynamic IP adresses that will not work as mentioned because nothing is there to provide both roboRIO and your computer an address.

Did you try just configuring the radio without loading firmware? If it needs you to load firmware it will tell you.

Another correction, you can absolutely control a roboRIO via non-static IP addresses. The setting is “DHCP/Link Local” Just like all other network devices, the roboRIO will default to the Link Local mode in the absence of a static IP or a DHCP server. If both the PC’s Ethernet port and the roboRIO’s Ethernet port are set to automatically grab their IP address, they can handle the handshake fine. Reboot the roboRIO and watch this happen.

The problem the OP is likely running into is they’ve set the roboRIO to a static IP address meaning they won’t be able to find it via Ethernet until their PC is on the same subnet or they plug the USB cable in instead. At that point, they can modify their settings.

But, none of this really helps the problem we’re seeing here with the radio asking for firmware. I’d start by trying to resolve that problem (have we tried reloading the firmware yet?) and then moving forward from there. Also, it may help to let the radio sit for a few minutes before trying to use the tool to configure the radio. The radios are pretty picky about when they’ll let you configure them. Waiting a few minutes is the easiest way to make sure you’ve waited until it’s ready.

Flashing Firmware on the radio requires having it connected via Ethernet, but not power, when bringing up the firmware section in the kiosk tool. The tool will tell you when to actually plug in the power in the process. The firmware can only be done in a very short window at power on of the radio.

Configuring the radio for team use does take a little bit more time. Have the team number entered, but not having pressed the “Go” button yet. Connect the radio to both Ethernet and Power. The blue power light will flash for a little bit and other lights will turn on at different times. Wait until the power light goes off and then comes back on, flashing again. At this time you can hit the go button and it should find the radio after a few seconds and configure it.

Also make sure that in both scenarios that you have the Ethernet cable in the correct port on the radio as pictured in the tool.

Static addressing is different from playing on the competition field to any other time interacting with the bot, mainly in the subnet setting on the Driver Station. On the competition field, the DS subnet needs to be 255.0.0.0 (/8). At home/in the pits it needs to be 255.255.255.0 (/24). in both cases using 10.TE.AM.5 is normally what I set it to during field troubleshooting if the DS isn’t connecting to the FMS.

I probably should have added white space there to make it more clear. I was referencing the configuring with the power on. I can see how that’s confusing without the break

Thank you;

I was unable to reprogram our radio after our last event without this.

Steps that worked:

  • Turned WiFi Off.
  • Disabled every ethernet device except the port that will be connected to the radio, and disconnecting all others.
  • Turned Firewalls Off.
  • Turned Windows Defender Off.
  • Radio Power and Ethernet Unplugged.
  • Reboot Windows.
  • Start FRC Radio Configuration Tool. (Previously removed, downloaded, and reinstalled latest version).
  • Select Ethernet device to use. (Still not connected).
  • Powered up Radio and plugged Ethernet into the correct port on the radio.
  • Entered Team number and attempted to configure radio.
  • First try failed.
  • Entered Team number and tried Configure again and it worked.

Notes:
Reset button on the radio did not reset the radio to factory defaults. Found that if I hard set my laptop ip to 10.TE.AM.130 it could ping the radio at 10.TE.AM.1 Then found that the FRC Configuration Tool would take over the Ethernet port setting it to set the IP with no fields filled in. So after running the tool the PC would set the IP to a default address and we may no longer see the radio at 10.TE.AM.1 unless we reset the laptop network address.

Also found that if I reset the network address to automatic, rebooted, the laptop would have a 10.TE.AM.XX address and could ping the radio. Unless of course we ran the FRC Radio Configuration tool after which the address was a default address and network with a netmask of 255.255.255.0 which disables the ability to find the radio at 10.TE.AM.1.

The only time the FRC Radio Configuration Tool worked was when we disconnected all network connections, then started the tool, selected the network device, then plugged in the radio…

Note that the FRC Radio Configuration Tool overrides your network adapter settings and changes them on you. So if you use your wired connection for something else you will need to set it back up properly. Might want to check those settings ahead of running the tool.

Good Luck. It was never this hard before.

More notes:
On Windows IPConfig.exe shows you your network settings.
There is a program called NMAP that may be used to scan your network. The one I installed is available for Windows using a package manager called CyGWin.

Since there are many of us who struggle to use the radio config tool, and there’s a thread about this, I might as well dump what I know here.

I wrote a Python script that will talk to the radio to reprogram it: https://gist.github.com/auscompgeek/a46894d1108bc0d43808dca23f400907

This Python script won’t handle changing your network interface’s IP address, so you’ll have to do that yourself. You may also have luck pointing the script at 10.TE.AM.1 instead of the default, but the script probably won’t give you any feedback after programming and will appear to hang.

If you need to reflash the radio firmware, you can run ap51-flash directly from the command line (not for the faint-of-heart). The official radio config tool bundles it in the installation directory, where you’ll also find the firmware bundle to be flashed. If you’re not on Windows, you can grab a copy of ap51-flash from the GitHub repo: https://github.com/ap51-flash/ap51-flash/releases