New product - Asus detachable CM3 - Crostini with CP210x permission broker

171 views
Skip to first unread message

Lee T. Davy

unread,
Dec 27, 2021, 8:36:30 PM12/27/21
to Chromium OS Discussion
I got this Asus CM3 detachable with Chrome OS 96.0.4664.111 (Official Build) (32-bit)
Then I enabled Linux(beta) for Debian 11
 with kernel 5.4.151-16908-gff376e5d5ee1 aarch64

I plugged in a Silabs CP2102 and Chrome system dmesg sees it as USB0 but it is not
offered in developer USB choices to Linux Crostini.

.<6>[ 7163.852255] usb 1-1.2: new full-speed USB device number 6 using xhci-mtk
<6>[ 7163.931559] usb 1-1.2: New USB device found, idVendor=10c4, idProduct=ea60, bcdDevice= 1.00
<6>[ 7163.931585] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
<6>[ 7163.931599] usb 1-1.2: Product: CP2102 USB to UART Bridge Controller
<6>[ 7163.931611] usb 1-1.2: Manufacturer: Silicon Labs
<6>[ 7163.931623] usb 1-1.2: SerialNumber: 0001
<6>[ 7164.033197] usbcore: registered new interface driver cp210x
<6>[ 7164.033290] usbserial: USB Serial support registered for cp210x
<6>[ 7164.033482] cp210x 1-1.2:1.0: cp210x converter detected
<6>[ 7164.036017] usb 1-1.2: cp210x converter now attached to ttyUSB0


I can find reference to "Permission Broker".
There seems to be a whitelist somewhere that is authority for USB control.
Also this device is used for embedded device development so not sure where things are
in development.

WARNING chrome[1594:1594]: [cros_usb_detector.cc(551)]
Device not allowed by Permission Broker.
vendor: 0x10c4 product: 0xea60

Also, I have not found ASUS CM3 detachable developer mode key sequence mentioned anywhere.

Anyone help here ?



david....@gmail.com

unread,
Dec 28, 2021, 5:42:56 PM12/28/21
to Chromium OS Discussion, leetdavy....@gmail.com
I don't know whether that device is supported in the Linux container or not. Some things are and others, not. You need to pass devices through to the Linux container. I work with ESP8266 and ESP32 devices and as soon as I plug them in, I get a popup that asks whether I want them connected to Linux. Have a look in settings under Developer options/Linux development environment/Manage USB devices. If the device is supported it should show up there. If it isn't supported, you might want to file a bug report to get the device added as "safe". 

Nom De Plume

unread,
Dec 29, 2021, 9:28:50 AM12/29/21
to Lee T. Davy, Chromium OS Discussion
I went through the same thing with the ESP8266 devices. The earlier versions of these devices were detected and were able to pass through to the Linux container. The later versions of the ESP boards, although visible to the Chromebook using lsusb were not yet tested as safe. I remember, at the time, it was suggested that users have access to the whitelist. At one time very early on, there were flags for unsupported USB devices, but they did not work for my situation. The https://crbug.com/987377 and https://crbug.com/956288 both document my struggles. I think you will need to file a separate bug report for ChromeOS ar add your comments to the https://crbug.com/1119497
 

On Wed, Dec 29, 2021 at 7:40 AM Lee T. Davy <leetdavy....@gmail.com> wrote:
The device is found by Chrome OS because it appears in Chrome system dmesg as shown in my original message.

The WARNING eludes to "Permission Broker" having a mysterious whitelist.
Later I find "USBGuard" as part of "USB Bouncer" but still unclear if this is home user accessable.

Lee T. Davy

unread,
Dec 29, 2021, 6:15:03 PM12/29/21
to Chromium OS Discussion, david....@gmail.com, Lee T. Davy
The device is found by Chrome OS because it appears in Chrome system dmesg as shown in my original message.

The WARNING eludes to "Permission Broker" having a mysterious whitelist.
Later I find "USBGuard" as part of "USB Bouncer" but still unclear if this is home user accessable.

On Tuesday, December 28, 2021 at 5:42:56 PM UTC-5 david....@gmail.com wrote:

Daniel Verkamp

unread,
Jan 4, 2022, 6:56:50 PM1/4/22
to Chromium OS Discussion, leetdavy....@gmail.com, david....@gmail.com
The 0x10c4 vendor code should already be allowed to be shared with Crostini:

There should be more detailed permission_broker logs in /var/log/messages - you can open this directly in a Chrome window (browse to file:///var/log/messages).

For the sequence required to enable developer mode, I am not sure about this particular device, but I think the instructions for "Devices Without Keyboards" on the Debug Button Shortcuts docs should work: https://chromium.googlesource.com/chromiumos/docs/+/HEAD/debug_buttons.md#devices-without-keyboards

Lee T. Davy

unread,
Jan 4, 2022, 9:12:54 PM1/4/22
to Chromium OS Discussion, dver...@chromium.org, Lee T. Davy, david....@gmail.com
The link to var files helps me to debug when not developer which I prefer.
I found the Asus CM3 detachable developer mode is at
I felt too much at risk for now so I reset back to disabled and use Android developer and crostini.

The link to permission broker source code also helps me begin to see how it all works.




 The link you provided is to "DENY USB DEVICE" which is what is happening.

2022-01-04T23:58:49.456719Z INFO kernel: [11629.313029] usb 1-1.2: new full-speed USB device number 9 using xhci-mtk
2022-01-04T23:58:49.536766Z INFO kernel: [11629.393830] usb 1-1.2: New USB device found, idVendor=10c4, idProduct=ea60, bcdDevice= 1.00
2022-01-04T23:58:49.536857Z INFO kernel: [11629.393851] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
2022-01-04T23:58:49.536879Z INFO kernel: [11629.393859] usb 1-1.2: Product: CP2102 USB to UART Bridge Controller
2022-01-04T23:58:49.536894Z INFO kernel: [11629.393866] usb 1-1.2: Manufacturer: Silicon Labs
2022-01-04T23:58:49.536908Z INFO kernel: [11629.393873] usb 1-1.2: SerialNumber: 0001
2022-01-04T23:58:49.616972Z INFO kernel: [11629.472268] usbcore: registered new interface driver cp210x
2022-01-04T23:58:49.617078Z INFO kernel: [11629.472345] usbserial: USB Serial support registered for cp210x
2022-01-04T23:58:49.617092Z INFO kernel: [11629.472505] cp210x 1-1.2:1.0: cp210x converter detected
2022-01-04T23:58:49.618808Z INFO kernel: [11629.475239] usb 1-1.2: cp210x converter now attached to ttyUSB0
2022-01-04T23:58:49.479085Z ERR missived[2785]: message repeated 18 times: [ Failed to call method: org.chromium.ChromeReportingServiceInterface.UploadEncryptedRecord: object_path= /org/chromium/ChromeReportingService: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.]
2022-01-04T23:58:49.715986Z INFO permission_broker[1895]: ProcessPath(/dev/bus/usb/001/009)
2022-01-04T23:58:50.124526Z INFO permission_broker[1895]:   AllowUsbDeviceRule: ALLOW
2022-01-04T23:58:50.124937Z INFO permission_broker[1895]:   AllowTtyDeviceRule: IGNORE
2022-01-04T23:58:50.132817Z INFO permission_broker[1895]: Found claimed interface with driver: cp210x
2022-01-04T23:58:50.135898Z INFO permission_broker[1895]: Found usb-serial interface.
2022-01-04T23:58:50.137121Z INFO permission_broker[1895]: Denying fixed USB device with driver.
2022-01-04T23:58:50.137325Z INFO permission_broker[1895]:   DenyClaimedUsbDeviceRule: DENY
2022-01-04T23:58:50.137486Z INFO permission_broker[1895]: Verdict for /dev/bus/usb/001/009: DENY
2022-01-04T23:58:50.138687Z INFO permission_broker[1895]: ProcessPath(/dev/bus/usb/001/009)
2022-01-04T23:58:50.480409Z ERR missived[2785]: Failed to call method: org.chromium.ChromeReportingServiceInterface.UploadEncryptedRecord: object_path= /org/chromium/ChromeReportingService: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Reply all
Reply to author
Forward
0 new messages