Ralim / IronOS-dfu

Minimal USB-DFU for Miniware products with OLED driver support
GNU General Public License v3.0
38 stars 8 forks source link

No upload/download with TS101 in runtime mode #17

Open m0rb opened 1 year ago

m0rb commented 1 year ago

Hi Ralim!

just got a new iron and wanted to test out #16

unfortunately I'm unable to upload or download anything while in runtime mode;

$ dfu-util -l
dfu-util 0.11
...
Found DFU: [28e9:0189] ver=0200, devnum=92, cfg=1, intf=0, path="7-1", alt=0, name="@Internal Flash /0x08000000/32*001Kg", serial="9"
$ dfu-util  -vvv -d 28e9:0189 -U backup.bin  -s 0x08000000:0x8000 
dfu-util 0.11
...
libusb version 1.0.26 (11724)
[timestamp] [threadID] facility level [function call] <message>
--------------------------------------------------------------------------------
[ 0.006322] [0001345e] libusb: debug [libusb_get_device_list]  
[ 0.006326] [0001345e] libusb: debug [discovered_devs_append] need to increase capacity
[ 0.006329] [0001345e] libusb: debug [libusb_get_device_descriptor]  
[ 0.006330] [0001345e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.006334] [0001345e] libusb: debug [libusb_get_device_descriptor]  
[ 0.006336] [0001345e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.006338] [0001345e] libusb: debug [parse_endpoint] skipping descriptor 0x30
[ 0.006339] [0001345e] libusb: debug [libusb_get_device_descriptor]  
[ 0.006341] [0001345e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.006341] [0001345e] libusb: debug [parse_endpoint] skipping descriptor 0x30
[ 0.006343] [0001345e] libusb: debug [libusb_get_device_descriptor]  
[ 0.006343] [0001345e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.006344] [0001345e] libusb: debug [libusb_open] open 7.92
[ 0.006365] [0001345e] libusb: debug [usbi_add_event_source] add fd 7 events 4
[ 0.006367] [0001345e] libusb: debug [libusb_submit_transfer] transfer 0x5595a77d6760
[ 0.006368] [0001345e] libusb: debug [add_to_flying_list] arm timer for timeout in 1000ms (first in line)
[ 0.006386] [0001345e] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 0.006388] [0001345e] libusb: debug [handle_events] event sources modified, reallocating event data
[ 0.006389] [0001345e] libusb: debug [usbi_wait_for_events] poll() 3 fds with timeout in 60000ms
[ 0.007794] [0001345e] libusb: debug [usbi_wait_for_events] poll() returned 1
[ 0.007800] [0001345e] libusb: debug [reap_for_handle] urb type=2 status=0 transferred=4
[ 0.007803] [0001345e] libusb: debug [handle_control_completion] handling completion status 0
[ 0.007805] [0001345e] libusb: debug [arm_timer_for_next_timeout] no timeouts, disarming timer
[ 0.007806] [0001345e] libusb: debug [usbi_handle_transfer_completion] transfer 0x5595a77d6760 has callback 0x7f62628b5540
[ 0.007807] [0001345e] libusb: debug [sync_transfer_cb] actual_length=4
[ 0.007810] [0001345e] libusb: debug [libusb_free_transfer] transfer 0x5595a77d6760
[ 0.007812] [0001345e] libusb: debug [libusb_submit_transfer] transfer 0x5595a77d7280
[ 0.007814] [0001345e] libusb: debug [add_to_flying_list] arm timer for timeout in 1000ms (first in line)
[ 0.007851] [0001345e] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 0.007852] [0001345e] libusb: debug [usbi_wait_for_events] poll() 3 fds with timeout in 60000ms
[ 0.010606] [0001345e] libusb: debug [usbi_wait_for_events] poll() returned 1
[ 0.010624] [0001345e] libusb: debug [reap_for_handle] urb type=2 status=0 transferred=74
[ 0.010630] [0001345e] libusb: debug [handle_control_completion] handling completion status 0
[ 0.010634] [0001345e] libusb: debug [arm_timer_for_next_timeout] no timeouts, disarming timer
[ 0.010639] [0001345e] libusb: debug [usbi_handle_transfer_completion] transfer 0x5595a77d7280 has callback 0x7f62628b5540
[ 0.010643] [0001345e] libusb: debug [sync_transfer_cb] actual_length=74
[ 0.010650] [0001345e] libusb: debug [libusb_free_transfer] transfer 0x5595a77d7280
[ 0.010657] [0001345e] libusb: debug [libusb_submit_transfer] transfer 0x5595a77d4d10
[ 0.010661] [0001345e] libusb: debug [add_to_flying_list] arm timer for timeout in 1000ms (first in line)
[ 0.010680] [0001345e] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 0.010683] [0001345e] libusb: debug [usbi_wait_for_events] poll() 3 fds with timeout in 60000ms
[ 0.013871] [0001345e] libusb: debug [usbi_wait_for_events] poll() returned 1
[ 0.013889] [0001345e] libusb: debug [reap_for_handle] urb type=2 status=0 transferred=4
[ 0.013895] [0001345e] libusb: debug [handle_control_completion] handling completion status 0
[ 0.013899] [0001345e] libusb: debug [arm_timer_for_next_timeout] no timeouts, disarming timer
[ 0.013903] [0001345e] libusb: debug [usbi_handle_transfer_completion] transfer 0x5595a77d4d10 has callback 0x7f62628b5540
[ 0.013908] [0001345e] libusb: debug [sync_transfer_cb] actual_length=4
[ 0.013914] [0001345e] libusb: debug [libusb_free_transfer] transfer 0x5595a77d4d10
[ 0.013920] [0001345e] libusb: debug [libusb_submit_transfer] transfer 0x5595a77c3b30
[ 0.013923] [0001345e] libusb: debug [add_to_flying_list] arm timer for timeout in 1000ms (first in line)
[ 0.013942] [0001345e] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 0.013946] [0001345e] libusb: debug [usbi_wait_for_events] poll() 3 fds with timeout in 60000ms
[ 0.016608] [0001345e] libusb: debug [usbi_wait_for_events] poll() returned 1
[ 0.016626] [0001345e] libusb: debug [reap_for_handle] urb type=2 status=0 transferred=50
[ 0.016632] [0001345e] libusb: debug [handle_control_completion] handling completion status 0
[ 0.016636] [0001345e] libusb: debug [arm_timer_for_next_timeout] no timeouts, disarming timer
[ 0.016642] [0001345e] libusb: debug [usbi_handle_transfer_completion] transfer 0x5595a77c3b30 has callback 0x7f62628b5540
[ 0.016646] [0001345e] libusb: debug [sync_transfer_cb] actual_length=50
[ 0.016651] [0001345e] libusb: debug [libusb_free_transfer] transfer 0x5595a77c3b30
[ 0.016656] [0001345e] libusb: debug [libusb_close]  
[ 0.016661] [0001345e] libusb: debug [usbi_remove_event_source] remove fd 7
[ 0.016671] [0001345e] libusb: debug [libusb_get_device_descriptor]  
[ 0.016675] [0001345e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.016679] [0001345e] libusb: debug [libusb_get_device_descriptor]  
[ 0.016683] [0001345e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.016686] [0001345e] libusb: debug [parse_endpoint] skipping descriptor 0x30
[ 0.016690] [0001345e] libusb: debug [libusb_get_device_descriptor]  
[ 0.016692] [0001345e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.016696] [0001345e] libusb: debug [libusb_get_device_descriptor]  
[ 0.016699] [0001345e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.016703] [0001345e] libusb: debug [libusb_get_device_descriptor]  
[ 0.016705] [0001345e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.016709] [0001345e] libusb: debug [libusb_get_device_descriptor]  
[ 0.016713] [0001345e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.016716] [0001345e] libusb: debug [libusb_get_device_descriptor]  
[ 0.016719] [0001345e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.016722] [0001345e] libusb: debug [parse_endpoint] skipping descriptor 0x30
[ 0.016726] [0001345e] libusb: debug [libusb_get_device_descriptor]  
[ 0.016729] [0001345e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.016733] [0001345e] libusb: debug [parse_endpoint] skipping descriptor 0x30
[ 0.016736] [0001345e] libusb: debug [libusb_get_device_descriptor]  
[ 0.016739] [0001345e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.016742] [0001345e] libusb: debug [parse_endpoint] skipping descriptor 0x30
[ 0.016745] [0001345e] libusb: debug [libusb_get_device_descriptor]  
[ 0.016748] [0001345e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.016751] [0001345e] libusb: debug [parse_endpoint] skipping descriptor 0x30
[ 0.016754] [0001345e] libusb: debug [libusb_get_device_descriptor]  
[ 0.016757] [0001345e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.016760] [0001345e] libusb: debug [parse_endpoint] skipping descriptor 0x30
[ 0.016763] [0001345e] libusb: debug [libusb_get_device_descriptor]  
[ 0.016766] [0001345e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.016774] [0001345e] libusb: debug [libusb_get_device_descriptor]  
[ 0.016777] [0001345e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.016781] [0001345e] libusb: debug [libusb_get_device_descriptor]  
[ 0.016784] [0001345e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.016787] [0001345e] libusb: debug [libusb_get_device_descriptor]  
[ 0.016790] [0001345e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.016794] [0001345e] libusb: debug [libusb_get_device_descriptor]  
[ 0.016797] [0001345e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.016800] [0001345e] libusb: debug [libusb_get_device_descriptor]  
[ 0.016803] [0001345e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.016807] [0001345e] libusb: debug [libusb_get_device_descriptor]  
[ 0.016810] [0001345e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.016814] [0001345e] libusb: debug [libusb_get_device_descriptor]  
[ 0.016817] [0001345e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.016821] [0001345e] libusb: debug [libusb_get_device_descriptor]  
[ 0.016824] [0001345e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.016828] [0001345e] libusb: debug [libusb_get_device_descriptor]  
[ 0.016831] [0001345e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.016834] [0001345e] libusb: debug [libusb_get_device_descriptor]  
[ 0.016837] [0001345e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.016842] [0001345e] libusb: debug [libusb_get_device_descriptor]  
[ 0.016845] [0001345e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.016848] [0001345e] libusb: debug [parse_endpoint] skipping descriptor 0x30
[ 0.016853] [0001345e] libusb: debug [libusb_get_device_descriptor]  
[ 0.016856] [0001345e] libusb: debug [libusb_get_config_descriptor] index 0
Opening DFU capable USB device...
[ 0.016863] [0001345e] libusb: debug [libusb_open] open 7.92
[ 0.016889] [0001345e] libusb: debug [usbi_add_event_source] add fd 7 events 4
Device ID 28e9:0189
Device DFU version 011a
DFU attributes: (0x09) bitCanDnload bitWillDetach
Detach timeout 255 ms
Claiming USB DFU Interface...
[ 0.016915] [0001345e] libusb: debug [libusb_claim_interface] interface 0
Setting Alternate Interface #0 ...
[ 0.016935] [0001345e] libusb: debug [libusb_set_interface_alt_setting] interface 0 altsetting 0
Determining device status...
[ 0.018572] [0001345e] libusb: debug [libusb_submit_transfer] transfer 0x5595a77e39a0
[ 0.018574] [0001345e] libusb: debug [add_to_flying_list] arm timer for timeout in 5000ms (first in line)
[ 0.018588] [0001345e] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 0.018589] [0001345e] libusb: debug [handle_events] event sources modified, reallocating event data
[ 0.018590] [0001345e] libusb: debug [usbi_wait_for_events] poll() 3 fds with timeout in 60000ms
[ 0.021600] [0001345e] libusb: debug [usbi_wait_for_events] poll() returned 1
[ 0.021618] [0001345e] libusb: debug [reap_for_handle] urb type=2 status=0 transferred=6
[ 0.021622] [0001345e] libusb: debug [handle_control_completion] handling completion status 0
[ 0.021626] [0001345e] libusb: debug [arm_timer_for_next_timeout] no timeouts, disarming timer
[ 0.021630] [0001345e] libusb: debug [usbi_handle_transfer_completion] transfer 0x5595a77e39a0 has callback 0x7f62628b5540
[ 0.021634] [0001345e] libusb: debug [sync_transfer_cb] actual_length=6
[ 0.021638] [0001345e] libusb: debug [libusb_free_transfer] transfer 0x5595a77e39a0
DFU state(0) = appIDLE, status(0) = No error condition is present
dfu-util: Device still in Run-Time Mode!

same error message inversely trying to flash runtime.dfu

$ dfu-util -vvv -d 28e9:0189 -D runtime.dfu  
dfu-util 0.11
...
libusb version 1.0.26 (11724)
DFU suffix version 11a
[timestamp] [threadID] facility level [function call] <message>
--------------------------------------------------------------------------------
[ 0.006783] [0001347e] libusb: debug [libusb_get_device_list]  
[ 0.006786] [0001347e] libusb: debug [discovered_devs_append] need to increase capacity
[ 0.006790] [0001347e] libusb: debug [libusb_get_device_descriptor]  
[ 0.006791] [0001347e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.006793] [0001347e] libusb: debug [libusb_get_device_descriptor]  
[ 0.006794] [0001347e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.006796] [0001347e] libusb: debug [parse_endpoint] skipping descriptor 0x30
[ 0.006797] [0001347e] libusb: debug [libusb_get_device_descriptor]  
[ 0.006798] [0001347e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.006799] [0001347e] libusb: debug [parse_endpoint] skipping descriptor 0x30
[ 0.006801] [0001347e] libusb: debug [libusb_get_device_descriptor]  
[ 0.006802] [0001347e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.006803] [0001347e] libusb: debug [libusb_open] open 7.92
[ 0.006840] [0001347e] libusb: debug [usbi_add_event_source] add fd 7 events 4
[ 0.006842] [0001347e] libusb: debug [libusb_submit_transfer] transfer 0x562aa305ebd0
[ 0.006844] [0001347e] libusb: debug [add_to_flying_list] arm timer for timeout in 1000ms (first in line)
[ 0.006862] [0001347e] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 0.006864] [0001347e] libusb: debug [handle_events] event sources modified, reallocating event data
[ 0.006866] [0001347e] libusb: debug [usbi_wait_for_events] poll() 3 fds with timeout in 60000ms
[ 0.008233] [0001347e] libusb: debug [usbi_wait_for_events] poll() returned 1
[ 0.008240] [0001347e] libusb: debug [reap_for_handle] urb type=2 status=0 transferred=4
[ 0.008242] [0001347e] libusb: debug [handle_control_completion] handling completion status 0
[ 0.008244] [0001347e] libusb: debug [arm_timer_for_next_timeout] no timeouts, disarming timer
[ 0.008246] [0001347e] libusb: debug [usbi_handle_transfer_completion] transfer 0x562aa305ebd0 has callback 0x7efe7a661540
[ 0.008247] [0001347e] libusb: debug [sync_transfer_cb] actual_length=4
[ 0.008249] [0001347e] libusb: debug [libusb_free_transfer] transfer 0x562aa305ebd0
[ 0.008250] [0001347e] libusb: debug [libusb_submit_transfer] transfer 0x562aa305f6f0
[ 0.008251] [0001347e] libusb: debug [add_to_flying_list] arm timer for timeout in 1000ms (first in line)
[ 0.008262] [0001347e] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 0.008264] [0001347e] libusb: debug [usbi_wait_for_events] poll() 3 fds with timeout in 60000ms
[ 0.011275] [0001347e] libusb: debug [usbi_wait_for_events] poll() returned 1
[ 0.011294] [0001347e] libusb: debug [reap_for_handle] urb type=2 status=0 transferred=74
[ 0.011300] [0001347e] libusb: debug [handle_control_completion] handling completion status 0
[ 0.011304] [0001347e] libusb: debug [arm_timer_for_next_timeout] no timeouts, disarming timer
[ 0.011309] [0001347e] libusb: debug [usbi_handle_transfer_completion] transfer 0x562aa305f6f0 has callback 0x7efe7a661540
[ 0.011313] [0001347e] libusb: debug [sync_transfer_cb] actual_length=74
[ 0.011318] [0001347e] libusb: debug [libusb_free_transfer] transfer 0x562aa305f6f0
[ 0.011324] [0001347e] libusb: debug [libusb_submit_transfer] transfer 0x562aa305d180
[ 0.011327] [0001347e] libusb: debug [add_to_flying_list] arm timer for timeout in 1000ms (first in line)
[ 0.011370] [0001347e] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 0.011373] [0001347e] libusb: debug [usbi_wait_for_events] poll() 3 fds with timeout in 60000ms
[ 0.014219] [0001347e] libusb: debug [usbi_wait_for_events] poll() returned 1
[ 0.014226] [0001347e] libusb: debug [reap_for_handle] urb type=2 status=0 transferred=4
[ 0.014230] [0001347e] libusb: debug [handle_control_completion] handling completion status 0
[ 0.014233] [0001347e] libusb: debug [arm_timer_for_next_timeout] no timeouts, disarming timer
[ 0.014237] [0001347e] libusb: debug [usbi_handle_transfer_completion] transfer 0x562aa305d180 has callback 0x7efe7a661540
[ 0.014240] [0001347e] libusb: debug [sync_transfer_cb] actual_length=4
[ 0.014245] [0001347e] libusb: debug [libusb_free_transfer] transfer 0x562aa305d180
[ 0.014250] [0001347e] libusb: debug [libusb_submit_transfer] transfer 0x562aa304bfa0
[ 0.014253] [0001347e] libusb: debug [add_to_flying_list] arm timer for timeout in 1000ms (first in line)
[ 0.014267] [0001347e] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 0.014270] [0001347e] libusb: debug [usbi_wait_for_events] poll() 3 fds with timeout in 60000ms
[ 0.017215] [0001347e] libusb: debug [usbi_wait_for_events] poll() returned 1
[ 0.017220] [0001347e] libusb: debug [reap_for_handle] urb type=2 status=0 transferred=50
[ 0.017222] [0001347e] libusb: debug [handle_control_completion] handling completion status 0
[ 0.017224] [0001347e] libusb: debug [arm_timer_for_next_timeout] no timeouts, disarming timer
[ 0.017226] [0001347e] libusb: debug [usbi_handle_transfer_completion] transfer 0x562aa304bfa0 has callback 0x7efe7a661540
[ 0.017228] [0001347e] libusb: debug [sync_transfer_cb] actual_length=50
[ 0.017231] [0001347e] libusb: debug [libusb_free_transfer] transfer 0x562aa304bfa0
[ 0.017233] [0001347e] libusb: debug [libusb_close]  
[ 0.017236] [0001347e] libusb: debug [usbi_remove_event_source] remove fd 7
[ 0.017243] [0001347e] libusb: debug [libusb_get_device_descriptor]  
[ 0.017245] [0001347e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.017248] [0001347e] libusb: debug [libusb_get_device_descriptor]  
[ 0.017250] [0001347e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.017252] [0001347e] libusb: debug [parse_endpoint] skipping descriptor 0x30
[ 0.017255] [0001347e] libusb: debug [libusb_get_device_descriptor]  
[ 0.017256] [0001347e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.017260] [0001347e] libusb: debug [libusb_get_device_descriptor]  
[ 0.017261] [0001347e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.017265] [0001347e] libusb: debug [libusb_get_device_descriptor]  
[ 0.017267] [0001347e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.017268] [0001347e] libusb: debug [libusb_get_device_descriptor]  
[ 0.017270] [0001347e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.017271] [0001347e] libusb: debug [libusb_get_device_descriptor]  
[ 0.017273] [0001347e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.017274] [0001347e] libusb: debug [parse_endpoint] skipping descriptor 0x30
[ 0.017276] [0001347e] libusb: debug [libusb_get_device_descriptor]  
[ 0.017277] [0001347e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.017278] [0001347e] libusb: debug [parse_endpoint] skipping descriptor 0x30
[ 0.017280] [0001347e] libusb: debug [libusb_get_device_descriptor]  
[ 0.017282] [0001347e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.017284] [0001347e] libusb: debug [parse_endpoint] skipping descriptor 0x30
[ 0.017286] [0001347e] libusb: debug [libusb_get_device_descriptor]  
[ 0.017290] [0001347e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.017292] [0001347e] libusb: debug [parse_endpoint] skipping descriptor 0x30
[ 0.017294] [0001347e] libusb: debug [libusb_get_device_descriptor]  
[ 0.017296] [0001347e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.017298] [0001347e] libusb: debug [parse_endpoint] skipping descriptor 0x30
[ 0.017300] [0001347e] libusb: debug [libusb_get_device_descriptor]  
[ 0.017302] [0001347e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.017306] [0001347e] libusb: debug [libusb_get_device_descriptor]  
[ 0.017308] [0001347e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.017310] [0001347e] libusb: debug [libusb_get_device_descriptor]  
[ 0.017312] [0001347e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.017314] [0001347e] libusb: debug [libusb_get_device_descriptor]  
[ 0.017316] [0001347e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.017317] [0001347e] libusb: debug [libusb_get_device_descriptor]  
[ 0.017319] [0001347e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.017321] [0001347e] libusb: debug [libusb_get_device_descriptor]  
[ 0.017323] [0001347e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.017325] [0001347e] libusb: debug [libusb_get_device_descriptor]  
[ 0.017327] [0001347e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.017330] [0001347e] libusb: debug [libusb_get_device_descriptor]  
[ 0.017332] [0001347e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.017335] [0001347e] libusb: debug [libusb_get_device_descriptor]  
[ 0.017337] [0001347e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.017340] [0001347e] libusb: debug [libusb_get_device_descriptor]  
[ 0.017341] [0001347e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.017344] [0001347e] libusb: debug [libusb_get_device_descriptor]  
[ 0.017346] [0001347e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.017348] [0001347e] libusb: debug [libusb_get_device_descriptor]  
[ 0.017350] [0001347e] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.017353] [0001347e] libusb: debug [parse_endpoint] skipping descriptor 0x30
[ 0.017354] [0001347e] libusb: debug [libusb_get_device_descriptor]  
[ 0.017356] [0001347e] libusb: debug [libusb_get_config_descriptor] index 0
Multiple alternate interfaces for DfuSe file
Opening DFU capable USB device...
[ 0.017364] [0001347e] libusb: debug [libusb_open] open 7.92
[ 0.017381] [0001347e] libusb: debug [usbi_add_event_source] add fd 7 events 4
Device ID 28e9:0189
Device DFU version 011a
DFU attributes: (0x09) bitCanDnload bitWillDetach
Detach timeout 255 ms
Claiming USB DFU Interface...
[ 0.017396] [0001347e] libusb: debug [libusb_claim_interface] interface 0
Setting Alternate Interface #0 ...
[ 0.017409] [0001347e] libusb: debug [libusb_set_interface_alt_setting] interface 0 altsetting 0
Determining device status...
[ 0.019219] [0001347e] libusb: debug [libusb_submit_transfer] transfer 0x562aa306be10
[ 0.019222] [0001347e] libusb: debug [add_to_flying_list] arm timer for timeout in 5000ms (first in line)
[ 0.019230] [0001347e] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 0.019232] [0001347e] libusb: debug [handle_events] event sources modified, reallocating event data
[ 0.019234] [0001347e] libusb: debug [usbi_wait_for_events] poll() 3 fds with timeout in 60000ms
[ 0.022247] [0001347e] libusb: debug [usbi_wait_for_events] poll() returned 1
[ 0.022251] [0001347e] libusb: debug [reap_for_handle] urb type=2 status=0 transferred=6
[ 0.022254] [0001347e] libusb: debug [handle_control_completion] handling completion status 0
[ 0.022256] [0001347e] libusb: debug [arm_timer_for_next_timeout] no timeouts, disarming timer
[ 0.022258] [0001347e] libusb: debug [usbi_handle_transfer_completion] transfer 0x562aa306be10 has callback 0x7efe7a661540
[ 0.022260] [0001347e] libusb: debug [sync_transfer_cb] actual_length=6
[ 0.022263] [0001347e] libusb: debug [libusb_free_transfer] transfer 0x562aa306be10
DFU state(0) = appIDLE, status(0) = No error condition is present
dfu-util: Device still in Run-Time Mode!

Not really sure where to start digging here, but can provide more details, logs, and tracing if need be.

m0rb commented 1 year ago

FWIW - dfu-util works just fine after flashing the IronOS-dfu bootloader bin with a SWD debug cable.

Match vendor ID from file: 1209
Match product ID from file: db42
Multiple alternate interfaces for DfuSe file
Opening DFU capable USB device...
Device ID 28e9:0189
Device DFU version 011a
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 011a
Device returned transfer size 1024
DfuSe interface name: "Internal Flash "
File contains 1 DFU images
Parsing DFU image 1
Target name: ST...
Image for alternate setting 0, (1 elements, total size = 44544)
Setting Alternate Interface #0 ...
Parsing element 1, address = 0x08008000, size = 44536
Erase       [=========================] 100%        44536 bytes
Erase    done.
Download    [=========================] 100%        44536 bytes
Download done.
Done parsing DfuSe file
m0rb commented 1 year ago

I don't know whether or not to open another issue, but it seems that flashing boot screens / animations requries the use of an external programmer and SWD debug cable -- IronOS-dfu and dfu-util will act as if they're programming. Can take another bin dump and see which range is updated, if at all.