0

Chromebook Connectivity
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

Chromebook Connectivity

by ceblackmon on Tue Nov 03, 2020 12:28 pm

Informal STEM educator here - I’ve had a class set of Circuit Playground Express for about a year now, and suddenly they are having issues connecting to my class set of Chromebooks. The Chromebooks often do not recognize that a device is connected, no matter how many times I reconnect or reset. I’m currently unable to use them in my classes (which I have done several times in the past) because of the unreliable connections. I bought the connector cables from Adafruit, so that should not be an issue.

Is this an issue that has popped up before? Is there an easy fix?

ceblackmon
 
Posts: 5
Joined: Thu Dec 06, 2018 12:39 pm

Re: Chromebook Connectivity

by mikeysklar on Wed Nov 04, 2020 6:33 pm

@ceblackmon,

This issue has come up before. We will need your help to diagnose it.

There is a INFO_UF2.TXT on the CPX mounted boards. Please note when mountable which versions are working. Ditto for the Chromebooks. Note which version of Crome OS (Platform Version) the working configurations are running and the ones that are struggling.

The hope is that whatever has changed is just a software update either on our side or Chrome OS and you can stabilize your STEM environment by avoiding the troubled release.

mikeysklar
 
Posts: 4996
Joined: Mon Aug 01, 2016 8:10 pm

Re: Chromebook Connectivity

by ceblackmon on Tue Nov 10, 2020 2:07 pm

A few notes on this....

All of my CPX have the same info_txt:

UF2 Bootloader v2.0.0-adafruit.5 SFHWRO
Model: CPlay Express
Board-ID: SAMD21G18A-CPlay-v0

And they all connect to my windows pc without issues...

My Chromebooks are running the most up-to-date Chrome OS (86.0.4240.183). Some platform versions of the Chromebooks that are struggling (and they're all struggling):

13310.93.0
13421.89.0

ceblackmon
 
Posts: 5
Joined: Thu Dec 06, 2018 12:39 pm

Re: Chromebook Connectivity

by mikeysklar on Wed Nov 11, 2020 6:27 pm

@ceblackmon,

Take a look at this post from another educator who had been struggling with the same issue. Her suggestion was to try the CodeOrg Serial Connector from code.org.

HI there! I am a middle school engineering teacher who is teaching remotely. My students are currently getting started with the Adafruit Circuit Playground Express at home. They are using their own devices - Windows, Mac, Chromebook. My Chromebook students had issues seeing CPLAYBOOT and getting programs to download to their Adafruit CPX from their Chromebook device. These 2 things seemed to solve 98% of the problems.
1. Restart the Chromebook
2. Install this Chromebook App from Code.org:
https://chrome.google.com/webstore/deta ... ibkg?hl=en
It will run in the background. I don't know the "magic" behind it, but this seems to help my Ss get connected. There was lots of cheering over Zoom when we figured this out.
I hop this helps you!


viewtopic.php?f=48&t=170775&p=837568&hilit=chromebook+background#p837568

mikeysklar
 
Posts: 4996
Joined: Mon Aug 01, 2016 8:10 pm

Re: Chromebook Connectivity

by ceblackmon on Wed Nov 25, 2020 11:17 am

Yeah, this didn't work for me. I installed the app, and everything is the same as before.

ceblackmon
 
Posts: 5
Joined: Thu Dec 06, 2018 12:39 pm

Re: Chromebook Connectivity

by mikeysklar on Wed Nov 25, 2020 3:23 pm

Okay, let's start with a bootloader update and see if that changes the behavior. We are currently at version 3.10.0 for the Circuit Playground Express. Can you do the double-reset press and drop this UF2 onto a CPX to see if this helps the mounting? It is on the bottom right corner of this page:

https://circuitpython.org/board/circuit ... d_express/

UF2 Bootloader
Latest version: v3.10.0

The bootloader allows you to load CircuitPython, Makecode, and Arduino programs. The bootloader is not CircuitPython. You can check the current version of your bootloader by looking in the INFO_UF2.TXT file when the BOOT drive is visible (FEATHERBOOT, CPLAYBOOT, etc.).

To update, first save the contents of CIRCUITPY, just in case. Then double-click the reset button to show the BOOT drive. Drag the update-bootloader .uf2 file to the BOOT drive. Wait a few tens of seconds for the bootloader to update; the BOOT drive will reappear. Check INFO_UF2.TXT to verify that the bootloader version has been updated. Then you will need to reload CircuitPython.


mikeysklar
 
Posts: 4996
Joined: Mon Aug 01, 2016 8:10 pm

Re: Chromebook Connectivity

by smagoun on Mon Dec 07, 2020 8:20 pm

I had a similar problem with a Circuit Playground Express on a Chromebook w/ ChromeOS 85 + 86. I found that the CPLAYBOOT drive would mount the first 3 times I plugged it in (or reset the CPX). After that, it would never work again until I restarted the Chromebook. Starting with CrOS 87, CPLAYBOOT would never mount no matter what.

I found 2 workarounds:
  1. Use the WebUSB Uploading feature of MakeCode to allow MakeCode programs to download directly from the website to the CPX. This bypasses the need to mount CPLAYBOOT, and my testing it works on a Chromebook even when CPLAYBOOT won't mount. I found that my CPX (ordered Nov 2020) didn't need a bootloader update to use WebUSB, it just worked.
  2. Disable the permission_broker program on the Chromebook. Get to a shell, and run
    Code: Select all | TOGGLE FULL SIZE
    sudo /sbin/stop permission_broker
    This second option is a hassle and will likely make the Chromebook insecure, so definitely not recommended.

More detail on #2: I found there is a program on the Chromebook called permission_broker that seems to intercept USB devices when they're plugged in. When things are working, the permission_broker hands control of the USB device back to the kernel, which then creates a block device and causes the drive to appear. For whatever reason, permission_broker doesn't reliably hand the device back to the kernel. I suspect that part of the issue is that the CPX exposes both a USB mass storage device and a serial device, and the permission_broker doesn't know that it should hand the mass storage device back to the kernel. I filed a bug w/ the ChromeOS team, hopefully they can take a look.

smagoun
 
Posts: 11
Joined: Sun Feb 11, 2018 5:35 pm

Re: Chromebook Connectivity

by mikeysklar on Tue Dec 08, 2020 2:33 pm

@smagoun,

Thank you so much for these two work arounds and the explanations behind them. I'm sure this will help out many student / teachers using Chromebooks. I'll keep both WebUSB transfers and stopping permission_broker as things to try as more people have questions.

mikeysklar
 
Posts: 4996
Joined: Mon Aug 01, 2016 8:10 pm

Re: Chromebook Connectivity

by bbrill on Wed Dec 09, 2020 10:37 pm

Our Chromebooks have updated to 87 and now the devices will not recognize the circuit playgrounds. Even with restarts and having the Code.org Serial Connector app installed. I did get a couple of the playgrounds updated to use WebUSB and I think they are working okay but not sure how I am going to update the rest if I don't have a device that recognizes them when they are connected. Is this a Chrome issue? Is it going to be resolved? It seems like they are working fine with Code.org still but it would be nice to have more flexibility with how we use them.

bbrill
 
Posts: 1
Joined: Wed Dec 09, 2020 2:39 pm

Re: Chromebook Connectivity

by smagoun on Thu Dec 10, 2020 2:31 pm

bbrill wrote:Our Chromebooks have updated to 87 and now the devices will not recognize the circuit playgrounds. Even with restarts and having the Code.org Serial Connector app installed. I did get a couple of the playgrounds updated to use WebUSB and I think they are working okay but not sure how I am going to update the rest if I don't have a device that recognizes them when they are connected. Is this a Chrome issue? Is it going to be resolved? It seems like they are working fine with Code.org still but it would be nice to have more flexibility with how we use them.


I believe this is a ChromeOS issue, yes. You can update the CPX devices on a Mac/Windows PC, or you can set up one Chromebook to disable the permission_broker program, then update all the devices using that Chromebook. You may have to put the Chromebook into developer mode for this; I'm not sure (mine is in developer mode already).

If you have a support contact at Google, or if someone at Adafruit does, ask them to look into this issue: https://issuetracker.google.com/issues/175043885

smagoun
 
Posts: 11
Joined: Sun Feb 11, 2018 5:35 pm

Re: Chromebook Connectivity

by smagoun on Thu Jan 28, 2021 8:40 pm

Some good news, this seems to be fixed in ChromeOS Version 88.0.4324.109.

More detail in this post: viewtopic.php?f=48&t=171766#p851583

smagoun
 
Posts: 11
Joined: Sun Feb 11, 2018 5:35 pm

Re: Chromebook Connectivity

by owenflynn on Wed Mar 31, 2021 4:03 pm

As an alternative to using web usb uploading, you can try using a cheap USB Hub between the workstation and CPX. This resolved the issue for me on a few Chromebooks.

owenflynn
 
Posts: 3
Joined: Wed Jan 22, 2020 2:59 pm

Please be positive and constructive with your questions and comments.


cron