[Hackrf-dev] SPI flash write fails trying to update firmware

Anders Hammarquist iko at iko.pp.se
Tue Aug 11 20:23:20 EDT 2015


Hi!

Having recieved my Portapack, I tried writing the custom firmware
for it using hackrf_spiflash, but although the command appeared
successful, the firmware hasn't stuck in the flash. Also trying to
update to a newer normal hackrf firmware fails similarly.
ckRF board 0:
USB descriptor string: 0000000000000000457863c82536541f
Board ID Number: 2 (HackRF One)
Firmware Version: 2015.07.2
Part ID Number: 0xa000cb3c 0x005a433c
Serial Number: 0x00000000 0x00000000 0x457863c8 0x2536541f

The hackrf itself seems to work fine (smoke test of receiving local
broadcast FM works).

Trying to write 2015.07.2 firmware:

: luggage; hackrf_info                     ;: …hackrf-2015.07.2/firmware-bin 2:02
Found HackRF board 0:
Board ID Number: 2 (HackRF One)
Firmware Version: git-44df9d1
Part ID Number: 0xa000cb3c 0x005a433c
Serial Number: 0x00000000 0x00000000 0x457863c8 0x2536541f
: luggage; hackrf_spiflash -w hackrf_one_usb_rom_to_ram.bin              
File size 20452 bytes.
Erasing SPI flash.
Writing 20452 bytes at 0x000000.
[press reset]
: luggage; hackrf_info                     ;: …hackrf-2015.07.2/firmware-bin 2:05
Found HackRF board 0:
Board ID Number: 2 (HackRF One)
Firmware Version: git-44df9d1
Part ID Number: 0xa000cb3c 0x005a433c
Serial Number: 0x00000000 0x00000000 0x457863c8 0x2536541f

loading with dfu works:
: luggage; dfu-util --device 1fc9:000c --download hackrf_one_usb_ram.dfu --reset
dfu-util 0.8

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2014 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to dfu-util at lists.gnumonks.org

dfu-util: DFU suffix CRC does not match
dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!
Deducing device DFU version from functional descriptor length
Opening DFU capable USB device...
ID 1fc9:000c
Run-time device DFU version 0100
Claiming USB DFU Runtime Interface...
Determining device status: state = dfuIDLE, status = 0
dfu-util: WARNING: Runtime device already in DFU state ?!?
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 0100
Device returned transfer size 2048
Copying data from PC to DFU device
Download        [=========================] 100%        20484 bytes
Download done.
dfu-util: unable to read DFU status after completion
dfu-util: can't detach
Resetting USB to switch back to runtime mode
dfu-util: error resetting after download
: luggage; hackrf_info                     ;: …hackrf-2015.07.2/firmware-bin 2:06
Found HackRF board 0:
USB descriptor string: 0000000000000000457863c82536541f
Board ID Number: 2 (HackRF One)
Firmware Version: 2015.07.2
Part ID Number: 0xa000cb3c 0x005a433c
Serial Number: 0x00000000 0x00000000 0x457863c8 0x2536541f

Any hints? Bad flash chip? (Accidentally write protected? Is the
write protect feature of it used?)

Is is possible to hook up an external SPI programmer to read/write
the flash? If so, this is something I could do to check it.

/Anders


More information about the HackRF-dev mailing list