ZyXEL NR7101 - Not responding after flashing initramfs

Hello,

I would like to thank you anybody who is going to help me first of all.
After some time of using the ZyXEL NR7101 I decided to move to OpenWRT and I've followed the information on how to swap the firmware.
After I've uploaded the openwrt-23.05.0-ramips-mt7621-zyxel_nr7101-initramfs-recovery.bin file, the system was supposed to reboot and be reacheable at 192.168.1.1, but it doesn't unfortunately.
The led goes from red to blinking green and then solid green, but nothing. I don't have any reply from 192.168.1.1.
I'm wondering if there is something I could do or the only way is to buy a cable to connect to the serial port and see what is happening.

Thank you so much
Regards
Ed

Hopefully our resident Zyxel expert @bmork can advise.

Not really. I can't figure out what could possibly have gone wrong here. It's all pretty failsafe AFAICS.

Probably something minor we're all missing... But at the moment I don't have any better idea than connecting console unfortunately

could perhaps your zycast recovery be used to unbrick ?

1 Like

Thanks for looking into this.
I have also tried the recovery mode by pressing the reset button. It seems to be working because the lights are blinking differently but despite that, no way to ping the unit.
Is there any chance the unit may set a different up address?
By default the unit was having two profile, one on 192.168.1.1 and one on 192.168.10.1

I think it's better to figure out what happened than blindly trying zycast. There is no reason to expect it to work any better than the initial flash attempt, and it will scratch both system partitions.

Of course, if serial console is out the question then zycast is an option. It should at least be able to revert the device to OEM firmware regardless of the OpenWrt state

Could it be that 23.05.0 is problematic on the Zyxel NR7101?

Looks like you're right. There's something wrong with the default network config. It will softbrick devices, requiring console access to fix.

I just tested https://downloads.openwrt.org/releases/23.05.0/targets/ramips/mt7621/openwrt-23.05.0-ramips-mt7621-zyxel_nr7101-initramfs-recovery.bin and ended up with

root@OpenWrt:/# ifconfig 
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:64 errors:0 dropped:0 overruns:0 frame:0
          TX packets:64 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:4992 (4.8 KiB)  TX bytes:4992 (4.8 KiB)

root@OpenWrt:/#

so there is no ethernet interface configured. This is the config:

 root@OpenWrt:/# cat /etc/config/network 

config interface 'loopback'
        option device 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fdaa:77d1:fe3d::/48'
        option packet_steering '1'

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'lan1'
        list ports 'lan2'
        list ports 'lan3'
        list ports 'lan4'

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option ipaddr '192.168.1.1'
        option netmask '255.255.255.0'
        option ip6assign '60'

config interface 'wan'
        option device 'wan'
        option proto 'dhcp'

config interface 'wan6'
        option device 'wan'
        option proto 'dhcpv6'

which is obviously bogus. There are no lan1-lan4 ports on this device. There's only the single "lan" port and it's unconfigured and down:

root@OpenWrt:/# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 08:26:97:84:EF:BC  
          BROADCAST MULTICAST  MTU:1504  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:21 

lan       Link encap:Ethernet  HWaddr 08:26:97:84:EF:BC  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:320 errors:0 dropped:0 overruns:0 frame:0
          TX packets:320 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:24960 (24.3 KiB)  TX bytes:24960 (24.3 KiB)

Yuck!!!

The good news is that we now know what happend to @xxshazxx and it's rather easy to fix, using either console or zycast (assuming you flash an image without this bug....).

1 Like

And the reason is as obvious as it is stupid:

which changed "zyxel,nr7101" to "zyxel,nt7101".

I don't know what to say.....

4 Likes

And this is now fixed in both main and openwrt-23.05 branches, thanks to very quick action from @Ansuel

Unfortunately that doesn't help the already bricked device, or the .0 images out there. But this will be fixed in 23.05.1.

And the bricked device can be fixed with zycast and a 23.05.1 images if that is preferred over serial console

Thank you so much for the help and support.
I will see if I have a way to use the console, I don’t have on hand any serial dongle.
Just to understand, Zycast will work also in my case, that the unit is not setting the network?
Is there a way to get 23.05.1, to test it already ?

Thank you again, very kind
Ed

@hauke - please add this to KNOWN PROBLEMS

@ansuel can you delete downloadable images for this device for .0 release?

1 Like

Great work! Would this have resulted in soft bricking on upgrade to 23.05.0 from 22.03.5? If so I'm very glad that I waited for reports of success before upgrading.

Shouldn't a big warning be put somewhere on the 23.05.0 release post not to install it on the Zyxel NR7101?

I feel bad for those who have already suffered from this.

Finally, @bmork, really nice how your Zycast utility already has a use case in unbricking here!

@xxshazxx please keep us posted as to how you fix. It will help others. Sorry you suffered with this.

@bmork would be good if you can create a nice instruction list on how to recover.

@Lynx yes added some notes in device and known issue.

Yes, I will. Just want to test the instructions first so I'm 100% sure they work. Using zycast is still rather experimental.

Just for your info, thanks to your tool Zycast I was able to flash back OEM fw.
I will wait the version with the fix and I will try again the change.
Thank you all for the help.
Regards
Ed

Great! Thanks for testing that out. I'm very happy that you were able to fix your router.

Then I think I'll hold off the zycast instructions until we have an official 23.05.1 image we can point to. Unless someone else hits this in the meantime. But I hope we avoid that.

No, not unless you scratched the config. The bug only affects the initial default network configuration.

As long as you keep your old settings when sysupgrading, then you're safe. At least against this particual bug. No guarantees given about anything else.

Just to be sure I didn't say something wrong now I just tested this procedure:

  1. installed a fresh 22.03.5 using https://downloads.openwrt.org/releases/22.03.5/targets/ramips/mt7621/openwrt-22.03.5-ramips-mt7621-zyxel_nr7101-initramfs-recovery.bin
  2. sysupgraded to https://downloads.openwrt.org/releases/22.03.5/targets/ramips/mt7621/openwrt-22.03.5-ramips-mt7621-zyxel_nr7101-squashfs-sysupgrade.bin according to install instructions
  3. sysupgraded again to https://downloads.openwrt.org/releases/23.05.0/targets/ramips/mt7621/openwrt-23.05.0-ramips-mt7621-zyxel_nr7101-squashfs-sysupgrade.bin

This worked fine, as expected. Just make sure you keep settings when sysupgrading. And don't skip step 2 if you want to use this method to force a fresh install of 23.05.0 while waiting for .1

1 Like

Terrific effort @bmork. This will surely help those contemplating the upgrade (including myself).

By the way would this mean the device would also get soft bricked when resetting config?

And does your Zycast have an option to reset config without flashing?

Good question! Yes, it will. So that's a good reason to wait with 23.05 on the NR7101, I guess.

No, zyflash can only do what the "zyloader" part of the bootloader implements. The flash locations it can write etc are hard coded in the booloader. We can't even avoid it writing the uploaded image twice - to both system partitions. It will always do that on the NR7101.

1 Like