f2107fc328
This commit improves support for the Xiaomi Mi Router 3G originally added in commit6e283cdc0d
Improvements: - Remove software watchdog as hardware watchdog now working as per commit3fbf3ab44f
for all mt7621 devices. - Reset button polarity corrected - length of press determines reboot (short press) vs. reset to defaults (long press) behaviour. - Enable GPIO amber switch port LEDs on board rear - lit indicates 1Gbit link and blink on activity. Green LEDs driven directly by switch indicating any link speed and tx activity. - USB port power on/off GPIO exposed as 'usbpower' - Add access to uboot environment settings for checking/setting uboot boot order preference from user space. Changes: - Front LED indicator is physically made of independent Yellow/Amber, Red & Blue LEDs combined via a plastic 'lightpipe' to a front panel indicator, hence the colour behaviour is similar to an RGB LED. RGB LEDs are not supported at this time because they produce colour results that do not then match colour labels, e.g. enabling 'mir3g:red' and 'mir3g:blue' would result in a purple indicator and we have no such label for purple. The yellow, red & blue LEDs have been split out as individual yellow, red & blue status LEDs, with yellow being the default status LED as before and with red's WAN and blue's USB default associations removed. - Swapped order of vlan interfaces (eth0.1 & eth0.2) to match stock vlan layout. eth0.1 is LAN, eth0.2 is WAN - Add 'lwlll' vlan layout to mt7530 switch driver to prevent packet leakage between kernel switch init and uci swconfig uboot behaviour & system 'recovery' uboot expects to find bootable kernels at nand addresses 0x200000 & 0x600000 known by uboot as "system 1" and "system 2" respectively. uboot chooses which system to hand control to based on 3 environment variables: flag_last_success, flag_try_sys1_failed & flag_try_sys2_failed last_success represents a preference for a particular system and is set to 0 for system 1, set to 1 for system 2. last_success is considered *if* and only if both try_sys'n'_failed flags are 0 (ie. unset) If *either* failed flags are set then uboot will attempt to hand control to the non failed system. If both failed flags are set then uboot will check the uImage CRC of system 1 and hand control to it if ok. If the uImage CRC of system is not ok, uboot will hand control to system 2 irrespective of system 2's uImage CRC. NOTE: uboot only ever sets failed flags, it *never* clears them. uboot sets a system's failed flag if that system's was selected for boot but the uImage CRC is incorrect. Fortunately with serial console access, uboot provides the ability to boot an initramfs image transferred via tftp, similarly an image may be flashed to nand however it will flash to *both* kernels so a backup of stock kernel image is suggested. Note that the suggested install procedure below set's system 1's failed flag (stock) thus uboot ignores the last_success preference and boots LEDE located in system 2. Considerable thought has gone into whether LEDE should replace both kernels, only one (and which one) etc. LEDE kernels do not include a minimal rootfs and thus unlike the stock kernel cannot include a method of controlling uboot environment variables in the event of rootfs mount failure. Similarly uboot fails to provide an external mechanism for indicating boot system failure. Installation - from stock. Installation through telnet/ssh: - copy lede-ramips-mt7621-mir3g-squashfs-kernel1.bin and lede-ramips-mt7621-mir3g-squashfs-rootfs0.bin to usb disk or wget it from LEDE download site to /tmp - switch to /extdisks/sda1/ (if copied to USB drive) or to /tmp if wgetted from LEDE download site - run: mtd write lede-ramips-mt7621-mir3g-squashfs-kernel1.bin kernel1 - run: mtd write lede-ramips-mt7621-mir3g-squashfs-rootfs0.bin rootfs0 - run: nvram set flag_try_sys1_failed=1 - run: nvram commit - run: reboot Recovery - to stock. Assuming you used the above installation instructions you will have a stock kernel image in system 1. If it can be booted then it may be used to perform a stock firmware recovery, thus erasing LEDE completely. From a 'working' LEDE state (even failsafe) Failsafe only: - run: mount_root - run: sh /etc/uci-defaults/30_uboot-envtools Then do the steps for 'All' All: - run: fw_setenv flag_try_sys2_failed 1 - run: reboot The board will reboot into system 1 (stock basic kernel) and wait with system red light slowly blinking for a FAT formatted usb stick with a recovery image to be inserted. Press and hold the reset button for around 1 second. Status LED will turn yellow during recovery and blue when recovery complete. Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
363 lines
11 KiB
Makefile
363 lines
11 KiB
Makefile
#
|
|
# MT7621 Profiles
|
|
#
|
|
|
|
DEVICE_VARS += TPLINK_BOARD_ID TPLINK_HEADER_VERSION TPLINK_HWID TPLINK_HWREV
|
|
|
|
define Build/ubnt-erx-factory-image
|
|
if [ -e $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) -a "$$(stat -c%s $@)" -lt "$(KERNEL_SIZE)" ]; then \
|
|
echo '21001:6' > $(1).compat; \
|
|
$(TAR) -cf $(1) --transform='s/^.*/compat/' $(1).compat; \
|
|
\
|
|
$(TAR) -rf $(1) --transform='s/^.*/vmlinux.tmp/' $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE); \
|
|
mkhash md5 $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) > $(1).md5; \
|
|
$(TAR) -rf $(1) --transform='s/^.*/vmlinux.tmp.md5/' $(1).md5; \
|
|
\
|
|
echo "dummy" > $(1).rootfs; \
|
|
$(TAR) -rf $(1) --transform='s/^.*/squashfs.tmp/' $(1).rootfs; \
|
|
\
|
|
mkhash md5 $(1).rootfs > $(1).md5; \
|
|
$(TAR) -rf $(1) --transform='s/^.*/squashfs.tmp.md5/' $(1).md5; \
|
|
\
|
|
echo '$(BOARD) $(VERSION_CODE) $(VERSION_NUMBER)' > $(1).version; \
|
|
$(TAR) -rf $(1) --transform='s/^.*/version.tmp/' $(1).version; \
|
|
\
|
|
$(CP) $(1) $(BIN_DIR)/; \
|
|
else \
|
|
echo "WARNING: initramfs kernel image too big, cannot generate factory image" >&2; \
|
|
fi
|
|
endef
|
|
|
|
define Device/11acnas
|
|
DTS := 11ACNAS
|
|
IMAGE_SIZE := $(ralink_default_fw_size_16M)
|
|
DEVICE_TITLE := WeVO 11AC NAS Router
|
|
DEVICE_PACKAGES := kmod-mt7603 kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini
|
|
endef
|
|
TARGET_DEVICES += 11acnas
|
|
|
|
define Device/dir-860l-b1
|
|
DTS := DIR-860L-B1
|
|
BLOCKSIZE := 64k
|
|
IMAGES += factory.bin
|
|
KERNEL := kernel-bin | patch-dtb | relocate-kernel | lzma | uImage lzma
|
|
IMAGE_SIZE := $(ralink_default_fw_size_16M)
|
|
IMAGE/sysupgrade.bin := \
|
|
append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs | \
|
|
seama -m "dev=/dev/mtdblock/2" -m "type=firmware" | \
|
|
pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
|
|
IMAGE/factory.bin := \
|
|
append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | \
|
|
append-rootfs | pad-rootfs -x 64 | \
|
|
seama -m "dev=/dev/mtdblock/2" -m "type=firmware" | \
|
|
seama-seal -m "signature=wrgac13_dlink.2013gui_dir860lb" | \
|
|
check-size $$$$(IMAGE_SIZE)
|
|
DEVICE_TITLE := D-Link DIR-860L B1
|
|
DEVICE_PACKAGES := kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini
|
|
endef
|
|
TARGET_DEVICES += dir-860l-b1
|
|
|
|
define Device/ew1200
|
|
DTS := EW1200
|
|
IMAGE_SIZE := $(ralink_default_fw_size_16M)
|
|
DEVICE_TITLE := AFOUNDRY EW1200
|
|
DEVICE_PACKAGES := \
|
|
kmod-ata-core kmod-ata-ahci kmod-mt76x2 kmod-mt7603 kmod-usb3 \
|
|
kmod-usb-ledtrig-usbport wpad-mini
|
|
endef
|
|
TARGET_DEVICES += ew1200
|
|
|
|
define Device/firewrt
|
|
DTS := FIREWRT
|
|
IMAGE_SIZE := $(ralink_default_fw_size_16M)
|
|
DEVICE_TITLE := Firefly FireWRT
|
|
DEVICE_PACKAGES := kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini
|
|
endef
|
|
TARGET_DEVICES += firewrt
|
|
|
|
define Device/gb-pc1
|
|
DTS := GB-PC1
|
|
DEVICE_TITLE := GnuBee Personal Cloud One
|
|
DEVICE_PACKAGES := kmod-ata-core kmod-ata-ahci kmod-usb3 kmod-sdhci-mt7620
|
|
IMAGE_SIZE := $(ralink_default_fw_size_32M)
|
|
endef
|
|
TARGET_DEVICES += gb-pc1
|
|
|
|
define Device/hc5962
|
|
DTS := HC5962
|
|
BLOCKSIZE := 128k
|
|
PAGESIZE := 2048
|
|
KERNEL_SIZE := 2097152
|
|
UBINIZE_OPTS := -E 5
|
|
IMAGE_SIZE := $(ralink_default_fw_size_32M)
|
|
IMAGES += factory.bin
|
|
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
|
|
IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | check-size $$$$(IMAGE_SIZE)
|
|
DEVICE_TITLE := HiWiFi HC5962
|
|
DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 wpad-mini
|
|
endef
|
|
TARGET_DEVICES += hc5962
|
|
|
|
define Device/k2p
|
|
DTS := K2P
|
|
IMAGE_SIZE := $(ralink_default_fw_size_16M)
|
|
DEVICE_TITLE := Phicomm K2P
|
|
endef
|
|
TARGET_DEVICES += k2p
|
|
|
|
define Device/mir3g
|
|
DTS := MIR3G
|
|
BLOCKSIZE := 128k
|
|
PAGESIZE := 2048
|
|
KERNEL_SIZE := 4096k
|
|
KERNEL := $(KERNEL_DTB) | uImage lzma
|
|
IMAGE_SIZE := 32768k
|
|
UBINIZE_OPTS := -E 5
|
|
IMAGES := sysupgrade.tar kernel1.bin rootfs0.bin
|
|
IMAGE/kernel1.bin := append-kernel
|
|
IMAGE/rootfs0.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
|
|
IMAGE/sysupgrade.tar := sysupgrade-tar | append-metadata
|
|
DEVICE_TITLE := Xiaomi Mi Router 3G
|
|
SUPPORTED_DEVICES += R3G
|
|
DEVICE_PACKAGES := \
|
|
kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini \
|
|
uboot-envtools
|
|
endef
|
|
TARGET_DEVICES += mir3g
|
|
|
|
define Device/mt7621
|
|
DTS := MT7621
|
|
BLOCKSIZE := 64k
|
|
IMAGE_SIZE := $(ralink_default_fw_size_4M)
|
|
DEVICE_TITLE := MediaTek MT7621 EVB
|
|
endef
|
|
TARGET_DEVICES += mt7621
|
|
|
|
define Device/newifi-d1
|
|
DTS := Newifi-D1
|
|
IMAGE_SIZE := $(ralink_default_fw_size_32M)
|
|
DEVICE_TITLE := Newifi D1
|
|
DEVICE_PACKAGES := \
|
|
kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini
|
|
endef
|
|
TARGET_DEVICES += newifi-d1
|
|
|
|
define Device/pbr-m1
|
|
DTS := PBR-M1
|
|
IMAGE_SIZE := $(ralink_default_fw_size_16M)
|
|
DEVICE_TITLE := PBR-M1
|
|
DEVICE_PACKAGES := \
|
|
kmod-ata-core kmod-ata-ahci kmod-mt7603 kmod-mt76x2 kmod-sdhci-mt7620 \
|
|
kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini
|
|
endef
|
|
TARGET_DEVICES += pbr-m1
|
|
|
|
define Device/r6220
|
|
DTS := R6220
|
|
BLOCKSIZE := 128k
|
|
PAGESIZE := 2048
|
|
KERNEL_SIZE := 4096k
|
|
KERNEL := $(KERNEL_DTB) | uImage lzma
|
|
IMAGE_SIZE := 28672k
|
|
UBINIZE_OPTS := -E 5
|
|
IMAGES := sysupgrade.tar kernel.bin rootfs.bin
|
|
IMAGE/sysupgrade.tar := sysupgrade-tar | append-metadata
|
|
IMAGE/kernel.bin := append-kernel
|
|
IMAGE/rootfs.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
|
|
DEVICE_TITLE := Netgear R6220
|
|
DEVICE_PACKAGES := \
|
|
kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini
|
|
endef
|
|
TARGET_DEVICES += r6220
|
|
|
|
define Device/rb750gr3
|
|
DTS := RB750Gr3
|
|
IMAGE_SIZE := $(ralink_default_fw_size_16M)
|
|
DEVICE_TITLE := MikroTik RB750Gr3
|
|
DEVICE_PACKAGES := kmod-usb3 uboot-envtools
|
|
endef
|
|
TARGET_DEVICES += rb750gr3
|
|
|
|
define Device/re350-v1
|
|
DTS := RE350
|
|
DEVICE_TITLE := TP-LINK RE350 v1
|
|
DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 wpad-mini
|
|
TPLINK_BOARD_ID := RE350-V1
|
|
TPLINK_HWID := 0x0
|
|
TPLINK_HWREV := 0
|
|
TPLINK_HEADER_VERSION := 1
|
|
IMAGE_SIZE := 6016k
|
|
KERNEL := $(KERNEL_DTB) | tplink-v1-header -e
|
|
IMAGES := sysupgrade.bin factory.bin
|
|
IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade | append-metadata | check-size $$$$(IMAGE_SIZE)
|
|
IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
|
|
endef
|
|
TARGET_DEVICES += re350-v1
|
|
|
|
define Device/re6500
|
|
DTS := RE6500
|
|
DEVICE_TITLE := Linksys RE6500
|
|
DEVICE_PACKAGES := kmod-mt76x2 wpad-mini
|
|
endef
|
|
TARGET_DEVICES += re6500
|
|
|
|
define Device/sap-g3200u3
|
|
DTS := SAP-G3200U3
|
|
DEVICE_TITLE := STORYLiNK SAP-G3200U3
|
|
DEVICE_PACKAGES := kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini
|
|
endef
|
|
TARGET_DEVICES += sap-g3200u3
|
|
|
|
define Device/sk-wb8
|
|
DTS := SK-WB8
|
|
IMAGE_SIZE := $(ralink_default_fw_size_16M)
|
|
DEVICE_TITLE := SamKnows Whitebox 8
|
|
DEVICE_PACKAGES := \
|
|
kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport \
|
|
uboot-envtools wpad-mini
|
|
endef
|
|
TARGET_DEVICES += sk-wb8
|
|
|
|
define Device/timecloud
|
|
DTS := Timecloud
|
|
DEVICE_TITLE := Thunder Timecloud
|
|
DEVICE_PACKAGES := kmod-usb3
|
|
endef
|
|
TARGET_DEVICES += timecloud
|
|
|
|
define Device/ubnt-erx
|
|
DTS := UBNT-ERX
|
|
FILESYSTEMS := squashfs
|
|
KERNEL_SIZE := 3145728
|
|
KERNEL := $(KERNEL_DTB) | uImage lzma
|
|
IMAGES := sysupgrade.tar
|
|
KERNEL_INITRAMFS := $$(KERNEL) | ubnt-erx-factory-image $(KDIR)/tmp/$$(KERNEL_INITRAMFS_PREFIX)-factory.tar
|
|
IMAGE/sysupgrade.tar := sysupgrade-tar | append-metadata
|
|
DEVICE_TITLE := Ubiquiti EdgeRouter X
|
|
endef
|
|
TARGET_DEVICES += ubnt-erx
|
|
|
|
define Device/ubnt-erx-sfp
|
|
$(Device/ubnt-erx)
|
|
DTS := UBNT-ERX-SFP
|
|
DEVICE_TITLE := Ubiquiti EdgeRouter X-SFP
|
|
DEVICE_PACKAGES += kmod-i2c-algo-pca kmod-gpio-pca953x kmod-i2c-gpio-custom
|
|
endef
|
|
TARGET_DEVICES += ubnt-erx-sfp
|
|
|
|
define Device/vr500
|
|
DTS := VR500
|
|
IMAGE_SIZE := 66453504
|
|
DEVICE_TITLE := Planex VR500
|
|
DEVICE_PACKAGES := kmod-usb3
|
|
endef
|
|
TARGET_DEVICES += vr500
|
|
|
|
define Device/w2914nsv2
|
|
DTS := W2914NSV2
|
|
IMAGE_SIZE := $(ralink_default_fw_size_16M)
|
|
DEVICE_TITLE := WeVO W2914NS v2
|
|
DEVICE_PACKAGES := \
|
|
kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport kmod-mt76 \
|
|
wpad-mini
|
|
endef
|
|
TARGET_DEVICES += w2914nsv2
|
|
|
|
define Device/wf-2881
|
|
DTS := WF-2881
|
|
BLOCKSIZE := 128k
|
|
PAGESIZE := 2048
|
|
FILESYSTEMS := squashfs
|
|
IMAGE_SIZE := 129280k
|
|
KERNEL := $(KERNEL_DTB) | pad-offset $$(BLOCKSIZE) 64 | uImage lzma
|
|
UBINIZE_OPTS := -E 5
|
|
IMAGE/sysupgrade.bin := append-kernel | append-ubi | append-metadata | check-size $$$$(IMAGE_SIZE)
|
|
DEVICE_TITLE := NETIS WF-2881
|
|
DEVICE_PACKAGES := kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport
|
|
endef
|
|
TARGET_DEVICES += wf-2881
|
|
|
|
define Device/witi
|
|
DTS := WITI
|
|
IMAGE_SIZE := $(ralink_default_fw_size_16M)
|
|
DEVICE_TITLE := MQmaker WiTi
|
|
DEVICE_PACKAGES := \
|
|
kmod-ata-core kmod-ata-ahci kmod-mt76x2 kmod-sdhci-mt7620 kmod-usb3 \
|
|
kmod-usb-ledtrig-usbport wpad-mini
|
|
endef
|
|
TARGET_DEVICES += witi
|
|
|
|
define Device/wndr3700v5
|
|
DTS := WNDR3700V5
|
|
IMAGE_SIZE := $(ralink_default_fw_size_16M)
|
|
DEVICE_TITLE := Netgear WNDR3700v5
|
|
DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 wpad-mini
|
|
endef
|
|
TARGET_DEVICES += wndr3700v5
|
|
|
|
define Device/wsr-1166
|
|
DTS := WSR-1166
|
|
IMAGE/sysupgrade.bin := trx | pad-rootfs | append-metadata
|
|
IMAGE_SIZE := $(ralink_default_fw_size_16M)
|
|
DEVICE_TITLE := Buffalo WSR-1166
|
|
DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 wpad-mini
|
|
endef
|
|
TARGET_DEVICES += wsr-1166
|
|
|
|
define Device/wsr-600
|
|
DTS := WSR-600
|
|
IMAGE_SIZE := $(ralink_default_fw_size_16M)
|
|
DEVICE_TITLE := Buffalo WSR-600
|
|
DEVICE_PACKAGES := kmod-mt7603 kmod-rt2800-pci wpad-mini
|
|
endef
|
|
TARGET_DEVICES += wsr-600
|
|
|
|
define Device/zbt-we1326
|
|
DTS := ZBT-WE1326
|
|
IMAGE_SIZE := $(ralink_default_fw_size_16M)
|
|
DEVICE_TITLE := ZBT WE1326
|
|
DEVICE_PACKAGES := \
|
|
kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-sdhci-mt7620 wpad-mini
|
|
endef
|
|
TARGET_DEVICES += zbt-we1326
|
|
|
|
define Device/zbt-wg2626
|
|
DTS := ZBT-WG2626
|
|
IMAGE_SIZE := $(ralink_default_fw_size_16M)
|
|
DEVICE_TITLE := ZBT WG2626
|
|
DEVICE_PACKAGES := \
|
|
kmod-ata-core kmod-ata-ahci kmod-sdhci-mt7620 kmod-mt76x2 kmod-usb3 \
|
|
kmod-usb-ledtrig-usbport wpad-mini
|
|
endef
|
|
TARGET_DEVICES += zbt-wg2626
|
|
|
|
define Device/zbt-wg3526-16M
|
|
DTS := ZBT-WG3526-16M
|
|
IMAGE_SIZE := $(ralink_default_fw_size_16M)
|
|
SUPPORTED_DEVICES += zbt-wg3526
|
|
DEVICE_TITLE := ZBT WG3526 (16MB flash)
|
|
DEVICE_PACKAGES := \
|
|
kmod-ata-core kmod-ata-ahci kmod-sdhci-mt7620 kmod-mt7603 kmod-mt76x2 \
|
|
kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini
|
|
endef
|
|
TARGET_DEVICES += zbt-wg3526-16M
|
|
|
|
define Device/zbt-wg3526-32M
|
|
DTS := ZBT-WG3526-32M
|
|
IMAGE_SIZE := $(ralink_default_fw_size_32M)
|
|
SUPPORTED_DEVICES += ac1200pro
|
|
DEVICE_TITLE := ZBT WG3526 (32MB flash)
|
|
DEVICE_PACKAGES := \
|
|
kmod-ata-core kmod-ata-ahci kmod-sdhci-mt7620 kmod-mt7603 kmod-mt76x2 \
|
|
kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini
|
|
endef
|
|
TARGET_DEVICES += zbt-wg3526-32M
|
|
|
|
# FIXME: is this still needed?
|
|
define Image/Prepare
|
|
#define Build/Compile
|
|
rm -rf $(KDIR)/relocate
|
|
$(CP) ../../generic/image/relocate $(KDIR)
|
|
$(MAKE) -C $(KDIR)/relocate KERNEL_ADDR=$(KERNEL_LOADADDR) CROSS_COMPILE=$(TARGET_CROSS)
|
|
$(CP) $(KDIR)/relocate/loader.bin $(KDIR)/loader.bin
|
|
endef
|