[Solved] Zyxel NBG6817 flashing from OEM

Tried removing blockd, kmod-crypto-crc32, and kmod-lib-cr16. The image built successful and seems to be retaining settings across reboot. Will do some more testing.

Have these package names changed or no longer required? Thanks!

The image created using image builder is saving all my settings but wireless is not working. It did work with the pre-built image which didn't save settings so I'm probably missing a package or configuration option. Reading over some bug reports now.

[   11.550266] ath10k_pci 0000:01:00.0: Direct firmware load for ath10k/pre-cal-pci-0000:01:00.0.bin failed with error -2
[   11.550307] ath10k_pci 0000:01:00.0: Falling back to user helper
[   21.772104] firmware ath10k!pre-cal-pci-0000:01:00.0.bin: firmware_loading_store: map pages failed
[   21.927200] ath10k_pci 0000:01:00.0: qca9984/qca9994 hw1.0 target 0x01000000 chip_id 0x00000000 sub 168c:cafe
[   21.927235] ath10k_pci 0000:01:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 1
[   21.938265] ath10k_pci 0000:01:00.0: firmware ver 10.4-3.4-00072 api 5 features no-p2p,mfp,peer-flow-ctrl,btcoex-param,allows-mesh-bcast crc32 75ec955f
[   21.944767] ath10k_pci 0000:01:00.0: failed to fetch board data for bus=pci,vendor=168c,device=0046,subsystem-vendor=168c,subsystem-device=cafe?H?C?î??F??(??F??% from ath10k/QCA9984/hw1.0/board-2.bin
[   21.957852] ath10k_pci 0000:01:00.0: board_file api 1 bmi_id N/A crc32 b9d6e4c4
[   23.308311] ath10k_pci 0000:01:00.0: htt-ver 2.2 wmi-op 6 htt-op 4 cal file max-sta 512 raw 0 hwcrypto 1


I got my wireless working. Channel width was set to 160 MHz. When I changed it back to 80 it worked fine. I also flashed back the pre-built image and noticed the same errors in the log about failing to load ath10k/pre-calc-pci

Continuing on.

As a very first debugging attempt, reduce the tx power by at least 5 dBm for both radios, also use a recent snapshot and not a 17.01.x release.

Don't know what's wrong but it works if you build from source. And you
actually only need fs-ext4.

I bricked my router now its on a reboot loop, built my own image from source and "dd" both to the /dev destination. I tried looking for directions on how to install zyxel firmware from recovery mode or something, tried various steps using tftp method but no success.

upload OEM image from bootloader using "atur" command and xmodem.


I just bought this Zyxel NBG6817 router and was wondering what info on here is still accurate? I installed this on an ASUS RT-AC87u I had lying around and was pleased by the project. While I just installed in on the ASUS by recovery mode the process seems a little strange on the Zyxel.

Any input would be appreciated!!


With proper pre-cal patches applied (snapshots, not 17.01.x!), the tx power issues should be sorted, everything else (in particular the dualboot specialty, see https://forum.openwrt.org/t/web-ui-to-reboot-to-another-partition-for-linksys-dual-partition-routers-and-to-power-off-power-down/3423/94 for details) applies.

Any way you could send me a copy of a working image??n :slight_smile:

I made one thanks anyway


I managed to get build one the has everything in it I want, all works well but only the 2.4 ghz SSID does not stay after a reboot.

I use the ubuntu bash shell in Windows 10, I was surprised it worked so well.



i am new to lede and all the things around. I gave created an Image like described above.

In the directory:


are some Files:

41687493 -rw-r--r-- 1 kley kley 998 Okt 2 19:14 config.seed
41687623 -rw-r--r-- 1 kley kley 36M Okt 2 19:36 lede-imagebuilder-ipq806x.Linux-x86_64.tar.xz
41687622 -rw-r--r-- 1 kley kley 2,4K Okt 2 19:34 lede-ipq806x-device-nbg6817.manifest
41687619 -rw-r--r-- 1 kley kley 4,0M Okt 2 19:34 lede-ipq806x-NBG6817-squashfs-mmcblk0p4-kernel.bin
41687618 -rw-r--r-- 1 kley kley 2,2M Okt 2 19:34 lede-ipq806x-NBG6817-squashfs-mmcblk0p5-rootfs.bin
41687617 -rw-r--r-- 1 kley kley 6,2M Okt 2 19:34 lede-ipq806x-NBG6817-squashfs-sysupgrade.tar
41687620 -rw-r--r-- 1 kley kley 2,3M Okt 2 19:34 lede-ipq806x-squashfs-root.img
41687621 -rw-r--r-- 1 kley kley 5,1M Okt 2 19:34 lede-ipq806x-ubifs-root.img
41687616 -rwxr-xr-x 1 kley kley 24M Okt 2 19:34 lede-ipq806x-vmlinux.elf
42078892 drwxr-xr-x 2 kley kley 4,0K Okt 2 19:36 packages
41687624 -rw-r--r-- 1 kley kley 920 Okt 2 19:36 sha256sums

I did a dd with the Files:

like decribed above and did a reboot -f

The system is jet readonly.

What did i do wrong ???

Please Help me. I am very confused.

Sorry for my bad English


Please post the output of ./scripts/diffconfig.sh (and are you using git HEAD or a stable branch, HEAD preferred).

here is the output of the script:

# CONFIG_PACKAGE_ath10k-firmware-qca9984 is not set
# CONFIG_PACKAGE_e2fsprogs is not set
# CONFIG_PACKAGE_kmod-ata-core is not set
# CONFIG_PACKAGE_kmod-ath10k is not set
# CONFIG_PACKAGE_kmod-leds-gpio is not set
# CONFIG_PACKAGE_kmod-scsi-core is not set
# CONFIG_PACKAGE_kmod-usb3 is not set
# CONFIG_PACKAGE_libblkid is not set
# CONFIG_PACKAGE_libext2fs is not set
# CONFIG_PACKAGE_librt is not set
# CONFIG_PACKAGE_libsmartcols is not set
# CONFIG_PACKAGE_libuuid is not set
# CONFIG_PACKAGE_losetup is not set

This, when building git HEAD from source (I've never tried imagebuilder), should result in a fully functioning nbg6817:

### Use "make defconfig oldconfig" to expand this to a full .config


### SMP CPUs need irqbalance, invoke irqbalance from /etc/rc.local

### Enable per device rootfs

### USB device mount & filesystem support

### Luci (SSL)

Obviously irqbalance, kmod-usb-storage, kmod-usb2, luci-ssl and luci-app-uhttpd are optional. I am not 100% sure if block-mount and blockd are hard requirements for the nbg6817, given that the rootfs is already referenced from the cmdline (root=/dev/mmcblk0p5) - my hunch would tend towards 'no' - but this would require checking, before submitting the corresponding addition to the default device packages (which would fix this issue once and for all).

Solved! Thanks a lot. The system works perfect with your diff.


Do both USB ports (2.0 and 3.0) work fine with kmod-usb2 module, or kmod-usb3 is needed too?

Just managed to debrick my NBG6818 from unsucessfull flash and bootloop using TFTP method. With WPS button pressed after power on, router is looking for ras.bin on

Thanks for documenting that. There must also be a way to toggle the boot order (the router has dual boot functionality, even if LEDE can currently only use the first set of partitions).

Need your help once more... I am trying to start using 3GB /dev/mmcblk0p10 partition as /overlay, but no success. I have included block-mount package into image, and edited fstab.conf (also tried using luci). /dev/mmcblk0p10 is visible, I can "enable" it and define mount point as /overlay but /overlay keeps mounted to /dev/loop0.
I can mount /dev/mmcblk0p10 to /overlay using "mount /dev/mmcblk0p10 /overlay" but it does not survive reboots.

The easiest approach would probably be to configure an extroot on /dev/mmcblk0p10.