USB drive filesystems for logging

Hi all!

I’m looking into Advantage{Kit,Scope} to help our team do more with telemetry this year. First of all, thank you so much for creating and sharing these awesome tools!

As part of this, we’ll likely write our log files to a USB drive. In doing some testing, I have a few questions:

  1. what are the size/filesystem format restrictions and recommendations for USB drives? I have a 128GB drive that defaults to exFAT, but the RoboRio (RoboRio 2) doesn’t seem to recognize/auto-mount it upon insertion. The drive works fine on a laptop.

I also tried NTFS (only other option available on Windows); the RoboRio recognizes and auto-mounts the drive, but the robot code doesn’t seem to have permission to read/write to the drive.

When I tried a 1GB FAT32 drive, things behaved as expected.

We can obviously use smaller drives / stick to FAT32, tho I’d like to understand what’s expected and recommended.

  1. It looks like AdvantageKit will back off to log locally if there’s no USB drive inserted/mounted. However, it didn’t look like AdvantageKit will back off if the drive is unreadable/other issues occur. Is that correct? What are the recommendations to make sure something is logged, even if there’s some kind of issue with the USB drive?

Thank you for your time and help!

Use FAT32 for USB drives. You should be able to format drives up to 32 GB with FAT32 with Windows (the format itself supports up to 16 TB, but apparently Windows has an arbitrary limit). As you discovered, ExFAT and NTFS are not supported by the Rio for auto-mounting. It should be technically possible to get NTFS to work with some scripting/mods to the Linux setup for mounting, but I don’t think anyone has posted a HOWTO for that.

Regarding log file location, I’m not sure about AdvantageKit, but the WPILib built-in support (DataLogManager) does automatically fall back to the Rio filesystem if there is no USB stick plugged in. If it runs into errors in the middle of operation it will not switch however.

1 Like

Peter - thank you so much for the quick reply and helpful info. We’ll use 32GB USB drives. BTW, is the RoboRio web page supposed to update when you insert a drive? (I’ve just been confirming the drive gets mounted via ssh.)

re: NTFS - is the appropriate filesystem support (from light skimming, it looks like fuse and ntfs-3g are needed for read/write) already on the RoboRio? Or are those the mods you mentioned? If you don’t mind sending me a pointer to where the auto-mount logic is/any relevant scripts are, I’m happy to take a look.

Thank you again for your time and help!

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