openwrt/target/linux/ramips/image/rt3883.mk
Szabolcs Hubai fafc9448ae ramips: rt3883: use seama-lzma-loader for D-Link DIR-645
In the support topic [0] of the GitHub issue #10634 it was found out
(based on boot logs) that the uimage-lzma-loader (commit 09faa73c53)
never worked, as an earlier workaround (commit 6fba88de19) negated
the recipe:

    3: System Boot system code via Flash.
    ## Booting image at bc050000 ...
    raspi_read: from:50000 len:40
    .raspi_read: from:50000 len:c
    .raspi_read: from:50000 len:1fa000
    ................................We have SEAMA, Image Size = 2072512
    Verifying Checksum ...
    Uncompressing SEAMA linux.lzma ... OK
    ## Transferring control to Linux (at address 80000000) ...
    ## Giving linux memsize in MB, 64

    Starting kernel ...

    [    0.000000] Linux version 5.4.188 (builder@buildhost) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 r16554-1d4dea6d4f)) #0 Sat Apr 16 12:59:34 2022
    [    0.000000] SoC Type: Ralink RT3883 ver:1 eco:5
    [    0.000000] printk: bootconsolde [early0] enabled
    [    0.000000] CPU0 revision is: 0001974c (MIPS 74Kc)
    [    0.000000] MIPS: machine is D-Link DIR-645
    [    0.000000] Initrd not found or empty - disabling initrd

Using the new seama-lzma-loader it's able to boot OpenWrt 22.03
and OpenWrt SNAPSHOT too:

    3: System Boot system code via Flash.
    ## Booting image at bc050000 ...
    raspi_read: from:50000 len:40
    .raspi_read: from:50000 len:c
    .raspi_read: from:50000 len:48b004
    .........................................................................We have SEAMA, Image Size = 4763588
    Verifying Checksum ...
    Uncompressing SEAMA linux.lzma ... OK
    ## Transferring control to Linux (at address 80000000) ...
    ## Giving linux memsize in MB, 64

    Starting kernel ...

    OpenWrt kernel loader for MIPS based SoC
    Copyright (C) 2011 Gabor Juhos <juhosg@openwrt.org>
    Decompressing kernel... done!
    Starting kernel at 80000000...

    [    0.000000] Linux version 5.10.144 (xabolcs@ut2004) (mipsel-openwrt-linux-musl-gcc (OpenWrt GCC 11.3.0 r20774+2-b71affaf8b) 11.3.0, GNU ld (GNU Binutils) 2.37) #0 Tue Sep 27 23:02:30 2022
    [    0.000000] SoC Type: Ralink RT3883 ver:1 eco:5
    [    0.000000] printk: bootconsole [early0] enabled
    [    0.000000] CPU0 revision is: 0001974c (MIPS 74Kc)
    [    0.000000] MIPS: machine is D-Link DIR-645
    [    0.000000] Initrd not found or empty - disabling initrd
    [    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
    [    0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
    [    0.000000] Zone ranges:
    [    0.000000]   Normal   [mem 0x0000000000000000-0x0000000003ffffff]
    [    0.000000] Movable zone start for each node
    [    0.000000] Early memory node ranges
    [    0.000000]   node   0: [mem 0x0000000000000000-0x0000000003ffffff]
    [    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000003ffffff]
    [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 16256
    [    0.000000] Kernel command line: console=ttyS0,57600 rootfstype=squashfs,jffs2

The OKLI Loader is unable to read the flash on this SoC:

    Looking for OpenWrt image... not found! ('0xddbaddba' at 0xbc051000)

0: https://forum.openwrt.org/t/136435

Fixes: GitHub issue #10634 ("V22.03.0 release currently does not work on D-Link DIR-645")
Fixes: 09faa73c53 ("ramips: rt3883: use lzma-loader for DIR-645")
Tested-by: Glenn Fowler <gfowler1@outlook.com>
Signed-off-by: Szabolcs Hubai <szab.hu@gmail.com>
(cherry picked from commit c293b492df)
2022-11-12 21:55:11 +01:00

145 lines
3.7 KiB
Makefile

#
# RT3662/RT3883 Profiles
#
define Build/mkrtn56uimg
$(STAGING_DIR_HOST)/bin/mkrtn56uimg $(1) $@
endef
define Device/asus_rt-n56u
SOC := rt3662
BLOCKSIZE := 64k
IMAGE_SIZE := 7872k
IMAGE/sysupgrade.bin += | mkrtn56uimg -s
DEVICE_VENDOR := Asus
DEVICE_MODEL := RT-N56U
DEVICE_PACKAGES := kmod-usb-ohci kmod-usb2
SUPPORTED_DEVICES += rt-n56u
endef
TARGET_DEVICES += asus_rt-n56u
define Device/belkin_f9k1109v1
$(Device/uimage-lzma-loader)
SOC := rt3883
BLOCKSIZE := 64k
DEVICE_VENDOR := Belkin
DEVICE_MODEL := F9K1109
DEVICE_VARIANT := Version 1.0
DEVICE_PACKAGES := kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig-usbport
IMAGE_SIZE := 7808k
# Stock firmware checks for this uImage image name during upload.
UIMAGE_NAME := N750F9K1103VB
endef
TARGET_DEVICES += belkin_f9k1109v1
define Device/dlink_dir-645
$(Device/seama-lzma-loader)
SOC := rt3662
BLOCKSIZE := 4k
IMAGE_SIZE := 7872k
SEAMA_SIGNATURE := wrgn39_dlob.hans_dir645
DEVICE_VENDOR := D-Link
DEVICE_MODEL := DIR-645
DEVICE_PACKAGES := kmod-usb-ohci kmod-usb2
SUPPORTED_DEVICES += dir-645
endef
TARGET_DEVICES += dlink_dir-645
define Device/edimax_br-6475nd
SOC := rt3662
BLOCKSIZE := 64k
IMAGE_SIZE := 7744k
IMAGE/sysupgrade.bin := append-kernel | append-rootfs | \
edimax-header -s CSYS -m RN54 -f 0x70000 -S 0x01100000 | pad-rootfs | \
check-size | append-metadata
DEVICE_VENDOR := Edimax
DEVICE_MODEL := BR-6475nD
SUPPORTED_DEVICES += br-6475nd
endef
TARGET_DEVICES += edimax_br-6475nd
define Device/engenius_esr600h
$(Device/uimage-lzma-loader)
SOC := rt3662
BLOCKSIZE := 4k
IMAGE_SIZE := 7872k
IMAGES += factory.dlf
IMAGE/factory.dlf := $$(sysupgrade_bin) | check-size | \
senao-header -r 0x101 -p 0x44 -t 2
DEVICE_VENDOR := EnGenius
DEVICE_MODEL := ESR600H
DEVICE_PACKAGES := kmod-usb-ohci kmod-usb2 uboot-envtools
endef
TARGET_DEVICES += engenius_esr600h
define Device/loewe_wmdr-143n
SOC := rt3662
BLOCKSIZE := 64k
IMAGE_SIZE := 7872k
DEVICE_VENDOR := Loewe
DEVICE_MODEL := WMDR-143N
SUPPORTED_DEVICES += wmdr-143n
endef
TARGET_DEVICES += loewe_wmdr-143n
define Device/omnima_hpm
SOC := rt3662
BLOCKSIZE := 64k
IMAGE_SIZE := 16064k
DEVICE_VENDOR := Omnima
DEVICE_MODEL := HPM
DEVICE_PACKAGES := kmod-usb-ohci kmod-usb2
SUPPORTED_DEVICES += hpm
endef
TARGET_DEVICES += omnima_hpm
define Device/samsung_cy-swr1100
$(Device/seama)
SOC := rt3662
IMAGE_SIZE := 7872k
KERNEL := $(KERNEL_DTB)
SEAMA_SIGNATURE := wrgnd10_samsung_ss815
DEVICE_VENDOR := Samsung
DEVICE_MODEL := CY-SWR1100
DEVICE_PACKAGES := kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig-usbport
SUPPORTED_DEVICES += cy-swr1100
endef
TARGET_DEVICES += samsung_cy-swr1100
define Device/sitecom_wlr-6000
SOC := rt3883
BLOCKSIZE := 4k
IMAGE_SIZE := 7244k
IMAGES += factory.dlf
IMAGE/factory.dlf := $$(sysupgrade_bin) | check-size | \
senao-header -r 0x0202 -p 0x41 -t 2
DEVICE_VENDOR := Sitecom
DEVICE_MODEL := WLR-6000
DEVICE_PACKAGES := kmod-usb-ohci kmod-usb2
SUPPORTED_DEVICES += wlr-6000
endef
TARGET_DEVICES += sitecom_wlr-6000
define Device/trendnet_tew-691gr
SOC := rt3883
BLOCKSIZE := 64k
IMAGE_SIZE := 7872k
IMAGES += factory.bin
IMAGE/factory.bin := $$(sysupgrade_bin) | check-size | umedia-header 0x026910
DEVICE_VENDOR := TRENDnet
DEVICE_MODEL := TEW-691GR
SUPPORTED_DEVICES += tew-691gr
endef
TARGET_DEVICES += trendnet_tew-691gr
define Device/trendnet_tew-692gr
SOC := rt3883
BLOCKSIZE := 64k
IMAGE_SIZE := 7872k
IMAGES += factory.bin
IMAGE/factory.bin := $$(sysupgrade_bin) | check-size | umedia-header 0x026920
DEVICE_VENDOR := TRENDnet
DEVICE_MODEL := TEW-692GR
SUPPORTED_DEVICES += tew-692gr
endef
TARGET_DEVICES += trendnet_tew-692gr