This now works with the dfu-util I built after patching the makefile. I do not know why this library check is botching on some macs, until I found that other reference I was beginning to believe it was just something weird in my machine. Now I can reproduce it on two mac’s and see someone else is having it I feel less bad.
Thanks for pointing out my confusion on upload download…
Oh I tried to download Benf’s 3.32 and dfu-util complains that it can not find a valid DfuSe signature, I tried specifying this via -D 0x0800[C4]000 for the app and lib, and the device starts the lib, but quickly fails and reboots in a very quick, but unending sequence. I am not sure what is going on there.
The signature error**
DSO%20BenF%20Firmware%20v3-1 rich$ dfu-util -a 0 --dfuse default -d 0x0483:0xdf11 -D DSO\ BenF\ LIB\ v3.30.dfu
dfu-util - © 2005-2008 by Weston Schmidt, Harald Welte and OpenMoko Inc.
© 2010 Tormod Volden (experimental DfuSe support)
This program is Free Software and has ABSOLUTELY NO WARRANTY
dfu-util does currently only support DFU version 1.0
Opening DFU USB device… ID 0483:df11
Claiming USB DFU Runtime Interface…
Determining device status: state = dfuIDLE, status = 0
WARNING: Runtime device already in DFU state ?!?
Found Runtime: [0x0483:0xdf11] devnum=4, cfg=0, intf=0, alt=0, name="@Internal Flash /0x08000000/12001Ka,116001Kg"
Claiming USB DFU Interface…
Setting Alternate Setting #0 …
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
Device returned transfer size 1024
No valid DfuSe signature
***** one of the unsuccessful, but claimed success uploads with the address specified on the command line *****
DSO%20BenF%20Firmware%20v3-1 rich$ dfu-util -a 0 --dfuse 0x08004000 -d 0x0483:0xdf11 -D DSO\ BenF\ LIB\ v3.30.dfu
dfu-util - © 2005-2008 by Weston Schmidt, Harald Welte and OpenMoko Inc.
© 2010 Tormod Volden (experimental DfuSe support)
This program is Free Software and has ABSOLUTELY NO WARRANTY
dfu-util does currently only support DFU version 1.0
Opening DFU USB device… ID 0483:df11
Claiming USB DFU Runtime Interface…
Determining device status: state = dfuERROR, status = 10
dfuERROR, clearing status
not at least 2 device changes found ?!?
Opening USB Device…
Found Runtime: [0x0483:0xdf11] devnum=4, cfg=0, intf=0, alt=0, name="@Internal Flash /0x08000000/12001Ka,116001Kg"
Claiming USB DFU Interface…
Cannot claim interface: Permission denied
richard-hydes-macbook-air:DSO%20BenF%20Firmware%20v3-1 rich$ dfu-util -a 0 --dfuse 0x08004000 -d 0x0483:0xdf11 -D DSO\ BenF\ LIB\ v3.30.dfu
dfu-util - © 2005-2008 by Weston Schmidt, Harald Welte and OpenMoko Inc.
© 2010 Tormod Volden (experimental DfuSe support)
This program is Free Software and has ABSOLUTELY NO WARRANTY
dfu-util does currently only support DFU version 1.0
Opening DFU USB device… ID 0483:df11
Claiming USB DFU Runtime Interface…
Determining device status: state = dfuIDLE, status = 0
WARNING: Runtime device already in DFU state ?!?
Found Runtime: [0x0483:0xdf11] devnum=4, cfg=0, intf=0, alt=0, name="@Internal Flash /0x08000000/12001Ka,116001Kg"
Claiming USB DFU Interface…
Setting Alternate Setting #0 …
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
Device returned transfer size 1024
address = 0x08004000, size = 32768
Erasing page at address 0x08004000, 1k page starting at 0x08004000
Setting address pointer to 0x08004000
Wrote 1024 bytes at 0x08004000
Erasing page at address 0x08004400, 1k page starting at 0x08004400
Setting address pointer to 0x08004400
Wrote 1024 bytes at 0x08004400
Erasing page at address 0x08004800, 1k page starting at 0x08004800
Setting address pointer to 0x08004800
Wrote 1024 bytes at 0x08004800
Erasing page at address 0x08004c00, 1k page starting at 0x08004c00
Setting address pointer to 0x08004c00
Wrote 1024 bytes at 0x08004c00
Erasing page at address 0x08005000, 1k page starting at 0x08005000
Setting address pointer to 0x08005000
Wrote 1024 bytes at 0x08005000
Erasing page at address 0x08005400, 1k page starting at 0x08005400
Setting address pointer to 0x08005400
Wrote 1024 bytes at 0x08005400
Erasing page at address 0x08005800, 1k page starting at 0x08005800
Setting address pointer to 0x08005800
Wrote 1024 bytes at 0x08005800
Erasing page at address 0x08005c00, 1k page starting at 0x08005c00
Setting address pointer to 0x08005c00
Wrote 1024 bytes at 0x08005c00
Erasing page at address 0x08006000, 1k page starting at 0x08006000
Setting address pointer to 0x08006000
Wrote 1024 bytes at 0x08006000
Erasing page at address 0x08006400, 1k page starting at 0x08006400
Setting address pointer to 0x08006400
Wrote 1024 bytes at 0x08006400
Erasing page at address 0x08006800, 1k page starting at 0x08006800
Setting address pointer to 0x08006800
Wrote 1024 bytes at 0x08006800
Erasing page at address 0x08006c00, 1k page starting at 0x08006c00
Setting address pointer to 0x08006c00
Wrote 1024 bytes at 0x08006c00
Erasing page at address 0x08007000, 1k page starting at 0x08007000
Setting address pointer to 0x08007000
Wrote 1024 bytes at 0x08007000
Erasing page at address 0x08007400, 1k page starting at 0x08007400
Setting address pointer to 0x08007400
Wrote 1024 bytes at 0x08007400
Erasing page at address 0x08007800, 1k page starting at 0x08007800
Setting address pointer to 0x08007800
Wrote 1024 bytes at 0x08007800
Erasing page at address 0x08007c00, 1k page starting at 0x08007c00
Setting address pointer to 0x08007c00
Wrote 1024 bytes at 0x08007c00
Erasing page at address 0x08008000, 1k page starting at 0x08008000
Setting address pointer to 0x08008000
Wrote 1024 bytes at 0x08008000
Erasing page at address 0x08008400, 1k page starting at 0x08008400
Setting address pointer to 0x08008400
Wrote 1024 bytes at 0x08008400
Erasing page at address 0x08008800, 1k page starting at 0x08008800
Setting address pointer to 0x08008800
Wrote 1024 bytes at 0x08008800
Erasing page at address 0x08008c00, 1k page starting at 0x08008c00
Setting address pointer to 0x08008c00
Wrote 1024 bytes at 0x08008c00
Erasing page at address 0x08009000, 1k page starting at 0x08009000
Setting address pointer to 0x08009000
Wrote 1024 bytes at 0x08009000
Erasing page at address 0x08009400, 1k page starting at 0x08009400
Setting address pointer to 0x08009400
Wrote 1024 bytes at 0x08009400
Erasing page at address 0x08009800, 1k page starting at 0x08009800
Setting address pointer to 0x08009800
Wrote 1024 bytes at 0x08009800
Erasing page at address 0x08009c00, 1k page starting at 0x08009c00
Setting address pointer to 0x08009c00
Wrote 1024 bytes at 0x08009c00
Erasing page at address 0x0800a000, 1k page starting at 0x0800a000
Setting address pointer to 0x0800a000
Wrote 1024 bytes at 0x0800a000
Erasing page at address 0x0800a400, 1k page starting at 0x0800a400
Setting address pointer to 0x0800a400
Wrote 1024 bytes at 0x0800a400
Erasing page at address 0x0800a800, 1k page starting at 0x0800a800
Setting address pointer to 0x0800a800
Wrote 1024 bytes at 0x0800a800
Erasing page at address 0x0800ac00, 1k page starting at 0x0800ac00
Setting address pointer to 0x0800ac00
Wrote 1024 bytes at 0x0800ac00
Erasing page at address 0x0800b000, 1k page starting at 0x0800b000
Setting address pointer to 0x0800b000
Wrote 1024 bytes at 0x0800b000
Erasing page at address 0x0800b400, 1k page starting at 0x0800b400
Setting address pointer to 0x0800b400
Wrote 1024 bytes at 0x0800b400
Erasing page at address 0x0800b800, 1k page starting at 0x0800b800
Setting address pointer to 0x0800b800
Wrote 1024 bytes at 0x0800b800
Erasing page at address 0x0800bc00, 1k page starting at 0x0800bc00
Setting address pointer to 0x0800bc00
Wrote 1024 bytes at 0x0800bc00