Last active
January 26, 2026 22:30
-
-
Save theodric/c8f280ead3b5ae1b4b1d6c4cf2d9420e to your computer and use it in GitHub Desktop.
Zyxel NR7101 setup/hacks/tips and tweaks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 0. Don't have a SIM card in when you're updating radio firmware or it will bomb out partway through as it changes from internal IP to IP passthrough | |
| 1. Disable external IP passthrough mode: Network Setting -> Broadband -> Cellular APN -> #1 -> Modify icon -> "IP Passthrough" slider to off | |
| 2. Use "management" Wi-Fi AP as general Wi-Fi AP (with limitations) -> Network Setting -> Bridge1 -> Modify icon -> Move the Wi-Fi AP interface to the pane on the right alongside LAN1 | |
| NOTE: by default, once you do the above, the router will happily pass traffic from devices on the Wi-Fi AP to other devices on the LAN1 subnet, but will block traffic originating from the Wi-Fi AP from exiting to the Internet via the LTE side of the device. You can clumsily hack around this by setting another device, e.g. another Wi-Fi AP or Raspberry Pi or Cray supercomputer, as the default gateway for the LAN1 subnet in your DHCP server config, and pointing *that* device at the Zyxel as *its* default GW. This adds additional hops, but enables general use of the Zyxel's inbuilt Wi-Fi AP. | |
| 3. Supervisor password allows Linux shell login & additional functions. | |
| cf. https://openwrt.org/toh/zyxel/nr7101 "Supervisor password" | |
| summary: get this https://get.dyn.mork.no/zyxel_pwgen.tar.gz [mirror: https://github.com/theodric/pastebin/blob/master/zyxel_pwgen.tar.gz] and run it under qemu with the getsupervisor.sh script and the system serial number. Login ssh supervisor@the.router.ip.address; password is the string generated by the tool | |
| 3a. The supervisor password is also the root password, and that lets you do pretty much whatever including breaking iptables. | |
| 4. As Supervisor (see 3 above) turn off fucking annoying flashing orange Wi-Fi LED that the router turns on whenever the Wi-Fi AP is active: `/sbin/zyledctl WIFI off` <- maybe script this | |
| 5. **TBD** How to remove the softblock preventing Wi-Fi AP-sourced traffic from accessing the LTE gateway. iptables is doing this, but I haven't yet tried to undo it. | |
| 6. As of 2022-06-07 the latest firmware is not in Zyxel's Download Library, but pinned to a forum post here https://support.zyxel.eu/hc/en-us/articles/360021563900-NR7101-Connectivity-issues-and-firmware-fix-for-unsupported-frequency-bands-5G-NSA-B8-N1- | |
| 7. 2023-March-16 | |
| @giorgix3 commented on this gist with the following information about retrieving SMS: | |
| "You can actually read SMS by talking to the modem via tty. Login via SSH and then: | |
| cat /dev/ttyUSB2 & | |
| echo "AT+CMGR=1" > /dev/ttyUSB2 | |
| by changing the number after CMGR=# you can read other messages in the memory. The detailed documentation of the commands to talk to the modem can be found here https://www.quectel.com/wp-content/uploads/2021/05/Quectel_RG50xQRM5xxQ_Series_AT_Commands_Manual_V1.1.pdf " | |
| 8. 2023-March-21 | |
| Quectel has a video tutorial on using AT commands to read and send SMS here: https://forums.quectel.com/t/how-to-send-and-receive-sms-messages-on-quectel-module/15555 | |
| Of note: echo 'AT+CMGL="all"' > /dev/ttyUSB2 dumps all received SMS to the screen at once | |
| This may be a red herring, but I'll say it here anyway: I was only getting hex gibberish on the screen with the AT+CMGR command above until I had issued `echo "AT+CMGF=1" > /dev/ttyUSB2` to the modem. | |
| 9. 2023-08-20 | |
| @Manu99it discovered a means to obtain supervisor/root password on the newer (post-2022?) hardware/firmware revisions that use a different password generation algorithm: | |
| https://gist.github.com/theodric/c8f280ead3b5ae1b4b1d6c4cf2d9420e?permalink_comment_id=4666079#gistcomment-4666079 | |
| "Reading https://th0mas.nl/2020/03/26/getting-root-on-a-zyxel-vmg8825-t50-router/#fnref:1 I understood that all password, even for root and supervisor users are contained into the zcfg_config.json file. Actually in my router accessing this file is much simple: just set up FTP by webgui, access FTP as admin user (I used MiXplorer on Android for example) and zcfg_config.json is just here. The absurd thing: it has rw permission even with admin user! So just open it and copy the encrypted password under the root user (not the default password as per the guide linked, that's the same that you can calculate with the emulator). Now we can decrypt this encrypted password just by using the DynamicDNS as oracle explained in the guide: set a fake DDNS in webgui. Download the backup file. Open the backup file and replace the encrypted password under DynamicDNS with our encrypted password of root user copied before. Now save and restore the file from webgui. Go to ddns settings and just read the password: it's clear. As just as that!" | |
Have been trying to flash a Zyxel t54 SN23 from same provider in nl (t-mobile) with DX-5401-B1 fw. Uses proprietary fw and it is also totally locked down. Pw algo's not working. Zycast not working.
Anyone else tried?
The good old days of reflashing these devices seem to be gone forever!
@drsn00ker Hey, if possible could you please give me the passwords screenshot for SN: S230Z19004337
Thank you for your efforts!
Old algo's not working on S/N23!
Bye
Op ma 26 jan. 2026 14:55 schreef forkyoutoo ***@***.***>:
… ***@***.**** commented on this gist.
------------------------------
@drsn00ker <https://github.com/drsn00ker> Hey, if possible could you
please give me the passwords screenshot for SN: S230Z19004337
Thank you for your efforts!
—
Reply to this email directly, view it on GitHub
<https://gist.github.com/theodric/c8f280ead3b5ae1b4b1d6c4cf2d9420e#gistcomment-5956276>
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACUQNMR57QBM3JKQLTTVQPD4IYMFPBFKMF2HI4TJMJ2XIZLTSOBKK5TBNR2WLKBZHA2TCNBTGIZ2I3TBNVS2QYLDORXXEX3JMSBKK5TBNR2WLJDUOJ2WLJDOMFWWLO3UNBZGKYLEL5YGC4TUNFRWS4DBNZ2F6YLDORUXM2LUPGBKK5TBNR2WLJDHNFZXJJDOMFWWLK3UNBZGKYLEL52HS4DFVRZXKYTKMVRXIX3UPFYGLK2HNFZXIQ3PNVWWK3TUUZ2G64DJMNZZDAVEOR4XAZNEM5UXG5FFOZQWY5LFVEYTCMZXGE3DEMZSU52HE2LHM5SXFJTDOJSWC5DF>
.
You are receiving this email because you commented on the thread.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>
.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment

I understand, unfortunately the situation is desperate. As a user, I have absolutely no access to the NR7103 device from the CZ/SK O2 operator, which was flashed at the factory by Zyxel itself with custom firmware modified for the O2 customer. Even O2 doesn't have admin access. They've repeatedly confirmed this to me from multiple sources. If true, it's impossible to flash this device back to original Zyxel firmware.
I can confirm the Zycast method doesn't work either. The NR7103 has UDP broadcast disabled; after boot, I tried capturing packets with Wireshark, but aside from standard DHCP requests and DNS queries, there's absolutely nothing. Later HTTPS on 443 and SSH on 22, but without login credentials, it's useless. As @drsn00ker also confirmed, guessing the admin login based on S/N doesn't work on these O2 ISP SN23 units. I can throw the device in the trash.
PS: I tried contacting Zyxel US, EU, CZ/SK. US knows absolutely nothing and can't help—the device wasn't even sold on their market, and they say they lack EU resources. EU immediately sent me packing; the device was supplied under a partner project, and they provide no warranty or post-warranty support—told me to contact the ISP. Despite repeated pleading, I got nowhere; they stopped communicating. I fared even worse with CZ/SK Zyxel support—they wouldn't even talk to me :(
So if anyone has the option to buy an NR7103 from the CZ/SK market, hands off. It's an unusable device.