Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

firmware update bricks devices #1682

Open
kodjima33 opened this issue Jan 14, 2025 · 8 comments
Open

firmware update bricks devices #1682

kodjima33 opened this issue Jan 14, 2025 · 8 comments
Assignees
Labels
bug Something isn't working

Comments

@kodjima33
Copy link
Collaborator

Nik Shevchenko, [1/12/2025 4:07 PM]
Firmware update on 2.0.2 stil bricks every device

Nik Shevchenko, [1/12/2025 4:07 PM]
This is very bad that is not fixed yet

Nik Shevchenko, [1/12/2025 4:07 PM]
If it doesn’t work for 2.0.2 then Pls disable auto update from app for older versions and redirect to firmware update guide like it was before

@kodjima33 kodjima33 moved this to To do in omi TODO Jan 14, 2025
@beastoin beastoin added the bug Something isn't working label Jan 14, 2025
@beastoin beastoin self-assigned this Jan 14, 2025
@beastoin beastoin moved this from To do to In progress in omi TODO Jan 14, 2025
@beastoin
Copy link
Collaborator

*** Booting nRF Connect SDK v2.7.0-5cb85570ca43 ***
*** Using Zephyr OS v3.6.99-100befc70c74 ***
[00:00:00.042,266] <inf> main: Friend device firmware starting...
[00:00:00.042,999] <inf> led: LEDs started
[00:00:03.044,189] <inf> bt_sdc_hci_driver: SoftDevice Controller build revision: 
                                            d6 da c7 ae 08 db 72 6f  2a a3 26 49 2a 4d a8 b3 |......ro *.&I*M..
                                            98 0e 07 7f                                      |....             
[00:00:03.050,109] <inf> bt_hci_core: HW Platform: Nordic Semiconductor (0x0002)
[00:00:03.050,720] <inf> bt_hci_core: HW Variant: nRF52x (0x0002)
[00:00:03.051,452] <inf> bt_hci_core: Firmware: Standard Bluetooth controller (0x00) Version 214.51162 Build 1926957230
[00:00:03.053,955] <inf> bt_hci_core: Identity: C5:28:41:C8:12:53 (random)
[00:00:03.054,534] <inf> bt_hci_core: HCI: version 5.4 (0x0d) revision 0x11fb, manufacturer 0x0059
[00:00:03.055,541] <inf> bt_hci_core: LMP: version 5.4 (0x0d) subver 0x11fb
[00:00:03.056,121] <inf> transport: Transport bluetooth initialized
Speaker Pin ready
[00:00:03.107,360] <err> transport: Cannot set sampling frequency for Accelerometer.
[00:00:03.107,971] <inf> transport: Accelerometer failed to activate

[00:00:03.108,764] <inf> button: D4 Pin ready
[00:00:03.109,191] <inf> button: D4 ready to transmit voltage
[00:00:03.109,924] <inf> button: D5 Pin ready
[00:00:03.110,321] <inf> button: D5 ready
[00:00:03.110,992] <inf> button: D5 ready to detect button presses
[00:00:03.111,541] <inf> speaker: Speaker init
Speaker Pin ready
[00:00:03.112,365] <inf> i2s_nrfx: I2S MCK frequency: 256000, actual PCM rate: 8000
[00:00:03.115,356] <inf> transport: Speaker initialized
[00:00:03.117,309] <inf> transport: Advertising successfully started
[00:00:03.117,889] <inf> battery: Initialized
[00:00:03.118,286] <inf> transport: Battery initialized
[00:00:03.119,018] <inf> speaker: Generating gentle chime
release detected
[00:00:03.432,434] <inf> button: unpressed
unpressed
[00:00:03.525,970] <inf> speaker: Done generating gentle chime
[00:00:03.526,489] <inf> speaker: Writing to speaker
[00:00:06.627,136] <inf> sdcard: SD Enable Pin ready
[00:00:06.627,655] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.628,601] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.629,699] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.630,432] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.631,439] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.632,568] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.633,758] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.634,979] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.636,138] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.637,054] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.637,908] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.638,641] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.639,587] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.640,594] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.641,510] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.642,150] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.643,096] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.644,042] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.644,866] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.645,629] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.646,697] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.647,857] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.648,773] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.649,719] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.650,360] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.651,275] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.652,221] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.653,076] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.653,808] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.654,754] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.655,700] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.656,494] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.657,287] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.658,386] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.659,545] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.660,491] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.661,132] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.662,048] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.662,963] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.663,818] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.664,581] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.665,496] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.666,442] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.667,236] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.668,029] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.668,975] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.670,135] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.671,173] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.671,844] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.672,760] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.673,706] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.674,652] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.675,323] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.676,239] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.677,185] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.678,039] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.678,771] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.679,687] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.680,725] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.682,067] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.682,830] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.683,776] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.684,692] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.685,638] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.686,309] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.687,225] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.688,171] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.689,056] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.689,758] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.690,704] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.691,650] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.692,291] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.693,389] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.694,519] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.695,434] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.696,380] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.697,204] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.697,998] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.698,944] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.699,859] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.700,531] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.701,477] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.702,392] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.703,338] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.704,010] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.705,169] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.706,237] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.707,183] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.708,099] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.708,923] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.709,930] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.710,906] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.711,944] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.712,615] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.713,531] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.714,477] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.715,301] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.716,186] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.717,285] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.718,292] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.719,207] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.720,031] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.720,886] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.721,801] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.722,747] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.723,541] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.724,334] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.725,280] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.726,226] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.726,867] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.727,905] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.728,973] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.730,010] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.730,957] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.731,597] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.732,513] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.733,459] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.734,405] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.735,076] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.735,992] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.736,938] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.737,823] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.738,494] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.739,562] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.740,692] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.741,668] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.742,614] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.743,286] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.744,201] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.745,147] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.746,093] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.746,734] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.747,833] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.748,779] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.749,572] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.750,366] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.751,464] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.752,624] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.753,540] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.754,364] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.755,126] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.756,072] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.757,171] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.757,843] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.758,758] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.759,704] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.760,711] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.761,352] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.762,268] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.763,488] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.764,495] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.765,380] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.766,113] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.767,059] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.767,974] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.768,798] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.769,592] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.770,538] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.771,484] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.772,125] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.773,040] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.773,986] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.775,177] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.776,214] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.776,885] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.777,832] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.778,747] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.779,693] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.780,364] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.781,280] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.782,226] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.783,172] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.783,813] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.784,759] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.785,766] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.786,895] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.787,902] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.788,696] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.789,520] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.790,466] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.791,381] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.792,053] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.792,968] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.793,884] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.794,769] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.795,501] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.796,447] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.797,485] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.798,583] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.799,316] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.800,262] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.801,269] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.802,215] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.802,886] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.803,771] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.804,748] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.805,694] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.806,335] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.807,250] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.808,197] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.809,265] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.810,363] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.811,096] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.812,011] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.812,927] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.813,781] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.814,544] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.815,643] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.816,558] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.817,565] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.818,237] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.819,305] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.820,220] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.821,411] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.822,662] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.823,303] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.824,249] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.825,195] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.826,019] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.826,782] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.827,728] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.828,674] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.829,345] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.830,261] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.831,176] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.832,031] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.833,251] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.834,075] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.834,991] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.835,937] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.836,608] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.837,524] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.838,470] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.839,416] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.840,057] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.841,064] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.842,010] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.842,956] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.843,597] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.844,787] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.845,825] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.846,771] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.847,564] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.848,358] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.849,304] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.850,219] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.850,860] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.851,837] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.852,752] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.853,698] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.854,370] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.855,255] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.856,445] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.857,574] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.858,917] <err> transport: Failed to read from ring buffer. not enough data 0
[00:00:06.860,321] <err> transport: Failed[00:00:06.860,992] <inf> sd: Maximum SD clock is under 25MHz, using clock of 24000000Hz
[00:00:06.862,487] <inf> sdcard: disk_access_init: 0

[00:00:06.874,176] <inf> sdcard: SD card mounted successfully
[00:00:06.877,258] <err> fs: failed to create directory (-17)
[00:00:06.877,777] <inf> sdcard: audio directory creation failed: -17
[00:00:06.878,570] <inf> sdcard: result of opendir: 0
[00:00:06.881,896] <inf> sdcard: file numarray 0 457160 
[00:00:06.882,415] <inf> sdcard: file name is a01.txt 
[00:00:

@beastoin
Copy link
Collaborator

beastoin commented Jan 15, 2025

:dead: it's the boot loader issue - not omi's firmware issue adafruit/Adafruit_nRF52_Bootloader#259

@beastoin
Copy link
Collaborator

OTA updates / I really want to support OTA updates for the 2.0.8. but due to the lack of support from the current boot loader(Adafruit_nRF52_Bootloader) which prevent us having a seamless experience on OTA updates (why ? USB detachment is required / OTA DFU failed -> discard the main application and go into bootloader mode). so, i think we just move on with the MCUBoot from now.

@beastoin
Copy link
Collaborator

1696

@beastoin beastoin moved this from In progress to In review in omi TODO Jan 15, 2025
@francip
Copy link
Collaborator

francip commented Jan 15, 2025

The issue here is that if the firmware doesn't load, there's no way for the app to switch the device to bootloader OTA mode. This seems to be solvable, as the bootloader issue @beastoin linked has a workaround to automatically switch to bootloader OTA in case of firmware issues. however, this would work only for new firmware versions and will require changes to the app as well.

The device is not permanently bricked, firmware update through disk mode/UF2 should still work. But that requires manual intervention from the user, unfortunately.

That said, my guess is that the core issue is indeed with the firmware. There seems to be a race condition in the code which causes the firmware to crash. It appears that firmware 2.0.2 is unstable. I have noticed similar issues with 2.0.8, albeit lot less frequent. A device reset potentially could get the device out of this state, if the race condition doesn't trigger. At least with 2.0.8 this workaround works better.

We should continue investigating this, but it seems the best advice right now would be to tell users that hit this to do manual upgrade to 2.0.8 using the UF2 file.

@beastoin
Copy link
Collaborator

yes sir, actually the brick mean *the device can not boot after performing the ota updates.

i also try with/without the usb connected. the result is: without the usb connected, the ota updates work fine. the device can boot with any versions, e.g. ota updates from 2.0.2 to 2.0.8 or 2.0.4 to 2.0.7 and so on.

so i guess there're something confusing the bootloader's state between the ota updates and serial updates when the usb is connected.

ofc we can also try disabling all usb interrupts while performing the ota updates. but i dont think it's a smart move.

i'm a nerd, as you know, i love deep-diving into issues. but the time is not super generous right now haha.

anw, i'm super happy when you're here and diving into this with me. looking fwd sir.

@francip

@fuutott
Copy link

fuutott commented Jan 15, 2025

Could you detect usb and ask user to disconnect?

@francip
Copy link
Collaborator

francip commented Jan 16, 2025

@beastoin I noticed that you are running with logging enabled. I've noticed with my experiments with 2.0.8 that logging over UART/USB actually makes the race condition I am chasing worse and more likely to occur. Since the logging is active only if USB is connected, that might explain why you see the issue more when USB is connected.

@kodjima33 kodjima33 moved this from In review to Done in omi TODO Jan 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Status: Done
Development

No branches or pull requests

4 participants