Что, как и для чего?
На данный момент (конец 2020г) существует 14 версий модели TL-WR841N(ND). Более детально по ссылке
Самой интересной является v13, которая в отличии от предшественников построена на Soc MediaTek MT7628 и имеет 8MB DDR2 Flash и 64MB Ram. Но сейчас v13 уже практически нет на полках магазинов, а её место заняла облегчённая v14 с 4MB DDR1 Flash и 32MB Ram (об экономии на светодиодах промолчим). На сегодняшний день конфигурации 4/32 откровенно мало, в связи с чем на сайте проекта OpenWRT появилась "вывеска" OpenWrt support for 4/32 devices will end after 2019. В общем, наш v14 пролетает...
Конечно есть энтузиасты, собравшие OpenWrt snapshot на 19.07.4 для 4/32, но прошивка урезана настолько, что даже не имеет графического интерфейса LuCI WebUI.
TP-Link TL-WR841n v14
- MediaTek MT7628NN
- 32 MB (GD25Q32CSIG) of RAM >>> 64MB (HY5DU121622DTP-D43)
- 4 MB (A3S56D40GTP-50L) of FLASH >>> 16Mb (GD25Q128CSIG)
- 2T2R 2.4 GHz
- 5x 10/100 Mbps Ethernet
Нутро после пересадки органов:
Задача:
a)Провести апгрейд flash и ram (сделано)
b)Приготовить OpenWRT под конфигурацию 16/64. Роутер банально не знает о том, что размер флеша/рамы увеличился и продолжает использовать только 4/32.
c)Реализация USB порта, по примеру v13. Для нормальной работы потребуется hub с внешним питанием.
Ниже представлен лог загрузки, полученный через UART (snapshot r12857-7daab62861)
Код: Виділити все
[04010C0A][04010C08][84850000][23244546][00232449]
DU Setting Cal Done
U-Boot 1.1.3 (Mar 4 2020 - 11:47:22)
Board: Ralink APSoC DRAM: 32 MB
relocate_code Pointer at: 81fc0000
flash manufacture id: c8, device id 40 18
find flash: GD25Q128C
============================================
Ralink UBoot Version: 4.3.0.0
--------------------------------------------
ASIC 7628_MP (Port5<->None)
DRAM component: 256 Mbits DDR, width 16
DRAM bus: 16 bit
Total memory: 32 MBytes
Flash component: SPI Flash
Date:Mar 4 2020 Time:11:47:22
============================================
icache: sets:512, ways:4, linesz:32 ,total:65536
dcache: sets:256, ways:4, linesz:32 ,total:32768
##### The CPU freq = 580 MHZ ####
estimate memory size =32 Mbytes
RESET MT7628 PHY!!!!!!
continue to starting system. 0
disable switch phyport...
3: System Boot system code via Flash.(0xbc010000)
do_bootm:argc=2, addr=0xbc010000
## Booting image at bc010000 ...
Uncompressing Kernel Image ... OK
No initrd
## Transferring control to Linux (at address 80000000) ...
## Giving linux memsize in MB, 32
Starting kernel ...
[ 0.000000] Linux version 4.14.172 (builder@buildhost) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 r12857-7daab62861)) #0 Mon Apr 6 23:00:10 2020
[ 0.000000] Board has DDR1
[ 0.000000] Analog PMU set to hw control
[ 0.000000] Digital PMU set to hw control
[ 0.000000] SoC Type: MediaTek MT7628AN ver:1 eco:2
[ 0.000000] bootconsole [early0] enabled
[ 0.000000] CPU0 revision is: 00019655 (MIPS 24KEc)
[ 0.000000] MIPS: machine is TP-Link TL-WR841N v14
[ 0.000000] Determined physical RAM map:
[ 0.000000] memory: 02000000 @ 00000000 (usable)
[ 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, PIPT, no aliases, linesize 32 bytes
[ 0.000000] Zone ranges:
[ 0.000000] Normal [mem 0x0000000000000000-0x0000000001ffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000000000000-0x0000000001ffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000001ffffff]
[ 0.000000] random: get_random_bytes called from start_kernel+0x98/0x4a8 with crng_init=0
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 8120
[ 0.000000] Kernel command line: console=ttyS0,115200 rootfstype=squashfs,jffs2
[ 0.000000] PID hash table entries: 128 (order: -3, 512 bytes)
[ 0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.000000] Writing ErrCtl register=000342af
[ 0.000000] Readback ErrCtl register=000342af
[ 0.000000] Memory: 25592K/32768K available (4146K kernel code, 197K rwdata, 944K rodata, 1232K init, 212K bss, 7176K reserved, 0K cma-reserved)
[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS: 256
[ 0.000000] intc: using register map from devicetree
[ 0.000000] CPU Clock: 580MHz
[ 0.000000] timer_probe: no matching timers found
[ 0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 6590553264 ns
[ 0.000009] sched_clock: 32 bits at 290MHz, resolution 3ns, wraps every 7405115902ns
[ 0.007544] Calibrating delay loop... 385.84 BogoMIPS (lpj=1929216)
[ 0.073493] pid_max: default: 32768 minimum: 301
[ 0.078195] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.084546] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.097028] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.106525] futex hash table entries: 256 (order: -1, 3072 bytes)
[ 0.112502] pinctrl core: initialized pinctrl subsystem
[ 0.120139] NET: Registered protocol family 16
[ 0.149485] mt7621_gpio 10000600.gpio: registering 32 gpios
[ 0.155055] mt7621_gpio 10000600.gpio: registering 32 gpios
[ 0.160466] GPIO line 43 (led_wlan_enable) hogged as output/high
[ 0.166384] mt7621_gpio 10000600.gpio: registering 32 gpios
[ 0.176949] clocksource: Switched to clocksource MIPS
[ 0.182945] NET: Registered protocol family 2
[ 0.188056] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.194743] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.200932] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.207169] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.212767] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.219121] NET: Registered protocol family 1
[ 0.226753] Crashlog allocated RAM at address 0x1f00000
[ 0.233512] workingset: timestamp_bits=14 max_order=13 bucket_order=0
[ 0.246313] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.251938] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[ 0.273606] io scheduler noop registered
[ 0.277393] io scheduler deadline registered (default)
[ 0.283109] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[ 0.291889] console [ttyS0] disabled
[ 0.295324] 10000c00.uartlite: ttyS0 at MMIO 0x10000c00 (irq = 28, base_baud = 2500000) is a 16550A
[ 0.304099] console [ttyS0] enabled
[ 0.304099] console [ttyS0] enabled
[ 0.311093] bootconsole [early0] disabled
[ 0.311093] bootconsole [early0] disabled
[ 0.320487] spi-mt7621 10000b00.spi: sys_freq: 193333333
[ 0.335465] m25p80 spi0.0: gd25q128 (16384 Kbytes)
[ 0.340430] 3 fixed-partitions partitions found on MTD device spi0.0
[ 0.346867] Creating 3 MTD partitions on "spi0.0":
[ 0.351749] 0x000000000000-0x000000010000 : "boot"
[ 0.357555] 0x000000010000-0x0000003f0000 : "firmware"
[ 0.365699] 2 tplink-fw partitions found on MTD device firmware
[ 0.371774] Creating 2 MTD partitions on "firmware":
[ 0.376831] 0x000000000000-0x0000001aea01 : "kernel"
[ 0.382773] 0x0000001aea04-0x0000003e0000 : "rootfs"
[ 0.388613] mtd: device 3 (rootfs) set to be root filesystem
[ 0.395962] 1 squashfs-split partitions found on MTD device rootfs
[ 0.402310] 0x0000003b0000-0x0000003e0000 : "rootfs_data"
[ 0.408670] 0x0000003f0000-0x000000400000 : "factory"
[ 0.415199] libphy: Fixed MDIO Bus: probed
[ 0.431362] rt3050-esw 10110000.esw: link changed 0x00
[ 0.438244] mtk_soc_eth 10100000.ethernet eth0: mediatek frame engine at 0xb0100000, irq 5
[ 0.448237] NET: Registered protocol family 10
[ 0.456820] Segment Routing with IPv6
[ 0.460715] NET: Registered protocol family 17
[ 0.465290] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[ 0.478448] 8021q: 802.1Q VLAN Support v1.8
[ 0.492323] VFS: Mounted root (squashfs filesystem) readonly on device 31:3.
[ 0.506194] Freeing unused kernel memory: 1232K
[ 0.510828] This architecture does not have kernel memory protection.
[ 1.550666] init: Console is alive
[ 1.554356] init: - watchdog -
[ 2.216958] random: fast init done
[ 2.606261] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[ 2.776817] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[ 2.794725] init: - preinit -
[ 3.961908] random: jshn: uninitialized urandom read (4 bytes read)
[ 4.036463] random: jshn: uninitialized urandom read (4 bytes read)
[ 4.277939] random: jshn: uninitialized urandom read (4 bytes read)
[ 4.759492] rt3050-esw 10110000.esw: link changed 0x00
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[ 8.846809] rt3050-esw 10110000.esw: link changed 0x08
[ 9.161774] mount_root: jffs2 not ready yet, using temporary tmpfs overlay
[ 9.193754] urandom-seed: Seed file not found (/etc/urandom.seed)
[ 9.324254] procd: - early -
[ 9.327693] procd: - watchdog -
[ 9.983159] procd: - watchdog -
[ 9.986687] procd: - ubus -
[ 10.016923] urandom_read: 3 callbacks suppressed
[ 10.021676] random: ubusd: uninitialized urandom read (4 bytes read)
[ 10.041482] random: ubusd: uninitialized urandom read (4 bytes read)
[ 10.048542] random: ubusd: uninitialized urandom read (4 bytes read)
[ 10.055904] procd: - init -
Please press Enter to activate this console.
[ 10.820980] kmodloader: loading kernel modules from /etc/modules.d/*
[ 10.854146] ip6_tables: (C) 2000-2006 Netfilter Core Team
[ 10.876247] Loading modules backported from Linux version v5
Как приготовить OpenWRT под конфигурацию 16/64?