Chrome OS 75 adds USB device support for Linux, including Android phone debugging

The first version of Chrome OS 75 Canary Channel landed a few days ago and it addresses a key functionality gap for Linux containers: USB device support.

We knew this feature was in the works as the Stable Channel of Chrome OS 73 brought a menu option for USB Device management. while Chrome OS 72 added USB storage for Linux apps.

Keith Myers noted the addition of USB device support for Linux on a Chromebook and did some testing with his 3D Printer, an Arduino board and a Intel Movidius Compute Stick. This feature is important for those who want to control, pass or read data to some type of external USB device from the Linux container. Keith noted some functions that Chrome OS 75 breaks as well, which is to be expected in the fast-changing Canary channel.

Since I dabble with small computing devices myself – my CS group is extending a “pancreas in the cloud” project using a Raspberry Pi, for example – I decided to test some additional features that would be super important for many folks: the Android Debug Bridge (ADB) that lets you modify an Android phone or tablet to install custom software or recovery images.

Chrome OS 75 isn’t yet available on the Dev Channel, so I took the plunge of putting a supported Chromebook in Developer Mode and installed Chrome OS 75; you can see if your device has access to this version here.

To use the new USB device feature, you also have to enable both chrome://flags/#crostini-usb-allow-unsupported and chrome://flags/#crostini-usb-support, which I did after upgrading to Chrome OS 75.

After my browser restarted, I went into my Linux container and I connected my Google Pixel 3XL to the Chromebook. This popup notification to connect appeared and chose to connect the device. Running the lsusb command in Linux shows the new device attached:

Now that the Linux container saw the USB device – my Pixel 3XL in this case, I ran a few ADB commands, since I already have them installed as part of Android Studio. Sure enough: Whatever ADB functions I used to do on a PC and Mac can now be done right from my Chromebook!

The timing of this new feature coincides nicely with next month’s Google I/O developer event even though I don’t think USB device support in Linux on Chromebooks won’t likely arrive in the Stable channel until after I/O.

Last year, Google said that it would officially support Android Studio for Android app development on Chromebooks in 2019, which includes ADB support. The company has been working on that since the last I/O event, so I anticipate an on-stage announcement that Android developers will have a fully working environment on Chromebooks within weeks of Google I/O.

Remember, if you want to try this by moving to the Canary Channel, you will see bugs. And to access Canary, you first have to put your Chromebook into Developer Mode, which disables some Chrome OS security features and wipes all local data, so attempt this at your own risk. Most people would be better off waiting until USB device support arrives in the Dev Channel, so I’ll be sure to share news of when that happens.

13 thoughts on “Chrome OS 75 adds USB device support for Linux, including Android phone debugging

  • April 13, 2019 at 11:50 am
    Permalink

    It’s about time but my Chromebook says it’s up to date with Version 72!

    Reply
    • April 13, 2019 at 11:52 am
      Permalink

      Chrome OS versions rollout in a staggered form across different devices. I put a link in the post where you can see the versions for all channels available to your specific device. Keep an eye on that to see when a new version is available, or if you want to change channels, which version you can have installed.

      Reply
      • June 13, 2019 at 5:27 am
        Permalink

        Hi Kevin 🙂
        How do I access the Linux container?

        Reply
  • April 13, 2019 at 11:51 am
    Permalink

    event even though I don’t think USB device support in Linux on Chromebooks won’t likely arrive in the Stable channel until after I/O.

    Reply
  • April 13, 2019 at 6:58 pm
    Permalink

    My guess is that Android Studio gets an official release for Chrome OS at I/O this year.

    Reply
  • April 13, 2019 at 10:40 pm
    Permalink

    My Samsung Chromebook Plus V1 has 75 right now. I have the USB flags and everything. Even ADB is working.

    Reply
  • April 14, 2019 at 3:01 am
    Permalink

    It’s quite a big jump from version 72 to 75 but according to the chart 75 is way beyond being even a Beta version! I wonder how long before they release a version we can actually use with these features?

    Reply
  • April 14, 2019 at 6:19 pm
    Permalink

    That table https://cros-updates-serving.appspot.com/ contains strange data, because my Acer Chromebook 14 for Work (CP5-471) was updated to 75.0.3753.0 (Official Build) dev (64-bit) on 4.4.2019 and to 75.0.3759.4 (Official Build) dev (64-bit) on 11.4.2019.

    Reply
    • April 14, 2019 at 8:04 pm
      Permalink

      Is your device managed by your company, by any chance? Enterprise customers often see Chrome OS updates a little early for internal testing reasons.

      Reply
      • April 15, 2019 at 1:46 am
        Permalink

        No, it is my personal device. Strange.
        But Linux apps still aren’t available for it because of old kernel.

        crosh> uname -a
        Linux localhost 3.18.0-19116-g628a4dc6ea66 #1 SMP PREEMPT Tue Apr 9 21:55:33 PDT 2019 x86_64 Intel(R) Core(TM) i3-6100U CPU @ 2.30GHz GenuineIntel GNU/Linux

        Reply
      • April 15, 2019 at 2:30 pm
        Permalink

        I have found the answer probably.
        Let see cros dev in this table: https://omahaproxy.appspot.com/
        They returned in dev channel from 75 to 74 for some reason, but my device already has 75, so it cannot be downgraded.
        os channel current_version previous_version current_reldate previous_reldate
        cros dev 74.0.3729.37 75.0.3759.4 04/04/19 04/11/19

        Reply
  • May 7, 2019 at 8:13 pm
    Permalink

    Just got 75 Beta on my Slate. USB support seems to only work for android devices. I can’t even use the lsusb command! Hopefully this is temporary. I tried plugging in my Ledger Nano S, and the system didn’t even recognize I had plugged something in.

    Reply
  • May 22, 2019 at 12:14 pm
    Permalink

    It crashes my linux container, Chrome OS Version 75.0.3770.42 (Official Build) beta (64-bit)

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: