Problem when flashing keyboardio model 100 (TOUCH: error during reset: setting DTR to OFF: cannot send after transport endpoint shutdown)

Problem when flashing keyboardio model 100 (TOUCH: error during reset: setting DTR to OFF: cannot send after transport endpoint shutdown)

Hi,

I want to migrate from my old keyboardio model 01 (I made a fork from GitHub - keyboardio/Model01-Firmware: The "standard" Keyboardio Model 01 Firmware sketch.).
So I tried to flash my new keyboard model 100 from the instructions of this repo GitHub - keyboardio/Kaleidoscope: Firmware for Keyboardio keyboards and other keyboards with AVR or ARM MCUs..

For information, before I need to (it should be added to the documentation),

I can compile “make compile” but when I do “make flash”, the upload seems ok but I think the command to really activate the firmware after the upload does not seem work.
So after the “make flash”, nothing has changed on the keyboard relatively to some modifications I made in the Model100.ino file.

This is the end of log file when I do : “VERBOSE=1 make flash”

To update your keyboard's firmware, hold down the 'Prog' key on your keyboard. (When flashing starts, you can release it.) ***If you are upgrading from the factory firmware or a build from before October 2022, disconnect your Model 100 from the computer and hold down the 'Prog' key while plugging it back in.***

When you're ready to proceed, press 'Enter'.

Splaoidl Qlipr "** = Edoqéaop .poudl' *h*h*
ARDUINO_DIRECTORIES_USER=/home/anavarro/IdeaProjects/Kaleidoscope/.arduino/user ARDUINO_DIRECTORIES_DATA=/home/anavarro/IdeaProjects/Kaleidoscope/.arduino/data /home/anavarro/IdeaProjects/Kaleidoscope/bin/arduino-cli upload --fqbn keyboardio:gd32:keyboardio_model_100 \
--port /dev/ttyACM0 \
--input-dir "/tmp/kaleidoscope-anavarro/output/4128530888-Model100.ino" \
--verbose
Performing 1200-bps touch reset on serial port /dev/ttyACM0
TOUCH: error during reset: setting DTR to OFF: cannot send after transport endpoint shutdown
Waiting for upload port...
No upload port found, using /dev/ttyACM0 as fallback
"/home/anavarro/IdeaProjects/Kaleidoscope/.arduino/data/packages/keyboardio/tools/dfu-util/0.11.0-arduino3/dfu-util" --device 0x3496:0x0005 -D "/tmp/kaleidoscope-anavarro/output/4128530888-Model100.ino/Model100.ino.bin" -R
dfu-util 0.11

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2021 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

Opening DFU capable USB device...
Device ID 3496:0005
Device DFU version 0110
Claiming USB DFU Interface...
Setting Alternate Interface #0 ...
Determining device status...
DFU state(2) = dfuIDLE, status(0) = No error condition is present
DFU mode device DFU version 0110
Device returned transfer size 1024
Copying data from PC to DFU device
Download	[=========================] 100%       168492 bytes
Download done.
DFU state(7) = dfuMANIFEST, status(0) = No error condition is present
DFU state(2) = dfuIDLE, status(0) = No error condition is present
Done!
Resetting USB to switch back to Run-Time mode

I suspect the problem is linked to these warnings :
Performing 1200-bps touch reset on serial port /dev/ttyACM0
TOUCH: error during reset: setting DTR to OFF: cannot send after transport endpoint shutdown
Waiting for upload port…
No upload port found, using /dev/ttyACM0 as fallback

For information, 10 seconds occurs between Waiting for upload port… and No upload port found, using /dev/ttyACM0 as fallback (I suposed a timout of 10s).

I tried to make flash after plugging my keyboardio with prog key down but it does not work also.
I updated with last updated firmware (0.91) with Chrysalis before (it changes nothing).

Some result of some commands if it can help.

npx @serialport/list -f jsonline

{"path":"/dev/ttyACM0","manufacturer":"Keyboardio","serialNumber":"65648C791339","pnpId":"usb-Keyboardio_Model_100_65648C791339-if00","vendorId":"3496","productId":"0006"}
{"path":"/dev/ttyS1"}
{"path":"/dev/ttyS10"}
{"path":"/dev/ttyS11"}
{"path":"/dev/ttyS12"}
{"path":"/dev/ttyS13"}
{"path":"/dev/ttyS14"}
{"path":"/dev/ttyS15"}
{"path":"/dev/ttyS16"}
{"path":"/dev/ttyS17"}
{"path":"/dev/ttyS18"}
{"path":"/dev/ttyS19"}
{"path":"/dev/ttyS2"}
{"path":"/dev/ttyS20"}
{"path":"/dev/ttyS21"}
{"path":"/dev/ttyS22"}
{"path":"/dev/ttyS23"}
{"path":"/dev/ttyS24"}
{"path":"/dev/ttyS25"}
{"path":"/dev/ttyS26"}
{"path":"/dev/ttyS27"}
{"path":"/dev/ttyS28"}
{"path":"/dev/ttyS29"}
{"path":"/dev/ttyS3"}
{"path":"/dev/ttyS30"}
{"path":"/dev/ttyS31"}
{"path":"/dev/ttyS4"}
{"path":"/dev/ttyS5"}
{"path":"/dev/ttyS6"}
{"path":"/dev/ttyS7"}
{"path":"/dev/ttyS8"}
{"path":"/dev/ttyS9"}
{"path":"/dev/ttyS0"}

I’m not sure if it is normal, but when I do

dfu-util -lv

, I see nothing (I supposed I should see my keyboardio).

dfu-util 0.11

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2021 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

libusb version 1.0.26 (11724)

I need to plug my keyboard with holding the prog key to see something.

dfu-util 0.11

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2021 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

libusb version 1.0.26 (11724)
Found DFU: [3496:0005] ver=0111, devnum=97, cfg=1, intf=0, path="1-8", alt=0, name="DAPBoot DFU", serial="4E363431383839132B563034"

I’m on archlinux, I tried on another computer on ubuntu with the same results.

Thanks in advance if someone has a solution to my problem or have to ideas to move forward (some command to debug for instance).