1
0
mirror of https://git.openwrt.org/openwrt/openwrt.git synced 2024-10-20 14:38:20 +02:00
openwrt/target/linux/ath79/dts
Christoph Krapp 459c8c9ef8 ath79: add support for ZyXEL NBG6616
Specifications:

  SoC: Qualcomm Atheros QCA9557
  RAM: 128 MB (Nanya NT5TU32M16EG-AC)
  Flash: 16 MB (Macronix MX25L12845EMI-10G)
  Ethernet: 5x 10/100/1000 (1x WAN, 4x LAN)
  Wireless: QCA9557 2.4GHz (nbg), QCA9882 5GHz (ac)
  USB: 2x USB 2.0 port
  Buttons: 1x Reset
  Switches: 1x Wifi
  LEDs: 11 (Pwr, WAN, 4x LAN, 2x Wifi, 2x USB, WPS)

MAC addresses:

WAN *:3f uboot-env ethaddr + 3
LAN *:3e uboot-env ethaddr + 2
2.4GHz *:3c uboot-env ethaddr
5GHz *:3d uboot-env ethaddr + 1

The label contains all four MAC addresses, however the one without
increment is first, so this one is taken for label MAC address.

Notes:

The Wifi is controlled by an on/off button, i.e. has to be implemented
by a switch (EV_SW). Despite, it appears that GPIO_ACTIVE_HIGH needs
to be used, just like recently fixed for the NBG6716.
Both parameters have been wrong at ar71xx.

Flash Instructions:

At first the U-Boot variables need to be changed in order to boot the
new combined image format. ZyXEL uses a split kernel + root setup and
the current kernel is too large to fit into the partition. As resizing
didnt do the trick, I've decided to use the prefered combined image
approach to be future-kernel-enlargement-proof (thanks to blocktrron for
the assistance).

First add a new variable called boot_openwrt:
setenv boot_openwrt bootm 0x9F120000

After that overwrite the bootcmd and save the environment:
setenv bootcmd run boot_openwrt
saveenv

After that you can flash the openwrt factory image via TFTP. The servers
IP has to be 192.168.1.33. Connect to one of the LAN ports and hold the
WPS Button while booting. After a few seconds the NBG6616 will look for
a image file called 'ras.bin' and flash it.

Return to vendor firmware is possible by resetting the bootcmd:
setenv bootcmd run boot_flash
saveenv
and flashing the vendor image via the TFTP method as described above.

Accessing the U-Boot Shell:
ZyXEL uses a proprietary loader/shell on top of u-boot: "ZyXEL zloader v2.02"
When the device is starting up, the user can enter the the loader shell
by simply pressing a key within the 3 seconds once the following string
appears on the serial console:

|    Hit any key to stop autoboot:  3

The user is then dropped to a locked shell.

| NBG6616> ?
| ATEN	x,(y)     set BootExtension Debug Flag (y=password)
| ATSE	x         show the seed of password generator
| ATSH	          dump manufacturer related data in ROM
| ATRT	(x,y,z,u) ATRT RAM read/write test (x=level, y=start addr, z=end addr, u=iterations
| ATGO	          boot up whole system
| ATUR	x         upgrade RAS image (filename)

In order to escape/unlock a password challenge has to be passed.
Note: the value is dynamic! you have to calculate your own!

First use ATSE $MODELNAME (MODELNAME is the hostname in u-boot env)
to get the challange value/seed.

| NBG6616> ATSE NBG6616
| 00C91D7EAC3C

This seed/value can be converted to the password with the help of this
bash script (Thanks to http://www.adslayuda.com/Zyxel650-9.html authors):

- tool.sh -
ror32() {
  echo $(( ($1 >> $2) | (($1 << (32 - $2) & (2**32-1)) ) ))
}
v="0x$1"
a="0x${v:2:6}"
b=$(( $a + 0x10F0A563))
c=$(( 0x${v:12:14} & 7 ))
p=$(( $(ror32 $b $c) ^ $a ))
printf "ATEN 1,%X\n" $p
- end of tool.sh -

| # bash ./tool.sh 00C91D7EAC3C
| ATEN 1,10FDFF5

Copy and paste the result into the shell to unlock zloader.

| NBG6616> ATEN 1,10FDFF5

If the entered code was correct the shell will change to
use the ATGU command to enter the real u-boot shell.

| NBG6616> ATGU
| NBG6616#

Signed-off-by: Christoph Krapp <achterin@googlemail.com>
[move keys to DTSI, adjust usb_power DT label, remove kernel config
change, extend commit message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-08-10 18:37:43 +02:00
..
ar724x_ubnt_xm_outdoor.dtsi
ar724x_ubnt_xm.dtsi
ar724x.dtsi
ar934x.dtsi
ar1022_iodata_wn-ag300dgr.dts
ar1022_sitecom_wlr-7100.dts
ar7100_mikrotik_routerboard-4xx.dtsi
ar7100.dtsi
ar7161_adtran_bsap1800-v2.dts
ar7161_adtran_bsap1840.dts
ar7161_adtran_bsap1880.dtsi
ar7161_aruba_ap-105.dts
ar7161_buffalo_wzr-hp-ag300h.dts
ar7161_dlink_dir-825-b1.dts
ar7161_jjplus_ja76pf2.dts
ar7161_mikrotik_routerboard-493g.dts
ar7161_netgear_wndr3700-v2.dts
ar7161_netgear_wndr3700.dts
ar7161_netgear_wndr3800.dts
ar7161_netgear_wndr3800ch.dts
ar7161_netgear_wndr.dtsi
ar7161_netgear_wndrmac-v1.dts
ar7161_netgear_wndrmac-v2.dts
ar7161_siemens_ws-ap3610.dts
ar7161_ubnt_routerstation-pro.dts
ar7161_ubnt_routerstation.dts
ar7161_ubnt_routerstation.dtsi
ar7240_buffalo_whr-g301n.dts
ar7240_dlink_dir-615-e4.dts
ar7240_netgear_wnr612-v2.dts
ar7240_netgear_wnr612-v2.dtsi
ar7240_netgear_wnr1000-v2.dts
ar7240_on_n150r.dts
ar7240_tplink_tl-wa701nd-v1.dts
ar7240_tplink_tl-wa730re-v1.dts
ar7240_tplink_tl-wa801nd-v1.dts
ar7240_tplink_tl-wa830re-v1.dts
ar7240_tplink_tl-wa901nd-v1.dts
ar7240_tplink_tl-wa.dtsi
ar7240_tplink_tl-wr740n-v1.dts
ar7240_tplink_tl-wr740n-v3.dts
ar7240_tplink_tl-wr741-v1.dts
ar7240_tplink_tl-wr743nd-v1.dts
ar7240_tplink_tl-wr841-v5.dts
ar7240_tplink_tl-wr941-v4.dts
ar7240_tplink_tl-wr.dtsi
ar7240_tplink.dtsi
ar7240_ubnt_bullet-m-ar7240.dts
ar7240.dtsi
ar7241_netgear_wnr2000-v3.dts
ar7241_netgear_wnr2200-8m.dts
ar7241_netgear_wnr2200-16m.dts
ar7241_netgear_wnr2200.dtsi
ar7241_tplink_tl-mr3x20.dtsi
ar7241_tplink_tl-mr3220-v1.dts
ar7241_tplink_tl-mr3420-v1.dts
ar7241_tplink_tl-wr841-v7.dts
ar7241_tplink_tl-wr842n-v1.dts
ar7241_tplink.dtsi
ar7241_ubnt_airrouter.dts
ar7241_ubnt_bullet-m-ar7241.dts
ar7241_ubnt_nanobridge-m.dts
ar7241_ubnt_nanostation-loco-m.dts
ar7241_ubnt_nanostation-m.dts
ar7241_ubnt_picostation-m.dts
ar7241_ubnt_powerbridge-m.dts
ar7241_ubnt_rocket-m.dts
ar7241_ubnt_unifi.dts
ar7241.dtsi
ar7242_avm_fritz300e.dts
ar7242_buffalo_bhr-4grv.dts
ar7242_buffalo_wzr-bhr.dtsi
ar7242_buffalo_wzr-hp-g302h-a1a0.dts
ar7242_buffalo_wzr-hp-g450h.dts
ar7242_tplink_tl-wr2543-v1.dts
ar7242_ubnt_edgeswitch-5xp.dts
ar7242_ubnt_edgeswitch-8xp.dts
ar7242_ubnt_sw.dtsi
ar7242.dtsi
ar9132_tplink_tl-wa901nd-v2.dts
ar9132_tplink_tl-wr941-v2.dts
ar9132_tplink_tl-wr1043nd-v1.dts
ar9132.dtsi
ar9330_dlink_dir-505.dts
ar9330_glinet_gl-ar150.dts
ar9330_pqi_air-pen.dts
ar9330.dtsi
ar9331_8dev_carambola2.dts
ar9331_alfa-network_ap121f.dts
ar9331_arduino_yun.dts
ar9331_embeddedwireless_dorin.dts
ar9331_etactica_eg200.dts
ar9331_glinet_64xx.dtsi
ar9331_glinet_6408.dts
ar9331_glinet_6416.dts
ar9331_glinet_gl-mifi.dts
ar9331_pisen_ts-d084.dts
ar9331_pisen_wmm003n.dts
ar9331_tplink_tl-mr10u.dts
ar9331_tplink_tl-mr3020-v1.dts
ar9331_tplink_tl-mr3040-v2.dts
ar9331_tplink_tl-wr703n_tl-mr10u.dtsi
ar9331_tplink_tl-wr703n.dts
ar9331_tplink_tl-wr710n-v1.dts
ar9331_tplink_tl-wr740n-v4.dts
ar9331_tplink_tl-wr740n-v5.dts
ar9331_tplink_tl-wr741nd-v4.dts
ar9331_tplink_tl-wr741nd-v4.dtsi
ar9331.dtsi
ar9341_pcs_cr3000.dts
ar9341_pisen_wmb001n.dts
ar9341_tplink_tl-mr3420-v2.dts
ar9341_tplink_tl-wa850re-v1.dts
ar9341_tplink_tl-wa860re-v1.dts
ar9341_tplink_tl-wa901nd-v3.dts
ar9341_tplink_tl-wa.dtsi
ar9341_tplink_tl-wr841-v8.dts
ar9341_tplink_tl-wr842n-v2.dts
ar9341_tplink.dtsi
ar9341.dtsi
ar9342_iodata_etg3-r.dts
ar9342_ubnt_bullet-m-xw.dts
ar9342_ubnt_lap-120.dts
ar9342_ubnt_litebeam-ac-gen2.dts
ar9342_ubnt_nanobeam-ac.dts
ar9342_ubnt_nanostation-ac-loco.dts
ar9342_ubnt_nanostation-ac.dts
ar9342_ubnt_nanostation-loco-m-xw.dts
ar9342_ubnt_nanostation-m-xw.dts
ar9342_ubnt_powerbeam-5ac-gen2.dts
ar9342_ubnt_wa.dtsi
ar9342_ubnt_xw.dtsi
ar9344_aerohive_hiveap-121.dts
ar9344_comfast_cf-e120a-v3.dts
ar9344_compex_wpj344-16m.dts
ar9344_devolo_magic-2-wifi.dts
ar9344_dlink_dir-8x5.dtsi
ar9344_dlink_dir-825-c1.dts
ar9344_dlink_dir-835-a1.dts
ar9344_enterasys_ws-ap3705i.dts
ar9344_netgear_wndr3700-v4.dts
ar9344_netgear_wndr4300.dts
ar9344_netgear_wndr4300sw.dts
ar9344_netgear_wndr4300tn.dts
ar9344_netgear_wndr_usb.dtsi
ar9344_netgear_wndr_wan.dtsi
ar9344_netgear_wndr.dtsi
ar9344_ocedo_raccoon.dts
ar9344_pcs_cap324.dts
ar9344_pcs_cr5000.dts
ar9344_qihoo_c301.dts
ar9344_teltonika_rut9xx.dtsi
ar9344_teltonika_rut955-h7v3c0.dts
ar9344_teltonika_rut955.dts
ar9344_tplink_cpe210-v1.dts
ar9344_tplink_cpe220-v2.dts
ar9344_tplink_cpe510-v1.dts
ar9344_tplink_cpe510-v2.dts
ar9344_tplink_cpe510-v3.dts
ar9344_tplink_cpe610-v1.dts
ar9344_tplink_cpe610-v2.dts
ar9344_tplink_cpe_1port.dtsi
ar9344_tplink_cpe_2port.dtsi
ar9344_tplink_cpe.dtsi
ar9344_tplink_tl-wdr3500-v1.dts
ar9344_tplink_tl-wdr3600-v1.dts
ar9344_tplink_tl-wdr4300-v1-il.dts
ar9344_tplink_tl-wdr4300-v1.dts
ar9344_tplink_tl-wdr4300.dtsi
ar9344_tplink_tl-wdr4310-v1.dts
ar9344_tplink_tl-wdrxxxx.dtsi
ar9344_tplink_wbs210-v1.dts
ar9344_tplink_wbs210-v2.dts
ar9344_tplink_wbs510-v1.dts
ar9344_tplink_wbs510-v2.dts
ar9344_wd_mynet-n750.dts
ar9344_wd_mynet-wifi-rangeextender.dts
ar9344_winchannel_wb2000.dts
ar9344_zbtlink_zbt-wd323.dts
ar9344.dtsi
ath79.dtsi
qca953x_tplink_tl-wr810n.dtsi
qca953x.dtsi
qca955x_ubnt_xc.dtsi
qca955x_zyxel_nbg6x16.dtsi
qca955x.dtsi
qca956x.dtsi
qca9531_8dev_lima.dts
qca9531_comfast_cf-e5.dts
qca9531_comfast_cf-e130n-v2.dts
qca9531_comfast_cf-e313ac.dts
qca9531_comfast_cf-e314n-v2.dts
qca9531_comfast_cf-e560ac.dts
qca9531_comfast_cf-ew72.dts
qca9531_comfast_cf-wr752ac-v1.dts
qca9531_compex_wpj531-16m.dts
qca9531_dlink_dch-g020-a1.dts
qca9531_engenius_ews511ap.dts
qca9531_glinet_gl-ar300m16.dts
qca9531_glinet_gl-ar300m-lite.dts
qca9531_glinet_gl-ar300m-nand.dts
qca9531_glinet_gl-ar300m-nor.dts
qca9531_glinet_gl-ar300m.dtsi
qca9531_glinet_gl-ar750.dts
qca9531_glinet_gl-e750.dts
qca9531_glinet_gl-x750.dts
qca9531_telco_t1.dts
qca9531_tplink_archer-d50-v1.dts
qca9531_tplink_tl-mr3420-v3.dts
qca9531_tplink_tl-mr6400-v1.dts
qca9531_tplink_tl-wr810n-v1.dts
qca9531_tplink_tl-wr902ac-v1.dts
qca9531_yuncore_a770.dts
qca9533_comfast_cf-e110n-v2.dts
qca9533_dlink_dap-13xx.dtsi
qca9533_dlink_dap-1330-a1.dts
qca9533_dlink_dap-1365-a1.dts
qca9533_tplink_cpe210-v2.dts
qca9533_tplink_cpe210-v3.dts
qca9533_tplink_cpe210.dtsi
qca9533_tplink_cpe220-v3.dts
qca9533_tplink_cpexxx.dtsi
qca9533_tplink_tl-wa801nd-v3.dts
qca9533_tplink_tl-wa801nd-v4.dts
qca9533_tplink_tl-wa801nd.dtsi
qca9533_tplink_tl-wa850re-v2.dts
qca9533_tplink_tl-wr802n-v1.dts
qca9533_tplink_tl-wr802n-v2.dts
qca9533_tplink_tl-wr802n.dtsi
qca9533_tplink_tl-wr810n-v2.dts
qca9533_tplink_tl-wr841-v9.dts
qca9533_tplink_tl-wr841-v10.dts
qca9533_tplink_tl-wr841-v11.dts
qca9533_tplink_tl-wr841-v11.dtsi
qca9533_tplink_tl-wr841-v12.dts
qca9533_tplink_tl-wr841.dtsi
qca9533_tplink_tl-wr842n-v3.dts
qca9533_ubnt_acb-isp.dts
qca9556_avm_fritz450e.dts
qca9556_avm_fritz1750e.dts
qca9556_avm_fritz-repeater.dtsi
qca9556_avm_fritzdvbc.dts
qca9556_mikrotik_routerboard-wap-g-5hact2hnd.dts
qca9557_8dev_rambutan.dts
qca9557_buffalo_bhr-4grv2.dts
qca9557_iodata_wn-ac1167dgr.dts
qca9557_iodata_wn-ac1600dgr2.dts
qca9557_iodata_wn-ac1600dgr.dts
qca9557_iodata_wn-ac-dgr.dtsi
qca9557_zyxel_nbg6616.dts
qca9558_comfast_cf-wr650ac-v1.dts
qca9558_comfast_cf-wr650ac-v2.dts
qca9558_comfast_cf-wr650ac.dtsi
qca9558_devolo_dvl1xxx.dtsi
qca9558_devolo_dvl1200e.dts
qca9558_devolo_dvl1200i.dts
qca9558_devolo_dvl1750c.dts
qca9558_devolo_dvl1750e.dts
qca9558_devolo_dvl1750i.dts
qca9558_devolo_dvl1750x.dts
qca9558_dlink_dap-2695-a1.dts
qca9558_domywifi_dw33d.dts
qca9558_engenius_ecb1750.dts
qca9558_engenius_epg5000.dts
qca9558_librerouter_librerouter-v1.dts
qca9558_mikrotik_routerboard-922uags-5hpacd.dts
qca9558_netgear_ex6400.dts
qca9558_netgear_ex7300.dts
qca9558_netgear_ex7300.dtsi
qca9558_ocedo_koala.dts
qca9558_ocedo_ursus.dts
qca9558_openmesh_om5p-ac-v2.dts
qca9558_sitecom_wlr-8100.dts
qca9558_tplink_archer-c5-v1.dts
qca9558_tplink_archer-c7-v1.dts
qca9558_tplink_archer-c7-v2.dts
qca9558_tplink_archer-c.dtsi
qca9558_tplink_archer-d7-v1.dts
qca9558_tplink_archer-d7.dtsi
qca9558_tplink_archer-d7b-v1.dts
qca9558_tplink_re350k-v1.dts
qca9558_tplink_re355-v1.dts
qca9558_tplink_re450-v1.dts
qca9558_tplink_rex5x.dtsi
qca9558_tplink_tl-wdr4900-v2.dts
qca9558_tplink_tl-wr941n-v7-cn.dts
qca9558_tplink_tl-wr1043nd-v2.dts
qca9558_tplink_tl-wr1043nd-v3.dts
qca9558_tplink_tl-wr1043nd.dtsi
qca9558_tplink_tl-wr1045nd-v2.dts
qca9558_trendnet_tew-823dru.dts
qca9558_ubnt_powerbeam-5ac-500.dts
qca9558_zyxel_nbg6716.dts
qca9561_avm_fritz4020.dts
qca9561_tplink_archer-c5x.dtsi
qca9561_tplink_archer-c6x.dtsi
qca9561_tplink_archer-c25-v1.dts
qca9561_tplink_archer-c58-v1.dts
qca9561_tplink_archer-c59-v1.dts
qca9561_tplink_archer-c59-v2.dts
qca9561_tplink_archer-c60-v1.dts
qca9561_tplink_archer-c60-v2.dts
qca9561_tplink_archer-c60-v3.dts
qca9561_xiaomi_mi-router-4q.dts
qca9563_compex_wpj563.dts
qca9563_dlink_dir-842-c1.dts
qca9563_dlink_dir-842-c2.dts
qca9563_dlink_dir-842-c3.dts
qca9563_dlink_dir-842-c.dtsi
qca9563_dlink_dir-859-a1.dts
qca9563_elecom_wrc-300ghbk2-i.dts
qca9563_elecom_wrc-1750ghbk2-i.dts
qca9563_elecom_wrc-ghbk2-i.dtsi
qca9563_glinet_gl-ar750s-nor-nand.dts
qca9563_glinet_gl-ar750s-nor.dts
qca9563_glinet_gl-ar750s.dtsi
qca9563_nec_wg800hp.dts
qca9563_nec_wg1200cr.dts
qca9563_netgear_wndr4300-v2.dts
qca9563_netgear_wndr4500-v3.dts
qca9563_netgear_wndr.dtsi
qca9563_phicomm_k2t.dts
qca9563_rosinson_wr818.dts
qca9563_tplink_archer-a7-v5.dts
qca9563_tplink_archer-c2-v3.dts
qca9563_tplink_archer-c6-v2-us.dts
qca9563_tplink_archer-c6-v2.dts
qca9563_tplink_archer-c7-v4.dts
qca9563_tplink_archer-c7-v5.dts
qca9563_tplink_archer-x6-v2.dtsi
qca9563_tplink_archer-x7-v5.dtsi
qca9563_tplink_re450-v2.dts
qca9563_tplink_re450-v3.dts
qca9563_tplink_re450.dtsi
qca9563_tplink_tl-wpa8630p-v2-eu.dts
qca9563_tplink_tl-wpa8630p-v2-int.dts
qca9563_tplink_tl-wpa8630p-v2.dtsi
qca9563_tplink_tl-wr1043n-v5.dts
qca9563_tplink_tl-wr1043n.dtsi
qca9563_tplink_tl-wr1043nd-v4.dts
qca9563_ubnt_unifiac-lite.dts
qca9563_ubnt_unifiac-lite.dtsi
qca9563_ubnt_unifiac-lr.dts
qca9563_ubnt_unifiac-mesh-pro.dts
qca9563_ubnt_unifiac-mesh.dts
qca9563_ubnt_unifiac-pro.dts
qca9563_ubnt_unifiac-pro.dtsi
qca9563_ubnt_unifiac.dtsi
qca9563_yuncore_a782.dts
qca9563_yuncore_xd4200.dts
qca9563_yuncore_xd4200.dtsi
tp9343_tplink_tl-wa901nd-v4.dts
tp9343_tplink_tl-wa901nd-v5.dts
tp9343_tplink_tl-wa901nd.dtsi
tp9343_tplink_tl-wr94x.dtsi
tp9343_tplink_tl-wr940n-v3.dts
tp9343_tplink_tl-wr940n-v3.dtsi
tp9343_tplink_tl-wr940n-v4.dts
tp9343_tplink_tl-wr940n-v6.dts
tp9343_tplink_tl-wr941nd-v6.dts
tp9343_tplink_tl-wx.dtsi