mirror of
https://github.com/openwrt/openwrt.git
synced 2025-04-23 18:34:01 +00:00
ELECOM WRC-X3000GS2 is a 2.4/5 GHz band 11ax (Wi-Fi 6) router, based on IPQ5018. Specification: - SoC : Qualcomm IPQ5018 - RAM : DDR3 256 MiB (Zentel A3T2GF40CBF-HP) - Flash : SPI-NAND 128 MiB (Macronix MX35UF1G24AD-Z4I) - WLAN : 2.4/5 GHz 2T2R - 2.4 GHz : Qualcomm IPQ5018 (SoC) - 5 GHz : Qualcomm Atheros QCN6102 - Ethernet : 5x 10/100/1000 Mbps - wan (phy) : Qualcomm IPQ5018 (SoC) - lan (switch) : Qualcomm Atheros QCA8337 - LEDs/Keys (GPIO): 8x/3x - UART : through-hole on PCB, 4pins near the barcode - assignment : 3.3V, TX, RX, NC, GND from the barcode side - settings : 115200n8 - Power : 12 VDC, 1 A (Max. 11.5W) Flash instruction using initramfs-factory.bin image: 1. Boot WRC-X3000GS2 normally with router mode 2. Access to the WebUI ("http://192.168.2.1/") on the device and open the firmware update page ("ファームウェア更新") 3. Select the OpenWrt factory.bin image and click apply ("適用") button 4. Wait ~120 seconds to complete flashing Switching to the stock firmware: 1. Load the elecom.sh script . /lib/upgrade/elecom.sh 2. Check the current index of rootfs bootconfig_rw_index 0:bootconfig rootfs 3. Set the index to inverted value bootconfig_rw_index 0:bootconfig rootfs <value> bootconfig_rw_index 0:bootconfig1 rootfs <value> example: - step2 returned "0": bootconfig_rw_index 0:bootconfig rootfs 1 bootconfig_rw_index 0:bootconfig1 rootfs 1 - step2 returned "1": bootconfig_rw_index 0:bootconfig rootfs 0 bootconfig_rw_index 0:bootconfig1 rootfs 0 4. Reboot Partition Layout (Stock FW): 0x000000000000-0x000000080000 : "0:SBL1" 0x000000080000-0x000000100000 : "0:MIBIB" 0x000000100000-0x000000140000 : "0:BOOTCONFIG" 0x000000140000-0x000000180000 : "0:BOOTCONFIG1" 0x000000180000-0x000000280000 : "0:QSEE" 0x000000280000-0x000000380000 : "0:QSEE_1" 0x000000380000-0x0000003c0000 : "0:DEVCFG" 0x0000003c0000-0x000000400000 : "0:DEVCFG_1" 0x000000400000-0x000000440000 : "0:CDT" 0x000000440000-0x000000480000 : "0:CDT_1" 0x000000480000-0x000000500000 : "0:APPSBLENV" 0x000000500000-0x000000640000 : "0:APPSBL" 0x000000640000-0x000000780000 : "0:APPSBL_1" 0x000000780000-0x000000880000 : "0:ART" 0x000000880000-0x000000900000 : "0:TRAINING" 0x000000900000-0x000003c40000 : "rootfs" 0x000003c40000-0x000003fc0000 : "Config" 0x000003fc0000-0x000007300000 : "rootfs_1" 0x000007300000-0x000007680000 : "Config_2" 0x000007680000-0x000007b80000 : "Reserved" 0x000007b80000-0x000007c00000 : "FWHEADER" 0x000007c00000-0x000007c80000 : "Factory" Known Issues: - All Wi-Fi related peripherals are disabled. This device has only 256 MiB RAM and it's too few for ath11k. To prevent OOM when using LuCI or other softwares, disable Wi-Fi related peripherals in device tree at the moment. - This device has a Macronix MX35UF1G24AD SPI-NAND chip registered as oobsize=128 in Linux Kernel. But using BCH8 breaks I/O on the chip with the following errors, so this support uses BCH4 instead. root@OpenWrt:~# strings /dev/mtdblock10 [26427.133154] mtdblock: MTD device '0:appsblenv' is NAND, please consider using UBI block devices instead. [26427.134125] I/O error, dev mtdblock10, sector 0 op 0x0:(READ) flags 0x80700 phys_seg 4 prio class 2 [26427.142240] I/O error, dev mtdblock10, sector 8 op 0x0:(READ) flags 0x80700 phys_seg 3 prio class 2 [26427.151427] I/O error, dev mtdblock10, sector 16 op 0x0:(READ) flags 0x80700 phys_seg 2 prio class 2 [26427.160440] I/O error, dev mtdblock10, sector 24 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 2 [26427.169619] I/O error, dev mtdblock10, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2 [26427.178083] Buffer I/O error on dev mtdblock10, logical block 0, async page read Notes: - This device has dual-boot feature and it's managed by the index in the 0:bootconfig and 0:bootconfig1 partitions. MAC Addresses: LAN : 38:97:A4:xx:xx:60 (0:APPSBLENV, "eth1addr"/"ethaddr" (text)) WAN : 38:97:A4:xx:xx:63 (0:APPSBLENV, "eth0addr" (text)) 2.4 GHz: 38:97:A4:xx:xx:61 (0:APPSBLENV, "wifi0" (text)) 5 GHz : 38:97:A4:xx:xx:62 (0:APPSBLENV, "wifi1" (text)) Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com> Link: https://github.com/openwrt/openwrt/pull/18543 Signed-off-by: Robert Marko <robimarko@gmail.com>
112 lines
3.0 KiB
Makefile
112 lines
3.0 KiB
Makefile
DEVICE_VARS += BOOT_SCRIPT
|
|
|
|
define Build/mstc-header
|
|
$(eval version=$(1))
|
|
gzip -c $@ | tail -c8 > $@.crclen
|
|
( \
|
|
printf "CMOC"; \
|
|
tail -c+5 $@.crclen; head -c4 $@.crclen; \
|
|
printf '$(call toupper,$(LINUX_KARCH)) $(VERSION_DIST) Linux-$(LINUX_VERSION)' | \
|
|
dd bs=64 count=1 conv=sync 2>/dev/null; \
|
|
printf "$(version)" | \
|
|
dd bs=64 count=1 conv=sync 2>/dev/null; \
|
|
dd if=/dev/zero bs=884 count=1 2>/dev/null; \
|
|
cat $@; \
|
|
) > $@.new
|
|
mv $@.new $@
|
|
rm -f $@.crclen
|
|
endef
|
|
|
|
define Device/elecom_wrc-x3000gs2
|
|
$(call Device/FitImageLzma)
|
|
$(call Device/UbiFit)
|
|
DEVICE_VENDOR := ELECOM
|
|
DEVICE_MODEL := WRC-X3000GS2
|
|
DEVICE_DTS_CONFIG := config@mp03.3
|
|
SOC := ipq5018
|
|
BLOCKSIZE := 128k
|
|
PAGESIZE := 2048
|
|
IMAGE_SIZE := 52480k
|
|
NAND_SIZE := 128m
|
|
IMAGES += factory.bin
|
|
IMAGE/factory.bin := append-ubi | qsdk-ipq-factory-nand | \
|
|
mstc-header 4.04(XZF.0)b90 | elecom-product-header WRC-X3000GS2
|
|
DEVICE_PACKAGES := ath11k-firmware-qcn6122 ipq-wifi-elecom_wrc-x3000gs2
|
|
endef
|
|
TARGET_DEVICES += elecom_wrc-x3000gs2
|
|
|
|
define Device/glinet_gl-b3000
|
|
$(call Device/FitImage)
|
|
DEVICE_VENDOR := GL.iNet
|
|
DEVICE_MODEL := GL-B3000
|
|
SOC := ipq5018
|
|
KERNEL_LOADADDR := 0x41080000
|
|
KERNEL_IN_UBI := 1
|
|
BLOCKSIZE := 128k
|
|
PAGESIZE := 2048
|
|
NAND_SIZE := 128m
|
|
DEVICE_DTS_CONFIG := config@mp03.5-c1
|
|
SUPPORTED_DEVICES += b3000
|
|
BOOT_SCRIPT:= glinet_gl-b3000.bootscript
|
|
IMAGES := factory.img sysupgrade.bin
|
|
IMAGE/factory.img := append-ubi | gl-qsdk-factory | append-metadata
|
|
DEVICE_PACKAGES := \
|
|
ath11k-firmware-qcn6122 \
|
|
ipq-wifi-glinet_gl-b3000 \
|
|
dumpimage
|
|
endef
|
|
TARGET_DEVICES += glinet_gl-b3000
|
|
|
|
define Device/linksys_ipq50xx_mx_base
|
|
$(call Device/FitImageLzma)
|
|
DEVICE_VENDOR := Linksys
|
|
BLOCKSIZE := 128k
|
|
PAGESIZE := 2048
|
|
KERNEL_SIZE := 8192k
|
|
IMAGE_SIZE := 83968k
|
|
NAND_SIZE := 256m
|
|
SOC := ipq5018
|
|
IMAGES += factory.bin
|
|
IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | linksys-image type=$$$$(DEVICE_MODEL)
|
|
endef
|
|
|
|
define Device/linksys_mr5500
|
|
$(call Device/linksys_ipq50xx_mx_base)
|
|
DEVICE_MODEL := MR5500
|
|
DEVICE_DTS_CONFIG := config@mp03.1
|
|
DEVICE_PACKAGES := kmod-ath11k-pci \
|
|
ath11k-firmware-qcn9074 \
|
|
ipq-wifi-linksys_mr5500 \
|
|
kmod-usb-ledtrig-usbport
|
|
endef
|
|
TARGET_DEVICES += linksys_mr5500
|
|
|
|
define Device/linksys_mx2000
|
|
$(call Device/linksys_ipq50xx_mx_base)
|
|
DEVICE_MODEL := MX2000
|
|
DEVICE_DTS_CONFIG := config@mp03.5-c1
|
|
DEVICE_PACKAGES := ath11k-firmware-qcn6122 \
|
|
ipq-wifi-linksys_mx2000
|
|
endef
|
|
TARGET_DEVICES += linksys_mx2000
|
|
|
|
define Device/linksys_mx5500
|
|
$(call Device/linksys_ipq50xx_mx_base)
|
|
DEVICE_MODEL := MX5500
|
|
DEVICE_DTS_CONFIG := config@mp03.1
|
|
DEVICE_PACKAGES := kmod-ath11k-pci \
|
|
ath11k-firmware-qcn9074 \
|
|
ipq-wifi-linksys_mx5500
|
|
endef
|
|
TARGET_DEVICES += linksys_mx5500
|
|
|
|
define Device/linksys_spnmx56
|
|
$(call Device/linksys_ipq50xx_mx_base)
|
|
DEVICE_MODEL := SPNMX56
|
|
DEVICE_DTS_CONFIG := config@mp03.1
|
|
DEVICE_PACKAGES := kmod-ath11k-pci \
|
|
ath11k-firmware-qcn9074 \
|
|
ipq-wifi-linksys_spnmx56
|
|
endef
|
|
TARGET_DEVICES += linksys_spnmx56
|