Closed denolfe closed 8 years ago
in tmk_core/avr.mk
try commenting out lines 110-113 and see if that makes a difference. I only tested #521 on a Planck, but perhaps whatever mcu satan uses doesn't respond to a bootloader version request.
@exiva Thanks for the idea, but it had no effect on whether the device was found.
This has to be a driver issue as my firmware compiles fine. I also can see my board when I put it into DFU mode. lsusb
outputs Bus 001 Device 046: ID 03eb:2ff4 Atmel Corp. atmega32u4 DFU bootloader
. Maybe I'll take a look at avrdude or easyavr to see if I have better luck.
So I got my keyboard to flash by using Git Bash on Windows. However, the device does not get detected in the AVR Shell or in Ubuntu.
This confused me for a while too, try to run it in sudo, so "sudo make dfu"
@kuel Thanks, I'll give that a try tonight. If that's the case, it would be a bit of an oversight by me :sweat_smile:
@kuel Unfortunately, running it in sudo did not make a difference :cry:
Does it work in just regular CMD? Other USB ports maybe (sometimes USB 2 or 3 can cause problems with certain devices)?
I've tried letting make dfu
put the device into dfu mode as well as pushing the button. Both yield the same result.
Interestingly, the dfu-programmer erase command was able to blow away my config. I'm pretty confused at this point.
EDIT: I should be able to use the dfu-programmer flash command with my hex file. I'll try that when I'm able.
Try flashing it with the default .hex download https://github.com/jackhumbert/qmk_firmware/releases/download/v4.0/planck_pcb_r4.hex
then run
dfu-programmer atmega32u4 erase --force
dfu-programmer atmega32u4 flash planck_pcb_r4.hex
dfu-programmer atmega32u4 reset
EDIT: oh, I suppose you might have something other than the planck.
I landed here after experiencing a similar issue flashing my Planck on my Ubuntu 16.04 machine.
Cloned the QMK repo, navigated to my respective keyboard (/keyboards/planck/
), and successfully ran make
. Hitting the Reset button made the keyboard properly appear in lsusb
. When I attempted to run make dfu
the process suspended with this message:
dfu-programmer: no device present.
Error: Bootloader not found. Trying again in 5s.
I read through this thread and tried a few of the recommendations. sudo make dfu
had the same results as above. Next I tried dfu-programmer atmega32u4 erase
but this too had an error: dfu-programmer: no device present.
However adding a sudo
to the commands @kuel listed did the trick:
sudo dfu-programmer atmega32u4 erase
sudo dfu-programmer atmega32u4 flash planck_pcb_r4.hex
sudo dfu-programmer atmega32u4 reset
Happily typing away on my new keymap!
If Linux requires sudo to use dfu-programmer
, try this tmk_core/avr.mk which should prompt for sudo access on make dfu
and use it. (note: I haven't tested this out on Linux, and I just bodged it together.) https://gist.github.com/exiva/0c353e2a940eefcf3a6dfeb897861333
Well, I was confused when I said I was able to do the erase
command on my board. I was able to do it on Windows, but my board is still unrecognized in Linux regardless of sudo
. Thanks for all of those that have chimed in this far, though.
Well, after all the struggle, pressing the hardware button on the back does indeed put it into the correct state for flashing. Not sure why make dfu
cannot put it into that state on its own, but not a big deal at all. Thanks all again.
@thaddeusreid - your answer worked for me
I got a kbdfans assembled GH60 keyboard (which I'm typing on right now!)
make with the dfu would just fail.
After doing your erase, flash, reset... everything worked great.
Thanks!
I've been using Msys2 do you know how to solve this? My board is already on bootloader :(
I am getting this error on both my Windows and Ubuntu-based machine when attempting a
make dfu
:I am only able to find dfu-programmer 0.6.1 in my linux repos. I attempted to compile 0.7.2 to see if that was the issue, but I was unsuccessful in doing so.
Any help is appreciated, thanks!