Crostini USB – What works and what does not

It has been a crazy year for those watching the rapid evolution of ChromeOS, in fact it has been a month since I first broke that ChromeOS had implemented proper USB support in Crostini 75.0.3759.4. Officially the Crostini USB support is limited to Android Phones, specifically to allow for developers to connect to adb on the phone to test applications on actual hardware however it is possible to pass support to many other devices by activating a hidden flag. There is a myriad of USB devices out there and this article provides a overview of what works and what does not work.

Activating Unsupported USB Devices

Before we begin, if you would like to activate support for “Unsupported USB Devices”, please ensure you are on ChromeOS 75.0.3759.0 or later and have Crostini setup. You will need to ensure the following flags have been enabled.

chrome://flags/#crostini-usb-support
chrome://flags/#crostini-usb-allow-unsupported

Now simply reboot your ChromeOS device for the changes to take effect. Furthermore if you have a Chromebook without USB-A ports such as the Pixelbook – make sure that you pick up a USB-C OTG Cable or a USB-C Hub as many of these accessories do not come with USB-C ports by default.

What Works and What Does Not Work

Here is a list of the items I have tested along with details. Of course I cannot test every possible device so if you have anything that you wish to have added to this list, please drop a comment at the bottom of this post or reach out to me via email – in both cases, please include model numbers of the device you tested and I will add to this list. If you have something specific that you want me to test, reach out to me and I will see if I can get access to the hardware.

Item Result Notes Tested By
Android Phones

Pass No shock here as this is officially the only supported use case for Crostini USB KMyers
Android Tablets

Pass No shock here as this is officially the only supported use case for Crostini USB KMyers
CD/DVD-ROM Drives (Data) Pass This one is not as seamless as other options. Please see the section of this post called “Sharing Data DVD Data With Crostini” for steps on accessing data stored on a CD/DVD-ROM. I should point out that this is read-only, not Read/Write. KMyers
CD/DVD-ROM Drives (Video) Fail ChromeOS will mount the CD/DVD ROM Drive on the ChromeOS File Manager and you can technically share the mount point to ChromeOS however Linux Video players will refuse to play the video in this format. I did install a CSS decoder but this did not help. KMyers
Intel Movidius NCS 2 Pass Simply connect the NCS to your Chromebook and you will be prompted to share the device to Linux. You may want to take a look at my Crostini ML Setup Script which automates most of the setup inside of your Crostini container. KMyers
MicroSD Cards (Build in or via USB) Fail Although it is not possible to pass the hardware to Crostini , it is possible to share the disk or a folder of the disk to Crostini. The reason this is a fail is you cannot get low level access to the hardware which is needed for tools like dd to work therefore making it impossible to flash a Raspberry Pi SD card via Crostini KMyers
U2F Keys/Yubikeys Fail These devices are limited to ChromeOS. This also includes the Pixelbook’s U2F Key. KMyers
USB Camera/Webcam Fail Not detected by ChromeOS or Crostini KMyers
USB Flash Drives Fail Although it is not possible to pass the hardware to Crostini , it is possible to share the disk or a folder of the disk to Crostini. The reason this is a fail is you cannot get low level access to the hardware which is needed for tools like dd to work therefore making it impossible to flash a USB Flash Drive card via Crostini. KMyers
USB Keyboards/Mice Fail These devices cannot be bound to the Crostini Container however are usable on ChromeOS to interact with Crostini. KMyers
USB Mass Storage Devices Fail Although it is not possible to pass the hardware to Crostini , it is possible to share the disk or a folder of the disk to Crostini. The reason this is a fail is you cannot get low level access to the hardware which is needed for tools like dd to work therefore making it impossible to perform low level actions such as partitioning. KMyers

I will be updating this list as I test more items so please check back periodically.

Sharing CD/DVD Data With Crostini

In order to share Data CDs or DVDs, please follow the instructions below

  • Connect a USB DVD ROM to a USB Port (using a Type-C OTG if needed)
  • Insert a CD-ROM or DVD-ROM in the drive
  • Wait a few moments for the disk to show up in the ChromeOS file manager (it will be listed as the name of the CD/DVD)
  • Right Click on the drive and select “Share with Linux”

8 thoughts on “Crostini USB – What works and what does not”

  1. Have you tried connecting a chromebook to a 3d printer after making the above changes? If so what were the results? I was able to install Pronterface on my chromebook but was not able to get the usb device recognized. After reading this article I have a better understanding of why i did not work.

    Thanks for the info.

    Robert

    Reply
    • It seems to have broke shortly after I wrote this. I am still working on some possible solutions. In my case I normally just export the gcode and run my printers off the SD card but I know that this is not always a option for some.

      Reply
  2. Hi Keith,
    Since you wrote your May article on what works and what doesn’t in USB with Crostini: Has there been any progress towards Linux apps accessing usb cameras? we have developed Linux software (AstroDMx Capture for Linux) for use with UVC cameras as well as specialist astronomical cameras. The software can be downloaded from our website at https://www.linux-astro-imaging.uk/ . I wonder if you would test it for us as I am reluctant to purchase a Chromebook to test it and then find that it will not work. Please help if you can.
    Thank you
    Steve Wainwright and Nicola Mackin

    Reply
    • I have been trying to work with an AmScope camera. I was able to install the software, driver and app, and I can open the app. If I then plug the camera into the USB socket, the camera will (after a time) show up in the app’s device list. However, if I then try to select the device, it disconnects. This could be an app problem, not crostini.

      Reply
    • Hello! I wanted to try my T7 astro camera with the newest version of AstroDMx (older version had worked fine), and your question made me curious as to whether it would function with my Google Pixel Slate in the Linux virtual machine. Surprisingly (to me), the app *did* start up — though the windows/boxes/GUI seemed a bit ‘off’. I was prompted to accept the ChromeOS permissions required to access the ‘ASI120MC’ that I had connected to the USB-C port (even though this was the T7 clone). It seemed to accept this, but no matter what I did — there was ‘no connection’ to the camera. The ChromeOS permissions screen, however, does indicate that USB ‘only works for Android devices’ — so my guess is that this is mainly where the problem is.

      BTW, whether or not AstroDMx works (currently) under ChromeOS or not, I heartily recommend devices using it! Of course my first love in Linux on regular x86 hardware, but ChromeOS is a great option as well.

      Reply
  3. Keith, you should update this to note that the Yubikeys do work in Crostini, you simply have to disable the “Smart Card Connector” in order to keep the devices from getting grabbed in ChromeOS so you can successfully pass them into Crostini.

    Reply

Leave a Comment

%d bloggers like this: