Issues flashing hex files onto Pro Micro

Hi! I've been using arduinos for a while, but I've never delved into actual avr bootloader programming. I have in front of me an arduino pro micro. I purchased it from this link:

I am using this for a project. I'm using Soarer's converter firmware from the forum post found here:

to convert a terminal IBM model M keyboard with an RJ-45 port to usb.

Here's the thing. I can upload sketches to the pro micro without a problem in the arduino IDE.

There's the verbose arduino log of a successful flashing of the "Blink" example sketch.

I see that the command it uses to flash is the following.

[shell] $ /usr/share/arduino/hardware/tools/avr/bin/avrdude -C /usr/share/arduino/hardware/tools/avr/etc/avrdude.conf -v true -p atmega32u4 -c avr109 -P/dev/ttyACM1 -b 57600 -D -U flash:w:HEXFILEHERE:i

So, I tried to run the same command in my own shell(I use arch linux by the way, not sure if that is relevant), and it fails with the following errors.

This is very strange for me... I mean, I run the EXACT same command? Why would that have a different result?

Does anybody know what causes this?



I think the giveaway is this in the log that worked:

Forcing reset using 1200bps open/close on port /dev/ttyACM1

I think what you need to do is reset the board by opening and closing the port at that baud rate (or - probably - just resetting the board with reset button at appropriate time), and then immediately thereafter run the avrdude command.

Otherwise, the bootloader isn't running, the application is, so avrdude can't program it.