Installing the FIRST Driver Station¶
This guide will walk you though installing the FIRST Driver Station on your computer.
Downloading Install Files¶
Navigate to the First Drive Station Releases Page. On macOS platforms download the correct .pkg file and on Windows platforms download the correct .exe file for your device. For Linux devices, only the archive files are provided.
Per Platform Setup¶
Windows¶
On Windows, the app has everything configured by default. Just run the installer, and then run the application.
macOS¶
There are 3 permissions that macOS requires. It requires Input Monitoring, Local Network access, and data access from other apps. You will get popups for these, and they must be accepted in order to work. The first time you start up the app, these prompts will cause the launch to fail, and you’ll need to accept the Input Monitoring prompt, and then restart the app. Then you’ll be able to accept the Local Network permission.
Todo
add description of what the symptoms would be if these permissions are not granted.
If Local Network access is declined, the app will still seem to function normally, as Apple does not provide a way to detect if the permission has been granted.
macOS will also prompt with “FirstDriverStation” would like to access data from other apps. This permission is required for launching dashboards and for log file writing. You should click Allow when this prompt appears.
If you decline any of these, you can fix the settings in the Privacy & Security tab of System Settings.
If Local Network access still does not work after re-enabling it there, see macOS Permissions for a terminal-based workaround.
Linux¶
Note
root or sudo access is required to install the FIRST Driver Station on Linux.
The following packages must be installed in order for linux to work:
Todo
update when the FirstDriverStation docs update
Additionally, the app needs to be a part of the input group in order to have input access. That can be done with the following commands.
sudo chgrp input FirstDriverStation
sudo chmod g+s FirstDriverStation
Finally, for proper controller access, the current user needs access to hidraw. To do that, create a /etc/udev/rules.d/72-hidraw.rules containing
# Grant access to all hidraw devices for the active user
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", TAG+="uaccess"
Then reload udev rules:
sudo udevadm control --reload-rules && sudo udevadm trigger
macOS Permissions¶
macOS requires both Input Monitoring and Local Network access for the Driver Station to function correctly. If you decline one of these prompt, first try re-enabling access in System Settings->Privacy & Security. If the Driver Station still cannot access the local network, you can add macOS local network exceptions from Terminal for both Ethernet and Wi-Fi. The following commands allow access to any 10.x.x.x address and any 172.16.x.x through 172.31.x.x address:
sudo defaults write com.apple.network.local-network AllowedEthernetLocalNetworkAddresses -array "10.0.0.0/8"
sudo defaults write com.apple.network.local-network AllowedEthernetLocalNetworkAddresses -array-add "172.16.0.0/12"
sudo defaults write com.apple.network.local-network AllowedWiFiLocalNetworkAddresses -array "10.0.0.0/8"
sudo defaults write com.apple.network.local-network AllowedWiFiLocalNetworkAddresses -array-add "172.16.0.0/12"
After running these commands, reboot macOS before starting the Driver Station again.
Warning
This also allows any program to access any network with the address in the range of 10.x.x.x, which may be undesirable if you connect to other networks in that range beside’s the robot’s network. If you only access a robot with a single team number, you can substitute 10.TE.AM.0/24` (TE.AM IP Notation). If you only access the robot’s network over Ethernet or WiFi, you can only run the appropriate command.
Note
For more information, see Apple’s documentation on understanding local network privacy