Com Port issues

Hi,
I’ve just received two of the BP5 rev 10 and am having some odd issues communicating with them. When I plug either of them into my PC (Win11) two COM ports appear, and I can open them with PuTTY, but both are unresponsive.

I tried on two other PCs running Win10 and both BP worked fine.

Then I tried another Win11 PC and got the same unresponsive serial ports. Finally I tried on a 3rd Win10 PC and found both ports were unresponsive.

So, of the 5 PCs I’ve tried the BPs only worked on two of them. I find it really strange as in my experience if you have an issue with a serial port you can’t even open it.

One BP is running the firmware it was shipped with and I tried updating the other one to cc9130c but it didn’t make any difference.

Any suggestions?

I wonder if this is the same problem I am having.

I also got my BP5 rev 10 today.

So far I have tried it on two win10 computers and have not had any luck. Both computers show two com ports, but I haven’t been able to get any response on ether one. I have tried SecureCRT and Tera Term both set to 115200 (speed), 8 bit (data), None (parity), and 1 bit (stop bits). I also tried numerious USB-C cables.

I also noticed that the screen on the BP is blank. I don’t know if this is normal or not.

You need to connect the first of the two com ports. I.e. when COM7 and COM8 you connect to COM7. 115200 baud is fine.
When you are connected the screen stays black and you press enter to get the HiZ> prompt.
Still no luck? Try updating the firmware to the latest successful nightly build.
How to is on the site.

I’m also having a similar problem on a Windows 11 PC, I haven’t had a chance to check on anything else.

The first COM port is not completely unresponsive:

  • Send it a CTRL-B and get back 1ALS
  • Send it a CTRL-D and get back Bus Pirate 5PIO+DMA!RP2040 62Mhz#▒▒▒!A

I’ll attempt to try on a non-WIndows 11 PC, and possibly have a look at the source code on GitHub, see if anything jumps out.

But any help would be appreciated, thanks.

Hello everyone, I’m sorry this just popped up for me when @code.chinchilla posted. Thank you so much for the bug report, it seems this is a wide spread issue.

Send it a CTRL-B and get back 1ALS

That would be output from the binary mode, specifically the logic analyzer.

The other port should be the terminal.

I also noticed that the screen on the BP is blank. I don’t know if this is normal or not.

@ngoetz That is not normal. Are you able to hold down the bootload button on the bottom while plugging in the Bus Pirate, then bootload the latest firmware? If it is still blank, my guess is hardware problem. Please open a support ticket and we’ll send you a new one.

Then I tried another Win11 PC and got the same unresponsive serial ports. Finally I tried on a 3rd Win10 PC and found both ports were unresponsive.

@Takahashi did you ever have any success? It seems like a problem on 10 and 11 for you. I have never had this issue on 10, but I don’t have access to windows 11.

We’re using a pretty standard PICO SDK setup for tinyUSB, so I wonder if there’s any reports of wider issues for PICO and WIN11.

Some thoughts:

  • Is Win11 unhappy with our USB descriptor? It’s pretty much straight out the SDK, but I did customize the names a bit
  • Does Win11 send or not send a USB CDC control signal that causes the Bus Pirate (or tinyUSB) to stay dormant
  • Is the Bus Pirate sending something before the port is open, causing the win11 CDC driver to do something funny (I don’t think so, we wait for user input before doing anything).

This is odd. We’ve used all kinds of PCs with all versions of windows during production testing and didn’t run into this issue.

Hi,

I’ve discovered the problem I was having, and unfortunately it’s user error, but I’ll explain the exact situation, just in case it helps anyone else.

Just to confirm, the COM ports on my Bus Pirate that arrived yesterday are working as expected on Windows 11.
Note: The display on the bus pirate is not blank, it’s displaying as expected and has only ever been blank either in the firmware upload mode or when I incorrectly flashed the Rev 8 firmware, instead of Rev 10,

The problem with unresponsive COM ports (for me) was caused by the connecting to the binary COM port first. This happened because the binary COM port gets the lower number on my PC.

After connecting to the binary COM port, you will get no response on the terminal COM port until the Bus Pirate is disconnected and recontended to a USB port i.e. power cycled.

As soon as @ian confirmed I was on the wrong COM port, I went back to the unit, plugged it in, and as long as I connect to the second COM port it all works. BUT If I connect to the binary one first then the terminal COM port is unresponsive.

Sorry for the incorrect bug report, and I’m very happy that my unit seems to be responding as expected.

1 Like

Thank you for the update, that’s great news.

The locking behavior is expected. When the binary mode is active the user terminal locks until binary mode is exited “properly”. If the terminal is connected, it should print “Binary mode active, terminal locked” and at the end “terminal unlocked”. This is because we don’t (yet?) have a way to deal with user and binary mode doing different things with the same/different pins. We may get there though.

I’ve added a check for firmware/hardware version mismatch. It will print a warning when any key is entered. I need to do some more testing, I’ll push tomorrow. I doubt this is the first time this will happen :slight_smile:

@code.chinchilla Thanks for posting your solution, turns out I was having the exact same issue. Seems that the default behavior in Win11 is to have the binary interface as the lower numbered COM port.

@ian Now that I understand the problem I’ve tested opening the correct interface first and then opening the binary interface I didn’t see any message “Binary mode active, terminal locked”.

Would it be possible to change the name of the binary interface in Device Manager to avoid confusion?

1 Like

Just following up on my own question, if you want to rename the BP5 serial ports this procedure works: usb - How to change COM port name in device manager while inserting external device - Super User

1 Like

It does look like my issue might be a hardware problem.

I was able to fix the issue with connecting to the terminal port. It looks like I had the same issue with connecting to the wrong com port. My Windows 10 computer also had the terminal port on the second COM port. Once I rebooted the BP and connected to COM4 first instead of COM3 I was able to access the terminal windows.

As far as the BP screen not working, this is still an issue. I upgraded the firmware to the latest version, but it didn’t make a difference.

Just received the BP5 v10 today, and I too am NOT able to connect. I have updated to “ci-buspirate5-main-407ff95” with no change. I can connect to the binary mode port and get the following responses from ctrl-d:

Bus Pirate 5PIO+DMA!RP2040 62Mhz#¹¬ !A

and from ctrl-b:

1ALS

I can connect to the other serial port, but there is no response whatsoever. Baud and other serial port parameters are correct. VT100 is set. The screen is on and seems OK.

Thanks

edit: Oh, I should say I am on Win10

And just to be clear, you are aware that once you have connected to the binary interface you have to unplug and plug back in the BP5 before the other port will start working?

Yes, thank you, I forgot to mention that. After connecting to the binary mode port, I completely disconnected and reconnected (many times actually) with the same results. Tried multiple usb ports between usb3 & usb2, just in case, no love.

It requires sending a sequence of characters. Right now I believe it is 0x00 times 5. I don’t know how @code.chinchilla managed, but the 1ALS is the logic analyzer signature, so it was activated.

@ngoetz please open a support ticket and we’ll send a replacement.

@chrismec It sounds like the hardware is ok and the binary mode is responsive. What terminal program are you using? I recommend teraterm.

Maybe helpful for others getting started: the port settings don’t matter in principal. Speed, bits, etc, generally don’t matter with Windows 10+ USB CDC class. A ‘misconfigured’ port shouldn’t stop the Bus Pirate from connecting.

Just to double check, you’re using the _rev10 firmware? The LCD pins were swapped between REV8 and REV10, so blank LCD is expected when the firmware doesn’t match the hardware.

Sorry ya’ll. I tried on another PC and works fine…

1 Like

That is correct, When I updated the firmware, I used the file named “bus_pirate5_rev10.uf2”. I also had the same issue when I used the default firmware that shipped with the unit.

I did open a ticket, and they said they would ship out a replacement unit ASAP. They were very responsive.

1 Like

Great, I’m glad it’s sorted. Sorry about arriving with a dead LCD. We are looking into this with the factory for the batch they are assembling now.

The factory already requested a modification to the assembly and testing process. They want to get the LCDs taped down ASAP, which is also what we requested and now they seem to understand.

I’d like to confirm I appear to be having analogous problems using Linux. i.e . occasionally, unpredictably, minicom works, but usually there’s unresponsive comms and the ^B and ^D responses are similar to those stated in this thread.

This is currently a showstopper, and work-arounds need to be publicised.

For the avoidance of doubt, I know little about USB comms, little about USB udev rules, and that suits me just fine :slight_smile:

Diagnositics…

I’m using Linux Mint and minicom, with the udev rule
SUBSYSTEM==“tty”, ATTRS{idVendor}==“1209”, ATTRS{idProduct}==“7332”, ATTRS{serial}==“123456789012”, MODE=“0666”, SYMLINK+=“buspirate”
(the idvendor and idproduct are not as stated in the docs, but are taken from the lsusb output "Bus 001 Device 004: ID 1209:7332 InterBiometrics ")

The usbview output is…
Bus Pirate 5
Manufacturer: Bus Pirate
Serial Number: 123456789012
Speed: 12Mb/s (full)
Bus: 1
Address: 4
USB Version: 2.00
Device Class: ef(misc )
Device Subclass: 02
Device Protocol: 01
Maximum Default Endpoint Size: 64
Number of Configurations: 1
Vendor Id: 1209
Product Id: 7332
Revision Number: 1.01

Config Number: 1
Number of Interfaces: 5
Attributes: 80
MaxPower Needed: 100mA

Interface Number: 0
	Name: cdc_acm
	Alternate Number: 0
	Class: 02(comm.) 
	Sub Class: 02
	Protocol: 00
	Number of Endpoints: 1

		Endpoint Address: 81
		Direction: in
		Attribute: 3
		Type: Int.
		Max Packet Size: 8
		Interval: 16ms

Interface Number: 1
	Name: cdc_acm
	Alternate Number: 0
	Class: 0a(data ) 
	Sub Class: 00
	Protocol: 00
	Number of Endpoints: 2

		Endpoint Address: 02
		Direction: out
		Attribute: 2
		Type: Bulk
		Max Packet Size: 64
		Interval: 0ms

		Endpoint Address: 82
		Direction: in
		Attribute: 2
		Type: Bulk
		Max Packet Size: 64
		Interval: 0ms

Interface Number: 2
	Name: cdc_acm
	Alternate Number: 0
	Class: 02(comm.) 
	Sub Class: 02
	Protocol: 00
	Number of Endpoints: 1

		Endpoint Address: 83
		Direction: in
		Attribute: 3
		Type: Int.
		Max Packet Size: 8
		Interval: 16ms

Interface Number: 3
	Name: cdc_acm
	Alternate Number: 0
	Class: 0a(data ) 
	Sub Class: 00
	Protocol: 00
	Number of Endpoints: 2

		Endpoint Address: 04
		Direction: out
		Attribute: 2
		Type: Bulk
		Max Packet Size: 64
		Interval: 0ms

		Endpoint Address: 84
		Direction: in
		Attribute: 2
		Type: Bulk
		Max Packet Size: 64
		Interval: 0ms

Interface Number: 4
	Name: usb-storage
	Alternate Number: 0
	Class: 08(stor.) 
	Sub Class: 06
	Protocol: 50
	Number of Endpoints: 2

		Endpoint Address: 05
		Direction: out
		Attribute: 2
		Type: Bulk
		Max Packet Size: 64
		Interval: 0ms

		Endpoint Address: 85
		Direction: in
		Attribute: 2
		Type: Bulk
		Max Packet Size: 64
		Interval: 0ms

Bus Pirate 5
Manufacturer: Bus Pirate
Serial Number: 123456789012
Speed: 12Mb/s (full)
Bus: 1
Address: 4
USB Version: 2.00
Device Class: ef(misc )
Device Subclass: 02
Device Protocol: 01
Maximum Default Endpoint Size: 64
Number of Configurations: 1
Vendor Id: 1209
Product Id: 7332
Revision Number: 1.01

Config Number: 1
Number of Interfaces: 5
Attributes: 80
MaxPower Needed: 100mA

Interface Number: 0
	Name: cdc_acm
	Alternate Number: 0
	Class: 02(comm.) 
	Sub Class: 02
	Protocol: 00
	Number of Endpoints: 1

		Endpoint Address: 81
		Direction: in
		Attribute: 3
		Type: Int.
		Max Packet Size: 8
		Interval: 16ms

Interface Number: 1
	Name: cdc_acm
	Alternate Number: 0
	Class: 0a(data ) 
	Sub Class: 00
	Protocol: 00
	Number of Endpoints: 2

		Endpoint Address: 02
		Direction: out
		Attribute: 2
		Type: Bulk
		Max Packet Size: 64
		Interval: 0ms

		Endpoint Address: 82
		Direction: in
		Attribute: 2
		Type: Bulk
		Max Packet Size: 64
		Interval: 0ms

Interface Number: 2
	Name: cdc_acm
	Alternate Number: 0
	Class: 02(comm.) 
	Sub Class: 02
	Protocol: 00
	Number of Endpoints: 1

		Endpoint Address: 83
		Direction: in
		Attribute: 3
		Type: Int.
		Max Packet Size: 8
		Interval: 16ms

Interface Number: 3
	Name: cdc_acm
	Alternate Number: 0
	Class: 0a(data ) 
	Sub Class: 00
	Protocol: 00
	Number of Endpoints: 2

		Endpoint Address: 04
		Direction: out
		Attribute: 2
		Type: Bulk
		Max Packet Size: 64
		Interval: 0ms

		Endpoint Address: 84
		Direction: in
		Attribute: 2
		Type: Bulk
		Max Packet Size: 64
		Interval: 0ms

Interface Number: 4
	Name: usb-storage
	Alternate Number: 0
	Class: 08(stor.) 
	Sub Class: 06
	Protocol: 50
	Number of Endpoints: 2

		Endpoint Address: 05
		Direction: out
		Attribute: 2
		Type: Bulk
		Max Packet Size: 64
		Interval: 0ms

		Endpoint Address: 85
		Direction: in
		Attribute: 2
		Type: Bulk
		Max Packet Size: 64
		Interval: 0ms