2021-01-17 05:54:04 +00:00
|
|
|
|
|
|
|
DEVICE_VARS += NETGEAR_BOARD_ID NETGEAR_HW_ID
|
|
|
|
DEVICE_VARS += RAS_BOARD RAS_ROOTFS_SIZE RAS_VERSION
|
|
|
|
DEVICE_VARS += WRGG_DEVNAME WRGG_SIGNATURE
|
|
|
|
|
2024-06-07 17:23:56 +00:00
|
|
|
define Build/netgear-fit-padding
|
|
|
|
./netgear-fit-padding.py $@ $@.new
|
|
|
|
mv $@.new $@
|
|
|
|
endef
|
|
|
|
|
2021-01-17 05:54:04 +00:00
|
|
|
define Device/FitImage
|
2022-11-17 02:03:59 +00:00
|
|
|
KERNEL_SUFFIX := -uImage.itb
|
2022-08-25 18:26:11 +00:00
|
|
|
KERNEL = kernel-bin | gzip | fit gzip $$(KDIR)/image-$$(DEVICE_DTS).dtb
|
2021-01-17 05:54:04 +00:00
|
|
|
KERNEL_NAME := Image
|
|
|
|
endef
|
|
|
|
|
|
|
|
define Device/FitImageLzma
|
2022-11-17 02:03:59 +00:00
|
|
|
KERNEL_SUFFIX := -uImage.itb
|
2022-08-25 18:26:11 +00:00
|
|
|
KERNEL = kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(DEVICE_DTS).dtb
|
2021-01-17 05:54:04 +00:00
|
|
|
KERNEL_NAME := Image
|
|
|
|
endef
|
|
|
|
|
|
|
|
define Device/FitzImage
|
2022-11-17 02:03:59 +00:00
|
|
|
KERNEL_SUFFIX := -zImage.itb
|
2022-08-25 18:26:11 +00:00
|
|
|
KERNEL = kernel-bin | fit none $$(KDIR)/image-$$(DEVICE_DTS).dtb
|
2021-01-17 05:54:04 +00:00
|
|
|
KERNEL_NAME := zImage
|
|
|
|
endef
|
|
|
|
|
|
|
|
define Device/UbiFit
|
|
|
|
KERNEL_IN_UBI := 1
|
2022-11-17 01:52:50 +00:00
|
|
|
IMAGES := factory.ubi sysupgrade.bin
|
|
|
|
IMAGE/factory.ubi := append-ubi
|
|
|
|
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
|
2021-01-17 05:54:04 +00:00
|
|
|
endef
|
|
|
|
|
|
|
|
define Device/DniImage
|
|
|
|
$(call Device/FitzImage)
|
|
|
|
NETGEAR_BOARD_ID :=
|
|
|
|
NETGEAR_HW_ID :=
|
|
|
|
IMAGES += factory.img
|
2024-06-07 17:23:56 +00:00
|
|
|
IMAGE/factory.img := append-kernel | netgear-fit-padding | append-uImage-fakehdr filesystem | append-rootfs | pad-rootfs | netgear-dni
|
|
|
|
IMAGE/sysupgrade.bin := append-kernel | netgear-fit-padding | append-uImage-fakehdr filesystem | \
|
2021-06-20 16:54:36 +00:00
|
|
|
append-rootfs | pad-rootfs | check-size | append-metadata
|
2021-01-17 05:54:04 +00:00
|
|
|
endef
|
|
|
|
|
|
|
|
define Build/append-rootfshdr
|
|
|
|
mkimage -A $(LINUX_KARCH) \
|
|
|
|
-O linux -T filesystem \
|
|
|
|
-C lzma -a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \
|
|
|
|
-n root.squashfs -d $(IMAGE_ROOTFS) $@.new
|
2022-09-02 08:02:19 +00:00
|
|
|
cat $(IMAGE_KERNEL) > $@.$1
|
|
|
|
dd if=$@.new bs=64 count=1 >> $@.$1
|
2021-01-17 05:54:04 +00:00
|
|
|
endef
|
|
|
|
|
2021-07-15 19:48:11 +00:00
|
|
|
define Build/append-rutx-metadata
|
|
|
|
echo \
|
|
|
|
'{ \
|
|
|
|
"device_code": [".*"], \
|
|
|
|
"hwver": [".*"], \
|
|
|
|
"batch": [".*"], \
|
|
|
|
"serial": [".*"], \
|
|
|
|
"supported_devices":["teltonika,rutx"] \
|
|
|
|
}' | fwtool -I - $@
|
|
|
|
endef
|
|
|
|
|
2021-12-30 20:25:03 +00:00
|
|
|
define Build/copy-file
|
|
|
|
cat "$(1)" > "$@"
|
|
|
|
endef
|
|
|
|
|
2021-01-17 05:54:04 +00:00
|
|
|
define Build/mkmylofw_32m
|
|
|
|
$(eval device_id=$(word 1,$(1)))
|
|
|
|
$(eval revision=$(word 2,$(1)))
|
|
|
|
|
|
|
|
let \
|
|
|
|
size="$$(stat -c%s $@)" \
|
2023-11-11 12:29:26 +00:00
|
|
|
pad="$(call exp_units,$(BLOCKSIZE))" \
|
2021-01-17 05:54:04 +00:00
|
|
|
pad="(pad - (size % pad)) % pad" \
|
|
|
|
newsize='size + pad'; \
|
|
|
|
$(STAGING_DIR_HOST)/bin/mkmylofw \
|
|
|
|
-B WPE72 -i 0x11f6:$(device_id):0x11f6:$(device_id) -r $(revision) \
|
|
|
|
-s 0x2000000 -p0x180000:$$newsize:al:0x80208000:"OpenWrt":$@ \
|
|
|
|
$@.new
|
|
|
|
@mv $@.new $@
|
|
|
|
endef
|
|
|
|
|
ipq40xx: add netgear wac510 support
This adds support for the Netgear WAC510 Insight Managed Smart Cloud
Wireless Access Point, an indoor dual-band, dual-radio 802.11ac
business-class wireless AP with integrated omnidirectional antennae
and two 10/100/1000 Mbps Ethernet ports.
For more information see:
<https://www.netgear.com/business/wifi/access-points/wac510>
Specifications:
SoC: Qualcomm IPQ4018 (DAKOTA) ARM Quad-Core
RAM: 256 MiB
Flash1: 2 MiB Winbond W25Q16JV SPI-NOR
Flash2: 128 MiB Winbond W25N01GVZEIG SPI-NAND
Ethernet: Built-in IPQ4018 (SoC, QCA8072 PHY), 2x 1000/100/10 port,
WAN port active IEEE 802.3af/at PoE in
Wireless1: Built-in IPQ4018 (SoC) 802.11b/g/n 2x2:2, 3 dBi antennae
Wireless2: Built-in IPQ4018 (SoC) 802.11a/n/ac 2x2:2, 4 dBi antennae
Input: (Optional) Barrel 12 V 2.5 A Power, Reset button SW1
LEDs: Power, Insight, WAN PoE, LAN, 2.4G WLAN, 5G WLAN
Serial: Header J2
1 - 3.3 Volt (Do NOT connect!)
2 - TX
3 - RX
4 - Ground
WARNING: The serial port needs a TTL/RS-232 3.3 volt level converter!
The Serial settings are 115200-8-N-1.
Installation via Stock Web Interface:
BTW: The default factory console/web interface login user/password are
admin/password.
In the web interface navigating to Management - Maintenance - Upgrade -
'Firmware Upgrade' will show you what is currently installed e.g.:
Manage Firmware
Current Firmware Version: V5.0.10.2
Backup Firmware Version: V1.2.5.11
Under 'Upgrade Options' choose Local (alternatively SFTP would be
available) then click/select 'Browse File' on the right side, choose
openwrt-ipq40xx-generic-netgear_wac510-squashfs-nand-factory.tar
and hit the Upgrade button below. After a minute or two your browser
should indicate completion printing 'Firmware update complete.' and
'Rebooting AP...'.
Note that OpenWrt will use the WAN PoE port as actual WAN port
defaulting to DHCP client but NOT allowing LuCI access, use LAN port
defaulting to 192.168.1.1/24 to access LuCI.
Installation via TFTP Requiring Serial U-Boot Access:
Connect to the device's serial port and hit any key to stop autoboot.
Upload and boot the initramfs based OpenWrt image as follows:
(IPQ40xx) # setenv serverip 192.168.1.1
(IPQ40xx) # setenv ipaddr 192.168.1.2
(IPQ40xx) # tftpboot openwrt-ipq40xx-generic-netgear_wac510-initramfs-fit-uImage.itb
(IPQ40xx) # bootm
Note: This only runs OpenWrt from RAM and has not installed anything
to flash as of yet. One may permanently install OpenWrt as follows:
Check the MTD device number of the active partition:
root@OpenWrt:/# dmesg | grep 'set to be root filesystem'
[ 1.010084] mtd: device 9 (rootfs) set to be root filesystem
Upload the factory image ending with .ubi to /tmp (e.g. using scp or
tftp). Then flash the image as follows (substituting the 9 in mtd9
below with whatever number reported above):
root@OpenWrt:/# ubiformat /dev/mtd9 -f /tmp/openwrt-ipq40xx-generic-netgear_wac510-squashfs-nand-factory.ubi
And reboot.
Dual Image Configuration:
The default U-Boot boot command bootipq uses the U-Boot environment
variables primary/secondary to decide which image to boot. E.g.
primary=0, secondary=3800000 uses rootfs while primary=3800000,
secondary=0 uses rootfs_1.
Switching their values changes the active partition. E.g. from within
U-Boot:
(IPQ40xx) # setenv primary 0
(IPQ40xx) # setenv secondary 3800000
(IPQ40xx) # saveenv
Or from a OpenWrt userspace serial/SSH console:
fw_setenv primary 0
fw_setenv secondary 3800000
Note that if you install two copies of OpenWrt then each will have its
independent configuration not like when switching partitions on the
stock firmware.
BTW: The kernel log shows which boot partition is active:
[ 2.439050] ubi0: attached mtd9 (name "rootfs", size 56 MiB)
vs.
[ 2.978785] ubi0: attached mtd10 (name "rootfs_1", size 56 MiB)
Note: After 3 failed boot attempts it automatically switches partition.
Signed-off-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>
[squashed netgear-tar commit into main and rename netgear-tar for
now, until it is made generic.]
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2020-11-25 13:23:58 +00:00
|
|
|
define Build/wac5xx-netgear-tar
|
|
|
|
mkdir $@.tmp
|
|
|
|
mv $@ $@.tmp/wac5xx-ubifs-root.img
|
|
|
|
md5sum $@.tmp/wac5xx-ubifs-root.img > $@.tmp/wac5xx-ubifs-root.md5sum
|
|
|
|
echo "WAC505 WAC510" > $@.tmp/metadata.txt
|
|
|
|
echo "WAC505_V9.9.9.9" > $@.tmp/version
|
|
|
|
tar -C $@.tmp/ -cf $@ .
|
|
|
|
rm -rf $@.tmp
|
|
|
|
endef
|
|
|
|
|
2021-01-17 05:54:04 +00:00
|
|
|
define Build/qsdk-ipq-factory-nand-askey
|
|
|
|
$(TOPDIR)/scripts/mkits-qsdk-ipq-image.sh $@.its\
|
2022-09-02 08:02:19 +00:00
|
|
|
askey_kernel $@.$1 \
|
2021-01-17 05:54:04 +00:00
|
|
|
askey_fs $(IMAGE_ROOTFS) \
|
|
|
|
ubifs $@
|
|
|
|
PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $@.its $@.new
|
|
|
|
@mv $@.new $@
|
|
|
|
endef
|
|
|
|
|
ipq40xx: add support for GL.iNet GL-B2200
This patch adds supports for the GL-B2200 router.
Specifications:
- SOC: Qualcomm IPQ4019 ARM Quad-Core
- RAM: 512 MiB
- Flash: 16 MiB NOR - SPI0
- EMMC: 8GB EMMC
- ETH: Qualcomm QCA8075
- WLAN1: Qualcomm Atheros QCA4019 2.4GHz 802.11b/g/n 2x2
- WLAN2: Qualcomm Atheros QCA4019 5GHz 802.11n/ac W2 2x2
- WLAN3: Qualcomm Atheros QCA9886 5GHz 802.11n/ac W2 2x2
- INPUT: Reset, WPS
- LED: Power, Internet
- UART1: On board pin header near to LED (3.3V, TX, RX, GND), 3.3V without pin - 115200 8N1
- UART2: On board with BLE module
- SPI1: On board socket for Zigbee module
Update firmware instructions:
Please update the firmware via U-Boot web UI (by default at 192.168.1.1, following instructions found at
https://docs.gl-inet.com/en/3/troubleshooting/debrick/).
Normal sysupgrade, either via CLI or LuCI, is not possible from stock firmware.
Please do use the *gl-b2200-squashfs-emmc.img file, gunzipping the produced *gl-b2200-squashfs-emmc.img.gz one first.
What's working:
- WiFi 2G, 5G
- WPA2/WPA3
Not tested:
- Bluetooth LE/Zigbee
Credits goes to the original authors of this patch.
V1->V2:
- updates *arm-boot-add-dts-files.patch correctly (sorry, my mistake)
- add uboot-envtools support
V2->V3:
- Li Zhang updated official patch to fix wrong MAC address on wlan0 (PCI) interface
V3->V4:
- wire up sysupgrade
Signed-off-by: Li Zhang <li.zhang@gl-inet.com>
[fix tab and trailing space, document what's working and what's not]
Signed-off-by: TruongSinh Tran-Nguyen <i@truongsinh.pro>
[rebase on top of master, address remaining comments]
Signed-off-by: Enrico Mioso <mrkiko.rs@gmail.com>
[remove redundant check in platform.sh]
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2021-12-01 15:18:17 +00:00
|
|
|
define Build/qsdk-ipq-app-gpt
|
|
|
|
cp $@ $@.tmp 2>/dev/null || true
|
|
|
|
ptgen -g -o $@.tmp -a 1 -l 1024 \
|
|
|
|
-t 0x2e -N 0:HLOS -r -p 32M \
|
|
|
|
-t 0x83 -N rootfs -r -p 128M \
|
|
|
|
-N rootfs_data -p 512M
|
|
|
|
cat $@.tmp >> $@
|
|
|
|
rm $@.tmp
|
|
|
|
endef
|
|
|
|
|
2021-01-17 05:54:04 +00:00
|
|
|
define Build/SenaoFW
|
|
|
|
-$(STAGING_DIR_HOST)/bin/mksenaofw \
|
|
|
|
-n $(BOARD_NAME) -r $(VENDOR_ID) -p $(1) \
|
|
|
|
-c $(DATECODE) -w $(2) -x $(CW_VER) -t 0 \
|
|
|
|
-e $@ \
|
|
|
|
-o $@.new
|
|
|
|
@cp $@.new $@
|
|
|
|
endef
|
|
|
|
|
|
|
|
define Build/wrgg-image
|
|
|
|
mkwrggimg -i $@ \
|
|
|
|
-o $@.new \
|
|
|
|
-d "$(WRGG_DEVNAME)" \
|
|
|
|
-s "$(WRGG_SIGNATURE)" \
|
|
|
|
-v "" -m "" -B ""
|
|
|
|
mv $@.new $@
|
|
|
|
endef
|
|
|
|
|
|
|
|
define Device/8dev_habanero-dvk
|
|
|
|
$(call Device/FitImageLzma)
|
|
|
|
DEVICE_VENDOR := 8devices
|
|
|
|
DEVICE_MODEL := Habanero DVK
|
|
|
|
IMAGE_SIZE := 30976k
|
|
|
|
SOC := qcom-ipq4019
|
2021-06-20 16:54:36 +00:00
|
|
|
IMAGE/sysupgrade.bin := append-kernel | pad-to 64k | append-rootfs | pad-rootfs | check-size | append-metadata
|
2021-01-17 05:54:04 +00:00
|
|
|
endef
|
|
|
|
TARGET_DEVICES += 8dev_habanero-dvk
|
|
|
|
|
|
|
|
define Device/8dev_jalapeno-common
|
|
|
|
$(call Device/FitImage)
|
|
|
|
$(call Device/UbiFit)
|
|
|
|
BLOCKSIZE := 128k
|
|
|
|
PAGESIZE := 2048
|
|
|
|
SOC := qcom-ipq4018
|
|
|
|
endef
|
|
|
|
|
|
|
|
define Device/8dev_jalapeno
|
|
|
|
$(call Device/8dev_jalapeno-common)
|
|
|
|
DEVICE_VENDOR := 8devices
|
|
|
|
DEVICE_MODEL := Jalapeno
|
|
|
|
endef
|
|
|
|
TARGET_DEVICES += 8dev_jalapeno
|
|
|
|
|
|
|
|
define Device/alfa-network_ap120c-ac
|
|
|
|
$(call Device/FitImage)
|
|
|
|
$(call Device/UbiFit)
|
|
|
|
DEVICE_VENDOR := ALFA Network
|
|
|
|
DEVICE_MODEL := AP120C-AC
|
|
|
|
SOC := qcom-ipq4018
|
2021-05-25 13:26:06 +00:00
|
|
|
DEVICE_PACKAGES := kmod-usb-acm kmod-tpm-i2c-atmel
|
2021-01-17 05:54:04 +00:00
|
|
|
BLOCKSIZE := 128k
|
|
|
|
PAGESIZE := 2048
|
|
|
|
IMAGE_SIZE := 65536k
|
2022-11-17 01:52:50 +00:00
|
|
|
IMAGES := factory.bin sysupgrade.bin
|
|
|
|
IMAGE/factory.bin := append-ubi | qsdk-ipq-factory-nand
|
2021-01-17 05:54:04 +00:00
|
|
|
endef
|
|
|
|
TARGET_DEVICES += alfa-network_ap120c-ac
|
|
|
|
|
|
|
|
define Device/aruba_glenmorangie
|
|
|
|
$(call Device/FitImageLzma)
|
|
|
|
DEVICE_VENDOR := Aruba
|
|
|
|
SOC := qcom-ipq4029
|
|
|
|
endef
|
|
|
|
|
|
|
|
define Device/aruba_ap-303
|
|
|
|
$(call Device/aruba_glenmorangie)
|
|
|
|
DEVICE_MODEL := AP-303
|
2024-09-10 02:25:59 +00:00
|
|
|
DEVICE_DTS_CONFIG := Glenmorangie@1
|
2021-01-17 05:54:04 +00:00
|
|
|
endef
|
|
|
|
TARGET_DEVICES += aruba_ap-303
|
|
|
|
|
|
|
|
define Device/aruba_ap-303h
|
|
|
|
$(call Device/aruba_glenmorangie)
|
|
|
|
DEVICE_MODEL := AP-303H
|
2024-09-10 02:25:59 +00:00
|
|
|
DEVICE_DTS_CONFIG := Aberlour@1
|
2021-01-17 05:54:04 +00:00
|
|
|
endef
|
2022-12-21 09:34:03 +00:00
|
|
|
TARGET_DEVICES += aruba_ap-303h
|
2021-01-17 05:54:04 +00:00
|
|
|
|
|
|
|
define Device/aruba_ap-365
|
|
|
|
$(call Device/aruba_glenmorangie)
|
|
|
|
DEVICE_MODEL := AP-365
|
2023-05-17 20:02:40 +00:00
|
|
|
DEVICE_PACKAGES := kmod-hwmon-ad7418
|
2024-09-10 02:25:59 +00:00
|
|
|
DEVICE_DTS_CONFIG := Bunker@1
|
2021-01-17 05:54:04 +00:00
|
|
|
endef
|
2023-04-12 20:06:18 +00:00
|
|
|
TARGET_DEVICES += aruba_ap-365
|
2021-01-17 05:54:04 +00:00
|
|
|
|
|
|
|
define Device/asus_map-ac2200
|
|
|
|
$(call Device/FitImageLzma)
|
|
|
|
DEVICE_VENDOR := ASUS
|
|
|
|
DEVICE_MODEL := Lyra (MAP-AC2200)
|
|
|
|
SOC := qcom-ipq4019
|
|
|
|
DEVICE_PACKAGES := ath10k-firmware-qca9888-ct kmod-ath3k
|
|
|
|
endef
|
|
|
|
TARGET_DEVICES += asus_map-ac2200
|
|
|
|
|
2021-12-30 20:25:03 +00:00
|
|
|
# WARNING: this is an initramfs image that gets you half of the way there
|
|
|
|
# you need to delete the jffs2 ubi volume and sysupgrade to the final image
|
|
|
|
# to get a "trx" you can flash via web UI for ac42u/ac58u:
|
|
|
|
# - change call Device/FitImageLzma to Device/FitImage
|
|
|
|
# - add the following below UIMAGE_NAME
|
|
|
|
# UIMAGE_MAGIC := 0x27051956
|
|
|
|
# IMAGES += factory.trx
|
|
|
|
# IMAGE/factory.trx := copy-file $(KDIR)/tmp/$$(KERNEL_INITRAMFS_IMAGE) | uImage none
|
|
|
|
define Device/asus_rt-ac42u
|
|
|
|
$(call Device/FitImageLzma)
|
|
|
|
DEVICE_VENDOR := ASUS
|
|
|
|
DEVICE_MODEL := RT-AC42U
|
|
|
|
DEVICE_ALT0_VENDOR := ASUS
|
|
|
|
DEVICE_ALT0_MODEL := RT-ACRH17
|
2022-04-04 02:29:18 +00:00
|
|
|
DEVICE_ALT1_VENDOR := ASUS
|
|
|
|
DEVICE_ALT1_MODEL := RT-AC2200
|
2021-12-30 20:25:03 +00:00
|
|
|
SOC := qcom-ipq4019
|
|
|
|
BLOCKSIZE := 128k
|
|
|
|
PAGESIZE := 2048
|
|
|
|
IMAGE_SIZE := 20439364
|
|
|
|
FILESYSTEMS := squashfs
|
|
|
|
# RT-AC82U is nowhere to be found online
|
|
|
|
# Rather, this device is a/k/a RT-AC42U
|
|
|
|
# But we'll go with what the vendor firmware has...
|
|
|
|
UIMAGE_NAME:=$(shell echo -e '\03\01\01\01RT-AC82U')
|
2022-05-13 20:25:36 +00:00
|
|
|
DEVICE_PACKAGES := ath10k-firmware-qca9984-ct kmod-usb-ledtrig-usbport
|
2021-12-30 20:25:03 +00:00
|
|
|
endef
|
2022-10-03 01:41:31 +00:00
|
|
|
TARGET_DEVICES += asus_rt-ac42u
|
2021-12-30 20:25:03 +00:00
|
|
|
|
2021-01-17 05:54:04 +00:00
|
|
|
define Device/asus_rt-ac58u
|
|
|
|
$(call Device/FitImageLzma)
|
|
|
|
DEVICE_VENDOR := ASUS
|
|
|
|
DEVICE_MODEL := RT-AC58U
|
2022-01-15 16:23:49 +00:00
|
|
|
DEVICE_ALT0_VENDOR := ASUS
|
|
|
|
DEVICE_ALT0_MODEL := RT-ACRH13
|
2021-01-17 05:54:04 +00:00
|
|
|
SOC := qcom-ipq4018
|
|
|
|
BLOCKSIZE := 128k
|
|
|
|
PAGESIZE := 2048
|
|
|
|
IMAGE_SIZE := 20439364
|
|
|
|
FILESYSTEMS := squashfs
|
|
|
|
# Someone - in their infinite wisdom - decided to put the firmware
|
|
|
|
# version in front of the image name \03\00\00\04 => Version 3.0.0.4
|
|
|
|
# Since u-boot works with strings we either need another fixup step
|
|
|
|
# to add a version... or we are very careful not to add '\0' into that
|
|
|
|
# string and call it a day.... Yeah, we do the latter!
|
|
|
|
UIMAGE_NAME:=$(shell echo -e '\03\01\01\01RT-AC58U')
|
|
|
|
DEVICE_PACKAGES := -kmod-ath10k-ct kmod-ath10k-ct-smallbuffers \
|
|
|
|
kmod-usb-ledtrig-usbport
|
|
|
|
endef
|
|
|
|
TARGET_DEVICES += asus_rt-ac58u
|
|
|
|
|
|
|
|
define Device/avm_fritzbox-4040
|
|
|
|
$(call Device/FitImageLzma)
|
|
|
|
DEVICE_VENDOR := AVM
|
|
|
|
DEVICE_MODEL := FRITZ!Box 4040
|
|
|
|
SOC := qcom-ipq4018
|
|
|
|
BOARD_NAME := fritz4040
|
|
|
|
IMAGE_SIZE := 29056k
|
|
|
|
UBOOT_PATH := $(STAGING_DIR_IMAGE)/uboot-fritz4040.bin
|
|
|
|
UBOOT_PARTITION_SIZE := 524288
|
|
|
|
IMAGES += eva.bin
|
|
|
|
IMAGE/eva.bin := append-uboot | pad-to $$$$(UBOOT_PARTITION_SIZE) | append-kernel | append-rootfs | pad-rootfs
|
2021-06-20 16:54:36 +00:00
|
|
|
IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | check-size | append-metadata
|
2021-01-17 05:54:04 +00:00
|
|
|
DEVICE_PACKAGES := fritz-tffs fritz-caldata
|
|
|
|
endef
|
|
|
|
TARGET_DEVICES += avm_fritzbox-4040
|
|
|
|
|
|
|
|
define Device/avm_fritzbox-7530
|
|
|
|
$(call Device/FitImageLzma)
|
|
|
|
DEVICE_VENDOR := AVM
|
|
|
|
DEVICE_MODEL := FRITZ!Box 7530
|
2021-12-05 11:14:45 +00:00
|
|
|
DEVICE_ALT0_VENDOR := AVM
|
|
|
|
DEVICE_ALT0_MODEL := FRITZ!Box 7520
|
2021-01-17 05:54:04 +00:00
|
|
|
SOC := qcom-ipq4019
|
2019-08-21 07:10:46 +00:00
|
|
|
DEVICE_PACKAGES := fritz-caldata fritz-tffs-nand ltq-vdsl-vr11-app
|
2021-01-17 05:54:04 +00:00
|
|
|
endef
|
|
|
|
TARGET_DEVICES += avm_fritzbox-7530
|
|
|
|
|
|
|
|
define Device/avm_fritzrepeater-1200
|
|
|
|
$(call Device/FitImageLzma)
|
|
|
|
DEVICE_VENDOR := AVM
|
|
|
|
DEVICE_MODEL := FRITZ!Repeater 1200
|
|
|
|
SOC := qcom-ipq4019
|
2022-05-13 20:25:36 +00:00
|
|
|
DEVICE_PACKAGES := fritz-caldata fritz-tffs-nand
|
2021-01-17 05:54:04 +00:00
|
|
|
endef
|
|
|
|
TARGET_DEVICES += avm_fritzrepeater-1200
|
|
|
|
|
|
|
|
define Device/avm_fritzrepeater-3000
|
|
|
|
$(call Device/FitImageLzma)
|
|
|
|
DEVICE_VENDOR := AVM
|
|
|
|
DEVICE_MODEL := FRITZ!Repeater 3000
|
|
|
|
SOC := qcom-ipq4019
|
|
|
|
DEVICE_PACKAGES := ath10k-firmware-qca9984-ct fritz-caldata fritz-tffs-nand
|
|
|
|
endef
|
2023-04-24 20:00:18 +00:00
|
|
|
TARGET_DEVICES += avm_fritzrepeater-3000
|
2021-01-17 05:54:04 +00:00
|
|
|
|
|
|
|
define Device/buffalo_wtr-m2133hp
|
|
|
|
$(call Device/FitImage)
|
|
|
|
$(call Device/UbiFit)
|
|
|
|
DEVICE_VENDOR := Buffalo
|
|
|
|
DEVICE_MODEL := WTR-M2133HP
|
|
|
|
SOC := qcom-ipq4019
|
2022-05-13 20:25:36 +00:00
|
|
|
DEVICE_PACKAGES := ath10k-firmware-qca9984-ct
|
2021-01-17 05:54:04 +00:00
|
|
|
BLOCKSIZE := 128k
|
|
|
|
PAGESIZE := 2048
|
|
|
|
endef
|
2023-05-31 07:41:59 +00:00
|
|
|
TARGET_DEVICES += buffalo_wtr-m2133hp
|
2021-01-17 05:54:04 +00:00
|
|
|
|
|
|
|
define Device/cellc_rtl30vw
|
2022-11-17 02:03:59 +00:00
|
|
|
KERNEL_SUFFIX := -zImage.itb
|
2022-08-25 18:26:11 +00:00
|
|
|
KERNEL_INITRAMFS = kernel-bin | gzip | fit gzip $$(KDIR)/image-$$(DEVICE_DTS).dtb
|
|
|
|
KERNEL = kernel-bin | fit none $$(KDIR)/image-$$(DEVICE_DTS).dtb | uImage lzma | pad-to 2048
|
2021-11-05 15:01:54 +00:00
|
|
|
KERNEL_NAME := zImage
|
2021-01-17 05:54:04 +00:00
|
|
|
KERNEL_IN_UBI :=
|
2022-11-17 01:52:50 +00:00
|
|
|
IMAGES := factory.bin sysupgrade.bin
|
|
|
|
IMAGE/factory.bin := append-rootfshdr kernel | append-ubi | qsdk-ipq-factory-nand-askey kernel
|
|
|
|
IMAGE/sysupgrade.bin := append-rootfshdr kernel | sysupgrade-tar kernel=$$$$@.kernel | append-metadata
|
2021-01-17 05:54:04 +00:00
|
|
|
DEVICE_VENDOR := Cell C
|
|
|
|
DEVICE_MODEL := RTL30VW
|
|
|
|
SOC := qcom-ipq4019
|
|
|
|
DEVICE_DTS_CONFIG := config@5
|
|
|
|
KERNEL_INSTALL := 1
|
|
|
|
KERNEL_SIZE := 4096k
|
|
|
|
IMAGE_SIZE := 57344k
|
|
|
|
BLOCKSIZE := 128k
|
|
|
|
PAGESIZE := 2048
|
2022-05-13 20:25:36 +00:00
|
|
|
DEVICE_PACKAGES := kmod-usb-net-qmi-wwan kmod-usb-serial-option uqmi
|
2021-01-17 05:54:04 +00:00
|
|
|
endef
|
|
|
|
TARGET_DEVICES += cellc_rtl30vw
|
|
|
|
|
|
|
|
define Device/cilab_meshpoint-one
|
|
|
|
$(call Device/8dev_jalapeno-common)
|
|
|
|
DEVICE_VENDOR := Crisis Innovation Lab
|
|
|
|
DEVICE_MODEL := MeshPoint.One
|
2023-03-15 07:50:06 +00:00
|
|
|
DEVICE_PACKAGES += kmod-i2c-gpio kmod-iio-bmp280-i2c kmod-hwmon-ina2xx kmod-rtc-pcf2127
|
2021-01-17 05:54:04 +00:00
|
|
|
endef
|
2022-09-28 15:42:48 +00:00
|
|
|
# Missing DSA Setup
|
|
|
|
#TARGET_DEVICES += cilab_meshpoint-one
|
2021-01-17 05:54:04 +00:00
|
|
|
|
|
|
|
define Device/compex_wpj419
|
|
|
|
$(call Device/FitImage)
|
|
|
|
$(call Device/UbiFit)
|
|
|
|
DEVICE_VENDOR := Compex
|
|
|
|
DEVICE_MODEL := WPJ419
|
|
|
|
SOC := qcom-ipq4019
|
|
|
|
DEVICE_DTS_CONFIG := config@12
|
|
|
|
KERNEL_INSTALL := 1
|
|
|
|
BLOCKSIZE := 128k
|
|
|
|
PAGESIZE := 2048
|
|
|
|
FILESYSTEMS := squashfs
|
|
|
|
endef
|
2022-09-28 15:42:48 +00:00
|
|
|
# Missing DSA Setup
|
|
|
|
#TARGET_DEVICES += compex_wpj419
|
2021-01-17 05:54:04 +00:00
|
|
|
|
|
|
|
define Device/compex_wpj428
|
2023-10-16 17:41:21 +00:00
|
|
|
$(call Device/FitzImage)
|
2021-01-17 05:54:04 +00:00
|
|
|
DEVICE_VENDOR := Compex
|
|
|
|
DEVICE_MODEL := WPJ428
|
|
|
|
SOC := qcom-ipq4028
|
|
|
|
DEVICE_DTS_CONFIG := config@4
|
|
|
|
BLOCKSIZE := 64k
|
|
|
|
IMAGE_SIZE := 31232k
|
|
|
|
KERNEL_SIZE := 4096k
|
|
|
|
IMAGES += cpximg-6a04.bin
|
|
|
|
IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
|
|
|
|
IMAGE/cpximg-6a04.bin := append-kernel | append-rootfs | pad-rootfs | mkmylofw_32m 0x8A2 3
|
|
|
|
DEVICE_PACKAGES := kmod-gpio-beeper
|
2021-11-03 15:45:38 +00:00
|
|
|
DEFAULT := n
|
2021-01-17 05:54:04 +00:00
|
|
|
endef
|
|
|
|
TARGET_DEVICES += compex_wpj428
|
|
|
|
|
|
|
|
define Device/devolo_magic-2-wifi-next
|
2023-08-31 08:43:15 +00:00
|
|
|
$(call Device/FitzImage)
|
2021-01-17 05:54:04 +00:00
|
|
|
DEVICE_VENDOR := devolo
|
|
|
|
DEVICE_MODEL := Magic 2 WiFi next
|
|
|
|
SOC := qcom-ipq4018
|
|
|
|
KERNEL_SIZE := 4096k
|
|
|
|
|
|
|
|
# If the bootloader sees 0xDEADC0DE and this trailer at the 64k boundary of a TFTP image
|
|
|
|
# it will bootm it, just like we want for the initramfs.
|
2022-08-25 18:26:11 +00:00
|
|
|
KERNEL_INITRAMFS := kernel-bin | gzip | fit gzip $$(KDIR)/image-$$(DEVICE_DTS).dtb | pad-to 64k |\
|
2021-01-17 05:54:04 +00:00
|
|
|
append-string -e '\xDE\xAD\xC0\xDE{"fl_initramfs":""}\x00'
|
|
|
|
|
|
|
|
IMAGE_SIZE := 26624k
|
|
|
|
IMAGES := sysupgrade.bin
|
|
|
|
IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
|
2021-11-03 15:45:38 +00:00
|
|
|
DEFAULT := n
|
2021-01-17 05:54:04 +00:00
|
|
|
endef
|
2023-08-31 05:39:24 +00:00
|
|
|
TARGET_DEVICES += devolo_magic-2-wifi-next
|
2021-01-17 05:54:04 +00:00
|
|
|
|
|
|
|
define Device/dlink_dap-2610
|
|
|
|
$(call Device/FitImageLzma)
|
|
|
|
DEVICE_VENDOR := D-Link
|
|
|
|
DEVICE_MODEL := DAP-2610
|
|
|
|
SOC := qcom-ipq4018
|
|
|
|
DEVICE_DTS_CONFIG := config@ap.dk01.1-c1
|
|
|
|
BLOCKSIZE := 64k
|
|
|
|
WRGG_DEVNAME := /dev/mtdblock/8
|
|
|
|
WRGG_SIGNATURE := wapac30_dkbs_dap2610
|
|
|
|
IMAGE_SIZE := 14080k
|
|
|
|
IMAGES += factory.bin
|
|
|
|
# Bootloader expects a special 160 byte header which is added by
|
|
|
|
# wrgg-image.
|
|
|
|
# Factory image size must be larger than 6MB, and size in wrgg header must
|
|
|
|
# match actual factory image size to be flashable from D-Link http server.
|
|
|
|
# Bootloader verifies checksum of wrgg image before booting, thus jffs2
|
|
|
|
# cannot be part of the wrgg image. This is solved in the factory image by
|
|
|
|
# having the rootfs at the end of the image (without pad-rootfs). And in
|
|
|
|
# the sysupgrade image only the kernel is included in the wrgg checksum,
|
|
|
|
# but this is not flashable from the D-link http server.
|
|
|
|
# append-rootfs must start on an erase block boundary.
|
|
|
|
IMAGE/factory.bin := append-kernel | pad-offset 6144k 160 | append-rootfs | wrgg-image | check-size
|
|
|
|
IMAGE/sysupgrade.bin := append-kernel | wrgg-image | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | check-size | append-metadata
|
|
|
|
endef
|
2022-11-09 05:52:18 +00:00
|
|
|
TARGET_DEVICES += dlink_dap-2610
|
2021-01-17 05:54:04 +00:00
|
|
|
|
|
|
|
define Device/edgecore_ecw5211
|
|
|
|
$(call Device/FitImage)
|
|
|
|
$(call Device/UbiFit)
|
|
|
|
DEVICE_VENDOR := Edgecore
|
|
|
|
DEVICE_MODEL := ECW5211
|
|
|
|
SOC := qcom-ipq4018
|
|
|
|
BLOCKSIZE := 128k
|
|
|
|
PAGESIZE := 2048
|
2021-08-18 13:11:11 +00:00
|
|
|
DEVICE_DTS_CONFIG := config@ap.dk01.1-c2
|
2021-05-25 13:26:06 +00:00
|
|
|
DEVICE_PACKAGES := kmod-tpm-i2c-atmel kmod-usb-acm
|
2021-01-17 05:54:04 +00:00
|
|
|
endef
|
|
|
|
TARGET_DEVICES += edgecore_ecw5211
|
|
|
|
|
|
|
|
define Device/edgecore_oap100
|
|
|
|
$(call Device/FitImage)
|
|
|
|
$(call Device/UbiFit)
|
|
|
|
DEVICE_VENDOR := Edgecore
|
|
|
|
DEVICE_MODEL := OAP100
|
|
|
|
SOC := qcom-ipq4019
|
|
|
|
BLOCKSIZE := 128k
|
|
|
|
PAGESIZE := 2048
|
2022-11-17 01:52:50 +00:00
|
|
|
IMAGES := sysupgrade.bin
|
2021-01-17 05:54:04 +00:00
|
|
|
DEVICE_DTS_CONFIG := config@ap.dk07.1-c1
|
2023-05-17 20:02:40 +00:00
|
|
|
DEVICE_PACKAGES := kmod-usb-acm kmod-usb-net kmod-usb-net-cdc-qmi uqmi
|
2021-01-17 05:54:04 +00:00
|
|
|
endef
|
2022-09-28 15:42:48 +00:00
|
|
|
# Missing DSA Setup
|
|
|
|
#TARGET_DEVICES += edgecore_oap100
|
2021-01-17 05:54:04 +00:00
|
|
|
|
|
|
|
define Device/engenius_eap1300
|
|
|
|
$(call Device/FitImage)
|
|
|
|
DEVICE_VENDOR := EnGenius
|
|
|
|
DEVICE_MODEL := EAP1300
|
2024-05-06 14:12:10 +00:00
|
|
|
DEVICE_ALT0_VENDOR := EnGenius
|
|
|
|
DEVICE_ALT0_MODEL := EAP1300EXT
|
2021-01-17 05:54:04 +00:00
|
|
|
DEVICE_DTS_CONFIG := config@4
|
|
|
|
BOARD_NAME := eap1300
|
|
|
|
SOC := qcom-ipq4018
|
|
|
|
KERNEL_SIZE := 5120k
|
|
|
|
IMAGE_SIZE := 25344k
|
|
|
|
IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
|
|
|
|
endef
|
2024-05-03 13:14:31 +00:00
|
|
|
TARGET_DEVICES += engenius_eap1300
|
2021-01-17 05:54:04 +00:00
|
|
|
|
|
|
|
define Device/engenius_eap2200
|
|
|
|
$(call Device/FitImage)
|
|
|
|
$(call Device/UbiFit)
|
|
|
|
DEVICE_VENDOR := EnGenius
|
|
|
|
DEVICE_MODEL := EAP2200
|
|
|
|
SOC := qcom-ipq4019
|
|
|
|
BLOCKSIZE := 128k
|
|
|
|
PAGESIZE := 2048
|
2022-05-13 20:25:36 +00:00
|
|
|
DEVICE_PACKAGES := ath10k-firmware-qca9888-ct -kmod-ath10k-ct kmod-ath10k-ct-smallbuffers
|
2021-01-17 05:54:04 +00:00
|
|
|
endef
|
2022-09-28 15:42:48 +00:00
|
|
|
# Missing DSA Setup
|
|
|
|
#TARGET_DEVICES += engenius_eap2200
|
2021-01-17 05:54:04 +00:00
|
|
|
|
|
|
|
define Device/engenius_emd1
|
|
|
|
$(call Device/FitImage)
|
|
|
|
DEVICE_VENDOR := EnGenius
|
|
|
|
DEVICE_MODEL := EMD1
|
|
|
|
DEVICE_DTS_CONFIG := config@4
|
|
|
|
SOC := qcom-ipq4018
|
|
|
|
IMAGE_SIZE := 30720k
|
|
|
|
IMAGES += factory.bin
|
|
|
|
IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
|
|
|
|
IMAGE/factory.bin := qsdk-ipq-factory-nor | check-size
|
|
|
|
endef
|
2022-09-28 15:42:48 +00:00
|
|
|
# Missing DSA Setup
|
|
|
|
#TARGET_DEVICES += engenius_emd1
|
2021-01-17 05:54:04 +00:00
|
|
|
|
|
|
|
define Device/engenius_emr3500
|
|
|
|
$(call Device/FitImage)
|
|
|
|
DEVICE_VENDOR := EnGenius
|
|
|
|
DEVICE_MODEL := EMR3500
|
|
|
|
DEVICE_DTS_CONFIG := config@4
|
|
|
|
SOC := qcom-ipq4018
|
|
|
|
KERNEL_SIZE := 4096k
|
|
|
|
IMAGE_SIZE := 30720k
|
|
|
|
IMAGES += factory.bin
|
|
|
|
IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
|
|
|
|
IMAGE/factory.bin := qsdk-ipq-factory-nor | check-size
|
2021-11-03 15:45:38 +00:00
|
|
|
DEFAULT := n
|
2021-01-17 05:54:04 +00:00
|
|
|
endef
|
2022-09-28 15:42:48 +00:00
|
|
|
# Missing DSA Setup
|
|
|
|
#TARGET_DEVICES += engenius_emr3500
|
2021-01-17 05:54:04 +00:00
|
|
|
|
|
|
|
define Device/engenius_ens620ext
|
|
|
|
$(call Device/FitImage)
|
|
|
|
DEVICE_VENDOR := EnGenius
|
|
|
|
DEVICE_MODEL := ENS620EXT
|
|
|
|
SOC := qcom-ipq4018
|
|
|
|
DEVICE_DTS_CONFIG := config@4
|
|
|
|
BLOCKSIZE := 64k
|
|
|
|
PAGESIZE := 256
|
|
|
|
BOARD_NAME := ENS620EXT
|
|
|
|
VENDOR_ID := 0x0101
|
|
|
|
PRODUCT_ID := 0x79
|
|
|
|
PRODUCT_ID_NEW := 0xA4
|
|
|
|
DATECODE := 190507
|
|
|
|
FW_VER := 3.1.2
|
|
|
|
FW_VER_NEW := 3.5.6
|
|
|
|
CW_VER := 1.8.99
|
|
|
|
IMAGE_SIZE := 21312k
|
|
|
|
KERNEL_SIZE := 5120k
|
|
|
|
FILESYSTEMS := squashfs
|
|
|
|
IMAGES += factory_30.bin factory_35.bin
|
|
|
|
IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | check-size | append-metadata
|
|
|
|
IMAGE/factory_30.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | check-size | SenaoFW $$$$(PRODUCT_ID) $$$$(FW_VER)
|
|
|
|
IMAGE/factory_35.bin := qsdk-ipq-factory-nor | check-size | SenaoFW $$$$(PRODUCT_ID_NEW) $$$$(FW_VER_NEW)
|
|
|
|
endef
|
2022-09-28 15:42:48 +00:00
|
|
|
# Missing DSA Setup
|
|
|
|
#TARGET_DEVICES += engenius_ens620ext
|
2021-01-17 05:54:04 +00:00
|
|
|
|
2022-08-29 12:30:01 +00:00
|
|
|
define Device/extreme-networks_ws-ap3915i
|
|
|
|
$(call Device/FitImage)
|
|
|
|
DEVICE_VENDOR := Extreme Networks
|
|
|
|
DEVICE_MODEL := WS-AP3915i
|
|
|
|
IMAGE_SIZE := 30080k
|
|
|
|
SOC := qcom-ipq4029
|
|
|
|
BLOCKSIZE := 128k
|
|
|
|
IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | check-size | append-metadata
|
|
|
|
endef
|
2023-01-17 07:02:02 +00:00
|
|
|
TARGET_DEVICES += extreme-networks_ws-ap3915i
|
2022-08-29 12:30:01 +00:00
|
|
|
|
ipq40xx: add support for Extreme Networks WS-AP391x series APs
This in a single image to run many types of hardware in the AP391x
series (AP3912/AP3915/AP3916/AP3917/AP7662).
Hardware
--------
Qualcomm IPQ4029 WiSoC
2T2R 802.11 abgn
2T2R 802.11 nac
Macronix MX25L25635E SPI-NOR (32M)
512M DDR3 RAM
1-4x Gigabit Ethernet
Senao EXT1025 HD Camera (AP3916 only)
USB 2.0 Port (AP3915e only)
1x Cisco RJ-45 Console port
- except for AP3916 and AP3912 where there is no external serial
console and it is TDB how to solder one. Possibly J12 is UART with
pin1 = 3.3V, pin2 = GND, pin3 = TXD, pin4 = RXD.
- Settings: 115200 8N1
Installation With Serial Console
--------------------------------
1. Attach to the Console port. Power up the device and press the s key
to interrupt autoboot.
2. The default username / password to the bootloader is admin / new2day
3. Check uboot variables using printenv, and update if necessary:
$ setenv AP_MODE 0
$ setenv WATCHDOG_COUNT 0
$ setenv WATCHDOG_LIMIT 0
$ setenv AP_PERSONALITY identifi
$ setenv serverip <SERVER_IPADDR>
$ setenv ipaddr <UNIQUE_IPADDR>
$ setenv MOSTRECENTKERNEL 0; ## OpenWRT only uses the primary image
$ saveenv
$ saveenv ## 2nd time to write the secondary copy
4. On the TFTP server located at <SERVER_IPADDR>, download the OpenWrt
initramfs image. Rename and serve it as vmlinux.gz.uImage.3912
5. TFTP boot the OpenWrt initramfs image from the AP serial console:
$ run boot_net
6. Wait for OpenWrt to start. Internet port sw-eth5 is assiged to LAN
bridge and sw-eth4 (if available) is assigned to WAN. The LAN port
will use default IP address 192.168.1.1 and run a DHCP server.
If you already have a working DHCP server or already have 192.168.1.1
on your network you MUST DISCONNECT the LAN cable from your active
network immediately after the power/status LED turns green!
At this point, you need to temporarily reconfigure the AP to have
a way to transfer the OpenWRT sysupgrade image to it.
Reconfigure the newly converted OpenWRT AP using serial console or
plug in a PC to a sw-eth5 as a separate network. Note -- the LAN/WAN
port assignments were designed to make it possible to convert to
OpenWRT without serial console and using a common firmware
image for many AP models -- they may not make the most sense when
fully deployed.
7. Download and transfer the sysupgrade image to the device using e.g.
SCP.
8. Install OpenWrt to the device using "sysupgrade"
$ sysupgrade -n /path/to/openwrt.bin
9. After it boots up again, as in step 6, connect to AP and reconfigure
for final deployment.
This build supports APs in the AP391x series and similar such as WiNG
AP7662.
Ethernet devices within OpenWRT are named "sw-eth1" thru "sw-eth5".
Mapping from OpenWRT internal naming to external naming on the case is
as follows:
```
|sw-eth1|sw-eth2|sw-eth3|sw-eth4|sw-eth5
------------+-------+-------+-------+-------+-------
AP3917 | | | | GE2 | GE1
------------+-------+-------+-------+-------+-------
AP7662 | | | | GE2 | GE1
------------+-------+-------+-------+-------+-------
AP3916 | | | | CAM* | GE1
------------+-------+-------+-------+-------+-------
AP3915 | | | | | GE1
------------+-------+-------+-------+-------+-------
AP3912 | | P1 | P2 | P3 | LAN1
------------+-------+-------+-------+-------+-------
```
By default sw-eth4 is mapped to WAN. All others are assigned to the
LAN.
CAM* - On AP3916, sw-eth4 is the camera's interface. You should
reconfigure this to be on LAN after OpenWRT boots from flash.
Installation Without Serial Console
-----------------------------------
The main premise is to set u-boot environment variables using the
Extreme Networks firmware's rdwr_boot_cfg program.
$ rdwr_boot_cfg
Utility to manipulate the boot ROM config blocks
All errors are written to the sytem log file (/tmp/log/ap.log)
```
Usage: rdwr_boot_cfg <read_all|read_var|read_var_f|write_var|rm_var> ...
read_all read the entire active block
read_var <var> read a single variable from the active block
read_var_f <var> read a single variable from the active block
(formatted)
write_var <var=val> write a single variable/value pair to both
blocks
rm_var <var> delete a single variable from both blocks
```
WARNING: Be very sure you have set the u-boot environment correctly.
If not, it can only be fixed by attaching serial console!
Be aware that the Extreme Networks shell environment will automatically
reboot every 5 minutes if there is no controller present.
Read and understand these steps fully before attempting. It is easy
to make mistakes!
1. Place the OpenWRT initramfs on the TFTP server and name it as
vmlinux.gz.uImage.3912
2. Boot up to Extreme Networks WING-Campus mode OS. Port GE1/LAN1
will be a DHCP **client**. Find out the IP address from your DHCP
server and SSH in. Default user/passwd is admin/new2day or
admin/admin123.
If it is booting to WING-Distributed mode, use this command to
convert to Campus mode.
$ operational-mode centralized
3. Upon bootup you have about 5mins to changed these u-boot variables
if necessary using the rdwr_boot_cfg command in Linux shell:
$ rdwr_boot_cfg write_var AP_MODE=0
$ rdwr_boot_cfg write_var MOSTRECENTKERNEL=0
$ rdwr_boot_cfg write_var WATCHDOG_COUNT=0
$ rdwr_boot_cfg write_var WATCHDOG_LIMIT=0
$ rdwr_boot_cfg write_var AP_PERSONALITY=identifi
$ rdwr_boot_cfg write_var serverip=<SERVER_IPADDR>
$ rdwr_boot_cfg write_var ipaddr=<UNIQUE_IPADDR>
$ rdwr_boot_cfg write_var bootcmd="run boot_net"
4. Reboot AP.
5. Connect PC with ethernet to GE1/LAN1 port. You should get a
DHCP address in the 192.168.1.x range and should be able to
SSH to the new OpenWRT TFTP recovery/installation shell.
6. At this point, u-boot is still set to TFTP boot, so you have to
replace the TFTP image with the original Extreme Networks image so
that you can change the u-boot environment.
See the instructions for Extracting Extreme Networks firmware
image.
DON'T REBOOT YET!
7. Next you must follow steps 6 thru 8 from the Installation with serial
console. After which you should have OpenWRT installed to primary
flash firmware.
8. Now Reboot. This time it will boot using TFTP into Extreme Networks
image. You may need to reconnect cables at this point -- GE1/LAN1
will be a DHCP **client** and you can SSH in -- just like step 2.
Get the IP address from you own DHCP server.
9. Set u-boot env as follows:
$ rdwr_boot_cfg write_var MOSTRECENTKERNEL=0
$ rdwr_boot_cfg write_var WATCHDOG_COUNT=0
$ rdwr_boot_cfg write_var bootcmd="run boot_flash"
10. Reboot AP. This time it should be into OpenWRT. GE1/LAN1 will be
a DHCP **server** and have static IP 192.168.1.1 -- just like step 5.
11. SSH into the LAN port and reconfigure to final configuration. Don't
make any changes that prevent you from SSH or Luci access!
Restoring Extreme Networks firmware
-----------------------------------
Assuming you have the original Extreme Networks image:
1. Login to OpenWRT shell
2. scp the Extreme Networks packaged firmware image file AP391x-*.img to
/tmp
3. Extract the firmware uimage file:
$ tar xjf AP391x-*.img vmlinux.gz.uImage
4. Force run sysupgrade:
$ sysupgrade -F /tmp/AP391x-*.img /
5. Restore the u-boot varable(s):
$ rdwr_boot_cfg write_var WATCHDOG_LIMIT=3
USB 2.0 Port on AP3915e
-----------------------
Enable this by setting LED "eth:amber_or_usb_enable" to ALWAYS ON.
Reviewed-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Glen Lee <g2lee@yahoo.com>
2023-08-26 01:46:59 +00:00
|
|
|
define Device/extreme-networks_ws-ap391x
|
|
|
|
$(call Device/FitImage)
|
|
|
|
DEVICE_VENDOR := Extreme Networks
|
|
|
|
DEVICE_MODEL := WS-AP391x
|
|
|
|
IMAGE_SIZE := 15040k
|
|
|
|
SOC := qcom-ipq4029
|
|
|
|
IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | check-size | append-metadata
|
|
|
|
endef
|
|
|
|
TARGET_DEVICES += extreme-networks_ws-ap391x
|
|
|
|
|
2021-01-17 05:54:04 +00:00
|
|
|
define Device/ezviz_cs-w3-wd1200g-eup
|
|
|
|
$(call Device/FitImage)
|
|
|
|
DEVICE_VENDOR := EZVIZ
|
|
|
|
DEVICE_MODEL := CS-W3-WD1200G
|
|
|
|
DEVICE_VARIANT := EUP
|
|
|
|
IMAGE_SIZE := 14848k
|
2021-11-28 14:26:18 +00:00
|
|
|
KERNEL_SIZE = 6m
|
2021-01-17 05:54:04 +00:00
|
|
|
SOC := qcom-ipq4018
|
|
|
|
IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | \
|
|
|
|
append-metadata
|
2022-05-13 20:25:36 +00:00
|
|
|
DEVICE_PACKAGES := -kmod-ath10k-ct kmod-ath10k-ct-smallbuffers
|
2021-11-28 14:26:18 +00:00
|
|
|
DEVICE_COMPAT_VERSION := 2.0
|
|
|
|
DEVICE_COMPAT_MESSAGE := uboot's bootcmd has to be updated (see wiki). \
|
|
|
|
Upgrade via sysupgrade mechanism is not possible.
|
2021-01-17 05:54:04 +00:00
|
|
|
endef
|
2023-05-18 20:51:08 +00:00
|
|
|
TARGET_DEVICES += ezviz_cs-w3-wd1200g-eup
|
2021-01-17 05:54:04 +00:00
|
|
|
|
2022-09-19 09:47:40 +00:00
|
|
|
define Device/glinet_gl-a1300
|
|
|
|
$(call Device/FitImage)
|
|
|
|
$(call Device/UbiFit)
|
|
|
|
DEVICE_VENDOR := GL.iNet
|
|
|
|
DEVICE_MODEL := GL-A1300
|
|
|
|
SOC := qcom-ipq4018
|
|
|
|
DEVICE_DTS_CONFIG := config@ap.dk01.1-c2
|
|
|
|
BLOCKSIZE := 128k
|
|
|
|
PAGESIZE := 2048
|
|
|
|
IMAGE_SIZE := 131072k
|
|
|
|
endef
|
|
|
|
TARGET_DEVICES += glinet_gl-a1300
|
|
|
|
|
2021-01-17 05:54:04 +00:00
|
|
|
define Device/glinet_gl-ap1300
|
|
|
|
$(call Device/FitImage)
|
|
|
|
$(call Device/UbiFit)
|
|
|
|
DEVICE_VENDOR := GL.iNet
|
|
|
|
DEVICE_MODEL := GL-AP1300
|
|
|
|
SOC := qcom-ipq4018
|
|
|
|
DEVICE_DTS_CONFIG := config@ap.dk01.1-c2
|
|
|
|
BLOCKSIZE := 128k
|
|
|
|
PAGESIZE := 2048
|
|
|
|
IMAGE_SIZE := 131072k
|
|
|
|
KERNEL_INSTALL := 1
|
2023-05-17 20:02:40 +00:00
|
|
|
DEVICE_PACKAGES := kmod-usb-net-qmi-wwan kmod-usb-serial-option uqmi
|
2021-01-17 05:54:04 +00:00
|
|
|
endef
|
2022-07-16 08:33:24 +00:00
|
|
|
TARGET_DEVICES += glinet_gl-ap1300
|
2021-01-17 05:54:04 +00:00
|
|
|
|
|
|
|
define Device/glinet_gl-b1300
|
2021-10-09 23:32:30 +00:00
|
|
|
$(call Device/FitzImage)
|
2021-01-17 05:54:04 +00:00
|
|
|
DEVICE_VENDOR := GL.iNet
|
|
|
|
DEVICE_MODEL := GL-B1300
|
|
|
|
BOARD_NAME := gl-b1300
|
|
|
|
SOC := qcom-ipq4029
|
|
|
|
KERNEL_SIZE := 4096k
|
|
|
|
IMAGE_SIZE := 26624k
|
|
|
|
IMAGE/sysupgrade.bin := append-kernel |append-rootfs | pad-rootfs | append-metadata
|
|
|
|
endef
|
|
|
|
TARGET_DEVICES += glinet_gl-b1300
|
|
|
|
|
ipq40xx: add support for GL.iNet GL-B2200
This patch adds supports for the GL-B2200 router.
Specifications:
- SOC: Qualcomm IPQ4019 ARM Quad-Core
- RAM: 512 MiB
- Flash: 16 MiB NOR - SPI0
- EMMC: 8GB EMMC
- ETH: Qualcomm QCA8075
- WLAN1: Qualcomm Atheros QCA4019 2.4GHz 802.11b/g/n 2x2
- WLAN2: Qualcomm Atheros QCA4019 5GHz 802.11n/ac W2 2x2
- WLAN3: Qualcomm Atheros QCA9886 5GHz 802.11n/ac W2 2x2
- INPUT: Reset, WPS
- LED: Power, Internet
- UART1: On board pin header near to LED (3.3V, TX, RX, GND), 3.3V without pin - 115200 8N1
- UART2: On board with BLE module
- SPI1: On board socket for Zigbee module
Update firmware instructions:
Please update the firmware via U-Boot web UI (by default at 192.168.1.1, following instructions found at
https://docs.gl-inet.com/en/3/troubleshooting/debrick/).
Normal sysupgrade, either via CLI or LuCI, is not possible from stock firmware.
Please do use the *gl-b2200-squashfs-emmc.img file, gunzipping the produced *gl-b2200-squashfs-emmc.img.gz one first.
What's working:
- WiFi 2G, 5G
- WPA2/WPA3
Not tested:
- Bluetooth LE/Zigbee
Credits goes to the original authors of this patch.
V1->V2:
- updates *arm-boot-add-dts-files.patch correctly (sorry, my mistake)
- add uboot-envtools support
V2->V3:
- Li Zhang updated official patch to fix wrong MAC address on wlan0 (PCI) interface
V3->V4:
- wire up sysupgrade
Signed-off-by: Li Zhang <li.zhang@gl-inet.com>
[fix tab and trailing space, document what's working and what's not]
Signed-off-by: TruongSinh Tran-Nguyen <i@truongsinh.pro>
[rebase on top of master, address remaining comments]
Signed-off-by: Enrico Mioso <mrkiko.rs@gmail.com>
[remove redundant check in platform.sh]
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2021-12-01 15:18:17 +00:00
|
|
|
define Device/glinet_gl-b2200
|
|
|
|
$(call Device/FitzImage)
|
|
|
|
DEVICE_VENDOR := GL.iNet
|
|
|
|
DEVICE_MODEL := GL-B2200
|
|
|
|
SOC := qcom-ipq4019
|
|
|
|
DEVICE_DTS_CONFIG := config@ap.dk04.1-c3
|
|
|
|
KERNEL_INITRAMFS_SUFFIX := -recovery.itb
|
|
|
|
IMAGES := emmc.img.gz sysupgrade.bin
|
|
|
|
IMAGE/emmc.img.gz := qsdk-ipq-app-gpt |\
|
|
|
|
pad-to 1024k | append-kernel |\
|
|
|
|
pad-to 33792k | append-rootfs |\
|
|
|
|
append-metadata | gzip
|
|
|
|
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
|
2022-06-26 13:05:27 +00:00
|
|
|
DEVICE_PACKAGES := ath10k-firmware-qca9888-ct \
|
ipq40xx: add support for GL.iNet GL-B2200
This patch adds supports for the GL-B2200 router.
Specifications:
- SOC: Qualcomm IPQ4019 ARM Quad-Core
- RAM: 512 MiB
- Flash: 16 MiB NOR - SPI0
- EMMC: 8GB EMMC
- ETH: Qualcomm QCA8075
- WLAN1: Qualcomm Atheros QCA4019 2.4GHz 802.11b/g/n 2x2
- WLAN2: Qualcomm Atheros QCA4019 5GHz 802.11n/ac W2 2x2
- WLAN3: Qualcomm Atheros QCA9886 5GHz 802.11n/ac W2 2x2
- INPUT: Reset, WPS
- LED: Power, Internet
- UART1: On board pin header near to LED (3.3V, TX, RX, GND), 3.3V without pin - 115200 8N1
- UART2: On board with BLE module
- SPI1: On board socket for Zigbee module
Update firmware instructions:
Please update the firmware via U-Boot web UI (by default at 192.168.1.1, following instructions found at
https://docs.gl-inet.com/en/3/troubleshooting/debrick/).
Normal sysupgrade, either via CLI or LuCI, is not possible from stock firmware.
Please do use the *gl-b2200-squashfs-emmc.img file, gunzipping the produced *gl-b2200-squashfs-emmc.img.gz one first.
What's working:
- WiFi 2G, 5G
- WPA2/WPA3
Not tested:
- Bluetooth LE/Zigbee
Credits goes to the original authors of this patch.
V1->V2:
- updates *arm-boot-add-dts-files.patch correctly (sorry, my mistake)
- add uboot-envtools support
V2->V3:
- Li Zhang updated official patch to fix wrong MAC address on wlan0 (PCI) interface
V3->V4:
- wire up sysupgrade
Signed-off-by: Li Zhang <li.zhang@gl-inet.com>
[fix tab and trailing space, document what's working and what's not]
Signed-off-by: TruongSinh Tran-Nguyen <i@truongsinh.pro>
[rebase on top of master, address remaining comments]
Signed-off-by: Enrico Mioso <mrkiko.rs@gmail.com>
[remove redundant check in platform.sh]
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2021-12-01 15:18:17 +00:00
|
|
|
kmod-fs-ext4 kmod-mmc kmod-spi-dev mkf2fs e2fsprogs kmod-fs-f2fs
|
|
|
|
endef
|
|
|
|
TARGET_DEVICES += glinet_gl-b2200
|
|
|
|
|
2021-01-17 05:54:04 +00:00
|
|
|
define Device/glinet_gl-s1300
|
2021-10-09 23:32:30 +00:00
|
|
|
$(call Device/FitzImage)
|
2021-01-17 05:54:04 +00:00
|
|
|
DEVICE_VENDOR := GL.iNet
|
|
|
|
DEVICE_MODEL := GL-S1300
|
|
|
|
SOC := qcom-ipq4029
|
|
|
|
KERNEL_SIZE := 4096k
|
|
|
|
IMAGE_SIZE := 26624k
|
|
|
|
IMAGES := sysupgrade.bin
|
|
|
|
IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
|
2023-05-17 20:02:40 +00:00
|
|
|
DEVICE_PACKAGES := kmod-fs-ext4 kmod-mmc kmod-spi-dev
|
2021-01-17 05:54:04 +00:00
|
|
|
endef
|
2022-09-28 15:42:48 +00:00
|
|
|
# Missing DSA Setup
|
|
|
|
#TARGET_DEVICES += glinet_gl-s1300
|
2021-01-17 05:54:04 +00:00
|
|
|
|
2022-12-01 04:10:59 +00:00
|
|
|
define Device/kernel-size-6350-8300
|
|
|
|
DEVICE_COMPAT_VERSION := 2.0
|
|
|
|
DEVICE_COMPAT_MESSAGE := Kernel partition size must be increased for \
|
|
|
|
this OpenWrt version. Before continuing, you MUST issue either the \
|
|
|
|
command "fw_setenv kernsize 500000" from the OpenWrt command line, \
|
|
|
|
or "setenv kernsize 500000 ; saveenv" from the U-Boot serial console. \
|
|
|
|
Instead of the sysupgrade image, you must then install the OpenWrt \
|
|
|
|
factory image, setting the force flag and wiping the configuration. \
|
|
|
|
(e.g. "sysupgrade -n -F openwrt-squashfs-factory.bin" on command line)
|
|
|
|
endef
|
|
|
|
|
2021-01-17 05:54:04 +00:00
|
|
|
define Device/linksys_ea6350v3
|
|
|
|
# The Linksys EA6350v3 has a uboot bootloader that does not
|
|
|
|
# support either booting lzma kernel images nor booting UBI
|
|
|
|
# partitions. This uboot, however, supports raw kernel images and
|
|
|
|
# gzipped images.
|
|
|
|
#
|
2022-12-01 04:10:59 +00:00
|
|
|
# As configured by the OEM factory, the device will boot the kernel
|
|
|
|
# from a fixed address with a fixed length of 3 MiB. Also, the
|
|
|
|
# device has a hard-coded kernel command line that requires the
|
2021-01-17 05:54:04 +00:00
|
|
|
# rootfs and alt_rootfs to be in mtd11 and mtd13 respectively.
|
|
|
|
# Oh... and the kernel partition overlaps with the rootfs
|
|
|
|
# partition (the same for alt_kernel and alt_rootfs).
|
|
|
|
#
|
|
|
|
# If you are planing re-partitioning the device, you may want to
|
2022-12-01 04:10:59 +00:00
|
|
|
# keep these details in mind:
|
|
|
|
# 1. The kernel addresses you should honor are 0x00000000 and
|
2021-01-17 05:54:04 +00:00
|
|
|
# 0x02800000 respectively.
|
2022-12-01 04:10:59 +00:00
|
|
|
# 2. The kernel size (plus the dtb) cannot exceed 3 MiB in size
|
|
|
|
# unless the uboot environment variable "kernsize" is increased.
|
2021-01-17 05:54:04 +00:00
|
|
|
# 3. You can use 'zImage', but not a raw 'Image' packed with lzma.
|
|
|
|
# 4. The kernel command line from uboot is harcoded to boot with
|
|
|
|
# rootfs either in mtd11 or mtd13.
|
|
|
|
$(call Device/FitzImage)
|
2022-12-01 04:10:59 +00:00
|
|
|
$(call Device/kernel-size-6350-8300)
|
2021-01-17 05:54:04 +00:00
|
|
|
DEVICE_VENDOR := Linksys
|
|
|
|
DEVICE_MODEL := EA6350
|
|
|
|
DEVICE_VARIANT := v3
|
|
|
|
SOC := qcom-ipq4018
|
|
|
|
BLOCKSIZE := 128k
|
|
|
|
PAGESIZE := 2048
|
2022-12-01 04:10:59 +00:00
|
|
|
KERNEL_SIZE := 5120k
|
|
|
|
IMAGE_SIZE := 35840k
|
2023-11-11 12:53:26 +00:00
|
|
|
NAND_SIZE := 128m
|
2021-01-17 05:54:04 +00:00
|
|
|
UBINIZE_OPTS := -E 5
|
|
|
|
IMAGES += factory.bin
|
|
|
|
IMAGE/factory.bin := append-kernel | append-uImage-fakehdr filesystem | pad-to $$$$(KERNEL_SIZE) | append-ubi | linksys-image type=EA6350v3
|
|
|
|
endef
|
|
|
|
TARGET_DEVICES += linksys_ea6350v3
|
|
|
|
|
|
|
|
define Device/linksys_ea8300
|
|
|
|
$(call Device/FitzImage)
|
2022-12-01 04:10:59 +00:00
|
|
|
$(call Device/kernel-size-6350-8300)
|
2021-01-17 05:54:04 +00:00
|
|
|
DEVICE_VENDOR := Linksys
|
|
|
|
DEVICE_MODEL := EA8300
|
|
|
|
SOC := qcom-ipq4019
|
2022-12-01 04:10:59 +00:00
|
|
|
KERNEL_SIZE := 5120k
|
|
|
|
IMAGE_SIZE := 84992k
|
2023-11-11 12:53:26 +00:00
|
|
|
NAND_SIZE := 256m
|
2021-01-17 05:54:04 +00:00
|
|
|
BLOCKSIZE := 128k
|
|
|
|
PAGESIZE := 2048
|
|
|
|
UBINIZE_OPTS := -E 5 # EOD marks to "hide" factory sig at EOF
|
|
|
|
IMAGES += factory.bin
|
|
|
|
IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | linksys-image type=EA8300
|
2023-05-17 20:02:40 +00:00
|
|
|
DEVICE_PACKAGES := ath10k-firmware-qca9888-ct kmod-usb-ledtrig-usbport
|
2021-01-17 05:54:04 +00:00
|
|
|
endef
|
|
|
|
TARGET_DEVICES += linksys_ea8300
|
|
|
|
|
|
|
|
define Device/linksys_mr8300
|
|
|
|
$(call Device/FitzImage)
|
2022-12-01 04:10:59 +00:00
|
|
|
$(call Device/kernel-size-6350-8300)
|
2021-01-17 05:54:04 +00:00
|
|
|
DEVICE_VENDOR := Linksys
|
|
|
|
DEVICE_MODEL := MR8300
|
|
|
|
SOC := qcom-ipq4019
|
2022-12-01 04:10:59 +00:00
|
|
|
KERNEL_SIZE := 5120k
|
|
|
|
IMAGE_SIZE := 84992k
|
2023-11-11 12:53:26 +00:00
|
|
|
NAND_SIZE := 256m
|
2021-01-17 05:54:04 +00:00
|
|
|
BLOCKSIZE := 128k
|
|
|
|
PAGESIZE := 2048
|
|
|
|
UBINIZE_OPTS := -E 5 # EOD marks to "hide" factory sig at EOF
|
|
|
|
IMAGES += factory.bin
|
|
|
|
IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | linksys-image type=MR8300
|
2022-05-13 20:25:36 +00:00
|
|
|
DEVICE_PACKAGES := ath10k-firmware-qca9888-ct kmod-usb-ledtrig-usbport
|
2021-01-17 05:54:04 +00:00
|
|
|
endef
|
|
|
|
TARGET_DEVICES += linksys_mr8300
|
|
|
|
|
ipq40xx: add support for Linksys WHW03 V1
Hardware:
=========
SOC: Qualcomm IPQ4019
WiFi 1: QCA4019 IEEE 802.11b/g/n
WiFi 2: QCA4019 IEEE 802.11a/n/ac
WiFi 3: QCA9886 IEEE 802.11a/n/ac
Bluetooth: Qualcomm CSR8510 (A10)
Zigbee: Silicon Labs EM3581 NCP + Skyworks SE2432L
Ethernet: Qualcomm Atheros QCA8072 (2-port)
Flash: Samsung KLM4G1FEPD (4GB eMMC)
RAM (NAND): 512MB
LED Controller: NXP PCA9633 (I2C)
Buttons: Single reset button (GPIO).
Ethernet:
=========
The device has 2 ethernet ports, configured as follows by default:
- left port: WAN
- right port: LAN
Wifi:
=====
The Wifi radios are turned off by default. To configure the router,
you will need to connect your computer to the LAN port of the device.
Bluetooth and Zigbee:
=====================
Configuration included but not tested.
Storage:
========
For compatibility with stock firmware, all of OpenWrt runs in a 136 MiB
eMMC partition (of which there are two copies, see below). You can also
use partition /dev/mmcblk0p19 "syscfg" (3.4 GiB) any way you see fit.
During very limited tests, stock firmware did not mount this partition.
However, backing up its stock content before use is recommended anyway.
Firmware:
=========
The device uses a dual firmware mechanism: it automatically reverts to
the previous firmware after 3 failed boot attempts.
You can switch to the inactive firmware copy by changing the "boot_part"
U-Boot environment variable. You can also do it by turning on the device
for a couple of seconds and then back off, 3 times in a row.
Installation:
=============
OpenWrt's "factory" image can be installed via the stock web UI:
1. Login to the UI. (The default password is printed on the label.)
2. Enter support mode by clicking on the "CA" link at the bottom.
3. Click "Connectivity", "Choose file", "Start", and ignore warnings.
This port is based on work done by flipy (https://github.com/flipy).
Signed-off-by: Rodrigo Balerdi <lanchon@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15345
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-04-11 15:14:19 +00:00
|
|
|
define Device/linksys_whw03
|
|
|
|
$(call Device/FitzImage)
|
|
|
|
DEVICE_VENDOR := Linksys
|
|
|
|
DEVICE_MODEL := WHW03
|
|
|
|
SOC := qcom-ipq4019
|
|
|
|
KERNEL_SIZE := 8192k
|
|
|
|
IMAGE_SIZE := 131072k
|
|
|
|
IMAGES += factory.bin
|
|
|
|
IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | linksys-image type=WHW03
|
|
|
|
DEVICE_PACKAGES := ath10k-firmware-qca9888-ct kmod-leds-pca963x kmod-spi-dev kmod-bluetooth \
|
2024-06-30 22:45:43 +00:00
|
|
|
kmod-fs-ext4 e2fsprogs kmod-fs-f2fs mkf2fs losetup ipq-wifi-linksys_whw03
|
ipq40xx: add support for Linksys WHW03 V1
Hardware:
=========
SOC: Qualcomm IPQ4019
WiFi 1: QCA4019 IEEE 802.11b/g/n
WiFi 2: QCA4019 IEEE 802.11a/n/ac
WiFi 3: QCA9886 IEEE 802.11a/n/ac
Bluetooth: Qualcomm CSR8510 (A10)
Zigbee: Silicon Labs EM3581 NCP + Skyworks SE2432L
Ethernet: Qualcomm Atheros QCA8072 (2-port)
Flash: Samsung KLM4G1FEPD (4GB eMMC)
RAM (NAND): 512MB
LED Controller: NXP PCA9633 (I2C)
Buttons: Single reset button (GPIO).
Ethernet:
=========
The device has 2 ethernet ports, configured as follows by default:
- left port: WAN
- right port: LAN
Wifi:
=====
The Wifi radios are turned off by default. To configure the router,
you will need to connect your computer to the LAN port of the device.
Bluetooth and Zigbee:
=====================
Configuration included but not tested.
Storage:
========
For compatibility with stock firmware, all of OpenWrt runs in a 136 MiB
eMMC partition (of which there are two copies, see below). You can also
use partition /dev/mmcblk0p19 "syscfg" (3.4 GiB) any way you see fit.
During very limited tests, stock firmware did not mount this partition.
However, backing up its stock content before use is recommended anyway.
Firmware:
=========
The device uses a dual firmware mechanism: it automatically reverts to
the previous firmware after 3 failed boot attempts.
You can switch to the inactive firmware copy by changing the "boot_part"
U-Boot environment variable. You can also do it by turning on the device
for a couple of seconds and then back off, 3 times in a row.
Installation:
=============
OpenWrt's "factory" image can be installed via the stock web UI:
1. Login to the UI. (The default password is printed on the label.)
2. Enter support mode by clicking on the "CA" link at the bottom.
3. Click "Connectivity", "Choose file", "Start", and ignore warnings.
This port is based on work done by flipy (https://github.com/flipy).
Signed-off-by: Rodrigo Balerdi <lanchon@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15345
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-04-11 15:14:19 +00:00
|
|
|
endef
|
|
|
|
TARGET_DEVICES += linksys_whw03
|
|
|
|
|
2022-12-23 17:30:36 +00:00
|
|
|
define Device/linksys_whw03v2
|
|
|
|
$(call Device/FitzImage)
|
|
|
|
DEVICE_VENDOR := Linksys
|
|
|
|
DEVICE_MODEL := WHW03
|
|
|
|
DEVICE_VARIANT := V2
|
|
|
|
SOC := qcom-ipq4019
|
|
|
|
KERNEL_SIZE := 6144k
|
|
|
|
IMAGE_SIZE := 158720k
|
2023-11-11 12:53:26 +00:00
|
|
|
NAND_SIZE := 512m
|
2022-12-23 17:30:36 +00:00
|
|
|
BLOCKSIZE := 128k
|
|
|
|
PAGESIZE := 2048
|
|
|
|
UBINIZE_OPTS := -E 5 # EOD marks to "hide" factory sig at EOF
|
|
|
|
IMAGES += factory.bin
|
|
|
|
IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | linksys-image type=WHW03v2
|
2023-05-17 20:02:40 +00:00
|
|
|
DEVICE_PACKAGES := ath10k-firmware-qca9888-ct kmod-leds-pca963x kmod-spi-dev kmod-bluetooth
|
2022-12-23 17:30:36 +00:00
|
|
|
endef
|
|
|
|
TARGET_DEVICES += linksys_whw03v2
|
|
|
|
|
2022-12-06 03:44:32 +00:00
|
|
|
define Device/linksys_whw01
|
2021-06-09 20:35:46 +00:00
|
|
|
$(call Device/FitzImage)
|
|
|
|
DEVICE_VENDOR := Linksys
|
|
|
|
DEVICE_MODEL := WHW01
|
|
|
|
KERNEL_SIZE := 6144k
|
2023-10-02 04:51:32 +00:00
|
|
|
IMAGE_SIZE := 75776k
|
2023-11-11 12:53:26 +00:00
|
|
|
NAND_SIZE := 256m
|
2021-06-09 20:35:46 +00:00
|
|
|
SOC := qcom-ipq4018
|
|
|
|
BLOCKSIZE := 128k
|
|
|
|
PAGESIZE := 2048
|
|
|
|
UBINIZE_OPTS := -E 5 # EOD marks to "hide" factory sig at EOF
|
|
|
|
IMAGES += factory.bin
|
2022-12-06 03:44:32 +00:00
|
|
|
IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | linksys-image type=WHW01
|
2021-06-09 20:35:46 +00:00
|
|
|
DEVICE_PACKAGES := uboot-envtools kmod-leds-pca963x
|
|
|
|
endef
|
2022-12-06 03:38:45 +00:00
|
|
|
TARGET_DEVICES += linksys_whw01
|
2021-06-09 20:35:46 +00:00
|
|
|
|
2021-01-17 05:54:04 +00:00
|
|
|
define Device/luma_wrtq-329acn
|
|
|
|
$(call Device/FitImage)
|
|
|
|
DEVICE_VENDOR := Luma Home
|
|
|
|
DEVICE_MODEL := WRTQ-329ACN
|
|
|
|
SOC := qcom-ipq4018
|
2022-05-13 20:25:36 +00:00
|
|
|
DEVICE_PACKAGES := kmod-ath3k kmod-eeprom-at24 kmod-i2c-gpio
|
2021-01-17 05:54:04 +00:00
|
|
|
IMAGE_SIZE := 76632k
|
|
|
|
BLOCKSIZE := 128k
|
|
|
|
PAGESIZE := 2048
|
|
|
|
endef
|
2022-10-03 12:58:53 +00:00
|
|
|
TARGET_DEVICES += luma_wrtq-329acn
|
2021-01-17 05:54:04 +00:00
|
|
|
|
2023-08-14 11:47:49 +00:00
|
|
|
define Device/meraki_common
|
2021-01-17 05:54:04 +00:00
|
|
|
$(call Device/FitImage)
|
|
|
|
DEVICE_VENDOR := Cisco Meraki
|
|
|
|
SOC := qcom-ipq4029
|
|
|
|
BLOCKSIZE := 128k
|
|
|
|
PAGESIZE := 2048
|
2023-08-14 11:50:47 +00:00
|
|
|
DEVICE_DTS_LOADADDR := 0x89000000
|
2023-08-14 11:48:37 +00:00
|
|
|
DEVICE_PACKAGES := ath10k-firmware-qca9887-ct
|
2023-08-14 11:47:49 +00:00
|
|
|
endef
|
|
|
|
|
|
|
|
define Device/meraki_mr33
|
|
|
|
$(call Device/meraki_common)
|
|
|
|
DEVICE_MODEL := MR33
|
2021-01-17 05:54:04 +00:00
|
|
|
endef
|
|
|
|
TARGET_DEVICES += meraki_mr33
|
|
|
|
|
2022-06-14 09:08:22 +00:00
|
|
|
define Device/meraki_mr74
|
2023-08-14 11:47:49 +00:00
|
|
|
$(call Device/meraki_common)
|
2022-06-14 09:08:22 +00:00
|
|
|
DEVICE_MODEL := MR74
|
|
|
|
DEVICE_DTS_CONFIG := config@3
|
|
|
|
endef
|
|
|
|
TARGET_DEVICES += meraki_mr74
|
|
|
|
|
2021-01-17 05:54:04 +00:00
|
|
|
define Device/mobipromo_cm520-79f
|
|
|
|
$(call Device/FitzImage)
|
|
|
|
$(call Device/UbiFit)
|
|
|
|
DEVICE_VENDOR := MobiPromo
|
|
|
|
DEVICE_MODEL := CM520-79F
|
|
|
|
SOC := qcom-ipq4019
|
|
|
|
BLOCKSIZE := 128k
|
|
|
|
PAGESIZE := 2048
|
2022-05-13 20:25:36 +00:00
|
|
|
DEVICE_PACKAGES := kmod-usb-ledtrig-usbport
|
2021-01-17 05:54:04 +00:00
|
|
|
endef
|
2022-10-14 07:58:46 +00:00
|
|
|
TARGET_DEVICES += mobipromo_cm520-79f
|
2021-01-17 05:54:04 +00:00
|
|
|
|
|
|
|
define Device/netgear_ex61x0v2
|
|
|
|
$(call Device/DniImage)
|
|
|
|
DEVICE_VENDOR := NETGEAR
|
|
|
|
DEVICE_DTS_CONFIG := config@4
|
|
|
|
NETGEAR_BOARD_ID := EX6150v2series
|
|
|
|
NETGEAR_HW_ID := 29765285+16+0+128+2x2
|
|
|
|
IMAGE_SIZE := 14400k
|
|
|
|
SOC := qcom-ipq4018
|
|
|
|
endef
|
|
|
|
|
|
|
|
define Device/netgear_ex6100v2
|
|
|
|
$(call Device/netgear_ex61x0v2)
|
|
|
|
DEVICE_MODEL := EX6100
|
|
|
|
DEVICE_VARIANT := v2
|
|
|
|
endef
|
2023-03-06 20:27:49 +00:00
|
|
|
TARGET_DEVICES += netgear_ex6100v2
|
2021-01-17 05:54:04 +00:00
|
|
|
|
|
|
|
define Device/netgear_ex6150v2
|
|
|
|
$(call Device/netgear_ex61x0v2)
|
|
|
|
DEVICE_MODEL := EX6150
|
|
|
|
DEVICE_VARIANT := v2
|
|
|
|
endef
|
2023-03-06 20:27:49 +00:00
|
|
|
TARGET_DEVICES += netgear_ex6150v2
|
2021-01-17 05:54:04 +00:00
|
|
|
|
2020-09-02 00:10:16 +00:00
|
|
|
define Device/netgear_orbi
|
|
|
|
$(call Device/DniImage)
|
|
|
|
SOC := qcom-ipq4019
|
|
|
|
DEVICE_VENDOR := NETGEAR
|
|
|
|
IMAGE/factory.img := append-kernel | pad-offset 128k 64 | \
|
|
|
|
append-uImage-fakehdr filesystem | pad-to $$$$(KERNEL_SIZE) | \
|
|
|
|
append-rootfs | pad-rootfs | netgear-dni
|
|
|
|
IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-to 64k | \
|
|
|
|
sysupgrade-tar rootfs=$$$$@ | append-metadata
|
|
|
|
DEVICE_PACKAGES := ath10k-firmware-qca9984-ct e2fsprogs kmod-fs-ext4 losetup
|
|
|
|
endef
|
|
|
|
|
ipq40xx: Add support Netgear LBR20
**Netgear LBR20** is a router with two gigabit ethernets , three wifi radios and integrated LTE cat.18 modem.
SoC Type: Qualcomm IPQ4019
RAM: 512 MiB
Flash: 256 MiB , SLC NAND, 2 Gbit (Macronix MX30LF2G18AC)
Bootloader: U-Boot
Modem: LTE CAT.18 Quectel EG-18EA , Max. 1.2Gbps downlink / 150Mbps uplink
WiFi class AC2200:
- radio0 : 5G on QCA9888 , WiFi5- 802.11a/n/ac MU-MIMO 2x2 , 887Mbps , 80MHz - limited for low channels
- radio1: 2,4G on IPQ4019 ,WiFi4- 802.11b/g/n MIMO2x2 300Mbps 40Mhz
- radio2: 5G on IPQ4019 , WiFi5- 802.11a/n/ac MU-MIMO 2x2 , 887Mbps ,80Mhz - limited for high channels (from 100 up to 165) . Becouse of DFS remember to set country before turning on.
Ethernet: 2x1GbE (WAN/LAN1, LAN2)
LEDs: section power : green and red , section on top (orbi) drived by TLC59208F: red, green ,blue and white
USB ports: No
Buttons: 2 Reset and SYNC(WPS)
Power: 12 VDC, 2,5 A
Connector type: Barrel
OpenWRT Installation
1. Simplest way is just do upgrade from webpage with *factory.img
2. You can also do it with standard tool for Netgear's debricking - NMPRFlash
3. Most advanced way is to open device , connect to UART console and :
- Prepare OpenWrt initramfs image in TFTP server root (server IP 192.168.1.10)
- Connect serial console (115200,8n1) to UART connector
- Connect TFTP server to RJ-45 port
- Stop in u-Boot and run u-Boot command:
> setenv serverip 192.168.1.10
> set fdt_high 0x85000000
> tftpboot 0x83000000 openwrt-ipq40xx-generic-netgear_lbr20-initramfs-zImage.itb
> bootm 0x83000000
- Login via ssh
- upload or download *sysupgrade.bin ( like wget ... or scp transfer)
- Install image via "sysupgrade -n" (like “sysupgrade -n /tmp/openwrt-ipq40xx-generic-netgear_lbr20-squashfs-sysupgrade.bin”)
Back to Stock
- Download firmware from official Netgear's webpage , it will be *.img file after decompressing.
- Use NMRPFlash tool ( detailed insructions on project page https://github.com/jclehner/nmrpflash )
Open the case
- Unscrew nuts and remove washers from antenna's conectors.
- There are two Torx T10 screws under the label next to antenna conectors. You have to unglue this label from left and right corner to get it
- Two parts of shell covers will slide out from eachother , you have to unglue two small rubber pads and namplate sticker on bottom to do that.
- PCB is screwed with 4Pcs of Torx T10 screws
- Before lifting up PCB remove pigtiles for LTE antennas and release them from PCB and radiator (black and white wires)
- On other side of PCB ,in left bottom corner there is already soldered with 4 pins UART connector for console. Counting from left it is +3,3V , TX , RX ,GND (reffer to this picture: https://i.ibb.co/Pmrf9KB/20240116-103524.jpg )
BDF's files are in firmware_qca-wireless https://github.com/openwrt/firmware_qca-wireless/ and in parallel sent to ath10k@lists.infradead.org.
Signed-off-by: Marcin Gajda <mgajda@o2.pl>
2024-02-11 15:20:21 +00:00
|
|
|
define Device/netgear_lbr20
|
|
|
|
$(call Device/netgear_orbi)
|
|
|
|
DEVICE_MODEL := LBR20
|
|
|
|
NETGEAR_BOARD_ID := LBR20
|
|
|
|
NETGEAR_HW_ID := 29766182+0+256+512+2x2+2x2+2x2+1
|
|
|
|
KERNEL_SIZE := 7340032
|
|
|
|
BLOCKSIZE := 128k
|
|
|
|
PAGESIZE := 2048
|
2024-02-24 16:49:49 +00:00
|
|
|
UBINIZE_OPTS := -E 5
|
ipq40xx: Add support Netgear LBR20
**Netgear LBR20** is a router with two gigabit ethernets , three wifi radios and integrated LTE cat.18 modem.
SoC Type: Qualcomm IPQ4019
RAM: 512 MiB
Flash: 256 MiB , SLC NAND, 2 Gbit (Macronix MX30LF2G18AC)
Bootloader: U-Boot
Modem: LTE CAT.18 Quectel EG-18EA , Max. 1.2Gbps downlink / 150Mbps uplink
WiFi class AC2200:
- radio0 : 5G on QCA9888 , WiFi5- 802.11a/n/ac MU-MIMO 2x2 , 887Mbps , 80MHz - limited for low channels
- radio1: 2,4G on IPQ4019 ,WiFi4- 802.11b/g/n MIMO2x2 300Mbps 40Mhz
- radio2: 5G on IPQ4019 , WiFi5- 802.11a/n/ac MU-MIMO 2x2 , 887Mbps ,80Mhz - limited for high channels (from 100 up to 165) . Becouse of DFS remember to set country before turning on.
Ethernet: 2x1GbE (WAN/LAN1, LAN2)
LEDs: section power : green and red , section on top (orbi) drived by TLC59208F: red, green ,blue and white
USB ports: No
Buttons: 2 Reset and SYNC(WPS)
Power: 12 VDC, 2,5 A
Connector type: Barrel
OpenWRT Installation
1. Simplest way is just do upgrade from webpage with *factory.img
2. You can also do it with standard tool for Netgear's debricking - NMPRFlash
3. Most advanced way is to open device , connect to UART console and :
- Prepare OpenWrt initramfs image in TFTP server root (server IP 192.168.1.10)
- Connect serial console (115200,8n1) to UART connector
- Connect TFTP server to RJ-45 port
- Stop in u-Boot and run u-Boot command:
> setenv serverip 192.168.1.10
> set fdt_high 0x85000000
> tftpboot 0x83000000 openwrt-ipq40xx-generic-netgear_lbr20-initramfs-zImage.itb
> bootm 0x83000000
- Login via ssh
- upload or download *sysupgrade.bin ( like wget ... or scp transfer)
- Install image via "sysupgrade -n" (like “sysupgrade -n /tmp/openwrt-ipq40xx-generic-netgear_lbr20-squashfs-sysupgrade.bin”)
Back to Stock
- Download firmware from official Netgear's webpage , it will be *.img file after decompressing.
- Use NMRPFlash tool ( detailed insructions on project page https://github.com/jclehner/nmrpflash )
Open the case
- Unscrew nuts and remove washers from antenna's conectors.
- There are two Torx T10 screws under the label next to antenna conectors. You have to unglue this label from left and right corner to get it
- Two parts of shell covers will slide out from eachother , you have to unglue two small rubber pads and namplate sticker on bottom to do that.
- PCB is screwed with 4Pcs of Torx T10 screws
- Before lifting up PCB remove pigtiles for LTE antennas and release them from PCB and radiator (black and white wires)
- On other side of PCB ,in left bottom corner there is already soldered with 4 pins UART connector for console. Counting from left it is +3,3V , TX , RX ,GND (reffer to this picture: https://i.ibb.co/Pmrf9KB/20240116-103524.jpg )
BDF's files are in firmware_qca-wireless https://github.com/openwrt/firmware_qca-wireless/ and in parallel sent to ath10k@lists.infradead.org.
Signed-off-by: Marcin Gajda <mgajda@o2.pl>
2024-02-11 15:20:21 +00:00
|
|
|
IMAGE/factory.img := append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | \
|
|
|
|
append-uImage-fakehdr filesystem | pad-to $$$$(KERNEL_SIZE) | \
|
|
|
|
append-ubi | netgear-dni
|
|
|
|
IMAGE/sysupgrade.bin := append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | \
|
|
|
|
append-uImage-fakehdr filesystem | sysupgrade-tar kernel=$$$$@ | \
|
|
|
|
append-metadata
|
|
|
|
DEVICE_PACKAGES := ipq-wifi-netgear_lbr20 ath10k-firmware-qca9888-ct kmod-usb-net-qmi-wwan kmod-usb-serial-option uqmi
|
|
|
|
endef
|
|
|
|
TARGET_DEVICES += netgear_lbr20
|
|
|
|
|
2023-09-05 00:00:14 +00:00
|
|
|
define Device/netgear_rbx40
|
|
|
|
$(call Device/netgear_orbi)
|
|
|
|
NETGEAR_HW_ID := 29765515+0+4096+512+2x2+2x2+2x2
|
|
|
|
KERNEL_SIZE := 3932160
|
|
|
|
ROOTFS_SIZE := 32243712
|
|
|
|
IMAGE_SIZE := 36175872
|
|
|
|
endef
|
|
|
|
|
|
|
|
define Device/netgear_rbr40
|
|
|
|
$(call Device/netgear_rbx40)
|
|
|
|
DEVICE_MODEL := RBR40
|
|
|
|
DEVICE_VARIANT := v1
|
|
|
|
NETGEAR_BOARD_ID := RBR40
|
|
|
|
endef
|
|
|
|
TARGET_DEVICES += netgear_rbr40
|
|
|
|
|
|
|
|
define Device/netgear_rbs40
|
|
|
|
$(call Device/netgear_rbx40)
|
|
|
|
DEVICE_MODEL := RBS40
|
|
|
|
DEVICE_VARIANT := v1
|
|
|
|
NETGEAR_BOARD_ID := RBS40
|
|
|
|
endef
|
|
|
|
TARGET_DEVICES += netgear_rbs40
|
|
|
|
|
2020-09-02 00:10:16 +00:00
|
|
|
define Device/netgear_rbx50
|
|
|
|
$(call Device/netgear_orbi)
|
|
|
|
NETGEAR_HW_ID := 29765352+0+4000+512+2x2+2x2+4x4
|
|
|
|
KERNEL_SIZE := 3932160
|
|
|
|
ROOTFS_SIZE := 32243712
|
|
|
|
IMAGE_SIZE := 36175872
|
|
|
|
endef
|
|
|
|
|
|
|
|
define Device/netgear_rbr50
|
|
|
|
$(call Device/netgear_rbx50)
|
|
|
|
DEVICE_MODEL := RBR50
|
|
|
|
DEVICE_VARIANT := v1
|
|
|
|
NETGEAR_BOARD_ID := RBR50
|
|
|
|
endef
|
2022-10-04 21:20:39 +00:00
|
|
|
TARGET_DEVICES += netgear_rbr50
|
2020-09-02 00:10:16 +00:00
|
|
|
|
|
|
|
define Device/netgear_rbs50
|
|
|
|
$(call Device/netgear_rbx50)
|
|
|
|
DEVICE_MODEL := RBS50
|
|
|
|
DEVICE_VARIANT := v1
|
|
|
|
NETGEAR_BOARD_ID := RBS50
|
|
|
|
endef
|
2022-10-04 21:20:39 +00:00
|
|
|
TARGET_DEVICES += netgear_rbs50
|
2020-09-02 00:10:16 +00:00
|
|
|
|
|
|
|
define Device/netgear_srx60
|
|
|
|
$(call Device/netgear_orbi)
|
|
|
|
NETGEAR_HW_ID := 29765352+0+4096+512+2x2+2x2+4x4
|
|
|
|
KERNEL_SIZE := 3932160
|
|
|
|
ROOTFS_SIZE := 32243712
|
|
|
|
IMAGE_SIZE := 36175872
|
|
|
|
endef
|
|
|
|
|
|
|
|
define Device/netgear_srr60
|
|
|
|
$(call Device/netgear_srx60)
|
|
|
|
DEVICE_MODEL := SRR60
|
|
|
|
NETGEAR_BOARD_ID := SRR60
|
|
|
|
endef
|
2022-10-04 21:20:39 +00:00
|
|
|
TARGET_DEVICES += netgear_srr60
|
2020-09-02 00:10:16 +00:00
|
|
|
|
|
|
|
define Device/netgear_srs60
|
|
|
|
$(call Device/netgear_srx60)
|
|
|
|
DEVICE_MODEL := SRS60
|
|
|
|
NETGEAR_BOARD_ID := SRS60
|
|
|
|
endef
|
2022-10-04 21:20:39 +00:00
|
|
|
TARGET_DEVICES += netgear_srs60
|
2020-09-02 00:10:16 +00:00
|
|
|
|
ipq40xx: add netgear wac510 support
This adds support for the Netgear WAC510 Insight Managed Smart Cloud
Wireless Access Point, an indoor dual-band, dual-radio 802.11ac
business-class wireless AP with integrated omnidirectional antennae
and two 10/100/1000 Mbps Ethernet ports.
For more information see:
<https://www.netgear.com/business/wifi/access-points/wac510>
Specifications:
SoC: Qualcomm IPQ4018 (DAKOTA) ARM Quad-Core
RAM: 256 MiB
Flash1: 2 MiB Winbond W25Q16JV SPI-NOR
Flash2: 128 MiB Winbond W25N01GVZEIG SPI-NAND
Ethernet: Built-in IPQ4018 (SoC, QCA8072 PHY), 2x 1000/100/10 port,
WAN port active IEEE 802.3af/at PoE in
Wireless1: Built-in IPQ4018 (SoC) 802.11b/g/n 2x2:2, 3 dBi antennae
Wireless2: Built-in IPQ4018 (SoC) 802.11a/n/ac 2x2:2, 4 dBi antennae
Input: (Optional) Barrel 12 V 2.5 A Power, Reset button SW1
LEDs: Power, Insight, WAN PoE, LAN, 2.4G WLAN, 5G WLAN
Serial: Header J2
1 - 3.3 Volt (Do NOT connect!)
2 - TX
3 - RX
4 - Ground
WARNING: The serial port needs a TTL/RS-232 3.3 volt level converter!
The Serial settings are 115200-8-N-1.
Installation via Stock Web Interface:
BTW: The default factory console/web interface login user/password are
admin/password.
In the web interface navigating to Management - Maintenance - Upgrade -
'Firmware Upgrade' will show you what is currently installed e.g.:
Manage Firmware
Current Firmware Version: V5.0.10.2
Backup Firmware Version: V1.2.5.11
Under 'Upgrade Options' choose Local (alternatively SFTP would be
available) then click/select 'Browse File' on the right side, choose
openwrt-ipq40xx-generic-netgear_wac510-squashfs-nand-factory.tar
and hit the Upgrade button below. After a minute or two your browser
should indicate completion printing 'Firmware update complete.' and
'Rebooting AP...'.
Note that OpenWrt will use the WAN PoE port as actual WAN port
defaulting to DHCP client but NOT allowing LuCI access, use LAN port
defaulting to 192.168.1.1/24 to access LuCI.
Installation via TFTP Requiring Serial U-Boot Access:
Connect to the device's serial port and hit any key to stop autoboot.
Upload and boot the initramfs based OpenWrt image as follows:
(IPQ40xx) # setenv serverip 192.168.1.1
(IPQ40xx) # setenv ipaddr 192.168.1.2
(IPQ40xx) # tftpboot openwrt-ipq40xx-generic-netgear_wac510-initramfs-fit-uImage.itb
(IPQ40xx) # bootm
Note: This only runs OpenWrt from RAM and has not installed anything
to flash as of yet. One may permanently install OpenWrt as follows:
Check the MTD device number of the active partition:
root@OpenWrt:/# dmesg | grep 'set to be root filesystem'
[ 1.010084] mtd: device 9 (rootfs) set to be root filesystem
Upload the factory image ending with .ubi to /tmp (e.g. using scp or
tftp). Then flash the image as follows (substituting the 9 in mtd9
below with whatever number reported above):
root@OpenWrt:/# ubiformat /dev/mtd9 -f /tmp/openwrt-ipq40xx-generic-netgear_wac510-squashfs-nand-factory.ubi
And reboot.
Dual Image Configuration:
The default U-Boot boot command bootipq uses the U-Boot environment
variables primary/secondary to decide which image to boot. E.g.
primary=0, secondary=3800000 uses rootfs while primary=3800000,
secondary=0 uses rootfs_1.
Switching their values changes the active partition. E.g. from within
U-Boot:
(IPQ40xx) # setenv primary 0
(IPQ40xx) # setenv secondary 3800000
(IPQ40xx) # saveenv
Or from a OpenWrt userspace serial/SSH console:
fw_setenv primary 0
fw_setenv secondary 3800000
Note that if you install two copies of OpenWrt then each will have its
independent configuration not like when switching partitions on the
stock firmware.
BTW: The kernel log shows which boot partition is active:
[ 2.439050] ubi0: attached mtd9 (name "rootfs", size 56 MiB)
vs.
[ 2.978785] ubi0: attached mtd10 (name "rootfs_1", size 56 MiB)
Note: After 3 failed boot attempts it automatically switches partition.
Signed-off-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>
[squashed netgear-tar commit into main and rename netgear-tar for
now, until it is made generic.]
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2020-11-25 13:23:58 +00:00
|
|
|
define Device/netgear_wac510
|
|
|
|
$(call Device/FitImage)
|
|
|
|
$(call Device/UbiFit)
|
|
|
|
DEVICE_VENDOR := Netgear
|
|
|
|
DEVICE_MODEL := WAC510
|
|
|
|
SOC := qcom-ipq4018
|
|
|
|
DEVICE_DTS_CONFIG := config@5
|
|
|
|
BLOCKSIZE := 128k
|
|
|
|
PAGESIZE := 2048
|
2022-11-17 01:52:50 +00:00
|
|
|
IMAGES += factory.tar
|
|
|
|
IMAGE/factory.tar := append-ubi | wac5xx-netgear-tar
|
ipq40xx: add netgear wac510 support
This adds support for the Netgear WAC510 Insight Managed Smart Cloud
Wireless Access Point, an indoor dual-band, dual-radio 802.11ac
business-class wireless AP with integrated omnidirectional antennae
and two 10/100/1000 Mbps Ethernet ports.
For more information see:
<https://www.netgear.com/business/wifi/access-points/wac510>
Specifications:
SoC: Qualcomm IPQ4018 (DAKOTA) ARM Quad-Core
RAM: 256 MiB
Flash1: 2 MiB Winbond W25Q16JV SPI-NOR
Flash2: 128 MiB Winbond W25N01GVZEIG SPI-NAND
Ethernet: Built-in IPQ4018 (SoC, QCA8072 PHY), 2x 1000/100/10 port,
WAN port active IEEE 802.3af/at PoE in
Wireless1: Built-in IPQ4018 (SoC) 802.11b/g/n 2x2:2, 3 dBi antennae
Wireless2: Built-in IPQ4018 (SoC) 802.11a/n/ac 2x2:2, 4 dBi antennae
Input: (Optional) Barrel 12 V 2.5 A Power, Reset button SW1
LEDs: Power, Insight, WAN PoE, LAN, 2.4G WLAN, 5G WLAN
Serial: Header J2
1 - 3.3 Volt (Do NOT connect!)
2 - TX
3 - RX
4 - Ground
WARNING: The serial port needs a TTL/RS-232 3.3 volt level converter!
The Serial settings are 115200-8-N-1.
Installation via Stock Web Interface:
BTW: The default factory console/web interface login user/password are
admin/password.
In the web interface navigating to Management - Maintenance - Upgrade -
'Firmware Upgrade' will show you what is currently installed e.g.:
Manage Firmware
Current Firmware Version: V5.0.10.2
Backup Firmware Version: V1.2.5.11
Under 'Upgrade Options' choose Local (alternatively SFTP would be
available) then click/select 'Browse File' on the right side, choose
openwrt-ipq40xx-generic-netgear_wac510-squashfs-nand-factory.tar
and hit the Upgrade button below. After a minute or two your browser
should indicate completion printing 'Firmware update complete.' and
'Rebooting AP...'.
Note that OpenWrt will use the WAN PoE port as actual WAN port
defaulting to DHCP client but NOT allowing LuCI access, use LAN port
defaulting to 192.168.1.1/24 to access LuCI.
Installation via TFTP Requiring Serial U-Boot Access:
Connect to the device's serial port and hit any key to stop autoboot.
Upload and boot the initramfs based OpenWrt image as follows:
(IPQ40xx) # setenv serverip 192.168.1.1
(IPQ40xx) # setenv ipaddr 192.168.1.2
(IPQ40xx) # tftpboot openwrt-ipq40xx-generic-netgear_wac510-initramfs-fit-uImage.itb
(IPQ40xx) # bootm
Note: This only runs OpenWrt from RAM and has not installed anything
to flash as of yet. One may permanently install OpenWrt as follows:
Check the MTD device number of the active partition:
root@OpenWrt:/# dmesg | grep 'set to be root filesystem'
[ 1.010084] mtd: device 9 (rootfs) set to be root filesystem
Upload the factory image ending with .ubi to /tmp (e.g. using scp or
tftp). Then flash the image as follows (substituting the 9 in mtd9
below with whatever number reported above):
root@OpenWrt:/# ubiformat /dev/mtd9 -f /tmp/openwrt-ipq40xx-generic-netgear_wac510-squashfs-nand-factory.ubi
And reboot.
Dual Image Configuration:
The default U-Boot boot command bootipq uses the U-Boot environment
variables primary/secondary to decide which image to boot. E.g.
primary=0, secondary=3800000 uses rootfs while primary=3800000,
secondary=0 uses rootfs_1.
Switching their values changes the active partition. E.g. from within
U-Boot:
(IPQ40xx) # setenv primary 0
(IPQ40xx) # setenv secondary 3800000
(IPQ40xx) # saveenv
Or from a OpenWrt userspace serial/SSH console:
fw_setenv primary 0
fw_setenv secondary 3800000
Note that if you install two copies of OpenWrt then each will have its
independent configuration not like when switching partitions on the
stock firmware.
BTW: The kernel log shows which boot partition is active:
[ 2.439050] ubi0: attached mtd9 (name "rootfs", size 56 MiB)
vs.
[ 2.978785] ubi0: attached mtd10 (name "rootfs_1", size 56 MiB)
Note: After 3 failed boot attempts it automatically switches partition.
Signed-off-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>
[squashed netgear-tar commit into main and rename netgear-tar for
now, until it is made generic.]
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2020-11-25 13:23:58 +00:00
|
|
|
DEVICE_PACKAGES := uboot-envtools
|
|
|
|
endef
|
|
|
|
TARGET_DEVICES += netgear_wac510
|
|
|
|
|
2021-01-17 05:54:04 +00:00
|
|
|
define Device/openmesh_a42
|
|
|
|
$(call Device/FitImageLzma)
|
|
|
|
DEVICE_VENDOR := OpenMesh
|
|
|
|
DEVICE_MODEL := A42
|
|
|
|
SOC := qcom-ipq4018
|
|
|
|
DEVICE_DTS_CONFIG := config@om.a42
|
|
|
|
BLOCKSIZE := 64k
|
2022-08-25 18:26:11 +00:00
|
|
|
KERNEL = kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(DEVICE_DTS).dtb | pad-to $$(BLOCKSIZE)
|
2021-01-17 05:54:04 +00:00
|
|
|
IMAGE_SIZE := 15616k
|
|
|
|
IMAGES += factory.bin
|
|
|
|
IMAGE/factory.bin := append-rootfs | pad-rootfs | openmesh-image ce_type=A42
|
|
|
|
IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@ | append-metadata
|
|
|
|
endef
|
2022-10-24 16:55:44 +00:00
|
|
|
TARGET_DEVICES += openmesh_a42
|
2021-01-17 05:54:04 +00:00
|
|
|
|
|
|
|
define Device/openmesh_a62
|
|
|
|
$(call Device/FitImageLzma)
|
|
|
|
DEVICE_VENDOR := OpenMesh
|
|
|
|
DEVICE_MODEL := A62
|
|
|
|
SOC := qcom-ipq4019
|
|
|
|
DEVICE_DTS_CONFIG := config@om.a62
|
|
|
|
BLOCKSIZE := 64k
|
2022-08-25 18:26:11 +00:00
|
|
|
KERNEL = kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(DEVICE_DTS).dtb | pad-to $$(BLOCKSIZE)
|
2021-01-17 05:54:04 +00:00
|
|
|
IMAGE_SIZE := 15552k
|
|
|
|
IMAGES += factory.bin
|
|
|
|
IMAGE/factory.bin := append-rootfs | pad-rootfs | openmesh-image ce_type=A62
|
|
|
|
IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@ | append-metadata
|
2021-05-25 13:26:06 +00:00
|
|
|
DEVICE_PACKAGES := ath10k-firmware-qca9888-ct
|
2021-01-17 05:54:04 +00:00
|
|
|
endef
|
2022-10-24 16:55:44 +00:00
|
|
|
TARGET_DEVICES += openmesh_a62
|
2021-01-17 05:54:04 +00:00
|
|
|
|
ipq40xx: add support for P&W R619AC (aka G-DOCK 2.0)
P&W R619AC is a IPQ4019 Dual-Band AC1200 router.
It is made by P&W (p2w-tech.com) known as P&W R619AC
but marketed and sold more popularly as G-DOCK 2.0.
Specification:
* SOC: Qualcomm Atheros IPQ4019 (717 MHz)
* RAM: 512 MiB
* Flash: 16 MiB (NOR) + 128 MiB (NAND)
* Ethernet: 5 x 10/100/1000 (4 x LAN, 1 x WAN)
* Wireless:
- 2.4 GHz b/g/n Qualcomm Atheros IPQ4019
- 5 GHz a/n/ac Qualcomm Atheros IPQ4019
* USB: 1 x USB 3.0
* LED: 4 x LAN, 1 x WAN, 2 x WiFi, 1 x Power (All Blue LED)
* Input: 1 x reset
* 1 x MicroSD card slot
* Serial console: 115200bps, pinheader J2 on PCB
* Power: DC 12V 2A
* 1 x Unpopulated mPCIe Slot (see below how to connect it)
* 1 x Unpopulated Sim Card Slot
Installation:
1. Access to tty console via UART serial
2. Enter failsafe mode and mount rootfs
<https://openwrt.org/docs/guide-user/troubleshooting/failsafe_and_factory_reset>
3. Edit inittab to enable shell on tty console
`sed -i 's/#ttyM/ttyM/' /etc/inittab`
4. Reboot and upload `-nand-factory.bin` to the router (using wget)
5. Use `sysupgrade` command to install
Another installation method is to hijack the upgrade server domain
of stock firmware, because it's using insecure http.
This commit is based on @LGA1150(at GitHub)'s work
<https://github.com/LGA1150/openwrt/commit/a4932c8d5a275d1fb4297bd20ec03f9270a45d1c>
With some changes:
1. Added `qpic_bam` node in dts. I don't know much about this,
but I observed other dtses have this node.
2. Removed `ldo` node under `sd_0_pinmux`, because `ldo` cause SD card not
working. This fix is from
<https://github.com/coolsnowwolf/lede/commit/51143b4c7571f717afe071db60bbb4db1532cbf2>
3. Removed the 32MB NOR variant.
4. Removed `cd-gpios` in `sdhci` node, because it's reported that it makes
wlan2g led light up.
5. Added ethphy led config in dts.
6. Changed nand partition label from `rootfs` to `ubi`.
About the 128MiB variant: The stock bootloader sets size of nand to 64MiB.
But most of this devices have 128MiB nand. If you want to use all 128MiB,
you need to modify the `MIBIB` data of bootloader. More details can be
found on github:
<https://github.com/openwrt/openwrt/pull/3691#issuecomment-818770060>
For instructions on how to flash the MIBIB partition from u-boot console:
<https://github.com/openwrt/openwrt/pull/3691#issuecomment-819138232>
About the Mini PCIe slot: (from "ygleg")
"The REFCLK signals on the Mini PCIe slot is not connected on
this board out of the box. If you want to use the Mini PCIe slot
on the board, you need to (preferably) solder two 0402 resistors:
R436 (REFCLK+) and R444 (REFCLK-)..."
This and much more information is provoided in the github comment:
<https://github.com/openwrt/openwrt/pull/3691#issuecomment-968054670>
Signed-off-by: Richard Yu <yurichard3839@gmail.com>
Signed-off-by: DENG Qingfang <dqfext@gmail.com>
[Added comment about MIBIB+128 MiB variant. Added commit
message section about pcie slot. Renamed gpio-leds' subnodes
and added color, function+enum properties.]
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2021-11-12 03:16:21 +00:00
|
|
|
define Device/p2w_r619ac
|
|
|
|
$(call Device/FitzImage)
|
|
|
|
$(call Device/UbiFit)
|
|
|
|
DEVICE_VENDOR := P&W
|
|
|
|
DEVICE_MODEL := R619AC
|
|
|
|
SOC := qcom-ipq4019
|
|
|
|
DEVICE_DTS_CONFIG := config@10
|
|
|
|
BLOCKSIZE := 128k
|
|
|
|
PAGESIZE := 2048
|
|
|
|
endef
|
|
|
|
|
|
|
|
define Device/p2w_r619ac-64m
|
|
|
|
$(call Device/p2w_r619ac)
|
|
|
|
DEVICE_VARIANT := 64M NAND
|
2022-11-17 01:52:50 +00:00
|
|
|
IMAGES += factory.bin
|
|
|
|
IMAGE/factory.bin := append-ubi | qsdk-ipq-factory-nand
|
ipq40xx: add support for P&W R619AC (aka G-DOCK 2.0)
P&W R619AC is a IPQ4019 Dual-Band AC1200 router.
It is made by P&W (p2w-tech.com) known as P&W R619AC
but marketed and sold more popularly as G-DOCK 2.0.
Specification:
* SOC: Qualcomm Atheros IPQ4019 (717 MHz)
* RAM: 512 MiB
* Flash: 16 MiB (NOR) + 128 MiB (NAND)
* Ethernet: 5 x 10/100/1000 (4 x LAN, 1 x WAN)
* Wireless:
- 2.4 GHz b/g/n Qualcomm Atheros IPQ4019
- 5 GHz a/n/ac Qualcomm Atheros IPQ4019
* USB: 1 x USB 3.0
* LED: 4 x LAN, 1 x WAN, 2 x WiFi, 1 x Power (All Blue LED)
* Input: 1 x reset
* 1 x MicroSD card slot
* Serial console: 115200bps, pinheader J2 on PCB
* Power: DC 12V 2A
* 1 x Unpopulated mPCIe Slot (see below how to connect it)
* 1 x Unpopulated Sim Card Slot
Installation:
1. Access to tty console via UART serial
2. Enter failsafe mode and mount rootfs
<https://openwrt.org/docs/guide-user/troubleshooting/failsafe_and_factory_reset>
3. Edit inittab to enable shell on tty console
`sed -i 's/#ttyM/ttyM/' /etc/inittab`
4. Reboot and upload `-nand-factory.bin` to the router (using wget)
5. Use `sysupgrade` command to install
Another installation method is to hijack the upgrade server domain
of stock firmware, because it's using insecure http.
This commit is based on @LGA1150(at GitHub)'s work
<https://github.com/LGA1150/openwrt/commit/a4932c8d5a275d1fb4297bd20ec03f9270a45d1c>
With some changes:
1. Added `qpic_bam` node in dts. I don't know much about this,
but I observed other dtses have this node.
2. Removed `ldo` node under `sd_0_pinmux`, because `ldo` cause SD card not
working. This fix is from
<https://github.com/coolsnowwolf/lede/commit/51143b4c7571f717afe071db60bbb4db1532cbf2>
3. Removed the 32MB NOR variant.
4. Removed `cd-gpios` in `sdhci` node, because it's reported that it makes
wlan2g led light up.
5. Added ethphy led config in dts.
6. Changed nand partition label from `rootfs` to `ubi`.
About the 128MiB variant: The stock bootloader sets size of nand to 64MiB.
But most of this devices have 128MiB nand. If you want to use all 128MiB,
you need to modify the `MIBIB` data of bootloader. More details can be
found on github:
<https://github.com/openwrt/openwrt/pull/3691#issuecomment-818770060>
For instructions on how to flash the MIBIB partition from u-boot console:
<https://github.com/openwrt/openwrt/pull/3691#issuecomment-819138232>
About the Mini PCIe slot: (from "ygleg")
"The REFCLK signals on the Mini PCIe slot is not connected on
this board out of the box. If you want to use the Mini PCIe slot
on the board, you need to (preferably) solder two 0402 resistors:
R436 (REFCLK+) and R444 (REFCLK-)..."
This and much more information is provoided in the github comment:
<https://github.com/openwrt/openwrt/pull/3691#issuecomment-968054670>
Signed-off-by: Richard Yu <yurichard3839@gmail.com>
Signed-off-by: DENG Qingfang <dqfext@gmail.com>
[Added comment about MIBIB+128 MiB variant. Added commit
message section about pcie slot. Renamed gpio-leds' subnodes
and added color, function+enum properties.]
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2021-11-12 03:16:21 +00:00
|
|
|
endef
|
|
|
|
TARGET_DEVICES += p2w_r619ac-64m
|
|
|
|
|
|
|
|
define Device/p2w_r619ac-128m
|
|
|
|
$(call Device/p2w_r619ac)
|
|
|
|
DEVICE_VARIANT := 128M NAND
|
|
|
|
endef
|
|
|
|
TARGET_DEVICES += p2w_r619ac-128m
|
|
|
|
|
ipq40xx: add support for Pakedge WR-1
Pakedge WR-1 is a dual-band wireless router.
Specification
SoC: Qualcomm Atheros IPQ4018
RAM: 256 MB DDR3
Flash: 32 MB SPI NOR
WIFI: 2.4 GHz 2T2R integrated
5 GHz 2T2R integrated
Ethernet: 5x 10/100/1000 Mbps QCA8075
USB: 1x 2.0
LEDS: 8x (3 GPIO controlled, 5 connected to switch)
Buttons: 1x GPIO controlled
UART: pin header J5
1. 3.3V, 2. GND, 3. TX, 4. RX
baud: 115200, parity: none, flow control: none
Installation
1. Rename initramfs image to:
openwrt-ipq806x-qcom-ipq40xx-ap.dk01.1-c1-fit-uImage-initramfs.itb
and copy it to USB flash drive with FAT32 file system.
2. Connect USB flash drive to the router and apply power while pressing
reset button. Hold the button, on the lates bootloader version, when
Power and WiFi-5 LEDs will start blinking release it. For the older
bootloader holding it for 15 seconds should suffice.
3. Now the router boots the initramfs image, at some point (close to one
minute) the Power LED will start blinking, when stops, router is fully
booted.
4. Connect to one of LAN ports and use SSH to open the shell at
192.168.1.1.
5. ATTENTION! now backup the mtd8 and mtd9 partitions, it's necessary if,
at some point, You want to go back to original firmware. The firmware
provided by manufacturer on its site is encrypted and U-Boot accepts
only decrypted factory images, so there's no way to restore original
firmware.
6. If the backup is prepared, transfer the sysupgrade image to the router
and use 'sysupgrade' command to flash it.
7. After successful flashing router will reboot. At some point the Power
LED will start blinking, wait till it stops, then router is ready for
configuration.
Additional information
U-Boot command line is password protected. Password is unknown.
Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
2022-09-06 13:32:33 +00:00
|
|
|
define Device/pakedge_wr-1
|
|
|
|
$(call Device/FitImageLzma)
|
|
|
|
DEVICE_VENDOR := Pakedge
|
|
|
|
DEVICE_MODEL := WR-1
|
|
|
|
DEVICE_DTS_CONFIG := config@ap.dk01.1-c1
|
|
|
|
SOC := qcom-ipq4018
|
|
|
|
BLOCKSIZE := 64k
|
|
|
|
IMAGE_SIZE := 31232k
|
|
|
|
IMAGE/sysupgrade.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | append-metadata
|
|
|
|
endef
|
2022-10-03 12:59:15 +00:00
|
|
|
TARGET_DEVICES += pakedge_wr-1
|
ipq40xx: add support for Pakedge WR-1
Pakedge WR-1 is a dual-band wireless router.
Specification
SoC: Qualcomm Atheros IPQ4018
RAM: 256 MB DDR3
Flash: 32 MB SPI NOR
WIFI: 2.4 GHz 2T2R integrated
5 GHz 2T2R integrated
Ethernet: 5x 10/100/1000 Mbps QCA8075
USB: 1x 2.0
LEDS: 8x (3 GPIO controlled, 5 connected to switch)
Buttons: 1x GPIO controlled
UART: pin header J5
1. 3.3V, 2. GND, 3. TX, 4. RX
baud: 115200, parity: none, flow control: none
Installation
1. Rename initramfs image to:
openwrt-ipq806x-qcom-ipq40xx-ap.dk01.1-c1-fit-uImage-initramfs.itb
and copy it to USB flash drive with FAT32 file system.
2. Connect USB flash drive to the router and apply power while pressing
reset button. Hold the button, on the lates bootloader version, when
Power and WiFi-5 LEDs will start blinking release it. For the older
bootloader holding it for 15 seconds should suffice.
3. Now the router boots the initramfs image, at some point (close to one
minute) the Power LED will start blinking, when stops, router is fully
booted.
4. Connect to one of LAN ports and use SSH to open the shell at
192.168.1.1.
5. ATTENTION! now backup the mtd8 and mtd9 partitions, it's necessary if,
at some point, You want to go back to original firmware. The firmware
provided by manufacturer on its site is encrypted and U-Boot accepts
only decrypted factory images, so there's no way to restore original
firmware.
6. If the backup is prepared, transfer the sysupgrade image to the router
and use 'sysupgrade' command to flash it.
7. After successful flashing router will reboot. At some point the Power
LED will start blinking, wait till it stops, then router is ready for
configuration.
Additional information
U-Boot command line is password protected. Password is unknown.
Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
2022-09-06 13:32:33 +00:00
|
|
|
|
2021-01-17 05:54:04 +00:00
|
|
|
define Device/plasmacloud_pa1200
|
|
|
|
$(call Device/FitImageLzma)
|
|
|
|
DEVICE_VENDOR := Plasma Cloud
|
|
|
|
DEVICE_MODEL := PA1200
|
|
|
|
SOC := qcom-ipq4018
|
|
|
|
DEVICE_DTS_CONFIG := config@pc.pa1200
|
|
|
|
BLOCKSIZE := 64k
|
2022-08-25 18:26:11 +00:00
|
|
|
KERNEL = kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(DEVICE_DTS).dtb | pad-to $$(BLOCKSIZE)
|
2021-01-17 05:54:04 +00:00
|
|
|
IMAGE_SIZE := 15616k
|
|
|
|
IMAGES += factory.bin
|
|
|
|
IMAGE/factory.bin := append-rootfs | pad-rootfs | openmesh-image ce_type=PA1200
|
|
|
|
IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@ | append-metadata
|
|
|
|
endef
|
2022-10-24 16:55:44 +00:00
|
|
|
TARGET_DEVICES += plasmacloud_pa1200
|
2021-01-17 05:54:04 +00:00
|
|
|
|
|
|
|
define Device/plasmacloud_pa2200
|
|
|
|
$(call Device/FitImageLzma)
|
|
|
|
DEVICE_VENDOR := Plasma Cloud
|
|
|
|
DEVICE_MODEL := PA2200
|
|
|
|
SOC := qcom-ipq4019
|
|
|
|
DEVICE_DTS_CONFIG := config@pc.pa2200
|
|
|
|
BLOCKSIZE := 64k
|
2022-08-25 18:26:11 +00:00
|
|
|
KERNEL = kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(DEVICE_DTS).dtb | pad-to $$(BLOCKSIZE)
|
2021-01-17 05:54:04 +00:00
|
|
|
IMAGE_SIZE := 15552k
|
|
|
|
IMAGES += factory.bin
|
|
|
|
IMAGE/factory.bin := append-rootfs | pad-rootfs | openmesh-image ce_type=PA2200
|
|
|
|
IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@ | append-metadata
|
2022-05-13 20:25:36 +00:00
|
|
|
DEVICE_PACKAGES := ath10k-firmware-qca9888-ct
|
2021-01-17 05:54:04 +00:00
|
|
|
endef
|
2022-10-24 16:55:44 +00:00
|
|
|
TARGET_DEVICES += plasmacloud_pa2200
|
2021-01-17 05:54:04 +00:00
|
|
|
|
|
|
|
define Device/qxwlan_e2600ac-c1
|
|
|
|
$(call Device/FitImage)
|
|
|
|
DEVICE_VENDOR := Qxwlan
|
|
|
|
DEVICE_MODEL := E2600AC
|
|
|
|
DEVICE_VARIANT := C1
|
|
|
|
BOARD_NAME := e2600ac-c1
|
|
|
|
SOC := qcom-ipq4019
|
|
|
|
IMAGE_SIZE := 31232k
|
|
|
|
IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
|
|
|
|
endef
|
2023-02-22 12:46:28 +00:00
|
|
|
TARGET_DEVICES += qxwlan_e2600ac-c1
|
2021-01-17 05:54:04 +00:00
|
|
|
|
|
|
|
define Device/qxwlan_e2600ac-c2
|
|
|
|
$(call Device/FitImage)
|
|
|
|
$(call Device/UbiFit)
|
|
|
|
DEVICE_VENDOR := Qxwlan
|
|
|
|
DEVICE_MODEL := E2600AC
|
|
|
|
DEVICE_VARIANT := C2
|
|
|
|
SOC := qcom-ipq4019
|
|
|
|
KERNEL_INSTALL := 1
|
|
|
|
BLOCKSIZE := 128k
|
|
|
|
PAGESIZE := 2048
|
|
|
|
endef
|
2023-02-22 12:55:44 +00:00
|
|
|
TARGET_DEVICES += qxwlan_e2600ac-c2
|
2021-01-17 05:54:04 +00:00
|
|
|
|
ipq40xx: add support for Sony NCP-HG100/Cellular
Sony NCP-HG100/Cellular is a IoT Gateway with 2.4/5 GHz band 11ac
(WiFi-5) wireless function, based on IPQ4019.
Specification:
- SoC : Qualcomm IPQ4019
- RAM : DDR3 512 MiB (H5TC4G63EFR)
- Flash : eMMC 4 GiB (THGBMNG5D1LBAIT)
- WLAN : 2.4/5 GHz 2T2R (IPQ4019)
- Ethernet : 10/100/1000 Mbps x2
- Transceiver : Qualcomm QCA8072
- WWAN : Telit LN940A9
- Z-Wave : Silicon Labs ZM5101
- Bluetooth : Qualcomm CSR8811
- Audio DAC : Realtek ALC5629
- Audio Amp. : Realtek ALC1304
- Voice Input Processor : Conexant CX20924
- Micro Controller Unit : Nuvoton MINI54FDE
- RGB LED, Fan, Temp. sensors
- Touch Sensor : Cypress CY8C4014LQI
- RGB LED driver : TI LP55231 (2x)
- LEDs/Keys : 11x, 6x
- UART : through-hole on PCB
- J1: 3.3V, TX, RX, GND from tri-angle marking
- 115200n8
- Power : 12 VDC, 2.5 A
Flash instruction using initramfs image:
1. Prepare TFTP server with the IP address 192.168.132.100 and place the
initramfs image to TFTP directory with the name "C0A88401.img"
2. Boot NCP-HG100/Cellular and interrupt after the message
"Hit any key to stop autoboot: 2"
3. Perform the following commands and set bootcmd to allow booting from
eMMC
setenv bootcmd "mmc read 0x84000000 0x2e22 0x4000 && bootm 0x84000000"
saveenv
4. Perform the following command to load/boot the OpenWrt initramfs image
tftpboot && bootm
5. On the initramfs image, perform sysupgrade with the sysupgrade image
(if needed, backup eMMC partitions by dd command and download to
other place before performing sysupgrade)
6. Wait for ~120 seconds to complete flashing
Known issues:
- There are no drivers for audio-related chips/functions in Linux Kernel
and OpenWrt, they cannot be used.
- There is no driver for MINI54FDE Micro-Controller Unit, customized for
this device by the firmware in the MCU. This chip controls the
following functions, but they cannot be controlled in OpenWrt.
- RGB LED
- Fan
this fan is controlled automatically by MCU by default, without
driver
- Thermal Sensors (2x)
- Currently, there is no driver or tool for CY8C4014LQI and cannot be
controlled. It cannot be exited from "booting mode" and moved to "normal
op mode" after booting. And also, the 4x buttons (mic mute, vol down,
vol up, alexa trigger) connected to the IC cannot be controlled.
- it can be exited from "booting mode" by installing and executing
i2cset command:
opkg update
opkg install i2c-tools
i2cset -y 1 0x14 0xf 1
- There is a connection issue on the control by uqmi for the WWAN module.
But modemmanager can be used without any issues and the use of it is
recommended.
- With the F2FS format, too many errors are reported on erasing eMMC
partition "rootfs_data" while booting:
[ 1.360270] sdhci: Secure Digital Host Controller Interface driver
[ 1.363636] sdhci: Copyright(c) Pierre Ossman
[ 1.369730] sdhci-pltfm: SDHCI platform and OF driver helper
[ 1.374729] sdhci_msm 7824900.sdhci: Got CD GPIO
...
[ 1.413552] mmc0: SDHCI controller on 7824900.sdhci [7824900.sdhci] using ADMA 64-bit
[ 1.528325] mmc0: new HS200 MMC card at address 0001
[ 1.530627] mmcblk0: mmc0:0001 004GA0 3.69 GiB
[ 1.533530] mmcblk0boot0: mmc0:0001 004GA0 partition 1 2.00 MiB
[ 1.537831] mmcblk0boot1: mmc0:0001 004GA0 partition 2 2.00 MiB
[ 1.542918] mmcblk0rpmb: mmc0:0001 004GA0 partition 3 512 KiB, chardev (247:0)
[ 1.550323] Alternate GPT is invalid, using primary GPT.
[ 1.561669] mmcblk0: p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17
...
[ 8.841400] mount_root: loading kmods from internal overlay
[ 8.860241] kmodloader: loading kernel modules from //etc/modules-boot.d/*
[ 8.863746] kmodloader: done loading kernel modules from //etc/modules-boot.d/*
[ 9.240465] block: attempting to load /etc/config/fstab
[ 9.246722] block: unable to load configuration (fstab: Entry not found)
[ 9.246863] block: no usable configuration
[ 9.254883] mount_root: overlay filesystem in /dev/mmcblk0p17 has not been formatted yet
[ 9.438915] urandom_read: 5 callbacks suppressed
[ 9.438924] random: mkfs.f2fs: uninitialized urandom read (16 bytes read)
[ 12.243332] mmc_erase: erase error -110, status 0x800
[ 12.246638] mmc0: cache flush error -110
[ 15.134585] mmc_erase: erase error -110, status 0x800
[ 15.135891] mmc_erase: group start error -110, status 0x0
[ 15.139850] mmc_erase: group start error -110, status 0x0
...(too many the same errors)...
[ 17.350811] mmc_erase: group start error -110, status 0x0
[ 17.356197] mmc_erase: group start error -110, status 0x0
[ 17.439498] sdhci_msm 7824900.sdhci: Card stuck in wrong state! card_busy_detect status: 0xe00
[ 17.446910] mmc0: tuning execution failed: -5
[ 17.447111] mmc0: cache flush error -110
[ 18.012440] F2FS-fs (mmcblk0p17): Found nat_bits in checkpoint
[ 18.062652] F2FS-fs (mmcblk0p17): Mounted with checkpoint version = 428fa16b
[ 18.198691] block: attempting to load /etc/config/fstab
[ 18.198972] block: unable to load configuration (fstab: Entry not found)
[ 18.203029] block: no usable configuration
[ 18.211371] mount_root: overlay filesystem has not been fully initialized yet
[ 18.214487] mount_root: switching to f2fs overlay
So, this support uses ext4 format instead which has no errors.
Note:
- The primary uart is shared for debug console and Z-Wave chip. The
function is switched by GPIO15 (Linux: 427).
value:
1: debug console
0: Z-Wave
- NCP-HG100/Cellular has 2x os-image pairs in eMMC.
- 0:HLOS, rootfs
- 0:HLOS_1, rootfs_1
In OpenWrt, the first image pair is used.
- "bootipq" command in U-Boot requires authentication with signed-image
by default. To boot unsigned image of OpenWrt, use "mmc read" and
"bootm" command instead.
- This support is for "Cellular" variant of NCP-HG100 and not tested on
"WLAN" (non-cellular) variant.
- The board files of ipq-wifi may also be used in "WLAN" variant of
NCP-HG100, but unconfirmed and add files as for "Cellular" variant.
- "NET" LED is used to indicate WWAN status in stock firmware.
- There is no MAC address information in the label on the case, use the
address included in UUID in the label as "label-MAC" instead.
- The "CLOUD" LEDs are partially used for indication of system status in
stock firmware, use they as status LEDs in OpenWrt instead of RGB LED
connected to the MCU.
MAC addresses:
LAN : 5C:FF:35:**:**:ED (ART, 0x6 (hex))
WAN : 5C:FF:35:**:**:EF (ART, 0x0 (hex))
2.4 GHz: 5C:FF:35:**:**:ED (ART, 0x1006 (hex))
5 GHz : 5C:FF:35:**:**:EE (ART, 0x5006 (hex))
partition layout in eMMC (by fdisk, GPT):
Disk /dev/mmcblk0: 7733248 sectors, 3776M
Logical sector size: 512
Disk identifier (GUID): ****
Partition table holds up to 20 entries
First usable sector is 34, last usable sector is 7634910
Number Start (sector) End (sector) Size Name
1 34 1057 512K 0:SBL1
2 1058 2081 512K 0:BOOTCONFIG
3 2082 3105 512K 0:QSEE
4 3106 4129 512K 0:QSEE_1
5 4130 4641 256K 0:CDT
6 4642 5153 256K 0:CDT_1
7 5154 6177 512K 0:BOOTCONFIG1
8 6178 6689 256K 0:APPSBLENV
9 6690 8737 1024K 0:APPSBL
10 8738 10785 1024K 0:APPSBL_1
11 10786 11297 256K 0:ART
12 11298 11809 256K 0:HSEE
13 11810 28193 8192K 0:HLOS
14 28194 44577 8192K 0:HLOS_1
15 44578 306721 128M rootfs
16 306722 568865 128M rootfs_1
17 568866 3958065 1654M rootfs_data
[initial work]
Signed-off-by: Iwao Yuki <dev.clef@gmail.com>
Co-developed-by: Iwao Yuki <dev.clef@gmail.com>
[adjustments, cleanups, commit message, sending patch]
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
(dropped clk_unused_ignore, dropped 901-* patches, renamed
key nodes, changed LEDs chan/labels to match func-en, made
:net -> (w)wan leds)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2022-09-04 12:27:11 +00:00
|
|
|
define Device/sony_ncp-hg100-cellular
|
|
|
|
$(call Device/FitImage)
|
|
|
|
DEVICE_VENDOR := Sony
|
|
|
|
DEVICE_MODEL := NCP-HG100/Cellular
|
|
|
|
DEVICE_DTS_CONFIG := config@ap.dk04.1-c4
|
|
|
|
SOC := qcom-ipq4019
|
|
|
|
KERNEL_SIZE := 8192k
|
|
|
|
IMAGE_SIZE := 128m
|
2023-05-17 20:02:40 +00:00
|
|
|
DEVICE_PACKAGES := e2fsprogs kmod-fs-ext4 uqmi
|
ipq40xx: add support for Sony NCP-HG100/Cellular
Sony NCP-HG100/Cellular is a IoT Gateway with 2.4/5 GHz band 11ac
(WiFi-5) wireless function, based on IPQ4019.
Specification:
- SoC : Qualcomm IPQ4019
- RAM : DDR3 512 MiB (H5TC4G63EFR)
- Flash : eMMC 4 GiB (THGBMNG5D1LBAIT)
- WLAN : 2.4/5 GHz 2T2R (IPQ4019)
- Ethernet : 10/100/1000 Mbps x2
- Transceiver : Qualcomm QCA8072
- WWAN : Telit LN940A9
- Z-Wave : Silicon Labs ZM5101
- Bluetooth : Qualcomm CSR8811
- Audio DAC : Realtek ALC5629
- Audio Amp. : Realtek ALC1304
- Voice Input Processor : Conexant CX20924
- Micro Controller Unit : Nuvoton MINI54FDE
- RGB LED, Fan, Temp. sensors
- Touch Sensor : Cypress CY8C4014LQI
- RGB LED driver : TI LP55231 (2x)
- LEDs/Keys : 11x, 6x
- UART : through-hole on PCB
- J1: 3.3V, TX, RX, GND from tri-angle marking
- 115200n8
- Power : 12 VDC, 2.5 A
Flash instruction using initramfs image:
1. Prepare TFTP server with the IP address 192.168.132.100 and place the
initramfs image to TFTP directory with the name "C0A88401.img"
2. Boot NCP-HG100/Cellular and interrupt after the message
"Hit any key to stop autoboot: 2"
3. Perform the following commands and set bootcmd to allow booting from
eMMC
setenv bootcmd "mmc read 0x84000000 0x2e22 0x4000 && bootm 0x84000000"
saveenv
4. Perform the following command to load/boot the OpenWrt initramfs image
tftpboot && bootm
5. On the initramfs image, perform sysupgrade with the sysupgrade image
(if needed, backup eMMC partitions by dd command and download to
other place before performing sysupgrade)
6. Wait for ~120 seconds to complete flashing
Known issues:
- There are no drivers for audio-related chips/functions in Linux Kernel
and OpenWrt, they cannot be used.
- There is no driver for MINI54FDE Micro-Controller Unit, customized for
this device by the firmware in the MCU. This chip controls the
following functions, but they cannot be controlled in OpenWrt.
- RGB LED
- Fan
this fan is controlled automatically by MCU by default, without
driver
- Thermal Sensors (2x)
- Currently, there is no driver or tool for CY8C4014LQI and cannot be
controlled. It cannot be exited from "booting mode" and moved to "normal
op mode" after booting. And also, the 4x buttons (mic mute, vol down,
vol up, alexa trigger) connected to the IC cannot be controlled.
- it can be exited from "booting mode" by installing and executing
i2cset command:
opkg update
opkg install i2c-tools
i2cset -y 1 0x14 0xf 1
- There is a connection issue on the control by uqmi for the WWAN module.
But modemmanager can be used without any issues and the use of it is
recommended.
- With the F2FS format, too many errors are reported on erasing eMMC
partition "rootfs_data" while booting:
[ 1.360270] sdhci: Secure Digital Host Controller Interface driver
[ 1.363636] sdhci: Copyright(c) Pierre Ossman
[ 1.369730] sdhci-pltfm: SDHCI platform and OF driver helper
[ 1.374729] sdhci_msm 7824900.sdhci: Got CD GPIO
...
[ 1.413552] mmc0: SDHCI controller on 7824900.sdhci [7824900.sdhci] using ADMA 64-bit
[ 1.528325] mmc0: new HS200 MMC card at address 0001
[ 1.530627] mmcblk0: mmc0:0001 004GA0 3.69 GiB
[ 1.533530] mmcblk0boot0: mmc0:0001 004GA0 partition 1 2.00 MiB
[ 1.537831] mmcblk0boot1: mmc0:0001 004GA0 partition 2 2.00 MiB
[ 1.542918] mmcblk0rpmb: mmc0:0001 004GA0 partition 3 512 KiB, chardev (247:0)
[ 1.550323] Alternate GPT is invalid, using primary GPT.
[ 1.561669] mmcblk0: p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17
...
[ 8.841400] mount_root: loading kmods from internal overlay
[ 8.860241] kmodloader: loading kernel modules from //etc/modules-boot.d/*
[ 8.863746] kmodloader: done loading kernel modules from //etc/modules-boot.d/*
[ 9.240465] block: attempting to load /etc/config/fstab
[ 9.246722] block: unable to load configuration (fstab: Entry not found)
[ 9.246863] block: no usable configuration
[ 9.254883] mount_root: overlay filesystem in /dev/mmcblk0p17 has not been formatted yet
[ 9.438915] urandom_read: 5 callbacks suppressed
[ 9.438924] random: mkfs.f2fs: uninitialized urandom read (16 bytes read)
[ 12.243332] mmc_erase: erase error -110, status 0x800
[ 12.246638] mmc0: cache flush error -110
[ 15.134585] mmc_erase: erase error -110, status 0x800
[ 15.135891] mmc_erase: group start error -110, status 0x0
[ 15.139850] mmc_erase: group start error -110, status 0x0
...(too many the same errors)...
[ 17.350811] mmc_erase: group start error -110, status 0x0
[ 17.356197] mmc_erase: group start error -110, status 0x0
[ 17.439498] sdhci_msm 7824900.sdhci: Card stuck in wrong state! card_busy_detect status: 0xe00
[ 17.446910] mmc0: tuning execution failed: -5
[ 17.447111] mmc0: cache flush error -110
[ 18.012440] F2FS-fs (mmcblk0p17): Found nat_bits in checkpoint
[ 18.062652] F2FS-fs (mmcblk0p17): Mounted with checkpoint version = 428fa16b
[ 18.198691] block: attempting to load /etc/config/fstab
[ 18.198972] block: unable to load configuration (fstab: Entry not found)
[ 18.203029] block: no usable configuration
[ 18.211371] mount_root: overlay filesystem has not been fully initialized yet
[ 18.214487] mount_root: switching to f2fs overlay
So, this support uses ext4 format instead which has no errors.
Note:
- The primary uart is shared for debug console and Z-Wave chip. The
function is switched by GPIO15 (Linux: 427).
value:
1: debug console
0: Z-Wave
- NCP-HG100/Cellular has 2x os-image pairs in eMMC.
- 0:HLOS, rootfs
- 0:HLOS_1, rootfs_1
In OpenWrt, the first image pair is used.
- "bootipq" command in U-Boot requires authentication with signed-image
by default. To boot unsigned image of OpenWrt, use "mmc read" and
"bootm" command instead.
- This support is for "Cellular" variant of NCP-HG100 and not tested on
"WLAN" (non-cellular) variant.
- The board files of ipq-wifi may also be used in "WLAN" variant of
NCP-HG100, but unconfirmed and add files as for "Cellular" variant.
- "NET" LED is used to indicate WWAN status in stock firmware.
- There is no MAC address information in the label on the case, use the
address included in UUID in the label as "label-MAC" instead.
- The "CLOUD" LEDs are partially used for indication of system status in
stock firmware, use they as status LEDs in OpenWrt instead of RGB LED
connected to the MCU.
MAC addresses:
LAN : 5C:FF:35:**:**:ED (ART, 0x6 (hex))
WAN : 5C:FF:35:**:**:EF (ART, 0x0 (hex))
2.4 GHz: 5C:FF:35:**:**:ED (ART, 0x1006 (hex))
5 GHz : 5C:FF:35:**:**:EE (ART, 0x5006 (hex))
partition layout in eMMC (by fdisk, GPT):
Disk /dev/mmcblk0: 7733248 sectors, 3776M
Logical sector size: 512
Disk identifier (GUID): ****
Partition table holds up to 20 entries
First usable sector is 34, last usable sector is 7634910
Number Start (sector) End (sector) Size Name
1 34 1057 512K 0:SBL1
2 1058 2081 512K 0:BOOTCONFIG
3 2082 3105 512K 0:QSEE
4 3106 4129 512K 0:QSEE_1
5 4130 4641 256K 0:CDT
6 4642 5153 256K 0:CDT_1
7 5154 6177 512K 0:BOOTCONFIG1
8 6178 6689 256K 0:APPSBLENV
9 6690 8737 1024K 0:APPSBL
10 8738 10785 1024K 0:APPSBL_1
11 10786 11297 256K 0:ART
12 11298 11809 256K 0:HSEE
13 11810 28193 8192K 0:HLOS
14 28194 44577 8192K 0:HLOS_1
15 44578 306721 128M rootfs
16 306722 568865 128M rootfs_1
17 568866 3958065 1654M rootfs_data
[initial work]
Signed-off-by: Iwao Yuki <dev.clef@gmail.com>
Co-developed-by: Iwao Yuki <dev.clef@gmail.com>
[adjustments, cleanups, commit message, sending patch]
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
(dropped clk_unused_ignore, dropped 901-* patches, renamed
key nodes, changed LEDs chan/labels to match func-en, made
:net -> (w)wan leds)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2022-09-04 12:27:11 +00:00
|
|
|
endef
|
2022-10-05 14:35:21 +00:00
|
|
|
TARGET_DEVICES += sony_ncp-hg100-cellular
|
ipq40xx: add support for Sony NCP-HG100/Cellular
Sony NCP-HG100/Cellular is a IoT Gateway with 2.4/5 GHz band 11ac
(WiFi-5) wireless function, based on IPQ4019.
Specification:
- SoC : Qualcomm IPQ4019
- RAM : DDR3 512 MiB (H5TC4G63EFR)
- Flash : eMMC 4 GiB (THGBMNG5D1LBAIT)
- WLAN : 2.4/5 GHz 2T2R (IPQ4019)
- Ethernet : 10/100/1000 Mbps x2
- Transceiver : Qualcomm QCA8072
- WWAN : Telit LN940A9
- Z-Wave : Silicon Labs ZM5101
- Bluetooth : Qualcomm CSR8811
- Audio DAC : Realtek ALC5629
- Audio Amp. : Realtek ALC1304
- Voice Input Processor : Conexant CX20924
- Micro Controller Unit : Nuvoton MINI54FDE
- RGB LED, Fan, Temp. sensors
- Touch Sensor : Cypress CY8C4014LQI
- RGB LED driver : TI LP55231 (2x)
- LEDs/Keys : 11x, 6x
- UART : through-hole on PCB
- J1: 3.3V, TX, RX, GND from tri-angle marking
- 115200n8
- Power : 12 VDC, 2.5 A
Flash instruction using initramfs image:
1. Prepare TFTP server with the IP address 192.168.132.100 and place the
initramfs image to TFTP directory with the name "C0A88401.img"
2. Boot NCP-HG100/Cellular and interrupt after the message
"Hit any key to stop autoboot: 2"
3. Perform the following commands and set bootcmd to allow booting from
eMMC
setenv bootcmd "mmc read 0x84000000 0x2e22 0x4000 && bootm 0x84000000"
saveenv
4. Perform the following command to load/boot the OpenWrt initramfs image
tftpboot && bootm
5. On the initramfs image, perform sysupgrade with the sysupgrade image
(if needed, backup eMMC partitions by dd command and download to
other place before performing sysupgrade)
6. Wait for ~120 seconds to complete flashing
Known issues:
- There are no drivers for audio-related chips/functions in Linux Kernel
and OpenWrt, they cannot be used.
- There is no driver for MINI54FDE Micro-Controller Unit, customized for
this device by the firmware in the MCU. This chip controls the
following functions, but they cannot be controlled in OpenWrt.
- RGB LED
- Fan
this fan is controlled automatically by MCU by default, without
driver
- Thermal Sensors (2x)
- Currently, there is no driver or tool for CY8C4014LQI and cannot be
controlled. It cannot be exited from "booting mode" and moved to "normal
op mode" after booting. And also, the 4x buttons (mic mute, vol down,
vol up, alexa trigger) connected to the IC cannot be controlled.
- it can be exited from "booting mode" by installing and executing
i2cset command:
opkg update
opkg install i2c-tools
i2cset -y 1 0x14 0xf 1
- There is a connection issue on the control by uqmi for the WWAN module.
But modemmanager can be used without any issues and the use of it is
recommended.
- With the F2FS format, too many errors are reported on erasing eMMC
partition "rootfs_data" while booting:
[ 1.360270] sdhci: Secure Digital Host Controller Interface driver
[ 1.363636] sdhci: Copyright(c) Pierre Ossman
[ 1.369730] sdhci-pltfm: SDHCI platform and OF driver helper
[ 1.374729] sdhci_msm 7824900.sdhci: Got CD GPIO
...
[ 1.413552] mmc0: SDHCI controller on 7824900.sdhci [7824900.sdhci] using ADMA 64-bit
[ 1.528325] mmc0: new HS200 MMC card at address 0001
[ 1.530627] mmcblk0: mmc0:0001 004GA0 3.69 GiB
[ 1.533530] mmcblk0boot0: mmc0:0001 004GA0 partition 1 2.00 MiB
[ 1.537831] mmcblk0boot1: mmc0:0001 004GA0 partition 2 2.00 MiB
[ 1.542918] mmcblk0rpmb: mmc0:0001 004GA0 partition 3 512 KiB, chardev (247:0)
[ 1.550323] Alternate GPT is invalid, using primary GPT.
[ 1.561669] mmcblk0: p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17
...
[ 8.841400] mount_root: loading kmods from internal overlay
[ 8.860241] kmodloader: loading kernel modules from //etc/modules-boot.d/*
[ 8.863746] kmodloader: done loading kernel modules from //etc/modules-boot.d/*
[ 9.240465] block: attempting to load /etc/config/fstab
[ 9.246722] block: unable to load configuration (fstab: Entry not found)
[ 9.246863] block: no usable configuration
[ 9.254883] mount_root: overlay filesystem in /dev/mmcblk0p17 has not been formatted yet
[ 9.438915] urandom_read: 5 callbacks suppressed
[ 9.438924] random: mkfs.f2fs: uninitialized urandom read (16 bytes read)
[ 12.243332] mmc_erase: erase error -110, status 0x800
[ 12.246638] mmc0: cache flush error -110
[ 15.134585] mmc_erase: erase error -110, status 0x800
[ 15.135891] mmc_erase: group start error -110, status 0x0
[ 15.139850] mmc_erase: group start error -110, status 0x0
...(too many the same errors)...
[ 17.350811] mmc_erase: group start error -110, status 0x0
[ 17.356197] mmc_erase: group start error -110, status 0x0
[ 17.439498] sdhci_msm 7824900.sdhci: Card stuck in wrong state! card_busy_detect status: 0xe00
[ 17.446910] mmc0: tuning execution failed: -5
[ 17.447111] mmc0: cache flush error -110
[ 18.012440] F2FS-fs (mmcblk0p17): Found nat_bits in checkpoint
[ 18.062652] F2FS-fs (mmcblk0p17): Mounted with checkpoint version = 428fa16b
[ 18.198691] block: attempting to load /etc/config/fstab
[ 18.198972] block: unable to load configuration (fstab: Entry not found)
[ 18.203029] block: no usable configuration
[ 18.211371] mount_root: overlay filesystem has not been fully initialized yet
[ 18.214487] mount_root: switching to f2fs overlay
So, this support uses ext4 format instead which has no errors.
Note:
- The primary uart is shared for debug console and Z-Wave chip. The
function is switched by GPIO15 (Linux: 427).
value:
1: debug console
0: Z-Wave
- NCP-HG100/Cellular has 2x os-image pairs in eMMC.
- 0:HLOS, rootfs
- 0:HLOS_1, rootfs_1
In OpenWrt, the first image pair is used.
- "bootipq" command in U-Boot requires authentication with signed-image
by default. To boot unsigned image of OpenWrt, use "mmc read" and
"bootm" command instead.
- This support is for "Cellular" variant of NCP-HG100 and not tested on
"WLAN" (non-cellular) variant.
- The board files of ipq-wifi may also be used in "WLAN" variant of
NCP-HG100, but unconfirmed and add files as for "Cellular" variant.
- "NET" LED is used to indicate WWAN status in stock firmware.
- There is no MAC address information in the label on the case, use the
address included in UUID in the label as "label-MAC" instead.
- The "CLOUD" LEDs are partially used for indication of system status in
stock firmware, use they as status LEDs in OpenWrt instead of RGB LED
connected to the MCU.
MAC addresses:
LAN : 5C:FF:35:**:**:ED (ART, 0x6 (hex))
WAN : 5C:FF:35:**:**:EF (ART, 0x0 (hex))
2.4 GHz: 5C:FF:35:**:**:ED (ART, 0x1006 (hex))
5 GHz : 5C:FF:35:**:**:EE (ART, 0x5006 (hex))
partition layout in eMMC (by fdisk, GPT):
Disk /dev/mmcblk0: 7733248 sectors, 3776M
Logical sector size: 512
Disk identifier (GUID): ****
Partition table holds up to 20 entries
First usable sector is 34, last usable sector is 7634910
Number Start (sector) End (sector) Size Name
1 34 1057 512K 0:SBL1
2 1058 2081 512K 0:BOOTCONFIG
3 2082 3105 512K 0:QSEE
4 3106 4129 512K 0:QSEE_1
5 4130 4641 256K 0:CDT
6 4642 5153 256K 0:CDT_1
7 5154 6177 512K 0:BOOTCONFIG1
8 6178 6689 256K 0:APPSBLENV
9 6690 8737 1024K 0:APPSBL
10 8738 10785 1024K 0:APPSBL_1
11 10786 11297 256K 0:ART
12 11298 11809 256K 0:HSEE
13 11810 28193 8192K 0:HLOS
14 28194 44577 8192K 0:HLOS_1
15 44578 306721 128M rootfs
16 306722 568865 128M rootfs_1
17 568866 3958065 1654M rootfs_data
[initial work]
Signed-off-by: Iwao Yuki <dev.clef@gmail.com>
Co-developed-by: Iwao Yuki <dev.clef@gmail.com>
[adjustments, cleanups, commit message, sending patch]
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
(dropped clk_unused_ignore, dropped 901-* patches, renamed
key nodes, changed LEDs chan/labels to match func-en, made
:net -> (w)wan leds)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2022-09-04 12:27:11 +00:00
|
|
|
|
2021-07-15 19:48:11 +00:00
|
|
|
define Device/teltonika_rutx10
|
|
|
|
$(call Device/FitImage)
|
|
|
|
$(call Device/UbiFit)
|
|
|
|
DEVICE_VENDOR := Teltonika
|
|
|
|
DEVICE_MODEL := RUTX10
|
|
|
|
SOC := qcom-ipq4018
|
|
|
|
DEVICE_DTS_CONFIG := config@5
|
|
|
|
KERNEL_INSTALL := 1
|
|
|
|
BLOCKSIZE := 128k
|
|
|
|
PAGESIZE := 2048
|
|
|
|
FILESYSTEMS := squashfs
|
2022-11-17 01:52:50 +00:00
|
|
|
IMAGE/factory.ubi := append-ubi | qsdk-ipq-factory-nand | append-rutx-metadata
|
2023-05-17 20:02:40 +00:00
|
|
|
DEVICE_PACKAGES := kmod-bluetooth
|
2021-07-15 19:48:11 +00:00
|
|
|
endef
|
2022-09-28 15:42:48 +00:00
|
|
|
# Missing DSA Setup
|
|
|
|
#TARGET_DEVICES += teltonika_rutx10
|
2021-07-15 19:48:11 +00:00
|
|
|
|
2023-05-06 14:57:18 +00:00
|
|
|
define Device/teltonika_rutx50
|
|
|
|
$(call Device/FitImage)
|
|
|
|
$(call Device/UbiFit)
|
|
|
|
DEVICE_VENDOR := Teltonika
|
|
|
|
DEVICE_MODEL := RUTX50
|
|
|
|
SOC := qcom-ipq4018
|
|
|
|
DEVICE_DTS_CONFIG := config@5
|
|
|
|
KERNEL_INSTALL := 1
|
|
|
|
BLOCKSIZE := 128k
|
|
|
|
PAGESIZE := 2048
|
|
|
|
FILESYSTEMS := squashfs
|
|
|
|
IMAGE/factory.ubi := append-ubi
|
|
|
|
DEVICE_PACKAGES := ipq-wifi-teltonika_rutx kmod-usb-net-qmi-wwan kmod-usb-serial-option uqmi
|
|
|
|
endef
|
|
|
|
TARGET_DEVICES += teltonika_rutx50
|
|
|
|
|
2022-03-11 03:54:07 +00:00
|
|
|
define Device/tel_x1pro
|
|
|
|
$(call Device/FitImage)
|
|
|
|
DEVICE_VENDOR := Telco
|
|
|
|
DEVICE_MODEL := X1 Pro
|
|
|
|
SOC := qcom-ipq4019
|
|
|
|
KERNEL_SIZE := 4096k
|
|
|
|
IMAGE_SIZE := 31232k
|
|
|
|
IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
|
|
|
|
DEVICE_PACKAGES := kmod-usb-net-qmi-wwan kmod-usb-serial-option uqmi
|
2022-03-24 19:34:16 +00:00
|
|
|
DEFAULT := n
|
2022-03-11 03:54:07 +00:00
|
|
|
endef
|
2022-09-28 15:42:48 +00:00
|
|
|
# Missing DSA Setup
|
|
|
|
#TARGET_DEVICES += tel_x1pro
|
2022-03-11 03:54:07 +00:00
|
|
|
|
2021-01-17 05:54:04 +00:00
|
|
|
define Device/unielec_u4019-32m
|
|
|
|
$(call Device/FitImage)
|
|
|
|
DEVICE_VENDOR := Unielec
|
|
|
|
DEVICE_MODEL := U4019
|
|
|
|
DEVICE_VARIANT := 32M
|
|
|
|
BOARD_NAME := u4019-32m
|
|
|
|
SOC := qcom-ipq4019
|
|
|
|
KERNEL_SIZE := 4096k
|
|
|
|
IMAGE_SIZE := 31232k
|
|
|
|
IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
|
2021-11-03 15:45:38 +00:00
|
|
|
DEFAULT := n
|
2021-01-17 05:54:04 +00:00
|
|
|
endef
|
2022-09-28 15:42:48 +00:00
|
|
|
# Missing DSA Setup
|
|
|
|
#TARGET_DEVICES += unielec_u4019-32m
|
2021-01-17 05:54:04 +00:00
|
|
|
|
2020-06-30 16:07:50 +00:00
|
|
|
define Device/wallys_dr40x9
|
|
|
|
$(call Device/FitImage)
|
|
|
|
$(call Device/UbiFit)
|
|
|
|
DEVICE_VENDOR := Wallys
|
|
|
|
DEVICE_MODEL := DR40X9
|
|
|
|
SOC := qcom-ipq40x9
|
|
|
|
DEVICE_DTS_CONFIG := config@ap.dk07.1-c1
|
|
|
|
BLOCKSIZE := 128k
|
|
|
|
PAGESIZE := 2048
|
|
|
|
DEVICE_PACKAGES := ipq-wifi-wallys_dr40x9
|
|
|
|
endef
|
|
|
|
TARGET_DEVICES += wallys_dr40x9
|
|
|
|
|
2023-05-03 15:18:48 +00:00
|
|
|
define Device/yyets_le1
|
|
|
|
$(call Device/FitzImage)
|
|
|
|
DEVICE_VENDOR := YYeTs
|
|
|
|
DEVICE_MODEL := LE1
|
|
|
|
SOC := qcom-ipq4019
|
|
|
|
KERNEL_SIZE := 4096k
|
|
|
|
IMAGE_SIZE := 31232k
|
|
|
|
IMAGES += factory.bin
|
|
|
|
IMAGE/factory.bin := qsdk-ipq-factory-nor | check-size
|
|
|
|
IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
|
|
|
|
DEVICE_PACKAGES := ipq-wifi-yyets_le1 kmod-usb-ledtrig-usbport
|
|
|
|
endef
|
|
|
|
TARGET_DEVICES += yyets_le1
|
|
|
|
|
ipq40xx: Add support ZTE MF18A
Light and small router ( In Poland operators sells together with MC7010 outdoor modem to provide WIFI inside home).
Device specification
SoC Type: Qualcomm IPQ4019
RAM: 256 MiB
Flash: 128 MiB SPI NAND (Winbond W25N01GV)
ROM: 2MiB SPI Flash (GD25Q16)
Wireless 2.4 GHz (IP4019): b/g/n, 2x2
Wireless 5 GHz (QCA9982): a/n/ac, 3x3
Ethernet: 2xGbE (WAN/LAN1, LAN2)
USB ports: No
Button: 2 (Reset/WPS)
LEDs: 3 external leds: Power (blue) , WiFI (blue and red), SMARTHOME (blue and red) and 1 internal (blue) -- NOTE: Power controls all external led (if down ,all others also not lights even signal is up)
Power: 5VDC, 2,1A via USB-C socket
Bootloader: U-Boot
On board ZWave and Zigbee (EFR32 MG1P232GG..) modules ( not supported by orginal software )
Installation
1.Open MF18A case by ungluing rubber pad under the router and unscrew screws, and connect to serial console port,
with the following pinout, starting from pin 1, which is the topmost pin when the board is upright (reset button on the bottom) :
VCC (3.3V). Do not use unless you need to source power for the converer from it.
TX
RX
GND
Default port configuration in U-boot as well as in stock firmware is 115200-8-N-1.
2.Place OpenWrt initramfs image for the device on a TFTP in the server's root. This example uses Server IP: 192.168.0.2
3.Connect TFTP server to RJ-45 port (WAN/LAN1).
4.Power on MF18A , stop in u-Boot (using ESC button) and run u-Boot commands:
setenv serverip 192.168.0.2
setenv ipaddr 192.168.0.1
set fdt_high 0x85000000
tftpboot 0x84000000 openwrt-ipq40xx-generic-zte_mf18a-initramfs-fit-zImage.itb
bootm 0x84000000
5.Please make backup of original partitions, if you think about revert to stock, specially mtd8 (Web UI) and mtd9 (rootFS). Use /tmp as temporary storage and do:
WEB PARITION
cat /dev/mtd8 > /tmp/mtd8.bin
scp /tmp/mtd8.bin root@YOURSERVERIP:/
rm /tmp/mtd8.bin
ROOT PARITION
cat /dev/mtd9 > /tmp/mtd9.bin
scp /tmp/mtd9.bin root@YOURSERVERIP:/
rm /tmp/mtd9.bin
If you are sure ,that you want to flash openwrt, from uBoot, before bootm, clean rootfs partition with command:
nand erase 0x1800000 0x1D00000
6.Login via ssh or serial and remove stock partitions (default IP 192.168.1.1):
ubiattach -m 9 # it could return error if ubi was attached before or rootfs part was erased before
ubirmvol /dev/ubi0 -N ubi_rootfs # it could return error if rootfs part was erased before
ubirmvol /dev/ubi0 -N ubi_rootfs_data # some devices doesn't have it
7. Install image via :
sysupgrade -n /tmp/openwrt-ipq40xx-generic-zte_mf18a-squashfs-sysupgrade.bin
previously wgeting bin. Sometimes it could print ubi attach error, but please ignore it if process goes forward.
Back to Stock (!!! need original dump taken from initramfs !!!) -------------
Place mtd8.bin and mtd9.bin initramfs image for the device on a TFTP in the server's root. This example uses Server IP: 192.168.0.2
Connect serial console (115200,8n1) to serial console connector .
Connect TFTP server to RJ-45 port (WAN/LAN1).
rename mtd8.bin to web.img and mtd9.bin to root_uImage_s
Stop in u-Boot (using ESC button) and run u-Boot commands:
This will erase Web and RootFS:
nand erase 0x1000000 0x800000
nand erase 0x1800000 0x1D00000
This will restore RootFS:
tftpboot 0x84000000 root_uImage_s
nand erase 0x1800000 0x1D00000
nand write 0x84000000 0x1800000 0x1D00000
This will restore Web Interface:
tftpboot 0x84000000 web.img
nand erase 0x1000000 0x800000
nand write 0x84000000 0x1000000 0x800000
After first boot on stock firwmare, do a factory reset. Push reset button for 5 seconds so all parameters will be reverted to the one printed on label on bottom of the router
As reference was taken MF289F support by Giammarco Marzano stich86@gmail.com and MF286D by Pawel Dembicki paweldembicki@gmail.com
Signed-off-by: Marcin Gajda <mgajda@o2.pl>
2022-12-28 18:01:40 +00:00
|
|
|
define Device/zte_mf18a
|
|
|
|
$(call Device/FitImage)
|
|
|
|
DEVICE_VENDOR := ZTE
|
|
|
|
DEVICE_MODEL := MF18A
|
|
|
|
SOC := qcom-ipq4019
|
|
|
|
DEVICE_DTS_CONFIG := config@ap.dk04.1-c1
|
|
|
|
BLOCKSIZE := 128k
|
|
|
|
PAGESIZE := 2048
|
|
|
|
KERNEL_IN_UBI := 1
|
2023-05-17 20:02:40 +00:00
|
|
|
DEVICE_PACKAGES := ath10k-firmware-qca99x0-ct
|
ipq40xx: Add support ZTE MF18A
Light and small router ( In Poland operators sells together with MC7010 outdoor modem to provide WIFI inside home).
Device specification
SoC Type: Qualcomm IPQ4019
RAM: 256 MiB
Flash: 128 MiB SPI NAND (Winbond W25N01GV)
ROM: 2MiB SPI Flash (GD25Q16)
Wireless 2.4 GHz (IP4019): b/g/n, 2x2
Wireless 5 GHz (QCA9982): a/n/ac, 3x3
Ethernet: 2xGbE (WAN/LAN1, LAN2)
USB ports: No
Button: 2 (Reset/WPS)
LEDs: 3 external leds: Power (blue) , WiFI (blue and red), SMARTHOME (blue and red) and 1 internal (blue) -- NOTE: Power controls all external led (if down ,all others also not lights even signal is up)
Power: 5VDC, 2,1A via USB-C socket
Bootloader: U-Boot
On board ZWave and Zigbee (EFR32 MG1P232GG..) modules ( not supported by orginal software )
Installation
1.Open MF18A case by ungluing rubber pad under the router and unscrew screws, and connect to serial console port,
with the following pinout, starting from pin 1, which is the topmost pin when the board is upright (reset button on the bottom) :
VCC (3.3V). Do not use unless you need to source power for the converer from it.
TX
RX
GND
Default port configuration in U-boot as well as in stock firmware is 115200-8-N-1.
2.Place OpenWrt initramfs image for the device on a TFTP in the server's root. This example uses Server IP: 192.168.0.2
3.Connect TFTP server to RJ-45 port (WAN/LAN1).
4.Power on MF18A , stop in u-Boot (using ESC button) and run u-Boot commands:
setenv serverip 192.168.0.2
setenv ipaddr 192.168.0.1
set fdt_high 0x85000000
tftpboot 0x84000000 openwrt-ipq40xx-generic-zte_mf18a-initramfs-fit-zImage.itb
bootm 0x84000000
5.Please make backup of original partitions, if you think about revert to stock, specially mtd8 (Web UI) and mtd9 (rootFS). Use /tmp as temporary storage and do:
WEB PARITION
cat /dev/mtd8 > /tmp/mtd8.bin
scp /tmp/mtd8.bin root@YOURSERVERIP:/
rm /tmp/mtd8.bin
ROOT PARITION
cat /dev/mtd9 > /tmp/mtd9.bin
scp /tmp/mtd9.bin root@YOURSERVERIP:/
rm /tmp/mtd9.bin
If you are sure ,that you want to flash openwrt, from uBoot, before bootm, clean rootfs partition with command:
nand erase 0x1800000 0x1D00000
6.Login via ssh or serial and remove stock partitions (default IP 192.168.1.1):
ubiattach -m 9 # it could return error if ubi was attached before or rootfs part was erased before
ubirmvol /dev/ubi0 -N ubi_rootfs # it could return error if rootfs part was erased before
ubirmvol /dev/ubi0 -N ubi_rootfs_data # some devices doesn't have it
7. Install image via :
sysupgrade -n /tmp/openwrt-ipq40xx-generic-zte_mf18a-squashfs-sysupgrade.bin
previously wgeting bin. Sometimes it could print ubi attach error, but please ignore it if process goes forward.
Back to Stock (!!! need original dump taken from initramfs !!!) -------------
Place mtd8.bin and mtd9.bin initramfs image for the device on a TFTP in the server's root. This example uses Server IP: 192.168.0.2
Connect serial console (115200,8n1) to serial console connector .
Connect TFTP server to RJ-45 port (WAN/LAN1).
rename mtd8.bin to web.img and mtd9.bin to root_uImage_s
Stop in u-Boot (using ESC button) and run u-Boot commands:
This will erase Web and RootFS:
nand erase 0x1000000 0x800000
nand erase 0x1800000 0x1D00000
This will restore RootFS:
tftpboot 0x84000000 root_uImage_s
nand erase 0x1800000 0x1D00000
nand write 0x84000000 0x1800000 0x1D00000
This will restore Web Interface:
tftpboot 0x84000000 web.img
nand erase 0x1000000 0x800000
nand write 0x84000000 0x1000000 0x800000
After first boot on stock firwmare, do a factory reset. Push reset button for 5 seconds so all parameters will be reverted to the one printed on label on bottom of the router
As reference was taken MF289F support by Giammarco Marzano stich86@gmail.com and MF286D by Pawel Dembicki paweldembicki@gmail.com
Signed-off-by: Marcin Gajda <mgajda@o2.pl>
2022-12-28 18:01:40 +00:00
|
|
|
endef
|
|
|
|
TARGET_DEVICES += zte_mf18a
|
|
|
|
|
ipq40xx: Add ZTE MF289F
It's a 4G Cat.20 router used by Vodafone Italy (called Vodafone FWA)
and Vodafone DE\T-Mobile PL (called GigaCube).
Modem is a MiniPCIe-to-USB based on Snapdragon X24,
it supports 4CA aggregation.
There are currently two hardware revisions, which
differ on the 5Ghz radio:
AT1 = QCA9984 5Ghz Radio on PCI-E bus
AT2 = IPQ4019 5Ghz Radio inside IPQ4019 like 2.4Ghz
Device specification
--------------------
SoC Type: Qualcomm IPQ4019
RAM: 256 MiB
Flash: 128 MiB SPI NAND (Winbond W25N01GV)
ROM: 2MiB SPI Flash (GD25Q16)
Wireless 2.4 GHz (IP4019): b/g/n, 2x2
Wireless 5 GHz:
(QCA9984): a/n/ac, 4x4 HW REV AT1
(IPA4019): a/n/ac, 2x2 HW REV AT2
Ethernet: 2xGbE (WAN/LAN1, LAN2)
USB ports: No
Button: 2 (Reset/WPS)
LEDs: 3 external leds: Network (white or red), Wifi, Power and 1 internal (blue)
Power: 12 VDC, 1 A
Connector type: Barrel
Bootloader: U-Boot
Installation
------------
1. Place OpenWrt initramfs image for the device on a TFTP
in the server's root. This example uses Server IP: 192.168.0.2
2. Connect serial console (115200,8n1) to serial connector
GND (which is right next to the thing with MF289F MIMO-V1.0), RX, TX
(refer to this image: https://ibb.co/31Gngpr).
3. Connect TFTP server to RJ-45 port (WAN/LAN1).
4. Stop in u-Boot (using ESC button) and run u-Boot commands:
setenv serverip 192.168.0.2
setenv ipaddr 192.168.0.1
set fdt_high 0x85000000
tftp openwrt-ipq40xx-generic-zte_mf289f-initramfs-fit-zImage.itb
bootm $loadaddr
5. Please make backup of original partitions, if you think about revert to
stock, specially mtd16 (Web UI) and mtd17 (rootFS).
Use /tmp as temporary storage and do:
WEB PARITION
--------------------------------------
cat /dev/mtd16 > /tmp/mtd16.bin
scp /tmp/mtd16.bin root@YOURSERVERIP:/
rm /tmp/mtd16.bin
ROOT PARITION
--------------------------------------
cat /dev/mtd17 > /tmp/mtd17.bin
scp /tmp/mtd17.bin root@YOURSERVERIP:/
rm /tmp/mtd17.bin
6. Login via ssh or serial and remove stock partitions
(default IP 192.168.0.1):
# this can return an error, if ubi was attached before
# or rootfs part was erased before.
ubiattach -m 17
# it could return error if rootfs part was erased before
ubirmvol /dev/ubi0 -N ubi_rootfs
# some devices doesn't have it
ubirmvol /dev/ubi0 -N ubi_rootfs_data
7. download and install image via sysupgrade -n
(either use wget/scp to copy the mf289f's squashfs-sysupgrade.bin
to the device's /tmp directory)
sysupgrade -n /tmp/openwrt-...-zte_mf289f-squashfs-sysupgrade.bin
Sometimes it could print ubi attach error, but please ignore it
if process goes forward.
Flash Layout
NAND:
mtd8: 000a0000 00020000 "fota-flag"
mtd9: 00080000 00020000 "0:ART"
mtd10: 00080000 00020000 "mac"
mtd11: 000c0000 00020000 "reserved2"
mtd12: 00400000 00020000 "cfg-param"
mtd13: 00400000 00020000 "log"
mtd14: 000a0000 00020000 "oops"
mtd15: 00500000 00020000 "reserved3"
mtd16: 00800000 00020000 "web"
mtd17: 01d00000 00020000 "rootfs"
mtd18: 01900000 00020000 "data"
mtd19: 03200000 00020000 "fota"
mtd20: 0041e000 0001f000 "kernel"
mtd21: 0101b000 0001f000 "ubi_rootfs"
SPI:
mtd0: 00040000 00010000 "0:SBL1"
mtd1: 00020000 00010000 "0:MIBIB"
mtd2: 00060000 00010000 "0:QSEE"
mtd3: 00010000 00010000 "0:CDT"
mtd4: 00010000 00010000 "0:DDRPARAMS"
mtd5: 00010000 00010000 "0:APPSBLENV"
mtd6: 000c0000 00010000 "0:APPSBL"
mtd7: 00050000 00010000 "0:reserved1"
Back to Stock (!!! need original dump taken from initramfs !!!)
-------------
1. Place mtd16.bin and mtd17.bin initramfs image
for the device on a TFTP in the server's root.
This example uses Server IP: 192.168.0.2
2. Connect serial console (115200,8n1) to serial console
connector (refer to the pin-out from above).
3. Connect TFTP server to RJ-45 port (WAN/LAN1).
4. rename mtd16.bin to web.img and mtd17.bin to root_uImage_s
5. Stop in u-Boot (using ESC button) and run u-Boot commands:
This will erase RootFS+Web:
nand erase 0x1000000 0x800000
nand erase 0x1800000 0x1D00000
This will restore RootFS:
tftpboot 0x84000000 ${dir}root_uImage_s
nand erase 0x1800000 0x1D00000
nand write $fileaddr 0x1800000 $filesize
This will restore Web Interface:
tftpboot 0x84000000 ${dir}web.img
nand erase 0x1000000 0x800000
nand write $fileaddr 0x1000000 $filesize
After first boot on stock firwmare, do a factory reset.
Push reset button for 5 seconds so all parameters will
be reverted to the one printed on label on bottom of the router
Signed-off-by: Giammarco Marzano <stich86@gmail.com>
Reviewed-by: Lech Perczak <lech.perczak@gmail.com>
(Warning: commit message did not conform to UTF-8 - hopefully fixed?,
added description of the pin-out if image goes down, reformatted
commit message to be hopefully somewhat readable on git-web,
redid some of the gpio-buttons & leds DT nodes, etc.)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2022-09-14 12:20:43 +00:00
|
|
|
define Device/zte_mf28x_common
|
2021-11-23 08:10:14 +00:00
|
|
|
$(call Device/FitzImage)
|
|
|
|
DEVICE_VENDOR := ZTE
|
|
|
|
SOC := qcom-ipq4019
|
|
|
|
DEVICE_DTS_CONFIG := config@ap.dk04.1-c1
|
|
|
|
BLOCKSIZE := 128k
|
|
|
|
PAGESIZE := 2048
|
|
|
|
KERNEL_IN_UBI := 1
|
2022-05-13 20:25:36 +00:00
|
|
|
DEVICE_PACKAGES := kmod-usb-net-qmi-wwan kmod-usb-serial-option uqmi
|
2021-11-23 08:10:14 +00:00
|
|
|
endef
|
ipq40xx: Add ZTE MF289F
It's a 4G Cat.20 router used by Vodafone Italy (called Vodafone FWA)
and Vodafone DE\T-Mobile PL (called GigaCube).
Modem is a MiniPCIe-to-USB based on Snapdragon X24,
it supports 4CA aggregation.
There are currently two hardware revisions, which
differ on the 5Ghz radio:
AT1 = QCA9984 5Ghz Radio on PCI-E bus
AT2 = IPQ4019 5Ghz Radio inside IPQ4019 like 2.4Ghz
Device specification
--------------------
SoC Type: Qualcomm IPQ4019
RAM: 256 MiB
Flash: 128 MiB SPI NAND (Winbond W25N01GV)
ROM: 2MiB SPI Flash (GD25Q16)
Wireless 2.4 GHz (IP4019): b/g/n, 2x2
Wireless 5 GHz:
(QCA9984): a/n/ac, 4x4 HW REV AT1
(IPA4019): a/n/ac, 2x2 HW REV AT2
Ethernet: 2xGbE (WAN/LAN1, LAN2)
USB ports: No
Button: 2 (Reset/WPS)
LEDs: 3 external leds: Network (white or red), Wifi, Power and 1 internal (blue)
Power: 12 VDC, 1 A
Connector type: Barrel
Bootloader: U-Boot
Installation
------------
1. Place OpenWrt initramfs image for the device on a TFTP
in the server's root. This example uses Server IP: 192.168.0.2
2. Connect serial console (115200,8n1) to serial connector
GND (which is right next to the thing with MF289F MIMO-V1.0), RX, TX
(refer to this image: https://ibb.co/31Gngpr).
3. Connect TFTP server to RJ-45 port (WAN/LAN1).
4. Stop in u-Boot (using ESC button) and run u-Boot commands:
setenv serverip 192.168.0.2
setenv ipaddr 192.168.0.1
set fdt_high 0x85000000
tftp openwrt-ipq40xx-generic-zte_mf289f-initramfs-fit-zImage.itb
bootm $loadaddr
5. Please make backup of original partitions, if you think about revert to
stock, specially mtd16 (Web UI) and mtd17 (rootFS).
Use /tmp as temporary storage and do:
WEB PARITION
--------------------------------------
cat /dev/mtd16 > /tmp/mtd16.bin
scp /tmp/mtd16.bin root@YOURSERVERIP:/
rm /tmp/mtd16.bin
ROOT PARITION
--------------------------------------
cat /dev/mtd17 > /tmp/mtd17.bin
scp /tmp/mtd17.bin root@YOURSERVERIP:/
rm /tmp/mtd17.bin
6. Login via ssh or serial and remove stock partitions
(default IP 192.168.0.1):
# this can return an error, if ubi was attached before
# or rootfs part was erased before.
ubiattach -m 17
# it could return error if rootfs part was erased before
ubirmvol /dev/ubi0 -N ubi_rootfs
# some devices doesn't have it
ubirmvol /dev/ubi0 -N ubi_rootfs_data
7. download and install image via sysupgrade -n
(either use wget/scp to copy the mf289f's squashfs-sysupgrade.bin
to the device's /tmp directory)
sysupgrade -n /tmp/openwrt-...-zte_mf289f-squashfs-sysupgrade.bin
Sometimes it could print ubi attach error, but please ignore it
if process goes forward.
Flash Layout
NAND:
mtd8: 000a0000 00020000 "fota-flag"
mtd9: 00080000 00020000 "0:ART"
mtd10: 00080000 00020000 "mac"
mtd11: 000c0000 00020000 "reserved2"
mtd12: 00400000 00020000 "cfg-param"
mtd13: 00400000 00020000 "log"
mtd14: 000a0000 00020000 "oops"
mtd15: 00500000 00020000 "reserved3"
mtd16: 00800000 00020000 "web"
mtd17: 01d00000 00020000 "rootfs"
mtd18: 01900000 00020000 "data"
mtd19: 03200000 00020000 "fota"
mtd20: 0041e000 0001f000 "kernel"
mtd21: 0101b000 0001f000 "ubi_rootfs"
SPI:
mtd0: 00040000 00010000 "0:SBL1"
mtd1: 00020000 00010000 "0:MIBIB"
mtd2: 00060000 00010000 "0:QSEE"
mtd3: 00010000 00010000 "0:CDT"
mtd4: 00010000 00010000 "0:DDRPARAMS"
mtd5: 00010000 00010000 "0:APPSBLENV"
mtd6: 000c0000 00010000 "0:APPSBL"
mtd7: 00050000 00010000 "0:reserved1"
Back to Stock (!!! need original dump taken from initramfs !!!)
-------------
1. Place mtd16.bin and mtd17.bin initramfs image
for the device on a TFTP in the server's root.
This example uses Server IP: 192.168.0.2
2. Connect serial console (115200,8n1) to serial console
connector (refer to the pin-out from above).
3. Connect TFTP server to RJ-45 port (WAN/LAN1).
4. rename mtd16.bin to web.img and mtd17.bin to root_uImage_s
5. Stop in u-Boot (using ESC button) and run u-Boot commands:
This will erase RootFS+Web:
nand erase 0x1000000 0x800000
nand erase 0x1800000 0x1D00000
This will restore RootFS:
tftpboot 0x84000000 ${dir}root_uImage_s
nand erase 0x1800000 0x1D00000
nand write $fileaddr 0x1800000 $filesize
This will restore Web Interface:
tftpboot 0x84000000 ${dir}web.img
nand erase 0x1000000 0x800000
nand write $fileaddr 0x1000000 $filesize
After first boot on stock firwmare, do a factory reset.
Push reset button for 5 seconds so all parameters will
be reverted to the one printed on label on bottom of the router
Signed-off-by: Giammarco Marzano <stich86@gmail.com>
Reviewed-by: Lech Perczak <lech.perczak@gmail.com>
(Warning: commit message did not conform to UTF-8 - hopefully fixed?,
added description of the pin-out if image goes down, reformatted
commit message to be hopefully somewhat readable on git-web,
redid some of the gpio-buttons & leds DT nodes, etc.)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2022-09-14 12:20:43 +00:00
|
|
|
|
ipq4019: add support for ZTE MF282 Plus aka DreiTube
The ZTE MF282 Plus is a LTE router used (exclusively?) by the network
operator "3". It is very similar to the MF286/MF287 but in the form factor
of the MF282.
Specifications
==============
SoC: IPQ4019
RAM: 256MiB
Flash: 8MiB SPI-NOR + 128MiB SPI-NAND
LAN: 1x GBit LAN
LTE: ZTE Cat6
WiFi: 802.11a/b/g/n/ac SoC-integrated
MAC addresses
=============
LAN: from config
WiFi 1: from config + 1
WiFi 2: from config + 2
Installation
============
Option 1 - TFTP
---------------
TFTP installation using UART is preferred. Disassemble the device and
connect serial. Put the initramfs image as openwrt.bin to your TFTP server
and configure a static IP of 192.168.1.100. Load the initramfs image by
typing:
setenv serverip 192.168.1.100
setenv ipaddr 192.168.1.1
tftpboot 0x84000000 openwrt.bin
bootm 0x84000000
From this intiramfs boot you can take a backup of the currently installed
partitions as no vendor firmware is available for download:
ubiattach -m9
cat /dev/ubi0_0 > /tmp/ubi0_0
cat /dev/ubi0_1 > /tmp/ubi0_1
Copy the files /tmp/ubi0_0 and /tmp/ubi0_1 somewhere save.
Once booted, transfer the sysupgrade image and run sysupgrade. You might
have to delete the stock volumes first:
ubirmvol /dev/ubi0 -N ubi_rootfs
ubirmvol /dev/ubi0 -N kernel
Option 2 - From stock firmware
------------------------------
The installation from stock requires an exploit first. The exploit consists
of a backup file that forces the firmware to download telnetd via TFTP from
192.168.0.22 and run it. Once exploited, you can connect via telnet and
login as admin:admin.
The exploit will be available at the device wiki page.
Once inside the stock firmware, you can transfer the -factory.bin file to
/tmp by using "scp" from the stock frmware or "tftp".
ZTE has blocked writing to the NAND. Fortunately, it's easy to allow write
access - you need to read from one file in /proc. Once done, you need to
erase the UBI partition and flash OpenWrt. Before performing the operation,
make sure that mtd9 is the partition labelled "rootfs" by calling
"cat /proc/mtd".
Complete commands:
cd /tmp
tftp -g -r factory.bin 192.168.0.22
cat /proc/driver/sensor_id
flash_erase /dev/mtd9 0 0
dd if=/tmp/factory.bin of=/dev/mtdblock9 bs=131072
Afterwards, reboot your device and you should have a working OpenWrt
installation.
Restore Stock
=============
Option 1 - via UART
-------------------
Boot an OpenWrt initramfs image via TFTP as for the initial installation.
Transfer the two backed-up files to your box to /tmp.
Then, run the following commands - replace $kernel_length and $rootfs_size
by the size of ubi0_0 and ubi0_1 in bytes.
ubiattach -m 9
ubirmvol /dev/ubi0 -N kernel
ubirmvol /dev/ubi0 -N rootfs
ubirmvol /dev/ubi0 -N rootfs_data
ubimkvol /dev/ubi0 -N kernel -s $kernel_length
ubimkvol /dev/ubi0 -N ubi_rootfs -s $rootfs_size
ubiupdatevol /dev/ubi0_0 /tmp/ubi0_0
ubiupdatevol /dev/ubi0_1 /tmp/ubi0_1
Option 2 - from within OpenWrt
------------------------------
This option requires to flash an initramfs version first so that access
to the flash is possible. This can be achieved by sysupgrading to the
recovery.bin version and rebooting. Once rebooted, you are again in a
default OpenWrt installation, but no partition is mounted.
Follow the commands from Option 1 to flash back to stock.
LTE Modem
=========
The LTE modem is similar to the MF286R, it provides an RNDIS interface
and an AT interface.
Other Notes
===========
There is one GPIO Switch "Power button blocker" which, if enabled, does not
trigger a reset of the SoC if the modem reboots. If disabled, the SoC is
rebooted along with the modem. The modem can be rebooted via the exported
GPIO "modem-reset" in /sys/class/gpio.
Signed-off-by: Andreas Böhler <dev@aboehler.at>
2023-09-09 20:54:01 +00:00
|
|
|
define Device/zte_mf282plus
|
|
|
|
$(call Device/zte_mf28x_common)
|
|
|
|
DEVICE_MODEL := MF282Plus
|
|
|
|
# The recovery image is used to return back to stock (an initramfs-based image
|
|
|
|
# that can be flashed to the device via sysupgrade
|
|
|
|
# The factory image is used to install from the stock firmware by using an
|
|
|
|
# exploit for the web interface
|
|
|
|
IMAGES += factory.bin recovery.bin
|
|
|
|
IMAGE/factory.bin := append-ubi
|
|
|
|
IMAGE/recovery.bin := append-squashfs4-fakeroot | sysupgrade-tar kernel=$$$$(BIN_DIR)/$$(KERNEL_INITRAMFS_IMAGE) rootfs=$$$$@ | append-metadata
|
|
|
|
DEVICE_PACKAGES := kmod-usb-acm kmod-usb-net-rndis
|
|
|
|
endef
|
|
|
|
TARGET_DEVICES += zte_mf282plus
|
|
|
|
|
ipq40xx: Add ZTE MF289F
It's a 4G Cat.20 router used by Vodafone Italy (called Vodafone FWA)
and Vodafone DE\T-Mobile PL (called GigaCube).
Modem is a MiniPCIe-to-USB based on Snapdragon X24,
it supports 4CA aggregation.
There are currently two hardware revisions, which
differ on the 5Ghz radio:
AT1 = QCA9984 5Ghz Radio on PCI-E bus
AT2 = IPQ4019 5Ghz Radio inside IPQ4019 like 2.4Ghz
Device specification
--------------------
SoC Type: Qualcomm IPQ4019
RAM: 256 MiB
Flash: 128 MiB SPI NAND (Winbond W25N01GV)
ROM: 2MiB SPI Flash (GD25Q16)
Wireless 2.4 GHz (IP4019): b/g/n, 2x2
Wireless 5 GHz:
(QCA9984): a/n/ac, 4x4 HW REV AT1
(IPA4019): a/n/ac, 2x2 HW REV AT2
Ethernet: 2xGbE (WAN/LAN1, LAN2)
USB ports: No
Button: 2 (Reset/WPS)
LEDs: 3 external leds: Network (white or red), Wifi, Power and 1 internal (blue)
Power: 12 VDC, 1 A
Connector type: Barrel
Bootloader: U-Boot
Installation
------------
1. Place OpenWrt initramfs image for the device on a TFTP
in the server's root. This example uses Server IP: 192.168.0.2
2. Connect serial console (115200,8n1) to serial connector
GND (which is right next to the thing with MF289F MIMO-V1.0), RX, TX
(refer to this image: https://ibb.co/31Gngpr).
3. Connect TFTP server to RJ-45 port (WAN/LAN1).
4. Stop in u-Boot (using ESC button) and run u-Boot commands:
setenv serverip 192.168.0.2
setenv ipaddr 192.168.0.1
set fdt_high 0x85000000
tftp openwrt-ipq40xx-generic-zte_mf289f-initramfs-fit-zImage.itb
bootm $loadaddr
5. Please make backup of original partitions, if you think about revert to
stock, specially mtd16 (Web UI) and mtd17 (rootFS).
Use /tmp as temporary storage and do:
WEB PARITION
--------------------------------------
cat /dev/mtd16 > /tmp/mtd16.bin
scp /tmp/mtd16.bin root@YOURSERVERIP:/
rm /tmp/mtd16.bin
ROOT PARITION
--------------------------------------
cat /dev/mtd17 > /tmp/mtd17.bin
scp /tmp/mtd17.bin root@YOURSERVERIP:/
rm /tmp/mtd17.bin
6. Login via ssh or serial and remove stock partitions
(default IP 192.168.0.1):
# this can return an error, if ubi was attached before
# or rootfs part was erased before.
ubiattach -m 17
# it could return error if rootfs part was erased before
ubirmvol /dev/ubi0 -N ubi_rootfs
# some devices doesn't have it
ubirmvol /dev/ubi0 -N ubi_rootfs_data
7. download and install image via sysupgrade -n
(either use wget/scp to copy the mf289f's squashfs-sysupgrade.bin
to the device's /tmp directory)
sysupgrade -n /tmp/openwrt-...-zte_mf289f-squashfs-sysupgrade.bin
Sometimes it could print ubi attach error, but please ignore it
if process goes forward.
Flash Layout
NAND:
mtd8: 000a0000 00020000 "fota-flag"
mtd9: 00080000 00020000 "0:ART"
mtd10: 00080000 00020000 "mac"
mtd11: 000c0000 00020000 "reserved2"
mtd12: 00400000 00020000 "cfg-param"
mtd13: 00400000 00020000 "log"
mtd14: 000a0000 00020000 "oops"
mtd15: 00500000 00020000 "reserved3"
mtd16: 00800000 00020000 "web"
mtd17: 01d00000 00020000 "rootfs"
mtd18: 01900000 00020000 "data"
mtd19: 03200000 00020000 "fota"
mtd20: 0041e000 0001f000 "kernel"
mtd21: 0101b000 0001f000 "ubi_rootfs"
SPI:
mtd0: 00040000 00010000 "0:SBL1"
mtd1: 00020000 00010000 "0:MIBIB"
mtd2: 00060000 00010000 "0:QSEE"
mtd3: 00010000 00010000 "0:CDT"
mtd4: 00010000 00010000 "0:DDRPARAMS"
mtd5: 00010000 00010000 "0:APPSBLENV"
mtd6: 000c0000 00010000 "0:APPSBL"
mtd7: 00050000 00010000 "0:reserved1"
Back to Stock (!!! need original dump taken from initramfs !!!)
-------------
1. Place mtd16.bin and mtd17.bin initramfs image
for the device on a TFTP in the server's root.
This example uses Server IP: 192.168.0.2
2. Connect serial console (115200,8n1) to serial console
connector (refer to the pin-out from above).
3. Connect TFTP server to RJ-45 port (WAN/LAN1).
4. rename mtd16.bin to web.img and mtd17.bin to root_uImage_s
5. Stop in u-Boot (using ESC button) and run u-Boot commands:
This will erase RootFS+Web:
nand erase 0x1000000 0x800000
nand erase 0x1800000 0x1D00000
This will restore RootFS:
tftpboot 0x84000000 ${dir}root_uImage_s
nand erase 0x1800000 0x1D00000
nand write $fileaddr 0x1800000 $filesize
This will restore Web Interface:
tftpboot 0x84000000 ${dir}web.img
nand erase 0x1000000 0x800000
nand write $fileaddr 0x1000000 $filesize
After first boot on stock firwmare, do a factory reset.
Push reset button for 5 seconds so all parameters will
be reverted to the one printed on label on bottom of the router
Signed-off-by: Giammarco Marzano <stich86@gmail.com>
Reviewed-by: Lech Perczak <lech.perczak@gmail.com>
(Warning: commit message did not conform to UTF-8 - hopefully fixed?,
added description of the pin-out if image goes down, reformatted
commit message to be hopefully somewhat readable on git-web,
redid some of the gpio-buttons & leds DT nodes, etc.)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2022-09-14 12:20:43 +00:00
|
|
|
define Device/zte_mf286d
|
|
|
|
$(call Device/zte_mf28x_common)
|
|
|
|
DEVICE_MODEL := MF286D
|
|
|
|
endef
|
2021-11-23 08:10:14 +00:00
|
|
|
TARGET_DEVICES += zte_mf286d
|
|
|
|
|
ipq4019: add support for ZTE MF287 Pro aka DreiNeo Pro
The ZTE MF287 Pro is a LTE router used (exclusively?) by the network
operator "3". It is very similar to the MF287+, but the hardware layout
and partition layout have changed quite a bit.
Specifications
==============
SoC: IPQ4018
RAM: 256MiB
Flash: 8MiB SPI-NOR + 128MiB SPI-NAND
LAN: 4x GBit LAN
LTE: ZTE Cat12
WiFi: 802.11a/b/g/n/ac SoC-integrated
USB: 1x 2.0
MAC addresses
=============
LAN: from config + 2
WiFi 1: from config
WiFi 2: from config + 1
Installation
============
Option 1 - TFTP
---------------
TFTP installation using UART is preferred. Disassemble the device and
connect serial. Put the initramfs image as openwrt.bin to your TFTP server
and configure a static IP of 192.168.1.100. Load the initramfs image by
typing:
setenv serverip 192.168.1.100
setenv ipaddr 192.168.1.1
tftpboot 0x82000000 openwrt.bin
bootm 0x82000000
From this intiramfs boot you can take a backup of the currently installed
partitions as no vendor firmware is available for download:
ubiattach -m17
cat /dev/ubi0_0 > /tmp/ubi0_0
cat /dev/ubi0_1 > /tmp/ubi0_1
Copy the files /tmp/ubi0_0 and /tmp/ubi0_1 somewhere save.
Once booted, transfer the sysupgrade image and run sysupgrade. You might
have to delete the stock volumes first:
ubirmvol /dev/ubi0 -N ubi_rootfs
ubirmvol /dev/ubi0 -N kernel
Option 2 - From stock firmware
------------------------------
The installation from stock requires an exploit first. The exploit consists
of a backup file that forces the firmware to download telnetd via TFTP from
192.168.0.22 and run it. Once exploited, you can connect via telnet and
login as admin:admin.
The exploit will be available at the device wiki page.
Once inside the stock firmware, you can transfer the -factory.bin file to
/tmp by using "scp" from the stock frmware or "tftp".
ZTE has blocked writing to the NAND. Fortunately, it's easy to allow write
access - you need to read from one file in /proc. Once done, you need to
erase the UBI partition and flash OpenWrt. Before performing the operation,
make sure that mtd13 is the partition labelled "rootfs" by calling
"cat /proc/mtd".
Complete commands:
cd /tmp
tftp -g -r factory.bin 192.168.0.22
cat /proc/driver/sensor_id
flash_erase /dev/mtd17 0 0
dd if=/tmp/factory.bin of=/dev/mtdblock17 bs=131072
Afterwards, reboot your device and you should have a working OpenWrt
installation.
Restore Stock
=============
Option 1 - via UART
-------------------
Boot an OpenWrt initramfs image via TFTP as for the initial installation.
Transfer the two backed-up files to your box to /tmp.
Then, run the following commands - replace $kernel_length and $rootfs_size
by the size of ubi0_0 and ubi0_1 in bytes.
ubiattach -m 17
ubirmvol /dev/ubi0 -N kernel
ubirmvol /dev/ubi0 -N rootfs
ubirmvol /dev/ubi0 -N rootfs_data
ubimkvol /dev/ubi0 -N kernel -s $kernel_length
ubimkvol /dev/ubi0 -N ubi_rootfs -s $rootfs_size
ubiupdatevol /dev/ubi0_0 /tmp/ubi0_0
ubiupdatevol /dev/ubi0_1 /tmp/ubi0_1
Option 2 - from within OpenWrt
------------------------------
This option requires to flash an initramfs version first so that access
to the flash is possible. This can be achieved by sysupgrading to the
recovery.bin version and rebooting. Once rebooted, you are again in a
default OpenWrt installation, but no partition is mounted.
Follow the commands from Option 1 to flash back to stock.
LTE Modem
=========
The LTE modem is similar to other ZTE devices and controls some more LEDs
and battery management.
Configuring the connection using uqmi works properly, the modem
provides three serial ports and a QMI CDC ethernet interface.
Other Notes
===========
Contrary to the stock firmware, the USB port on the back can be used.
There is one GPIO Switch "Power button blocker" which, if enabled, does not
trigger a reset of the SoC if the modem reboots. If disabled, the SoC is
rebooted along with the modem. The modem can be rebooted via the exported
GPIO "modem-reset" in /sys/class/gpio.
Signed-off-by: Andreas Böhler <dev@aboehler.at>
2023-07-10 09:55:30 +00:00
|
|
|
define Device/zte_mf287_common
|
ipq4019: add support for ZTE MF287+ aka DreiNeo
The ZTE MF287+ is a LTE router used (exclusively?) by the network operator
"3". The MF287 (i.e. non-plus aka 3Neo) is also supported (the only
difference is the LTE modem)
Specifications
==============
SoC: IPQ4018
RAM: 256MiB
Flash: 8MiB SPI-NOR + 128MiB SPI-NAND
LAN: 4x GBit LAN
LTE: ZTE Cat12 (MF287+) / ZTE Cat6 (MF287)
WiFi: 802.11a/b/g/n/ac SoC-integrated
MAC addresses
=============
LAN: from config + 2
WiFi 1: from config
WiFi 2: from config + 1
Installation
============
Option 1 - TFTP
---------------
TFTP installation using UART is preferred. Disassemble the device and
connect serial. Put the initramfs image as openwrt.bin to your TFTP server
and configure a static IP of 192.168.1.100. Load the initramfs image by
typing:
setenv serverip 192.168.1.100
setenv ipaddr 192.168.1.1
tftpboot 0x82000000 openwrt.bin
bootm 0x82000000
From this intiramfs boot you can take a backup of the currently installed
partitions as no vendor firmware is available for download:
ubiattach -m14
cat /dev/ubi0_0 > /tmp/ubi0_0
cat /dev/ubi0_1 > /tmp/ubi0_1
Copy the files /tmp/ubi0_0 and /tmp/ubi0_1 somewhere save.
Once booted, transfer the sysupgrade image and run sysupgrade. You might
have to delete the stock volumes first:
ubirmvol /dev/ubi0 -N ubi_rootfs
ubirmvol /dev/ubi0 -N kernel
Option 2 - From stock firmware
------------------------------
The installation from stock requires an exploit first. The exploit consists
of a backup file that forces the firmware to download telnetd via TFTP from
192.168.0.22 and run it. Once exploited, you can connect via telnet and
login as admin:admin.
The exploit will be available at the device wiki page.
Once inside the stock firmware, you can transfer the -factory.bin file to
/tmp by using "scp" from the stock frmware or "tftp".
ZTE has blocked writing to the NAND. Fortunately, it's easy to allow write
access - you need to read from one file in /proc. Once done, you need to
erase the UBI partition and flash OpenWrt. Before performing the operation,
make sure that mtd13 is the partition labelled "rootfs" by calling
"cat /proc/mtd".
Complete commands:
cd /tmp
tftp -g -r factory.bin 192.168.0.22
cat /proc/driver/sensor_id
flash_erase /dev/mtd13 0 0
dd if=/tmp/factory.bin of=/dev/mtdblock13 bs=131072
Afterwards, reboot your device and you should have a working OpenWrt
installation.
Restore Stock
=============
Option 1 - via UART
-------------------
Boot an OpenWrt initramfs image via TFTP as for the initial installation.
Transfer the two backed-up files to your box to /tmp.
Then, run the following commands - replace $kernel_length and $rootfs_size
by the size of ubi0_0 and ubi0_1 in bytes.
ubiattach -m 14
ubirmvol /dev/ubi0 -N kernel
ubirmvol /dev/ubi0 -N rootfs
ubirmvol /dev/ubi0 -N rootfs_data
ubimkvol /dev/ubi0 -N kernel -s $kernel_length
ubimkvol /dev/ubi0 -N ubi_rootfs -s $rootfs_size
ubiupdatevol /dev/ubi0_0 /tmp/ubi0_0
ubiupdatevol /dev/ubi0_1 /tmp/ubi0_1
Option 2 - from within OpenWrt
------------------------------
This option requires to flash an initramfs version first so that access
to the flash is possible. This can be achieved by sysupgrading to the
recovery.bin version and rebooting. Once rebooted, you are again in a
default OpenWrt installation, but no partition is mounted.
Follow the commands from Option 1 to flash back to stock.
LTE Modem
=========
The LTE modem is similar to other ZTE devices and controls some more LEDs
and battery management.
Configuring the connection using uqmi works properly, the modem
provides three serial ports and a QMI CDC ethernet interface.
Signed-off-by: Andreas Böhler <dev@aboehler.at>
2023-06-07 19:24:18 +00:00
|
|
|
$(call Device/zte_mf28x_common)
|
|
|
|
SOC := qcom-ipq4018
|
|
|
|
# The recovery image is used to return back to stock (an initramfs-based image
|
|
|
|
# that can be flashed to the device via sysupgrade
|
|
|
|
# The factory image is used to install from the stock firmware by using an
|
|
|
|
# exploit for the web interface
|
|
|
|
IMAGES += factory.bin recovery.bin
|
|
|
|
IMAGE/factory.bin := append-ubi
|
2023-09-12 17:57:55 +00:00
|
|
|
IMAGE/recovery.bin := append-squashfs4-fakeroot | sysupgrade-tar kernel=$$$$(BIN_DIR)/$$(KERNEL_INITRAMFS_IMAGE) rootfs=$$$$@ | append-metadata
|
ipq4019: add support for ZTE MF287+ aka DreiNeo
The ZTE MF287+ is a LTE router used (exclusively?) by the network operator
"3". The MF287 (i.e. non-plus aka 3Neo) is also supported (the only
difference is the LTE modem)
Specifications
==============
SoC: IPQ4018
RAM: 256MiB
Flash: 8MiB SPI-NOR + 128MiB SPI-NAND
LAN: 4x GBit LAN
LTE: ZTE Cat12 (MF287+) / ZTE Cat6 (MF287)
WiFi: 802.11a/b/g/n/ac SoC-integrated
MAC addresses
=============
LAN: from config + 2
WiFi 1: from config
WiFi 2: from config + 1
Installation
============
Option 1 - TFTP
---------------
TFTP installation using UART is preferred. Disassemble the device and
connect serial. Put the initramfs image as openwrt.bin to your TFTP server
and configure a static IP of 192.168.1.100. Load the initramfs image by
typing:
setenv serverip 192.168.1.100
setenv ipaddr 192.168.1.1
tftpboot 0x82000000 openwrt.bin
bootm 0x82000000
From this intiramfs boot you can take a backup of the currently installed
partitions as no vendor firmware is available for download:
ubiattach -m14
cat /dev/ubi0_0 > /tmp/ubi0_0
cat /dev/ubi0_1 > /tmp/ubi0_1
Copy the files /tmp/ubi0_0 and /tmp/ubi0_1 somewhere save.
Once booted, transfer the sysupgrade image and run sysupgrade. You might
have to delete the stock volumes first:
ubirmvol /dev/ubi0 -N ubi_rootfs
ubirmvol /dev/ubi0 -N kernel
Option 2 - From stock firmware
------------------------------
The installation from stock requires an exploit first. The exploit consists
of a backup file that forces the firmware to download telnetd via TFTP from
192.168.0.22 and run it. Once exploited, you can connect via telnet and
login as admin:admin.
The exploit will be available at the device wiki page.
Once inside the stock firmware, you can transfer the -factory.bin file to
/tmp by using "scp" from the stock frmware or "tftp".
ZTE has blocked writing to the NAND. Fortunately, it's easy to allow write
access - you need to read from one file in /proc. Once done, you need to
erase the UBI partition and flash OpenWrt. Before performing the operation,
make sure that mtd13 is the partition labelled "rootfs" by calling
"cat /proc/mtd".
Complete commands:
cd /tmp
tftp -g -r factory.bin 192.168.0.22
cat /proc/driver/sensor_id
flash_erase /dev/mtd13 0 0
dd if=/tmp/factory.bin of=/dev/mtdblock13 bs=131072
Afterwards, reboot your device and you should have a working OpenWrt
installation.
Restore Stock
=============
Option 1 - via UART
-------------------
Boot an OpenWrt initramfs image via TFTP as for the initial installation.
Transfer the two backed-up files to your box to /tmp.
Then, run the following commands - replace $kernel_length and $rootfs_size
by the size of ubi0_0 and ubi0_1 in bytes.
ubiattach -m 14
ubirmvol /dev/ubi0 -N kernel
ubirmvol /dev/ubi0 -N rootfs
ubirmvol /dev/ubi0 -N rootfs_data
ubimkvol /dev/ubi0 -N kernel -s $kernel_length
ubimkvol /dev/ubi0 -N ubi_rootfs -s $rootfs_size
ubiupdatevol /dev/ubi0_0 /tmp/ubi0_0
ubiupdatevol /dev/ubi0_1 /tmp/ubi0_1
Option 2 - from within OpenWrt
------------------------------
This option requires to flash an initramfs version first so that access
to the flash is possible. This can be achieved by sysupgrading to the
recovery.bin version and rebooting. Once rebooted, you are again in a
default OpenWrt installation, but no partition is mounted.
Follow the commands from Option 1 to flash back to stock.
LTE Modem
=========
The LTE modem is similar to other ZTE devices and controls some more LEDs
and battery management.
Configuring the connection using uqmi works properly, the modem
provides three serial ports and a QMI CDC ethernet interface.
Signed-off-by: Andreas Böhler <dev@aboehler.at>
2023-06-07 19:24:18 +00:00
|
|
|
endef
|
ipq4019: add support for ZTE MF287 Pro aka DreiNeo Pro
The ZTE MF287 Pro is a LTE router used (exclusively?) by the network
operator "3". It is very similar to the MF287+, but the hardware layout
and partition layout have changed quite a bit.
Specifications
==============
SoC: IPQ4018
RAM: 256MiB
Flash: 8MiB SPI-NOR + 128MiB SPI-NAND
LAN: 4x GBit LAN
LTE: ZTE Cat12
WiFi: 802.11a/b/g/n/ac SoC-integrated
USB: 1x 2.0
MAC addresses
=============
LAN: from config + 2
WiFi 1: from config
WiFi 2: from config + 1
Installation
============
Option 1 - TFTP
---------------
TFTP installation using UART is preferred. Disassemble the device and
connect serial. Put the initramfs image as openwrt.bin to your TFTP server
and configure a static IP of 192.168.1.100. Load the initramfs image by
typing:
setenv serverip 192.168.1.100
setenv ipaddr 192.168.1.1
tftpboot 0x82000000 openwrt.bin
bootm 0x82000000
From this intiramfs boot you can take a backup of the currently installed
partitions as no vendor firmware is available for download:
ubiattach -m17
cat /dev/ubi0_0 > /tmp/ubi0_0
cat /dev/ubi0_1 > /tmp/ubi0_1
Copy the files /tmp/ubi0_0 and /tmp/ubi0_1 somewhere save.
Once booted, transfer the sysupgrade image and run sysupgrade. You might
have to delete the stock volumes first:
ubirmvol /dev/ubi0 -N ubi_rootfs
ubirmvol /dev/ubi0 -N kernel
Option 2 - From stock firmware
------------------------------
The installation from stock requires an exploit first. The exploit consists
of a backup file that forces the firmware to download telnetd via TFTP from
192.168.0.22 and run it. Once exploited, you can connect via telnet and
login as admin:admin.
The exploit will be available at the device wiki page.
Once inside the stock firmware, you can transfer the -factory.bin file to
/tmp by using "scp" from the stock frmware or "tftp".
ZTE has blocked writing to the NAND. Fortunately, it's easy to allow write
access - you need to read from one file in /proc. Once done, you need to
erase the UBI partition and flash OpenWrt. Before performing the operation,
make sure that mtd13 is the partition labelled "rootfs" by calling
"cat /proc/mtd".
Complete commands:
cd /tmp
tftp -g -r factory.bin 192.168.0.22
cat /proc/driver/sensor_id
flash_erase /dev/mtd17 0 0
dd if=/tmp/factory.bin of=/dev/mtdblock17 bs=131072
Afterwards, reboot your device and you should have a working OpenWrt
installation.
Restore Stock
=============
Option 1 - via UART
-------------------
Boot an OpenWrt initramfs image via TFTP as for the initial installation.
Transfer the two backed-up files to your box to /tmp.
Then, run the following commands - replace $kernel_length and $rootfs_size
by the size of ubi0_0 and ubi0_1 in bytes.
ubiattach -m 17
ubirmvol /dev/ubi0 -N kernel
ubirmvol /dev/ubi0 -N rootfs
ubirmvol /dev/ubi0 -N rootfs_data
ubimkvol /dev/ubi0 -N kernel -s $kernel_length
ubimkvol /dev/ubi0 -N ubi_rootfs -s $rootfs_size
ubiupdatevol /dev/ubi0_0 /tmp/ubi0_0
ubiupdatevol /dev/ubi0_1 /tmp/ubi0_1
Option 2 - from within OpenWrt
------------------------------
This option requires to flash an initramfs version first so that access
to the flash is possible. This can be achieved by sysupgrading to the
recovery.bin version and rebooting. Once rebooted, you are again in a
default OpenWrt installation, but no partition is mounted.
Follow the commands from Option 1 to flash back to stock.
LTE Modem
=========
The LTE modem is similar to other ZTE devices and controls some more LEDs
and battery management.
Configuring the connection using uqmi works properly, the modem
provides three serial ports and a QMI CDC ethernet interface.
Other Notes
===========
Contrary to the stock firmware, the USB port on the back can be used.
There is one GPIO Switch "Power button blocker" which, if enabled, does not
trigger a reset of the SoC if the modem reboots. If disabled, the SoC is
rebooted along with the modem. The modem can be rebooted via the exported
GPIO "modem-reset" in /sys/class/gpio.
Signed-off-by: Andreas Böhler <dev@aboehler.at>
2023-07-10 09:55:30 +00:00
|
|
|
|
|
|
|
define Device/zte_mf287plus
|
|
|
|
$(call Device/zte_mf287_common)
|
2023-09-16 19:55:01 +00:00
|
|
|
DEVICE_PACKAGES += ipq-wifi-zte_mf287plus
|
ipq4019: add support for ZTE MF287 Pro aka DreiNeo Pro
The ZTE MF287 Pro is a LTE router used (exclusively?) by the network
operator "3". It is very similar to the MF287+, but the hardware layout
and partition layout have changed quite a bit.
Specifications
==============
SoC: IPQ4018
RAM: 256MiB
Flash: 8MiB SPI-NOR + 128MiB SPI-NAND
LAN: 4x GBit LAN
LTE: ZTE Cat12
WiFi: 802.11a/b/g/n/ac SoC-integrated
USB: 1x 2.0
MAC addresses
=============
LAN: from config + 2
WiFi 1: from config
WiFi 2: from config + 1
Installation
============
Option 1 - TFTP
---------------
TFTP installation using UART is preferred. Disassemble the device and
connect serial. Put the initramfs image as openwrt.bin to your TFTP server
and configure a static IP of 192.168.1.100. Load the initramfs image by
typing:
setenv serverip 192.168.1.100
setenv ipaddr 192.168.1.1
tftpboot 0x82000000 openwrt.bin
bootm 0x82000000
From this intiramfs boot you can take a backup of the currently installed
partitions as no vendor firmware is available for download:
ubiattach -m17
cat /dev/ubi0_0 > /tmp/ubi0_0
cat /dev/ubi0_1 > /tmp/ubi0_1
Copy the files /tmp/ubi0_0 and /tmp/ubi0_1 somewhere save.
Once booted, transfer the sysupgrade image and run sysupgrade. You might
have to delete the stock volumes first:
ubirmvol /dev/ubi0 -N ubi_rootfs
ubirmvol /dev/ubi0 -N kernel
Option 2 - From stock firmware
------------------------------
The installation from stock requires an exploit first. The exploit consists
of a backup file that forces the firmware to download telnetd via TFTP from
192.168.0.22 and run it. Once exploited, you can connect via telnet and
login as admin:admin.
The exploit will be available at the device wiki page.
Once inside the stock firmware, you can transfer the -factory.bin file to
/tmp by using "scp" from the stock frmware or "tftp".
ZTE has blocked writing to the NAND. Fortunately, it's easy to allow write
access - you need to read from one file in /proc. Once done, you need to
erase the UBI partition and flash OpenWrt. Before performing the operation,
make sure that mtd13 is the partition labelled "rootfs" by calling
"cat /proc/mtd".
Complete commands:
cd /tmp
tftp -g -r factory.bin 192.168.0.22
cat /proc/driver/sensor_id
flash_erase /dev/mtd17 0 0
dd if=/tmp/factory.bin of=/dev/mtdblock17 bs=131072
Afterwards, reboot your device and you should have a working OpenWrt
installation.
Restore Stock
=============
Option 1 - via UART
-------------------
Boot an OpenWrt initramfs image via TFTP as for the initial installation.
Transfer the two backed-up files to your box to /tmp.
Then, run the following commands - replace $kernel_length and $rootfs_size
by the size of ubi0_0 and ubi0_1 in bytes.
ubiattach -m 17
ubirmvol /dev/ubi0 -N kernel
ubirmvol /dev/ubi0 -N rootfs
ubirmvol /dev/ubi0 -N rootfs_data
ubimkvol /dev/ubi0 -N kernel -s $kernel_length
ubimkvol /dev/ubi0 -N ubi_rootfs -s $rootfs_size
ubiupdatevol /dev/ubi0_0 /tmp/ubi0_0
ubiupdatevol /dev/ubi0_1 /tmp/ubi0_1
Option 2 - from within OpenWrt
------------------------------
This option requires to flash an initramfs version first so that access
to the flash is possible. This can be achieved by sysupgrading to the
recovery.bin version and rebooting. Once rebooted, you are again in a
default OpenWrt installation, but no partition is mounted.
Follow the commands from Option 1 to flash back to stock.
LTE Modem
=========
The LTE modem is similar to other ZTE devices and controls some more LEDs
and battery management.
Configuring the connection using uqmi works properly, the modem
provides three serial ports and a QMI CDC ethernet interface.
Other Notes
===========
Contrary to the stock firmware, the USB port on the back can be used.
There is one GPIO Switch "Power button blocker" which, if enabled, does not
trigger a reset of the SoC if the modem reboots. If disabled, the SoC is
rebooted along with the modem. The modem can be rebooted via the exported
GPIO "modem-reset" in /sys/class/gpio.
Signed-off-by: Andreas Böhler <dev@aboehler.at>
2023-07-10 09:55:30 +00:00
|
|
|
DEVICE_DTS_CONFIG := config@ap.dk01.1-c2
|
|
|
|
DEVICE_MODEL := MF287Plus
|
|
|
|
endef
|
ipq4019: add support for ZTE MF287+ aka DreiNeo
The ZTE MF287+ is a LTE router used (exclusively?) by the network operator
"3". The MF287 (i.e. non-plus aka 3Neo) is also supported (the only
difference is the LTE modem)
Specifications
==============
SoC: IPQ4018
RAM: 256MiB
Flash: 8MiB SPI-NOR + 128MiB SPI-NAND
LAN: 4x GBit LAN
LTE: ZTE Cat12 (MF287+) / ZTE Cat6 (MF287)
WiFi: 802.11a/b/g/n/ac SoC-integrated
MAC addresses
=============
LAN: from config + 2
WiFi 1: from config
WiFi 2: from config + 1
Installation
============
Option 1 - TFTP
---------------
TFTP installation using UART is preferred. Disassemble the device and
connect serial. Put the initramfs image as openwrt.bin to your TFTP server
and configure a static IP of 192.168.1.100. Load the initramfs image by
typing:
setenv serverip 192.168.1.100
setenv ipaddr 192.168.1.1
tftpboot 0x82000000 openwrt.bin
bootm 0x82000000
From this intiramfs boot you can take a backup of the currently installed
partitions as no vendor firmware is available for download:
ubiattach -m14
cat /dev/ubi0_0 > /tmp/ubi0_0
cat /dev/ubi0_1 > /tmp/ubi0_1
Copy the files /tmp/ubi0_0 and /tmp/ubi0_1 somewhere save.
Once booted, transfer the sysupgrade image and run sysupgrade. You might
have to delete the stock volumes first:
ubirmvol /dev/ubi0 -N ubi_rootfs
ubirmvol /dev/ubi0 -N kernel
Option 2 - From stock firmware
------------------------------
The installation from stock requires an exploit first. The exploit consists
of a backup file that forces the firmware to download telnetd via TFTP from
192.168.0.22 and run it. Once exploited, you can connect via telnet and
login as admin:admin.
The exploit will be available at the device wiki page.
Once inside the stock firmware, you can transfer the -factory.bin file to
/tmp by using "scp" from the stock frmware or "tftp".
ZTE has blocked writing to the NAND. Fortunately, it's easy to allow write
access - you need to read from one file in /proc. Once done, you need to
erase the UBI partition and flash OpenWrt. Before performing the operation,
make sure that mtd13 is the partition labelled "rootfs" by calling
"cat /proc/mtd".
Complete commands:
cd /tmp
tftp -g -r factory.bin 192.168.0.22
cat /proc/driver/sensor_id
flash_erase /dev/mtd13 0 0
dd if=/tmp/factory.bin of=/dev/mtdblock13 bs=131072
Afterwards, reboot your device and you should have a working OpenWrt
installation.
Restore Stock
=============
Option 1 - via UART
-------------------
Boot an OpenWrt initramfs image via TFTP as for the initial installation.
Transfer the two backed-up files to your box to /tmp.
Then, run the following commands - replace $kernel_length and $rootfs_size
by the size of ubi0_0 and ubi0_1 in bytes.
ubiattach -m 14
ubirmvol /dev/ubi0 -N kernel
ubirmvol /dev/ubi0 -N rootfs
ubirmvol /dev/ubi0 -N rootfs_data
ubimkvol /dev/ubi0 -N kernel -s $kernel_length
ubimkvol /dev/ubi0 -N ubi_rootfs -s $rootfs_size
ubiupdatevol /dev/ubi0_0 /tmp/ubi0_0
ubiupdatevol /dev/ubi0_1 /tmp/ubi0_1
Option 2 - from within OpenWrt
------------------------------
This option requires to flash an initramfs version first so that access
to the flash is possible. This can be achieved by sysupgrading to the
recovery.bin version and rebooting. Once rebooted, you are again in a
default OpenWrt installation, but no partition is mounted.
Follow the commands from Option 1 to flash back to stock.
LTE Modem
=========
The LTE modem is similar to other ZTE devices and controls some more LEDs
and battery management.
Configuring the connection using uqmi works properly, the modem
provides three serial ports and a QMI CDC ethernet interface.
Signed-off-by: Andreas Böhler <dev@aboehler.at>
2023-06-07 19:24:18 +00:00
|
|
|
TARGET_DEVICES += zte_mf287plus
|
|
|
|
|
2023-09-16 19:55:01 +00:00
|
|
|
define Device/zte_mf287
|
|
|
|
$(call Device/zte_mf287_common)
|
|
|
|
DEVICE_PACKAGES += ipq-wifi-zte_mf287
|
|
|
|
DEVICE_DTS_CONFIG := config@ap.dk01.1-c2
|
|
|
|
DEVICE_MODEL := MF287
|
|
|
|
endef
|
|
|
|
TARGET_DEVICES += zte_mf287
|
|
|
|
|
ipq4019: add support for ZTE MF287 Pro aka DreiNeo Pro
The ZTE MF287 Pro is a LTE router used (exclusively?) by the network
operator "3". It is very similar to the MF287+, but the hardware layout
and partition layout have changed quite a bit.
Specifications
==============
SoC: IPQ4018
RAM: 256MiB
Flash: 8MiB SPI-NOR + 128MiB SPI-NAND
LAN: 4x GBit LAN
LTE: ZTE Cat12
WiFi: 802.11a/b/g/n/ac SoC-integrated
USB: 1x 2.0
MAC addresses
=============
LAN: from config + 2
WiFi 1: from config
WiFi 2: from config + 1
Installation
============
Option 1 - TFTP
---------------
TFTP installation using UART is preferred. Disassemble the device and
connect serial. Put the initramfs image as openwrt.bin to your TFTP server
and configure a static IP of 192.168.1.100. Load the initramfs image by
typing:
setenv serverip 192.168.1.100
setenv ipaddr 192.168.1.1
tftpboot 0x82000000 openwrt.bin
bootm 0x82000000
From this intiramfs boot you can take a backup of the currently installed
partitions as no vendor firmware is available for download:
ubiattach -m17
cat /dev/ubi0_0 > /tmp/ubi0_0
cat /dev/ubi0_1 > /tmp/ubi0_1
Copy the files /tmp/ubi0_0 and /tmp/ubi0_1 somewhere save.
Once booted, transfer the sysupgrade image and run sysupgrade. You might
have to delete the stock volumes first:
ubirmvol /dev/ubi0 -N ubi_rootfs
ubirmvol /dev/ubi0 -N kernel
Option 2 - From stock firmware
------------------------------
The installation from stock requires an exploit first. The exploit consists
of a backup file that forces the firmware to download telnetd via TFTP from
192.168.0.22 and run it. Once exploited, you can connect via telnet and
login as admin:admin.
The exploit will be available at the device wiki page.
Once inside the stock firmware, you can transfer the -factory.bin file to
/tmp by using "scp" from the stock frmware or "tftp".
ZTE has blocked writing to the NAND. Fortunately, it's easy to allow write
access - you need to read from one file in /proc. Once done, you need to
erase the UBI partition and flash OpenWrt. Before performing the operation,
make sure that mtd13 is the partition labelled "rootfs" by calling
"cat /proc/mtd".
Complete commands:
cd /tmp
tftp -g -r factory.bin 192.168.0.22
cat /proc/driver/sensor_id
flash_erase /dev/mtd17 0 0
dd if=/tmp/factory.bin of=/dev/mtdblock17 bs=131072
Afterwards, reboot your device and you should have a working OpenWrt
installation.
Restore Stock
=============
Option 1 - via UART
-------------------
Boot an OpenWrt initramfs image via TFTP as for the initial installation.
Transfer the two backed-up files to your box to /tmp.
Then, run the following commands - replace $kernel_length and $rootfs_size
by the size of ubi0_0 and ubi0_1 in bytes.
ubiattach -m 17
ubirmvol /dev/ubi0 -N kernel
ubirmvol /dev/ubi0 -N rootfs
ubirmvol /dev/ubi0 -N rootfs_data
ubimkvol /dev/ubi0 -N kernel -s $kernel_length
ubimkvol /dev/ubi0 -N ubi_rootfs -s $rootfs_size
ubiupdatevol /dev/ubi0_0 /tmp/ubi0_0
ubiupdatevol /dev/ubi0_1 /tmp/ubi0_1
Option 2 - from within OpenWrt
------------------------------
This option requires to flash an initramfs version first so that access
to the flash is possible. This can be achieved by sysupgrading to the
recovery.bin version and rebooting. Once rebooted, you are again in a
default OpenWrt installation, but no partition is mounted.
Follow the commands from Option 1 to flash back to stock.
LTE Modem
=========
The LTE modem is similar to other ZTE devices and controls some more LEDs
and battery management.
Configuring the connection using uqmi works properly, the modem
provides three serial ports and a QMI CDC ethernet interface.
Other Notes
===========
Contrary to the stock firmware, the USB port on the back can be used.
There is one GPIO Switch "Power button blocker" which, if enabled, does not
trigger a reset of the SoC if the modem reboots. If disabled, the SoC is
rebooted along with the modem. The modem can be rebooted via the exported
GPIO "modem-reset" in /sys/class/gpio.
Signed-off-by: Andreas Böhler <dev@aboehler.at>
2023-07-10 09:55:30 +00:00
|
|
|
define Device/zte_mf287pro
|
|
|
|
$(call Device/zte_mf287_common)
|
2023-09-16 19:55:01 +00:00
|
|
|
DEVICE_PACKAGES += ipq-wifi-zte_mf287plus
|
ipq4019: add support for ZTE MF287 Pro aka DreiNeo Pro
The ZTE MF287 Pro is a LTE router used (exclusively?) by the network
operator "3". It is very similar to the MF287+, but the hardware layout
and partition layout have changed quite a bit.
Specifications
==============
SoC: IPQ4018
RAM: 256MiB
Flash: 8MiB SPI-NOR + 128MiB SPI-NAND
LAN: 4x GBit LAN
LTE: ZTE Cat12
WiFi: 802.11a/b/g/n/ac SoC-integrated
USB: 1x 2.0
MAC addresses
=============
LAN: from config + 2
WiFi 1: from config
WiFi 2: from config + 1
Installation
============
Option 1 - TFTP
---------------
TFTP installation using UART is preferred. Disassemble the device and
connect serial. Put the initramfs image as openwrt.bin to your TFTP server
and configure a static IP of 192.168.1.100. Load the initramfs image by
typing:
setenv serverip 192.168.1.100
setenv ipaddr 192.168.1.1
tftpboot 0x82000000 openwrt.bin
bootm 0x82000000
From this intiramfs boot you can take a backup of the currently installed
partitions as no vendor firmware is available for download:
ubiattach -m17
cat /dev/ubi0_0 > /tmp/ubi0_0
cat /dev/ubi0_1 > /tmp/ubi0_1
Copy the files /tmp/ubi0_0 and /tmp/ubi0_1 somewhere save.
Once booted, transfer the sysupgrade image and run sysupgrade. You might
have to delete the stock volumes first:
ubirmvol /dev/ubi0 -N ubi_rootfs
ubirmvol /dev/ubi0 -N kernel
Option 2 - From stock firmware
------------------------------
The installation from stock requires an exploit first. The exploit consists
of a backup file that forces the firmware to download telnetd via TFTP from
192.168.0.22 and run it. Once exploited, you can connect via telnet and
login as admin:admin.
The exploit will be available at the device wiki page.
Once inside the stock firmware, you can transfer the -factory.bin file to
/tmp by using "scp" from the stock frmware or "tftp".
ZTE has blocked writing to the NAND. Fortunately, it's easy to allow write
access - you need to read from one file in /proc. Once done, you need to
erase the UBI partition and flash OpenWrt. Before performing the operation,
make sure that mtd13 is the partition labelled "rootfs" by calling
"cat /proc/mtd".
Complete commands:
cd /tmp
tftp -g -r factory.bin 192.168.0.22
cat /proc/driver/sensor_id
flash_erase /dev/mtd17 0 0
dd if=/tmp/factory.bin of=/dev/mtdblock17 bs=131072
Afterwards, reboot your device and you should have a working OpenWrt
installation.
Restore Stock
=============
Option 1 - via UART
-------------------
Boot an OpenWrt initramfs image via TFTP as for the initial installation.
Transfer the two backed-up files to your box to /tmp.
Then, run the following commands - replace $kernel_length and $rootfs_size
by the size of ubi0_0 and ubi0_1 in bytes.
ubiattach -m 17
ubirmvol /dev/ubi0 -N kernel
ubirmvol /dev/ubi0 -N rootfs
ubirmvol /dev/ubi0 -N rootfs_data
ubimkvol /dev/ubi0 -N kernel -s $kernel_length
ubimkvol /dev/ubi0 -N ubi_rootfs -s $rootfs_size
ubiupdatevol /dev/ubi0_0 /tmp/ubi0_0
ubiupdatevol /dev/ubi0_1 /tmp/ubi0_1
Option 2 - from within OpenWrt
------------------------------
This option requires to flash an initramfs version first so that access
to the flash is possible. This can be achieved by sysupgrading to the
recovery.bin version and rebooting. Once rebooted, you are again in a
default OpenWrt installation, but no partition is mounted.
Follow the commands from Option 1 to flash back to stock.
LTE Modem
=========
The LTE modem is similar to other ZTE devices and controls some more LEDs
and battery management.
Configuring the connection using uqmi works properly, the modem
provides three serial ports and a QMI CDC ethernet interface.
Other Notes
===========
Contrary to the stock firmware, the USB port on the back can be used.
There is one GPIO Switch "Power button blocker" which, if enabled, does not
trigger a reset of the SoC if the modem reboots. If disabled, the SoC is
rebooted along with the modem. The modem can be rebooted via the exported
GPIO "modem-reset" in /sys/class/gpio.
Signed-off-by: Andreas Böhler <dev@aboehler.at>
2023-07-10 09:55:30 +00:00
|
|
|
DEVICE_DTS_CONFIG := config@ap.dk04.1-c1
|
|
|
|
DEVICE_MODEL := MF287Pro
|
|
|
|
endef
|
|
|
|
TARGET_DEVICES += zte_mf287pro
|
|
|
|
|
ipq40xx: Add ZTE MF289F
It's a 4G Cat.20 router used by Vodafone Italy (called Vodafone FWA)
and Vodafone DE\T-Mobile PL (called GigaCube).
Modem is a MiniPCIe-to-USB based on Snapdragon X24,
it supports 4CA aggregation.
There are currently two hardware revisions, which
differ on the 5Ghz radio:
AT1 = QCA9984 5Ghz Radio on PCI-E bus
AT2 = IPQ4019 5Ghz Radio inside IPQ4019 like 2.4Ghz
Device specification
--------------------
SoC Type: Qualcomm IPQ4019
RAM: 256 MiB
Flash: 128 MiB SPI NAND (Winbond W25N01GV)
ROM: 2MiB SPI Flash (GD25Q16)
Wireless 2.4 GHz (IP4019): b/g/n, 2x2
Wireless 5 GHz:
(QCA9984): a/n/ac, 4x4 HW REV AT1
(IPA4019): a/n/ac, 2x2 HW REV AT2
Ethernet: 2xGbE (WAN/LAN1, LAN2)
USB ports: No
Button: 2 (Reset/WPS)
LEDs: 3 external leds: Network (white or red), Wifi, Power and 1 internal (blue)
Power: 12 VDC, 1 A
Connector type: Barrel
Bootloader: U-Boot
Installation
------------
1. Place OpenWrt initramfs image for the device on a TFTP
in the server's root. This example uses Server IP: 192.168.0.2
2. Connect serial console (115200,8n1) to serial connector
GND (which is right next to the thing with MF289F MIMO-V1.0), RX, TX
(refer to this image: https://ibb.co/31Gngpr).
3. Connect TFTP server to RJ-45 port (WAN/LAN1).
4. Stop in u-Boot (using ESC button) and run u-Boot commands:
setenv serverip 192.168.0.2
setenv ipaddr 192.168.0.1
set fdt_high 0x85000000
tftp openwrt-ipq40xx-generic-zte_mf289f-initramfs-fit-zImage.itb
bootm $loadaddr
5. Please make backup of original partitions, if you think about revert to
stock, specially mtd16 (Web UI) and mtd17 (rootFS).
Use /tmp as temporary storage and do:
WEB PARITION
--------------------------------------
cat /dev/mtd16 > /tmp/mtd16.bin
scp /tmp/mtd16.bin root@YOURSERVERIP:/
rm /tmp/mtd16.bin
ROOT PARITION
--------------------------------------
cat /dev/mtd17 > /tmp/mtd17.bin
scp /tmp/mtd17.bin root@YOURSERVERIP:/
rm /tmp/mtd17.bin
6. Login via ssh or serial and remove stock partitions
(default IP 192.168.0.1):
# this can return an error, if ubi was attached before
# or rootfs part was erased before.
ubiattach -m 17
# it could return error if rootfs part was erased before
ubirmvol /dev/ubi0 -N ubi_rootfs
# some devices doesn't have it
ubirmvol /dev/ubi0 -N ubi_rootfs_data
7. download and install image via sysupgrade -n
(either use wget/scp to copy the mf289f's squashfs-sysupgrade.bin
to the device's /tmp directory)
sysupgrade -n /tmp/openwrt-...-zte_mf289f-squashfs-sysupgrade.bin
Sometimes it could print ubi attach error, but please ignore it
if process goes forward.
Flash Layout
NAND:
mtd8: 000a0000 00020000 "fota-flag"
mtd9: 00080000 00020000 "0:ART"
mtd10: 00080000 00020000 "mac"
mtd11: 000c0000 00020000 "reserved2"
mtd12: 00400000 00020000 "cfg-param"
mtd13: 00400000 00020000 "log"
mtd14: 000a0000 00020000 "oops"
mtd15: 00500000 00020000 "reserved3"
mtd16: 00800000 00020000 "web"
mtd17: 01d00000 00020000 "rootfs"
mtd18: 01900000 00020000 "data"
mtd19: 03200000 00020000 "fota"
mtd20: 0041e000 0001f000 "kernel"
mtd21: 0101b000 0001f000 "ubi_rootfs"
SPI:
mtd0: 00040000 00010000 "0:SBL1"
mtd1: 00020000 00010000 "0:MIBIB"
mtd2: 00060000 00010000 "0:QSEE"
mtd3: 00010000 00010000 "0:CDT"
mtd4: 00010000 00010000 "0:DDRPARAMS"
mtd5: 00010000 00010000 "0:APPSBLENV"
mtd6: 000c0000 00010000 "0:APPSBL"
mtd7: 00050000 00010000 "0:reserved1"
Back to Stock (!!! need original dump taken from initramfs !!!)
-------------
1. Place mtd16.bin and mtd17.bin initramfs image
for the device on a TFTP in the server's root.
This example uses Server IP: 192.168.0.2
2. Connect serial console (115200,8n1) to serial console
connector (refer to the pin-out from above).
3. Connect TFTP server to RJ-45 port (WAN/LAN1).
4. rename mtd16.bin to web.img and mtd17.bin to root_uImage_s
5. Stop in u-Boot (using ESC button) and run u-Boot commands:
This will erase RootFS+Web:
nand erase 0x1000000 0x800000
nand erase 0x1800000 0x1D00000
This will restore RootFS:
tftpboot 0x84000000 ${dir}root_uImage_s
nand erase 0x1800000 0x1D00000
nand write $fileaddr 0x1800000 $filesize
This will restore Web Interface:
tftpboot 0x84000000 ${dir}web.img
nand erase 0x1000000 0x800000
nand write $fileaddr 0x1000000 $filesize
After first boot on stock firwmare, do a factory reset.
Push reset button for 5 seconds so all parameters will
be reverted to the one printed on label on bottom of the router
Signed-off-by: Giammarco Marzano <stich86@gmail.com>
Reviewed-by: Lech Perczak <lech.perczak@gmail.com>
(Warning: commit message did not conform to UTF-8 - hopefully fixed?,
added description of the pin-out if image goes down, reformatted
commit message to be hopefully somewhat readable on git-web,
redid some of the gpio-buttons & leds DT nodes, etc.)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2022-09-14 12:20:43 +00:00
|
|
|
define Device/zte_mf289f
|
|
|
|
$(call Device/zte_mf28x_common)
|
|
|
|
DEVICE_MODEL := MF289F
|
2024-03-08 20:12:45 +00:00
|
|
|
DEVICE_PACKAGES += ath10k-firmware-qca9984-ct
|
ipq40xx: Add ZTE MF289F
It's a 4G Cat.20 router used by Vodafone Italy (called Vodafone FWA)
and Vodafone DE\T-Mobile PL (called GigaCube).
Modem is a MiniPCIe-to-USB based on Snapdragon X24,
it supports 4CA aggregation.
There are currently two hardware revisions, which
differ on the 5Ghz radio:
AT1 = QCA9984 5Ghz Radio on PCI-E bus
AT2 = IPQ4019 5Ghz Radio inside IPQ4019 like 2.4Ghz
Device specification
--------------------
SoC Type: Qualcomm IPQ4019
RAM: 256 MiB
Flash: 128 MiB SPI NAND (Winbond W25N01GV)
ROM: 2MiB SPI Flash (GD25Q16)
Wireless 2.4 GHz (IP4019): b/g/n, 2x2
Wireless 5 GHz:
(QCA9984): a/n/ac, 4x4 HW REV AT1
(IPA4019): a/n/ac, 2x2 HW REV AT2
Ethernet: 2xGbE (WAN/LAN1, LAN2)
USB ports: No
Button: 2 (Reset/WPS)
LEDs: 3 external leds: Network (white or red), Wifi, Power and 1 internal (blue)
Power: 12 VDC, 1 A
Connector type: Barrel
Bootloader: U-Boot
Installation
------------
1. Place OpenWrt initramfs image for the device on a TFTP
in the server's root. This example uses Server IP: 192.168.0.2
2. Connect serial console (115200,8n1) to serial connector
GND (which is right next to the thing with MF289F MIMO-V1.0), RX, TX
(refer to this image: https://ibb.co/31Gngpr).
3. Connect TFTP server to RJ-45 port (WAN/LAN1).
4. Stop in u-Boot (using ESC button) and run u-Boot commands:
setenv serverip 192.168.0.2
setenv ipaddr 192.168.0.1
set fdt_high 0x85000000
tftp openwrt-ipq40xx-generic-zte_mf289f-initramfs-fit-zImage.itb
bootm $loadaddr
5. Please make backup of original partitions, if you think about revert to
stock, specially mtd16 (Web UI) and mtd17 (rootFS).
Use /tmp as temporary storage and do:
WEB PARITION
--------------------------------------
cat /dev/mtd16 > /tmp/mtd16.bin
scp /tmp/mtd16.bin root@YOURSERVERIP:/
rm /tmp/mtd16.bin
ROOT PARITION
--------------------------------------
cat /dev/mtd17 > /tmp/mtd17.bin
scp /tmp/mtd17.bin root@YOURSERVERIP:/
rm /tmp/mtd17.bin
6. Login via ssh or serial and remove stock partitions
(default IP 192.168.0.1):
# this can return an error, if ubi was attached before
# or rootfs part was erased before.
ubiattach -m 17
# it could return error if rootfs part was erased before
ubirmvol /dev/ubi0 -N ubi_rootfs
# some devices doesn't have it
ubirmvol /dev/ubi0 -N ubi_rootfs_data
7. download and install image via sysupgrade -n
(either use wget/scp to copy the mf289f's squashfs-sysupgrade.bin
to the device's /tmp directory)
sysupgrade -n /tmp/openwrt-...-zte_mf289f-squashfs-sysupgrade.bin
Sometimes it could print ubi attach error, but please ignore it
if process goes forward.
Flash Layout
NAND:
mtd8: 000a0000 00020000 "fota-flag"
mtd9: 00080000 00020000 "0:ART"
mtd10: 00080000 00020000 "mac"
mtd11: 000c0000 00020000 "reserved2"
mtd12: 00400000 00020000 "cfg-param"
mtd13: 00400000 00020000 "log"
mtd14: 000a0000 00020000 "oops"
mtd15: 00500000 00020000 "reserved3"
mtd16: 00800000 00020000 "web"
mtd17: 01d00000 00020000 "rootfs"
mtd18: 01900000 00020000 "data"
mtd19: 03200000 00020000 "fota"
mtd20: 0041e000 0001f000 "kernel"
mtd21: 0101b000 0001f000 "ubi_rootfs"
SPI:
mtd0: 00040000 00010000 "0:SBL1"
mtd1: 00020000 00010000 "0:MIBIB"
mtd2: 00060000 00010000 "0:QSEE"
mtd3: 00010000 00010000 "0:CDT"
mtd4: 00010000 00010000 "0:DDRPARAMS"
mtd5: 00010000 00010000 "0:APPSBLENV"
mtd6: 000c0000 00010000 "0:APPSBL"
mtd7: 00050000 00010000 "0:reserved1"
Back to Stock (!!! need original dump taken from initramfs !!!)
-------------
1. Place mtd16.bin and mtd17.bin initramfs image
for the device on a TFTP in the server's root.
This example uses Server IP: 192.168.0.2
2. Connect serial console (115200,8n1) to serial console
connector (refer to the pin-out from above).
3. Connect TFTP server to RJ-45 port (WAN/LAN1).
4. rename mtd16.bin to web.img and mtd17.bin to root_uImage_s
5. Stop in u-Boot (using ESC button) and run u-Boot commands:
This will erase RootFS+Web:
nand erase 0x1000000 0x800000
nand erase 0x1800000 0x1D00000
This will restore RootFS:
tftpboot 0x84000000 ${dir}root_uImage_s
nand erase 0x1800000 0x1D00000
nand write $fileaddr 0x1800000 $filesize
This will restore Web Interface:
tftpboot 0x84000000 ${dir}web.img
nand erase 0x1000000 0x800000
nand write $fileaddr 0x1000000 $filesize
After first boot on stock firwmare, do a factory reset.
Push reset button for 5 seconds so all parameters will
be reverted to the one printed on label on bottom of the router
Signed-off-by: Giammarco Marzano <stich86@gmail.com>
Reviewed-by: Lech Perczak <lech.perczak@gmail.com>
(Warning: commit message did not conform to UTF-8 - hopefully fixed?,
added description of the pin-out if image goes down, reformatted
commit message to be hopefully somewhat readable on git-web,
redid some of the gpio-buttons & leds DT nodes, etc.)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2022-09-14 12:20:43 +00:00
|
|
|
endef
|
2022-10-06 16:25:12 +00:00
|
|
|
TARGET_DEVICES += zte_mf289f
|
ipq40xx: Add ZTE MF289F
It's a 4G Cat.20 router used by Vodafone Italy (called Vodafone FWA)
and Vodafone DE\T-Mobile PL (called GigaCube).
Modem is a MiniPCIe-to-USB based on Snapdragon X24,
it supports 4CA aggregation.
There are currently two hardware revisions, which
differ on the 5Ghz radio:
AT1 = QCA9984 5Ghz Radio on PCI-E bus
AT2 = IPQ4019 5Ghz Radio inside IPQ4019 like 2.4Ghz
Device specification
--------------------
SoC Type: Qualcomm IPQ4019
RAM: 256 MiB
Flash: 128 MiB SPI NAND (Winbond W25N01GV)
ROM: 2MiB SPI Flash (GD25Q16)
Wireless 2.4 GHz (IP4019): b/g/n, 2x2
Wireless 5 GHz:
(QCA9984): a/n/ac, 4x4 HW REV AT1
(IPA4019): a/n/ac, 2x2 HW REV AT2
Ethernet: 2xGbE (WAN/LAN1, LAN2)
USB ports: No
Button: 2 (Reset/WPS)
LEDs: 3 external leds: Network (white or red), Wifi, Power and 1 internal (blue)
Power: 12 VDC, 1 A
Connector type: Barrel
Bootloader: U-Boot
Installation
------------
1. Place OpenWrt initramfs image for the device on a TFTP
in the server's root. This example uses Server IP: 192.168.0.2
2. Connect serial console (115200,8n1) to serial connector
GND (which is right next to the thing with MF289F MIMO-V1.0), RX, TX
(refer to this image: https://ibb.co/31Gngpr).
3. Connect TFTP server to RJ-45 port (WAN/LAN1).
4. Stop in u-Boot (using ESC button) and run u-Boot commands:
setenv serverip 192.168.0.2
setenv ipaddr 192.168.0.1
set fdt_high 0x85000000
tftp openwrt-ipq40xx-generic-zte_mf289f-initramfs-fit-zImage.itb
bootm $loadaddr
5. Please make backup of original partitions, if you think about revert to
stock, specially mtd16 (Web UI) and mtd17 (rootFS).
Use /tmp as temporary storage and do:
WEB PARITION
--------------------------------------
cat /dev/mtd16 > /tmp/mtd16.bin
scp /tmp/mtd16.bin root@YOURSERVERIP:/
rm /tmp/mtd16.bin
ROOT PARITION
--------------------------------------
cat /dev/mtd17 > /tmp/mtd17.bin
scp /tmp/mtd17.bin root@YOURSERVERIP:/
rm /tmp/mtd17.bin
6. Login via ssh or serial and remove stock partitions
(default IP 192.168.0.1):
# this can return an error, if ubi was attached before
# or rootfs part was erased before.
ubiattach -m 17
# it could return error if rootfs part was erased before
ubirmvol /dev/ubi0 -N ubi_rootfs
# some devices doesn't have it
ubirmvol /dev/ubi0 -N ubi_rootfs_data
7. download and install image via sysupgrade -n
(either use wget/scp to copy the mf289f's squashfs-sysupgrade.bin
to the device's /tmp directory)
sysupgrade -n /tmp/openwrt-...-zte_mf289f-squashfs-sysupgrade.bin
Sometimes it could print ubi attach error, but please ignore it
if process goes forward.
Flash Layout
NAND:
mtd8: 000a0000 00020000 "fota-flag"
mtd9: 00080000 00020000 "0:ART"
mtd10: 00080000 00020000 "mac"
mtd11: 000c0000 00020000 "reserved2"
mtd12: 00400000 00020000 "cfg-param"
mtd13: 00400000 00020000 "log"
mtd14: 000a0000 00020000 "oops"
mtd15: 00500000 00020000 "reserved3"
mtd16: 00800000 00020000 "web"
mtd17: 01d00000 00020000 "rootfs"
mtd18: 01900000 00020000 "data"
mtd19: 03200000 00020000 "fota"
mtd20: 0041e000 0001f000 "kernel"
mtd21: 0101b000 0001f000 "ubi_rootfs"
SPI:
mtd0: 00040000 00010000 "0:SBL1"
mtd1: 00020000 00010000 "0:MIBIB"
mtd2: 00060000 00010000 "0:QSEE"
mtd3: 00010000 00010000 "0:CDT"
mtd4: 00010000 00010000 "0:DDRPARAMS"
mtd5: 00010000 00010000 "0:APPSBLENV"
mtd6: 000c0000 00010000 "0:APPSBL"
mtd7: 00050000 00010000 "0:reserved1"
Back to Stock (!!! need original dump taken from initramfs !!!)
-------------
1. Place mtd16.bin and mtd17.bin initramfs image
for the device on a TFTP in the server's root.
This example uses Server IP: 192.168.0.2
2. Connect serial console (115200,8n1) to serial console
connector (refer to the pin-out from above).
3. Connect TFTP server to RJ-45 port (WAN/LAN1).
4. rename mtd16.bin to web.img and mtd17.bin to root_uImage_s
5. Stop in u-Boot (using ESC button) and run u-Boot commands:
This will erase RootFS+Web:
nand erase 0x1000000 0x800000
nand erase 0x1800000 0x1D00000
This will restore RootFS:
tftpboot 0x84000000 ${dir}root_uImage_s
nand erase 0x1800000 0x1D00000
nand write $fileaddr 0x1800000 $filesize
This will restore Web Interface:
tftpboot 0x84000000 ${dir}web.img
nand erase 0x1000000 0x800000
nand write $fileaddr 0x1000000 $filesize
After first boot on stock firwmare, do a factory reset.
Push reset button for 5 seconds so all parameters will
be reverted to the one printed on label on bottom of the router
Signed-off-by: Giammarco Marzano <stich86@gmail.com>
Reviewed-by: Lech Perczak <lech.perczak@gmail.com>
(Warning: commit message did not conform to UTF-8 - hopefully fixed?,
added description of the pin-out if image goes down, reformatted
commit message to be hopefully somewhat readable on git-web,
redid some of the gpio-buttons & leds DT nodes, etc.)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2022-09-14 12:20:43 +00:00
|
|
|
|
2021-01-17 05:54:04 +00:00
|
|
|
define Device/zyxel_nbg6617
|
|
|
|
$(call Device/FitImageLzma)
|
2024-06-07 12:42:32 +00:00
|
|
|
DEVICE_VENDOR := Zyxel
|
2021-01-17 05:54:04 +00:00
|
|
|
DEVICE_MODEL := NBG6617
|
|
|
|
SOC := qcom-ipq4018
|
|
|
|
KERNEL_SIZE := 4096k
|
|
|
|
ROOTFS_SIZE := 24960k
|
|
|
|
RAS_BOARD := NBG6617
|
|
|
|
RAS_ROOTFS_SIZE := 19840k
|
|
|
|
RAS_VERSION := "$(VERSION_DIST) $(REVISION)"
|
|
|
|
IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
|
|
|
|
IMAGES += factory.bin
|
2024-06-07 12:42:32 +00:00
|
|
|
# The Zyxel firmware allows flashing thru the web-gui only when the rootfs is
|
2021-01-17 05:54:04 +00:00
|
|
|
# at least as large as the one of the initial firmware image (not the current
|
|
|
|
# one on the device). This only applies to the Web-UI, the bootlaoder ignores
|
|
|
|
# this minimum-size. However, the larger image can be flashed both ways.
|
|
|
|
IMAGE/factory.bin := append-rootfs | pad-rootfs | pad-to 64k | check-size $$$$(ROOTFS_SIZE) | zyxel-ras-image separate-kernel
|
|
|
|
IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | check-size $$$$(ROOTFS_SIZE) | sysupgrade-tar rootfs=$$$$@ | append-metadata
|
2021-05-25 13:26:06 +00:00
|
|
|
DEVICE_PACKAGES := kmod-usb-ledtrig-usbport
|
2021-01-17 05:54:04 +00:00
|
|
|
endef
|
|
|
|
TARGET_DEVICES += zyxel_nbg6617
|
|
|
|
|
|
|
|
define Device/zyxel_wre6606
|
|
|
|
$(call Device/FitImage)
|
2024-06-07 12:42:32 +00:00
|
|
|
DEVICE_VENDOR := Zyxel
|
2021-01-17 05:54:04 +00:00
|
|
|
DEVICE_MODEL := WRE6606
|
|
|
|
DEVICE_DTS_CONFIG := config@4
|
|
|
|
SOC := qcom-ipq4018
|
|
|
|
IMAGE_SIZE := 13184k
|
2021-06-20 16:54:36 +00:00
|
|
|
IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | check-size | append-metadata
|
2021-01-17 05:54:04 +00:00
|
|
|
DEVICE_PACKAGES := -kmod-ath10k-ct kmod-ath10k-ct-smallbuffers
|
|
|
|
endef
|
2022-09-28 15:42:48 +00:00
|
|
|
# Missing DSA Setup
|
|
|
|
#TARGET_DEVICES += zyxel_wre6606
|