-
Notifications
You must be signed in to change notification settings - Fork 95
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Updating bootloader fails #42
Comments
Wait, no - after reupdating tinyprog (it said everything was already up to date), I tried again and it started to work, but then errored out on phase 2, as shown below: erhannis@mnode6:~/3dPrinting/created$ tinyprog --update-bootloader
Traceback (most recent call last): Further attempts yield the following: erhannis@mnode6:~/3dPrinting/created$ tinyprog --update-bootloader
That makes me concerned that my board is only half programmed. Anybody know? |
Hmmmmm. Trying to upload a program eventually timed out in 144.7 s So I disconnected and reconnected the device. The power LED came on, but not the boot LED. (The boot LED had previously been pulsing.) Trying to update the bootloader resulted in the following: erhannis@mnode6:~/3dPrinting/created$ tinyprog --update-bootloader
Pressing the reset button made the boot LED glow dimly while I held down the button, but it stayed off when I let the button go. So is my device bricked now, or what? |
I have the same issue you describe in your second comment, but luckily read your issue before trying again to upgrade my bootloader. My bootloader still seems intact, but trying to program the board with the demo project gives the same error (tried with multiple versions of tinyprog, both as user and root on an up-to-date Archlinux (4.20.11-arch1-1-ARCH) with python 3.7.2)
Update:I switched to Windows (with Python 3.7.2) and tinyprog v1.0.23 works just fine, I'll try updating the bootloader here and going back to linux.
Back on Linux:Both with pyserial and libusb options set it still does not work. It manages different amounts of progress before yielding that error, one time it got to "Reading 100%", but then printed "Failure!", other times it fails while erasing or programming with the error message above. |
Ok, so I made it work under linux once: I modified TinyProg.cmd to re-issue the command if the read timeouts before receiving the appropriate number of bytes. Also TinyProg.wait_while_busy needs to discard exceptions. This worked once, but every time I try it now, it errors out more often than not:
I'll include the two modified functions below.
I'll wait for a proper fix now, no point in wearing out my flash any more |
For anyone stumbling over this issue in the future: uninstall modemmanager from your system. The udev rules alone did not work for me, now it works flawlessly on linux too! Fixing the bootloader is described here |
I have modemmanager removed, yet seem to run into the same error as above (that ends line: |
For anyone else finding this, see also #18, #43, and https://discourse.tinyfpga.com/t/error-while-updating-bootloader-invalid-literal-for-int-with-base-10/484/3 (the last one with some hints on fixing a bricked board if you know how to solder and have a SPI flash programmer, or something that can work that way). The description for fixing the board at: https://discourse.tinyfpga.com/t/bx-bootloader-bricked/852/3 (from the earlier comment -- #42 (comment)) contains a range of possible ways to reprogram the SPI flash, and links to other people's fixes. Ewen |
While following the instructions at https://tinyfpga.com/bx/guide.html , I typed the following and received the displayed response:
erhannis@mnode6:~/Documents/tinyfpga$ tinyprog --update-bootloader
Traceback (most recent call last):
File "/usr/local/bin/tinyprog", line 11, in
sys.exit(main())
File "/usr/local/lib/python2.7/dist-packages/tinyprog/main.py", line 308, in main
check_for_wrong_tinyfpga_bx_vidpid() +
File "/usr/local/lib/python2.7/dist-packages/tinyprog/main.py", line 91, in check_for_wrong_tinyfpga_bx_vidpid
if m[u"boardmeta"][u"name"] == u"TinyFPGA BX":
TypeError: 'NoneType' object has no attribute 'getitem'
Anybody know why?
The text was updated successfully, but these errors were encountered: