Driver's Station prep script that resolves connectivity issues

Over the course of this year I’ve been working on a PowerShell script that automates much of the connectivity troubleshooting FTAs and CSAs will do on a driver’s station pre-match. Last weekend in La Crosse at Seven Rivers I got it down to the point where it’s pretty much point and shoot.

I thought I’d post it here because it could be helpful to a large number of teams if not this year, then next.

It’s composed of two files, a batch file that calls a PowerShell script. The batch file assumes the script is located in the root of a USB thumb drive. Both are in the attached zip file.

The workflow (for FTAs/CSAs) is that you copy the two files in to the root of a thumb drive, insert the thumb drive into the driver’s station computer, right click the batch file and select run as administrator.

The batch file calls the PowerShell script which then:

  1. Configures firewall rules to allow traffic on all of the ports defined in the FMS whitepaper on all network types.
  2. Disables the firewall on private networks. (I personally hate turning off the firewall, but it does work)
  3. Clears the DNS cache, so your DS forgets the IP your RoboRIO had while you were tethered in the pit or on the practice field.
  4. Disables all Wi-Fi adapters.
  5. Disables all Bluetooth Adapters.
  6. Unbinds IPv6 on all adapters.
  7. Pauses the Windows Update service.

What should be an obvious note: **Don’t run this script if you don’t know how to re-enable your Wi-Fi adapter. If you turn off your Wi-Fi, you can’t Google how to turn on your Wi-Fi because you have no Wi-Fi. ** It also turns off your firewall which is generally a bad idea on any computer that isn’t a specialty item like the Driver’s station.

As a team, you can copy the two files to a folder on the Driver’s Station hard drive (you’ll need to edit the batch file to point to where you stored the script file) and run it yourself before a match. If you wanted to get really fancy, you could create a shortcut on the start menu that automates the right-click “run as administrator” bit.

I know this script isn’t perfect, and I’d love to hear suggestions for improvement, but even if it’s not perfect, it’s good enough and really does work pretty well as is.

Configure DS (week 6).zip (1.13 KB)


Configure DS (week 6).zip (1.13 KB)

I would suggest disabling all Windows firewalls. (Public, Private, Domain)
Because 90% of the time the DS is seeing FMS as a public network.

I would also add a rule to allow the mDNS Responder

C:\Program Files\National Instruments\Shared\mDNS Responder
imdnsResponder.exe

You can also create a shortcut to the PowerShell Script and configure it to always run as admin.

I have attached what I was using at SVR for reference.

FMS DS fixer.zip (1.69 KB)

This is a great resource. Thanks, we’ll be using this on our team. You might want to host the powershell script on github, that way, as it evolves, teams can always get the latest and greatest.

Thanks for publishing this, it will help a lot of teams.

+1

Huh, I was sure I had responded to this yesterday.

Yes, it will be going up on GitHub, It will be done through the CSAs though so it’s getting to the people who mostly need it.

I have uploaded my version to GitHub. Everything is batch because I find that easier to run on a wider amount of machines.

https://github.com/FS790746/FRC_FTA_DS-FMS_Script

Great job!!! I mentioned someone should do this in another topic recently and I am glad someone did!