Seem to have broken it already

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 :slightly_smiling_face:

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.

1 Like

Wonder if you need some udev rules; I’ve never used a Chromebook, so I’m not sure.

1 Like
[ 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
1 Like

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?

1 Like

Have you rebooted since updating? Sometimes I need to restart udev after updating ( sudo systemctl restart udev) with the BP unplugged.

1 Like

Yep. Tried that just now too. No change

1 Like

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"
2 Likes
$ 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"
2 Likes

I will get the factory firmware tomorrow China time and post it here.

2 Likes

And to make sure, is a BP file system mounted?

1 Like

The good news

  • Your output confirms that both serial ports are created by running firmware, and that /dev/ttyACM0 is the correct port for “normal” terminal IO.
  • Ian provides amazing support.
  • The light show also strongly supports the inference that the firmware is running on the device.

Other stuff

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)?

1 Like

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.

1 Like

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…

2 Likes

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

1 Like

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 :smile: