Troubleshooting the Z80-MBC2 to chromeOS connection
The Z80-MBC2 board, a Z80 homebrew computer I ordered, finally arrived and I connected it via serial USB to my i7 ASUS Chromebox 3, hoping to control the board from a terminal emulator.
I got a professionally assembled and tested Z80-MBC2 unit and the developer confirmed I hooked it up correctly, so I'm confident the hardware is working. All the right leds are on, as shows this photo of the board connected to the Chromebox at right (the “Z80 inside” logo alone is worth the board).
However, the Chromebox doesn't recognize the board neither under Crostini, nor Android, nor chromeOS.
In Crostini, the output of lsusb
doesn't list the board:
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
The output of usb-devices
doesn't list it either:
T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 8
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=1d6b ProdID=0002 Rev=05.10
S: Manufacturer=Linux 5.10.110-15808-ge5740beba59b xhci-hcd
S: Product=xHCI Host Controller
S: SerialNumber=0000:00:0c.0
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#=0x0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=5000 MxCh= 8
D: Ver= 3.00 Cls=09(hub ) Sub=00 Prot=03 MxPS= 9 #Cfgs= 1
P: Vendor=1d6b ProdID=0003 Rev=05.10
S: Manufacturer=Linux 5.10.110-15808-ge5740beba59b xhci-hcd
S: Product=xHCI Host Controller
S: SerialNumber=0000:00:0c.0
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#=0x0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
There's no entry related to the Z80-MBC2 in the output of ls -l /dev
:
total 0
drwxr-xr-x 3 root root 60 Jun 16 12:30 bus
crw--w---- 1 root tty 136, 0 Jun 16 12:30 console
lrwxrwxrwx 1 root root 11 Jun 16 12:30 core -> /proc/kcore
drwxr-xr-x 2 root root 80 Jun 16 12:30 dri
lrwxrwxrwx 1 root root 13 Jun 16 12:30 fd -> /proc/self/fd
crw-rw-rw- 1 nobody nogroup 1, 7 Jun 16 12:30 full
crw-rw-rw- 1 root root 10, 229 Jun 16 12:30 fuse
lrwxrwxrwx 1 root root 12 Jun 16 12:30 initctl -> /run/initctl
crw-rw---- 1 root kvm 10, 232 Jun 16 12:30 kvm
lrwxrwxrwx 1 root root 28 Jun 16 12:30 log -> /run/systemd/journal/dev-log
drwxr-xr-x 2 nobody nogroup 60 Jun 16 12:30 lxd
drwxrwxrwt 2 nobody nogroup 40 Jun 16 12:30 mqueue
drwxr-xr-x 2 root root 60 Jun 16 12:30 net
crw-rw-rw- 1 nobody nogroup 1, 3 Jun 16 12:30 null
crw-rw-rw- 1 root root 5, 2 Jun 16 12:43 ptmx
drwxr-xr-x 2 root root 0 Jun 16 12:30 pts
crw-rw-rw- 1 nobody nogroup 1, 8 Jun 16 12:30 random
drwxrwxrwt 2 root root 40 Jun 16 12:30 shm
drwxr-xr-x 2 root root 140 Jun 16 12:30 snd
lrwxrwxrwx 1 root root 15 Jun 16 12:30 stderr -> /proc/self/fd/2
lrwxrwxrwx 1 root root 15 Jun 16 12:30 stdin -> /proc/self/fd/0
lrwxrwxrwx 1 root root 15 Jun 16 12:30 stdout -> /proc/self/fd/1
crw-rw-rw- 1 nobody nogroup 5, 0 Jun 16 12:30 tty
crw-rw-rw- 1 nobody nogroup 1, 9 Jun 16 12:30 urandom
crw-rw-rw- 1 root root 245, 0 Jun 16 12:30 wl0
crw-rw-rw- 1 nobody nogroup 1, 5 Jun 16 12:30 zero
In the Android contanier I use the Serial USB Terminal terminal emulator app, but the Z80-MBC2 doesn't show up in its list of USB devices.
Finally, on chromeOS I use a few terminal emulator web apps based on the USB Web Serial API, such as this one. Again, there's no Z80-MBC2 entry in the app's list of USB devices.
I connected the Z80 board also to my Lenovo Yoga N26 Chromebook. Same result under chromeOS and Android, i.e. the device isn't detected. I don't use Crostini on the Chromebook.
I have a couple more things to try, but I suspect chromeOS doesn't support the board's serial adapter.
I knew USB is chromeOS' Achille's heel. But, although I expected USB issues with Crostini because of its heavily sandboxed environment, what suprised me is the Z80-MBC2 is not detected by chromeOS or the Android container, which may have fewer USB restrictions and wider support.
Discuss... Email | Reply @amoroso@fosstodon.org