aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ath79/image
diff options
context:
space:
mode:
authorJihoon Han <rapid_renard@renard.ga>2021-10-01 14:53:06 +0900
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>2021-10-31 21:58:28 +0100
commit84451173f08e7af9e47c85c1a0cd8e041f4ec568 (patch)
tree7dc4dcc6d5b3b90bd3957f71cd5743d332dbfb8d /target/linux/ath79/image
parenta61a41d4aac6765544961aa9ea303af2a3a9634c (diff)
downloadupstream-84451173f08e7af9e47c85c1a0cd8e041f4ec568.tar.gz
upstream-84451173f08e7af9e47c85c1a0cd8e041f4ec568.tar.bz2
upstream-84451173f08e7af9e47c85c1a0cd8e041f4ec568.zip
ath79: add support for Dongwon T&I DW02-412H
Dongwon T&I DW02-412H is a 2.4/5GHz band 11ac (WiFi-5) router, based on Qualcomm Atheros QCA9557. Specifications -------------- - SoC: Qualcomm Atheros QCA9557-AT4A - RAM: DDR2 128MB - Flash: SPI NOR 2MB (Winbond W25Q16DVSSIG / ESMT F25L16PA(2S)) + NAND 64/128MB - WiFi: - 2.4GHz: QCA9557 WMAC - 5GHz: QCA9882-BR4A - Ethernet: 5x 10/100/1000Mbps - Switch: QCA8337N-AL3C - USB: 1x USB 2.0 - UART: - JP2: 3.3V, TX, RX, GND (3.3V is the square pad) / 115200 8N1 Installation -------------- 1. Connect a serial interface to UART header and interrupt the autostart of kernel. 2. Transfer the factory image via TFTP and write it to the NAND flash. 3. Update U-Boot environment variable. > tftpboot 0x81000000 <your image>-factory.img > nand erase 0x1000000 > nand write 0x81000000 0x1000000 ${filesize} > setenv bootpart 2 > saveenv Revert to stock firmware -------------- 1. Revert to stock U-Boot environment variable. > setenv bootpart 1 > saveenv MAC addresses as verified by OEM firmware -------------- WAN: *:XX (label) LAN: *:XX + 1 2.4G: *:XX + 3 5G: *:XX + 4 The label MAC address was found in art 0x0. Credits -------------- Credit goes to the @manatails who first developed how to port OpenWRT to this device and had a significant impact on this patch. And thanks to @adschm and @mans0n for guiding me to revise the code in many ways. Signed-off-by: Jihoon Han <rapid_renard@renard.ga> Reviewed-by: Sungbo Eo <mans0n@gorani.run> Tested-by: Sungbo Eo <mans0n@gorani.run>
Diffstat (limited to 'target/linux/ath79/image')
-rw-r--r--target/linux/ath79/image/nand.mk48
1 files changed, 48 insertions, 0 deletions
diff --git a/target/linux/ath79/image/nand.mk b/target/linux/ath79/image/nand.mk
index 8d3d2ce5b2..b34e796ac3 100644
--- a/target/linux/ath79/image/nand.mk
+++ b/target/linux/ath79/image/nand.mk
@@ -1,3 +1,16 @@
+define Build/dw-headers
+ head -c 4 $@ >> $@.tmp && \
+ head -c 8 /dev/zero >> $@.tmp && \
+ tail -c +9 $@ >> $@.tmp && \
+ ( \
+ header_crc="$$(head -c 68 $@.tmp | gzip -c | \
+ tail -c 8 | od -An -N4 -tx4 --endian little | tr -d ' \n')"; \
+ printf "$$(echo $$header_crc | sed 's/../\\x&/g')" | \
+ dd of=$@.tmp bs=4 count=1 seek=1 conv=notrunc \
+ )
+ mv $@.tmp $@
+endef
+
# attention: only zlib compression is allowed for the boot fs
define Build/zyxel-buildkerneljffs
mkdir -p $@.tmp/boot
@@ -76,6 +89,41 @@ define Device/domywifi_dw33d
endef
TARGET_DEVICES += domywifi_dw33d
+define Device/dongwon_dw02-412h
+ SOC := qca9557
+ DEVICE_VENDOR := Dongwon T&I
+ DEVICE_MODEL := DW02-412H
+ DEVICE_ALT0_VENDOR := KT
+ DEVICE_ALT0_MODEL := GiGA WiFi home
+ DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
+ KERNEL_SIZE := 8192k
+ BLOCKSIZE := 128k
+ PAGESIZE := 2048
+ KERNEL := kernel-bin | append-dtb | lzma | uImage lzma | dw-headers
+ KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | uImage lzma | dw-headers
+ UBINIZE_OPTS := -E 5
+ IMAGES += factory.img
+ IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | \
+ check-size
+ IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
+endef
+
+define Device/dongwon_dw02-412h-64m
+ $(Device/dongwon_dw02-412h)
+ DEVICE_VARIANT := (64M)
+ DEVICE_ALT0_VARIANT := (64M)
+ IMAGE_SIZE := 49152k
+endef
+TARGET_DEVICES += dongwon_dw02-412h-64m
+
+define Device/dongwon_dw02-412h-128m
+ $(Device/dongwon_dw02-412h)
+ DEVICE_VARIANT := (128M)
+ DEVICE_ALT0_VARIANT := (128M)
+ IMAGE_SIZE := 114688k
+endef
+TARGET_DEVICES += dongwon_dw02-412h-128m
+
define Device/glinet_gl-ar300m-common-nand
SOC := qca9531
DEVICE_VENDOR := GL.iNet