Firmware 2.1.2 "file block too large"

When I try to upgrade from 2.1.1-prodc with downloaded firmware Signed_OnlyKey_2_1_2_STD.txt I get “Error firmware file block too large”. I checked it against the hash and it’s fine. I see there was an old issue Firmware update fails · Issue #134 · trustcrypto/OnlyKey-App · GitHub which suggests I am using the wrong firmware however I have used the STD version for previous upgrades and I do not have the international key anyway. I am running App v5.3.6 is there anything else I can try?

I’m still seeing this problem, screenshots below. It goes from “RECEIVED OKFWUPDATE” to “Error firmware file block too large”. I have tried both the 2.1.2 and the 3.0.1 firmware versions and get the same result.


1 Like

I also have the same issue and I want to upgrade the firmware to be able to use dvorak keyboard layout.
How can I upgrade the firmware on a Linux (Debian) system?

Can you provide some more detail here? I have been unable to reproduce this issue.

The “Error firmware file block too large” indicates that the firmware file you are trying to load isn’t in the correct format, possibly a corrupted download.

I currently use Debian linux (testing).
I have checked that the file is not corrupt.

$ cat Signed_OnlyKey_3_0_3_STD.txt.sha256sum 
b92b2e9744a98933a330cdca41d8933657b90e80c41f8cf9bacb0d47c253a128  Signed_OnlyKey_3_0_3_STD.txt
$ sha256sum -c Signed_OnlyKey_3_0_3_STD.txt.sha256sum 
Signed_OnlyKey_3_0_3_STD.txt: OK
$

I used the 3.0.3 firmware, because I needed the fix for the dvorak keyboard layout.

I was able to upgrade the firmware by using OSX.
Is it possible to ‘upgrade’ the firmware to the same version? Then I can try again with my current onlykey.
Which additional information do you need?

Which additional information do you need?

I would need to be able to reproduce the issue, so if say you are able to see the issue in a Debian 11 virtual machine like this Debian images for VMware and VirtualBox then I can reproduce the issue.

Is it possible to ‘upgrade’ the firmware to the same version? Then I can try again with my current onlykey.

Yes, you can reload the v3.0.3 firmware

OP here. I have tried some more testing after @t11 suggestions and it appears the problem is specific to the Linux distro. Here’s what I have found:

  • It’s not file corruption - both myself and @subbink checked the hashes on the firmware files we used and they match.
  • In my original post I failed to mention I was using Fedora 36, I think this is the crucial difference. It still fails today under Fedora.
  • I tried the same process today under a Debian 11 VM and it works!

So it seems the process definitely fails in these conditions:

  • Under Fedora 36 as tested by me
  • Under Debian Testing as tested by @subbink

Now that I have seen a successful run under Debian I can see how it differs from what I see in Fedora. I think the message “Error firmware file block too large” is not the real problem. Here’s the process up to the point where they diverge:

  • Put key in config mode
  • Open OnlyKey App, Firmware tab, choose file
  • Click “Load firmware”
  • The key’s LED changes to white

Now it differs:

  • Under Fedora 36 the app changes to the “Begin Guided Setup” screen and just sits there doing nothing. If I try to continue that setup process manually and select load firmware (again) I then see “Error firmware file block too large”.
  • Under Debian 11 it briefly changes to the same “Begin Guided Setup” screen but then jumps straight to “Loading firmware” by itself and completes the upgrade ok.

Now I also noticed that when the LED changes to white the USB device number changes (running lsusb), like it’s a new device plugged in. Perhaps this is causing an issue with snap and USB permissions in Fedora as it’s suddenly asking to work with a new device just before it begins the firmware upgrade?

Here’s what snap version reports in the two distros:

Fedora 36      2.56
Debian 11      2.57

So another possibility there’s something in snap 2.57 that fixes the issue.

To sum up it’s surprising that the same version of the OnlyKey snap app behaves differently under different distros. Perhaps this is an issue with snap itself or the way the distros package it. Perhaps the problem is the way snap apps access USB devices and the fact the OnlyKey devices changes ID when it switches to firmware upgrade mode (white LED).

I did an other test. I used a debian 11 release form osboxes and upgraded it to testing.
Then it uses kernel 6.0.0-4-amd64, which is the same as on my normal debian testing system.
And on that system the upgrade was successful. So at the moment I’m at loss why the upgrade does not work on my normal system.

@subbink Are there any errors shown in dmesg? There is another issue that affects file loading in the app in latest Ubuntu release. With that issue we can see error messages in dmesg OnlyKey App unresponsive in Ubuntu 22.04 - #5 by t11
thinking this issue might be similar

I had written a reply, but then I noticed a typo and edited the message and then my reply was gone and I had a system message ‘Akismet has temporarily hidden your post’. And I can’t find my reply anywhere :frowning:

I found what the problem was for me. I had the same exact thing happening. When you put the onlykey in the computer, and it goes to the setup guide, if you have already entered a backup phrase…ignore it. Pull out the onlykey, put back in. Now it goes straight to load firmware, skipping the setup guide and this time it does update. Hope this helps a lot of people.