Reset options fail to reset; expected ID 0x1610, got 1651

Picked up a Mod Duo from @Skydiver a few months ago, love it. Last week at the beginning of a gig my Mod Duo crashed and wouldn’t reboot; thankfully it’s designed to be in bypass mode when it’s dead. I have gone through all of the steps outlined in, starting with left buttons press/power-on and including bootloader/factory reset/USB install. Nothing unbricks the unit.

It’s clear that my Ubuntu box is communicating with the Duo, since if (after hitting the FEL button and powering on) I forget to plug the USB in to the computer before running a script, the script tells me that. Also when I installed the latest image RAW file it seemed to run to completion.

However, once I’ve completed that step, when I try to install the bootloader via any method it kicks out of the script (right after starting stage 2) with the error noted in the subject line:
Expected ID 0x1610, got 1651

Not sure how I would tell you to reproduce this other than using my unit. Is this a hardware addressing issue? And is it something I can fix by SSHing into the unit, or do I have to send it back? And if I send it back, am I sending it to Dean or to Mod HQ?


I tried to SSH into to see what I could see, but it kept timing out. So I decided to see if going through the factory reset options again would do anything (definition of insanity, I know), but this time it told me that FEL access was denied to the unit even though I had pressed in the FEL button prior to powering on and waited two seconds before releasing and connecting to USB. That would explain why I couldn’t SSH in, but begs the question of WTH happened to FEL.

@falkTX @ricardocrudo you guys seem to be the reset/recovery/ssh masters; any advice?

The wiki needs update for the latest batch of Duo units, as the steps mentioned there do not work anymore.
I will be handling that in the next few days…

In mean time, the procedure for the new units is to enable FEL mode (power on the unit while pressing the tiny button in the back), and then push a special payload via USB to boot into recovery mode.
I have temporarily uploaded the script and binaries here
(there is a single script inside and a few binaries)

after this you can install a software image as usual.
the new units need minimum 1.7

1 Like

@falkTX that seemed to do something–it ran through the packages and told me that it was “all done” after running–but what’s the next step? What is the expected behavior after running that script?

Simply power cycling doesn’t get me to a restore screen (at least I don’t think; there are no images in the wiki or elsewhere online that show what the restore screen actually looks like but I presume I’d know it if I saw it), and pressing the left-side buttons while powering on doesn’t do anything.

I downloaded the 1.8 release, but there’s no way to manually install it since it’s not getting past the logo screen and doesn’t show up as an external volume on my linux box.

I revisited the bootfixes from the Troubleshooting wiki, but you mentioned everything there is out of date (that didn’t stop me from trying, and I still got the error from the subject line).

So… what’s my next move?

it is supposed to start the unit in restore mode, the same where you can manually install updates on.
But I see maybe I jumped the gun thinking you had one of the new units…
Does your Duo have “MOD Duo” written/engraved above the screens?

It does not have the engraving, so I guess it’s not one of the newer units (wasn’t sure how you were defining “new” in your post so I didn’t catch that). Definitely pre-DuoX release. I’m guessing there’s a serial number under the velcro I’ve applied to the back, do you need that?

no, no need for the serial.

I have all the different Duo unit types with me here, so I will revisit the wiki troubleshooting section and ensure what we have there works for all of them.
Not much time for this today though, probably tomorrow.

Much appreciated, cheers!

If it turns out my unit is hopelessly borked and I need to be one of the first to try the at-home logic board upgrades, just let me know… :grinning:

hey @bassandboy I have been updating the wiki and just generated a new factory reset image, replacing the old link (it used to include v1.5.0, now updated to v1.7.3)
the link remains the same, but its contents are now updated.

can you redownload and try again the step that uses this file?
thanks a lot!


@falkTX still no good. I’m getting kicked out again by the “expected ID 0x1610 got 1651” error. Maybe a type install would work better? Or perhaps it’s an issue with the bootfix script? Here’s the full traceback:

    $ sudo ./bootfix -w ./modduo-latest-factory-image.raw 
    Speed = 12 Mbps`
    Start stage 1
    URB 5
    AWUSBFEX soc=001651 (A20) fw=01 mode=fel type=D len=08 addr=7e00
    Detected A20 (ID 0x1651)
    URB 14
    AWUSBFEX soc=001651 (A20) fw=01 mode=fel type=D len=08 addr=7e00
    URB 23
    URB 32
    AWUSBFEX soc=001651 (A20) fw=01 mode=fel type=D len=08 addr=7e00
    URB 41
    URB 50
    AWUSBFEX soc=001651 (A20) fw=01 mode=fel type=D len=08 addr=7e00
    URB 63
    URB 72
    URB 77
    Sending sun7i/fes_1-1.fex...done
    URB 87
    URB 96
    URB 105
    URB 114
    Sending sun7i/fes_1-2.fex...done
    URB 120
    URB 129
    URB 138
    1024MB RAM detected
    URB 147
    URB 153
    URB 165
    URB 174
    Sending sun7i/fes.fex...done
    URB 192
    Sending sun7i/fes_2.fex...done
    URB 198
    End of stage 1
    Speed = 12 Mbps
    Start stage 2
    URB 5
    AWUSBFEX soc=001651 (A20) fw=01 mode=fel type=D len=08 addr=7e00
    Expected ID 0x1610, got 1651

Something is off here…
There are a few things we can try.

Booting over USB is the best choice for now, just to see if we get a storage device.

I am yet to test this on all devices, but it should work on yours.
So the steps:

  • Click and hold down the FEL button on the back of the MOD Duo (in tiny hole), while you power it on.
  • Hold it for 2 seconds, then release
  • Connect the MOD Duo to your computer via USB cable
  • Download and extract it
  • Open a terminal and ‘cd’ to the directory where was extracted, ie:
    cd ~/Downloads/mod-boot-fel-restore/

(If not you’re running 64bit, install sunxi-tools from your Linux distribution, and copy /usr/bin/sunxi-fel to the current directory, overriding the existing file there.)


  • Run: MARS=1 ./
  • Wait for around 2 minutes, and the MOD Duo will boot into recovery mode.

If we are able to get the recovery mode this way, then great :slight_smile:
If it doesn’t work, try the same steps again but remove MARS=1 when running the script.

Let me know how it goes.

Alright, I followed those instructions both with and without MARS=1. Neither booted the unit into recovery mode. Traceback below is identical in each case, except for the value of mars. What’s next? :sweat_smile:

$ sudo ./ 
:::: writing u-boot-spl.bin
:::: running u-boot-spl.bin
:::: writing u-boot.bin
:::: writing ramboot.scr
:::: writing script.bin (mars = 1, emmc = 0)
:::: writing uImage
100% [================================================] 19627 kB,  315.7 kB/s 
:::: running u-boot.bin
:::: all done