I just received my BP5 today, connected using screen and saw the console UI.
All good, but then I upgraded the firmware to the latest from the forum.
I now can’t seem to access the console UI.
Any ideas what I’m doing wrong?
Thanks
I just received my BP5 today, connected using screen and saw the console UI.
All good, but then I upgraded the firmware to the latest from the forum.
I now can’t seem to access the console UI.
Any ideas what I’m doing wrong?
Thanks
Hi Stuart,
Welcome to the forum!
Did you grab the BP5 or 5+/6 from the repo? Just to be sure you got the “5”.
You can get it back to bootloader mode by pressing the button on the bottom as you plug it in (you might need the Allen wrench). It should show up on your computer as a drive and you can reload the firmware from there ![]()
Yep I copied over bus_pirate5_rev10.uf2, (from the forum post) which then rebooted, shows the image and then the screen giving per-port details. It is also happily running a lightshow on the LEDs - so the BP is actually working, but I can’t seem to connect to it via the terminal.
How exactly does the connection fail? Opening port fails or no response in the terminal?
Sometimes after a firmware update the order of the ports will change. I’m not 100% sure why. If you connect the binmode port the vout will show 3.3volts, and then you can try the other.
If that doesn’t clear it up, what OS are you using with screen?
If it’s broken we got you and will send a replacement and cover duties.
Running screen /dev/ttyACM0 or minicom -D /dev/ttyACM0 just results in an empty screen - typing doesn’t do anything and nothing is displayed. If I then disconnect the USB cable I get an error in minicom/screen exits (as /dev/ttyACM* are automatically removed).
I’ve tried connecting to both ACM0 & ACM1, but both have the same behaviour.
This is a Chromebook, so the Linux part is Debian Bookworm.
Wonder if you need some udev rules; I’ve never used a Chromebook, so I’m not sure.
[ 7181.342203] usb 1-1: new full-speed USB device number 6 using xhci_hcd
[ 7186.903917] cdc_acm 1-1:1.0: ttyACM0: USB ACM device
[ 7186.905556] cdc_acm 1-1:1.2: ttyACM1: USB ACM device
[ 7186.906665] usb-storage 1-1:1.4: USB Mass Storage device detected
[ 7186.907687] scsi host0: usb-storage 1-1:1.4
[ 7187.916605] scsi 0:0:0:0: Direct-Access BP5 Storage 1.0 PQ: 0 ANSI: 2
[ 7187.920761] sd 0:0:0:0: [sda] Media removed, stopped polling
[ 7187.921176] sd 0:0:0:0: [sda] Attached SCSI removable disk
It was working before I updated the firmware. Is it possible to download whatever was flashed on it at the factory to see if that fixes it?
Have you rebooted since updating? Sometimes I need to restart udev after updating ( sudo systemctl restart udev) with the BP unplugged.
Yep. Tried that just now too. No change
My guess is that the order of the COM ports changed.
Since you’re on a linux variant, do you use udev?
Here’s a simple script to show the USB interface number for your two /dev/ttyACM* devices. Interface #0 is for the terminal:
udevadm info -a -p $( udevadm info -q path /dev/ttyACM0 ) | grep bInterfaceNumber
udevadm info -a -p $( udevadm info -q path /dev/ttyACM1 ) | grep bInterfaceNumber
In addition, you can have udev rules that setup distinct symbolic links based on the USB interface number. BusPirate exposes interface zero as the terminal, and interface one for binary protocols.
Here are my udev rules that do this. What’s neat is that I can always tab-complete dir /dev/buspirate-term- to see which /dev/TTYACM* is the terminal vs. which /dev/TTYACM* is the binary interface. Sadly screen /dev/buspirate-term-<tab> does NOT appear to auto-complete (it’s likely filtering out symbolic links).
SUBSYSTEM=="tty", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="7331", ENV{ID_USB_INTERFACE_NUM}=="00", SYMLINK+="buspirate-term-%n",
MODE="660", GROUP="dialout"
SUBSYSTEM=="tty", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="7331", ENV{ID_USB_INTERFACE_NUM}=="02", SYMLINK+="buspirate-bin-%n",
MODE="660", GROUP="dialout"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="7332", SYMLINK+="buspirate-uf2-%n",
MODE="660", GROUP="dialout"
SUBSYSTEM=="usb", ATTRS{idVendor}=="2e8a", ATTRS{idProduct}=="000f", SYMLINK+="raspberry-pi-uf2-%n
", MODE="660", GROUP="dialout"
$ udevadm info -a -p $( udevadm info -q path /dev/ttyACM0 ) | grep bInterfaceNumber
ATTRS{bInterfaceNumber}=="00"
$ udevadm info -a -p $( udevadm info -q path /dev/ttyACM1 ) | grep bInterfaceNumber
ATTRS{bInterfaceNumber}=="02"
I will get the factory firmware tomorrow China time and post it here.
And to make sure, is a BP file system mounted?
/dev/ttyACM0 is the correct port for “normal” terminal IO.I almost cringe to suggest this… yet I have little experience with Chromebook access to USB serial ports, and if you’re stuck… Have you rebooted (full power-down, not any quick reboot options)?
I’m really sorry, I didn’t get the factory firmware today because I forgot about our recent change to DST (which China does not follow). I’ve contacted them though and they will email it to me first thing tomorrow.
No worries. This time of the year always causes problems!
I’ve just switched to the earliest firmware from the forum post (ci-buspirate5-main-38c91e9.zip). I’m not seeing anything on the screen, and I only get a single CDC port appearing, but I can actually connect to it and see stuff (it gives its version as 0.0.3 so is very old).
I’m going to try some more recent firmware files to see if I can narrow down when it stopped working…
ci-buspirate5-main-9333367.zip (May 24) also works
ci-buspirate-main-9db4915.zip (Dec 24) not working
ci-buspirate-main-c496cf4.zip (Sep 24) not working
ci-buspirate5-main-3a04b32.zip (Jun 24) works
ci-buspirate5-main-85822e3.zip (Aug 24) works
ci-buspirate5-main-ef8449d.zip (Aug 24) works
ci-buspirate-main-233c3b1.zip (Sep 24) works
ci-buspirate-main-1041c67.zip (Sep 24) works
ci-buspirate-main-e824122.zip (Sep 24) works
ci-buspirate-main-c496cf4.zip (Sep 24) works
ci-buspirate-main-2c25f65.zip (Sep 24) works
ci-buspirate-main-9db4915.zip (Dec 24) not working
ci-buspirate-main-dd378d1.zip (Oct 24) works
ci-buspirate-main-1a493ec.zip (Oct 24) not working
ci-buspirate-main-67afc30.zip (Oct 24) works
ci-buspirate-main-1a493ec.zip (Oct 24) not working
ci-buspirate-main-9c0bfa4.zip (Oct 24) not working
ci-buspirate-main-e06c119.zip (Oct 24) not working
ci-buspirate-main-92bc897.zip (Oct 24) not working
ci-buspirate-main-0ecbfbd.zip (Oct 24) not working
That’s a good sign, if you can isolate it to a few weeks I’ll look at the changes that might effect USB.
So it looks like around the time where I stopped getting working builds someone else was having a problem with the serial console not responding, but the PR which fixed it for them doesn’t seem to work for me.
I’ve reverted to 67afc30 which is working for me, so I can try to do what I was hoping to use my BP for ![]()