Dongle detected, bcdDevice Returns V 99.55, cannot reflash firmware

Post here to get support
H0stname
Beginner
Posts: 1
Joined: Fri Feb 17, 2017 5:44 am

Dongle detected, bcdDevice Returns V 99.55, cannot reflash firmware

Postby H0stname » Fri Feb 17, 2017 5:55 am

I was up late debugging/setting up my cool new Crazyflie 2.0. I had another bug with radio connectivity before I did anything, and I tried to fix it by flashing newer firmware.

I think I may have flashed the non-PA firmware to the Crazyradio PA (but used the PA flags when building). It is now detectable by both my Windows 7 Host OS and the Crazyflie VM guest in Virtualbox, but neither will let the Crazyflie PC client see/use the radio, and querying with:
> lsusb -d 1915:7777 -v | grep bcdDevice

returns V 99.55

Which obviously isn't correct. Now when trying to flash the correct PA firmware binary downloaded from here:
https://github.com/bitcraze/crazyradio- ... e/releases

the flashing program fails. Here is the complete terminal printout:


itcraze@bitcraze-vm:~/Desktop/projects/crazyradio-firmware$ python3 usbtools/launchBootloader.py
Launch bootloader
....
Error!, bootloader not started
bitcraze@bitcraze-vm:~/Desktop/projects/crazyradio-firmware$


(It actually is started, I tell virtualbox to connect the device in bootloader mode back to the guest OS, run that again, it will say bootloader already started)


bitcraze@bitcraze-vm:~/Desktop/projects/crazyradio-firmware$ python3 usbtools/nrfbootload.py flash cradio-pa-0.53.bin
Found nRF24LU1 bootloader version 18.0
Flashing:
Flashing 5810 bytes...
Traceback (most recent call last):
File "/usr/local/lib/python3.4/dist-packages/usb/_interop.py", line 134, in as_array
return array.array('B', data)
TypeError: integer argument expected, got float

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "usbtools/nrfbootload.py", line 135, in <module>
if bl.write(fileData):
File "/home/bitcraze/projects/crazyradio-firmware/usbtools/NrfUsbBootloader.py", line 139, in write
if not self.writePage(data[i:(i+PAGE_SIZE)], (address+i)/PAGE_SIZE):
File "/home/bitcraze/projects/crazyradio-firmware/usbtools/NrfUsbBootloader.py", line 107, in writePage
self.handle.bulkWrite(0x01, (CMD_PAGE_ERASE, pageNum), 1000)
File "/usr/local/lib/python3.4/dist-packages/usb/legacy.py", line 148, in bulkWrite
return self.dev.write(endpoint, buffer, timeout)
File "/usr/local/lib/python3.4/dist-packages/usb/core.py", line 877, in write
_interop.as_array(data),
File "/usr/local/lib/python3.4/dist-packages/usb/_interop.py", line 139, in as_array
a.fromstring(data)
TypeError: 'tuple' does not support the buffer interface



I learned my lesson and will cut myself off before I get sleep deprived and try to play with low level stuff, but this is so cool and I'm thrilled it's all in Python. I have the SPI interface, do I need to lookup the procedure to do that or is there something else I can try first? It doesn't seem bricked in the conventional sense, but something is definitely wrong. What is going on here, is there a bug in 'nrfbootload.py' or is this unhandled because no one was stupid enough to flash the wrong firmware? Lol

I would like to add that it did say 'Verified' or whatever at the end of the flash, but I assume this is a checksum of flashed data or something, not a check to make sure it was the right data for some hardware.

Any help is appreciated, I am working in a class and have had the first shot at this drone and want to fix it before I hand it off to the next person. We will hopefully be doing dev the rest of the semester so I look forward to that once I get the drone working again and also resolve the previously mentioned (but will post new thread if needed) Crazyradio connectivity issues.



Return to “Support”

Who is online

Users browsing this forum: No registered users and 1 guest