Getting a new BX to work [solved]


#1

I tried updating the bootloader for a new bx but tinyprog crashed before stage 2:
tinyprog --update-bootloader

TinyProg CLI
------------
Using device id 1d50:6130
Only one board with active bootloader, using it.

The following update:

    New Version: 1.0.1
    Notes: Updates USB VID:PID to fix issues with APIO not recognizing the board.

is available for this board:

    /dev/ttyACM0: TinyFPGA BX 1.0.0
        UUID: eabee5c8-2da3-414c-bc64-6e417ea03f48
        FPGA: ice40lp8k-cm81

Would you like to perform the update? [y/N] y
Fetching stage one...
Programming stage one...
Programming and Verifying: 100%|█████████| 135k/135k [00:03<00:00, 44.0kB/s]
...Success!
Waiting for stage one to reconnect.......................Traceback (most recent call last):
  File "/home/turtlestew/.local/bin/tinyprog", line 11, in <module>
    sys.exit(main())
  File "/home/turtlestew/.local/lib/python2.7/site-packages/tinyprog/__main__.py", line 316, in main
    perform_bootloader_update(port)
  File "/home/turtlestew/.local/lib/python2.7/site-packages/tinyprog/__main__.py", line 174, in perform_bootloader_update
    with new_port:
AttributeError: __exit__

Now the boot LED pulses and won’t stop. I’ve tried tinyprog -b but it wouldn’t recognize the device and it wasn’t listed by lsusb. What caused this, what can I do to prevent it from happening again, and how do I fix this? Is it permanently bricked?


#2

Do you see anything printed in dmesg if you disconnect and reconnect the board?


#3

I booted up my machine this morning and immediately checked dmesg. It did log the disconnect and reconnect of the bx. I also checked lsusb again and it was listed as a “InterBiometrics” device. I ran tinyprog -m and it listed my board’s meta data. Looks like the connection problem is solved. What about the update crash?


#4

I think it crashed because the board didn’t reconnect properly. Personally I wouldn’t recommend updating the bootloader unless you really need to as the risk of bricking is too high (although it is possible to unbrick if you have a suitable FTDI cable around)


#5

I did some more poking around and it seems my cheep usb extension cable was faulty :ok_hand: