User Tools

Site Tools


toh:buffalo:wmr-300

Buffalo WMR-300

Hardware

Overview

Architecture: MIPS
Vendor: MediaTek (Ralink)
Bootloader: U-Boot 1.1.3
System-On-Chip: Ralink MT7620N ver:2 eco:3
CPU MIPS 24KEc V5.0
CPU Speed 580 MHz
Flash: 8 MB Macronix MX25L6406EM2I-12G
RAM: 64 MB Hynix H5PS5162GFR-S6C
Wireless: SoC
Ethernet: 1

Internal Photos

Factory Bootlog

U-Boot 1.1.3 (Mar 20 2013 - 17:45:05) Board: Ralink APSoC DRAM: 64 MB relocate_code Pointer at: 83fb4000 enable ephy clock...done. rf reg 29 = 5 SSC disabled. spi_wait_nsec: 29 spi device id: c2 20 17 c2 20 (2017c220) find flash: MX25L6405D raspi_read: from:30000 len:1000 raspi_read: from:30000 len:1000 *** Check if data is correct or not... *** Data is correct. ============================================ Ralink UBoot Version: 4.1.1.0 Buffalo UBoot Version: 3.00 -------------------------------------------- ASIC 7620_MP (Port5<->None) DRAM component: 512 Mbits DDR, width 16 DRAM bus: 16 bit Total memory: 64 MBytes Flash component: SPI Flash Date:Mar 20 2013 Time:17:45:05 ============================================ 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 =64 Mbytes Please choose the operation: 1: Load system code to SDRAM via TFTP. 2: Load system code then write to Flash via TFTP. 3: Boot system code via Flash (default). 4: Entr boot command line interface. 7: Load Boot Loader code then write to Flash via Serial. 9: Load Boot Loader code then write to Flash via TFTP. 0 aossgpio=[4] 3: System Boot system code via Flash. raspi_read: from:30000 len:10000 Erasing SPI Flash... raspi_erase: offs:30000 len:10000 . Writing to SPI Flash... raspi_write: to:30000 len:10000 . done ## Booting image at bc050000 ... raspi_read: from:50000 len:40 Image Name: Linux Kernel Image Image Type: MIPS Linux Kernel Image (lzma compressed) Data Size: 3838138 Bytes = 3.7 MB Load Address: 80000000 Entry Point: 8000c310 raspi_read: from:50040 len:3a90ba Verifying Checksum ... OK Uncompressing Kernel Image ... OK No initrd ## Transferring control to Linux (at address 8000c310) ... ## Giving linux memsize in MB, 64 Starting kernel ... LINUX started... THIS IS ASIC Linux version 2.6.36 (root@SWD1-CVS3) (gcc version 3.4.2) #23 Tue May 7 19:02:01 CST 2013 The CPU feqenuce set to 580 MHz PCIE: bypass PCIe DLL. PCIE: Elastic buffer control: Addr:0x68 -> 0xB4 disable all power about PCIe PCIE: PLL power down for MT7620N CPU revision is: 00019650 (MIPS 24Kc) Determined physical RAM map: memory: 04000000 @ 00000000 (usable) Initrd not found or empty - disabling initrd Zone PFN ranges: Normal 0x00000000 -> 0x00004000 Movable zone start PFN for each node early_node_map[1] active PFN ranges 0: 0x00000000 -> 0x00004000 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256 Kernel command line: console=ttyS1,57600n8 root=/dev/ram0 console=ttyS0 PID hash table entries: 256 (order: -2, 1024 bytes) Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes. Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes Writing ErrCtl register=0005c04f Readback ErrCtl register=0005c04f Memory: 57600k/65536k available (4064k kernel code, 7936k reserved, 700k data, 2368k init, 0k highmem) NR_IRQS:128 console [ttyS1] enabled Calibrating delay loop... 386.04 BogoMIPS (lpj=772096) pid_max: default: 32768 minimum: 301 Mount-cache hash table entries: 512 NET: Registered protocol family 16 RALINK_GPIOMODE = 1ab11d RALINK_GPIOMODE = 18b11d PPLL_CFG1=0x4010000 MT7620 PPLL unlock bio: create slab <bio-0> at 0 vgaarb: loaded SCSI subsystem initialized Switching to clocksource MIPS NET: Registered protocol family 2 IP route cache hash table entries: 1024 (order: 0, 4096 bytes) TCP established hash table entries: 2048 (order: 2, 16384 bytes) TCP bind hash table entries: 2048 (order: 1, 8192 bytes) TCP: Hash tables configured (established 2048 bind 2048) TCP reno registered UDP hash table entries: 256 (order: 0, 4096 bytes) UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) NET: Registered protocol family 1 squashfs: version 4.0 (2009/01/31) Phillip Lougher JFFS2 version 2.2 (NAND) (SUMMARY) (ZLIB) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc. fuse init (API version 7.15) msgmni has been set to 112 Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254) io scheduler noop registered (default) HDLC line discipline maxframe=4096 N_HDLC line discipline registered. #####GPIOMODE = 18911d##### Ralink gpio driver initialized Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled serial8250: ttyS0 at MMIO 0x10000500 (irq = 37) is a 16550A serial8250: ttyS1 at MMIO 0x10000c00 (irq = 12) is a 16550A brd: module loaded flash0: started deice id : c2 20 17 c2 20 (2017c220) MX25L6405D(c2 2017c220) (8192 Kbytes) mtd .name = raspi, .size = 0x00800000 (0M) .erasesize = 0x00000008 (0K) .numeraseregions = 65536 Creating 5 MTD partitions on "raspi": 0x000000000000-0x000000030000 : "Bootloader" 0x000000030000-0x000000040000 : "Config" 0x000000040000-0x000000050000 : "Factory" 0x000000050000-0x000000600000 : "Kernel" 0x000000600000-0x000000650000 : "User_CFG" rdm_major = 253 SMACCR1 -- : 0x0000000c SMACCR0 -- : 0x43762077 Ralink APSoC Ethernet Driver Initilization. v3.0 256 rx/tx descriptors allocated, mtu = 1500! SMACCR1 -- : 0x0000000c SMACCR0 -- : 0x43762077 PROC INIT OK! PPP generic driver version 2.4.2 PPP BSD Compression module registered NET: Registered protocol family 24 Ralink APSoC Hardware Watchdog Timer Netfilter messages via NETLINK v0.30. nf_conntrack version 0.5.0 (900 buckets, 3600 max) ctnetlink v0.93: registering with nfnetlink. IPVS: Registered protocols () IPVS: Connection hash table configured (size=4096, memory=32Kbytes) IPVS: ipvs loaded. ip_tables: (C) 2000-2006 Netfilter Core Team, Type=Restricted Cone TCP cubic registered NET: Registered protocol family 17 create_proc_read_write_entry: fail L2TP core driver, V2.0 PPPoL2TP kernel driver, V2.0 802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com> All bugs added by David S. Miller <davem@redhat.com> Freeing unused kernel memory: 2368k freed init started: BusyBox v1.12.1 (201Algorithmics/MIPS FPU Emulator v1.5 3-05-03 00:15:43 CST) starting pid 21, tty '': '/etc_ro/rcS' led=42, on=1, off=1, blinks,=4000, reset=1, time=4000 devpts: called with bogus options mount: mounting none on /proc/bus/usb failed: No such file or directory Welcome to _______ _______ ___ __ ____ _ _ ___ | ___ \| __ || | |__|| \ | || | / / | |___| || |__| || |__ __ | \| || |/ / | _ /| _ || || || |\ || \ |__| \__\|__| |__||______||__||_| \____||_|\___\ =System Architecture Department= [check_jffs]80 : JFFS_OK Set: phy[0].reg[0] = 3100 Set: phy[1].reg[0] = 3100 Set: phy[2].reg[0] = 3100 Set: phy[3].reg[0] = 3100 Set: phy[4].reg[0] = 3100 nvram_init: INFO=>nvram MAC initialized successfully! ==>shm_init()!! check_shm_hash: Check shm hash value nvram_init: INFO=>nvram conf initialized successfully! nvram_init: INFO=> RAM CONF successful created! nvram_init: INFO=> RC.CONF successful created! ---------------- Get WLAN MAC b0:c7:45:9a:72:54--------------- switch reg write offset=94, value=1000 switch reg write offset=2004, value=ff0003 switch reg write offset=2104, value=ff0003 switch reg write offset=2204, value=ff0003 switch reg write offset=2304, value=ff0003 switch reg write offset=2404, value=ff0003 switch reg write offset=2504, value=ff0003 switch reg write offset=2010, value=810000c0 switch reg write offset=2110, value=810000c0 switch reg write offset=2210, value=810000c0 switch reg write offset=2310, value=810000c0 switch reg write offset=2410, value=810000c0 switch reg write offset=2510, value=810000c0 switch reg write offset=2610, value=81000000 switch reg write offset=2710, value=81000000 switch reg write offset=2604, value=20ff0003 switch reg write offset=2704, value=20ff0003 Special Tag Disabled switch reg write offset=2610, value=81000000 switch reg writRaeth v3.0 (e Taskletof) fset= phy_tx_ring = 0x02ec9000, tx_ring = 0xa2ec9000 phy_rx_ring0 = 0x02eca000, rx_ring0 = 0xa2eca000 SMACCR1 -- : 0x0000b0c7 SMACCR0 -- : 0x459a7254 20ESW: Link Status Changed - Port4 Link UP 14CDMA_CSG_CFG = 81000000 , GDMA1_FWD_CFG = 20710000 value=10001 switch reg write offset=2114, value=10001 switch reg write offset=2214, value=10001 switch reg write offset=2314, value=10001 switch reg write offset=2414, value=10002 switch reg write offset=2514, value=10001 REG_ESW_WT_MAC_ATC is 0x7ff0002 done. device vlan0001 entered promiscuous mode device eth2 entered promiscuous mode input_access=[3] echo 3 > /proc/lan_wlan_access_controller br0: port 1(vlan0001) entering learning state br0: port 1(vlan0001) entering learning state led=44, on=1, off=1, blinks,=4000, reset=1, time=4000 getbootloaderenv : bootloader_ver =3.00 br0: port 1(vlan0001) entering forwarding state Fri Jan 1 00:00:00 GMT 2010 [Enter Test] in wlan_led_ctrl.c main() .libupnp: using UDP SSDP_PORT = 1900 brctl setwlanforward br0 15 rmmod: ipv6passthru: No such file or directory rmmod: ipv6passthru: No such file or directory /usr/shell/dnsmasq.sh stop ok dnsmasq: [truncated] m /usr/shell/dnsmasq.sh start ok /usr/shell/udhcpd.sh config ok /usr/shell/udhcpd.sh start ok ***** g_wl_interface = ra0 ****** MAX_NUM_SESSIONS : 5; NUM_SEES: 64 route: ioctl 0x890c failed: No such process /usr/shell/staticip.sh stop ok route: ioctl 0x890c failed: No such process /usr/shell/udhcpc.sh stop ok killall: internet_chk: no process killed ====Wan Check: Enter CHECK_WAN_LINK state==== ====Wan Check: WAN_LINK is online!==== ====Wan Check: Enter CHECK_DHCP_SERVER_WAN state==== /usr/shell/udhcpc.sh start ok ====Wan Check: CHECK_DHCP_SERVER_WAN is Fail!==== route: ioctl 0x890c failed: No such process /usr/shell/udhcpc.sh stop ok ====Wan Check: Enter CHECK_DHCP_SERVER_LAN state==== /usr/shell/udhcpc.sh lan_dhcpc_start ok ====Wan Check: CHECK_DHCP_SERVER_LAN is Fail!==== /usr/shell/udhcpc.sh lan_dhcpc_stop ok route: ioctl 0x890c failed: No such process /usr/shell/staticip.sh stop ok route: ioctl 0x890c failed: No such process /usr/shell/udhcpc.sh stop ok killall: internet_chk: no process killed /usr/shell/udhcpc.sh start ok starting pid 4909, tty '/dev/ttyS1': '/bin/sh' BusyBox v1.12.1 (2013-05-03 00:15:43 CST) built-in shell (ash) Enter 'help' for a list of built-in commands.


OpenWrt Bootlog

U-Boot 1.1.3 (Mar 20 2013 - 17:45:05) Board: Ralink APSoC DRAM: 64 MB relocate_code Pointer at: 83fb4000 enable ephy clock...done. rf reg 29 = 5 SSC disabled. spi_wait_nsec: 29 spi device id: c2 20 17 c2 20 (2017c220) find flash: MX25L6405D raspi_read: from:30000 len:1000 raspi_read: from:30000 len:1000 *** Check if data is correct or not... *** Data is correct. ============================================ Ralink UBoot Version: 4.1.1.0 Buffalo UBoot Version: 3.00 -------------------------------------------- ASIC 7620_MP (Port5<->None) DRAM component: 512 Mbits DDR, width 16 DRAM bus: 16 bit Total memory: 64 MBytes Flash component: SPI Flash Date:Mar 20 2013 Time:17:45:05 ============================================ 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 =64 Mbytes Please choose the operation: 1: Load system code to SDRAM via TFTP. 2: Load system code then write to Flash via TFTP. 3: Boot system code via Flash (default). 4: Entr boot command line interface. 7: Load Boot Loader code then write to Flash via Serial. 9: Load Boot Loader code then write to Flash via TFTP. 0 aossgpio=[4] 3: System Boot system code via Flash. raspi_read: from:30000 len:10000 Erasing SPI Flash... raspi_erase: offs:30000 len:10000 . Writing to SPI Flash... raspi_write: to:30000 len:10000 . done ## Booting image at bc050000 ... raspi_read: from:50000 len:40 Image Name: MIPS OpenWrt Linux-3.10.44 Image Type: MIPS Linux Kernel Image (lzma compressed) Data Size: 1014738 Bytes = 991 kB Load Address: 80000000 Entry Point: 80000000 raspi_read: from:50040 len:f7bd2 Verifying Checksum ... OK Uncompressing Kernel Image ... OK No initrd ## Transferring control to Linux (at address 80000000) ... ## Giving linux memsize in MB, 64 Starting kernel ... [ 0.000000] Linux version 3.10.44 (brown@brown) (gcc version 4.8.3 (OpenWrt/Linaro GCC 4.8-2014.04 r41672) ) #1 Wed Jul 16 14:43:46 CDT 2014 [ 0.000000] Board has DDR2 [ 0.000000] Analog PMU set to hw control [ 0.000000] Digital PMU set to hw control [ 0.000000] SoC Type: Ralink MT7620N ver:2 eco:3 [ 0.000000] bootconsole [early0] enabled [ 0.000000] CPU revision is: 00019650 (MIPS 24KEc) [ 0.000000] MIPS: machine is Buffalo WMR-300 [ 0.000000] Determined physical RAM map: [ 0.000000] memory: 04000000 @ 00000000 (usable) [ 0.000000] Initrd not found or empty - disabling initrd [ 0.000000] Zone ranges: [ 0.000000] Normal [mem 0x00000000-0x03ffffff] [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x00000000-0x03ffffff] [ 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] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256 [ 0.000000] Kernel command line: console=ttyS0,57600 rootfstype=squashfs,jffs2 [ 0.000000] PID hash table entries: 256 (order: -2, 1024 bytes) [ 0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) [ 0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) [ 0.000000] Writing ErrCtl register=0004e1cf [ 0.000000] Readback ErrCtl register=0004e1cf [ 0.000000] Memory: 61712k/65536k available (2279k kernel code, 3824k reserved, 550k data, 176k init, 0k highmem) [ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] NR_IRQS:256 [ 0.000000] CPU Clock: 580MHz [ 0.000000] Calibrating delay loop... 385.84 BogoMIPS (lpj=1929216) [ 0.060000] pid_max: default: 32768 minimum: 301 [ 0.060000] Mount-cache hash table entries: 512 [ 0.070000] pinctrl core: initialized pinctrl subsystem [ 0.080000] NET: Registered protocol family 16 [ 0.100000] bio: create slab <bio-0> at 0 [ 0.110000] rt2880_gpio 10000600.gpio: registering 24 gpios [ 0.120000] rt2880_gpio 10000600.gpio: registering 24 irq handlers [ 0.130000] rt2880_gpio 10000660.gpio: registering 32 gpios [ 0.140000] rt2880_gpio 10000660.gpio: registering 32 irq handlers [ 0.150000] Switching to clocksource MIPS [ 0.160000] NET: Registered protocol family 2 [ 0.170000] TCP established hash table entries: 512 (order: 0, 4096 bytes) [ 0.180000] TCP bind hash table entries: 512 (order: -1, 2048 bytes) [ 0.190000] TCP: Hash tables configured (established 512 bind 512) [ 0.210000] TCP: reno registered [ 0.210000] UDP hash table entries: 256 (order: 0, 4096 bytes) [ 0.220000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 0.240000] NET: Registered protocol family 1 [ 0.250000] rt-timer 10000100.timer: maximum frequncy is 2441Hz [ 0.270000] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.280000] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc. [ 0.310000] msgmni has been set to 120 [ 0.310000] io scheduler noop registered [ 0.320000] io scheduler deadline registered (default) [ 0.330000] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled [ 0.350000] 10000c00.uartlite: ttyS0 at MMIO 0x10000c00 (irq = 20) is a 16550A [ 0.360000] console [ttyS0] enabled, bootconsole disabled [ 0.360000] console [ttyS0] enabled, bootconsole disabled [ 0.390000] m25p80 spi32766.0: mx25l6405d (8192 Kbytes) [ 0.400000] 4 ofpart partitions found on MTD device spi32766.0 [ 0.410000] Creating 4 MTD partitions on "spi32766.0": [ 0.420000] 0x000000000000-0x000000030000 : "u-boot" [ 0.430000] 0x000000030000-0x000000040000 : "u-boot-env" [ 0.440000] 0x000000040000-0x000000050000 : "factory" [ 0.460000] 0x000000050000-0x000000800000 : "firmware" [ 0.470000] 0x000000147c12-0x000000800000 : "rootfs" [ 0.480000] mtd: partition "rootfs" must either start or end on erase block boundary or be smaller than an erase block -- forcing read-only [ 0.500000] mtd: device 4 (rootfs) set to be root filesystem [ 0.520000] mtd: partition "rootfs_data" created automatically, ofs=0x370000, len=0x490000 [ 0.530000] 0x000000370000-0x000000800000 : "rootfs_data" [ 0.550000] ralink_soc_eth 10100000.ethernet: loaded mt7530 driver [ 0.560000] eth0: done loading [ 0.570000] rt3xxx-usbphy ubsphy.3: loaded [ 0.580000] rt2880_wdt 10000120.watchdog: Initialized [ 0.590000] TCP: cubic registered [ 0.590000] NET: Registered protocol family 17 [ 0.600000] 8021q: 802.1Q VLAN Support v1.8 [ 0.620000] VFS: Mounted root (squashfs filesystem) readonly on device 31:4. [ 0.640000] Freeing unused kernel memory: 176K (802c4000 - 802f0000) procd: Console is alive procd: - watchdog - [ 3.860000] leds-gpio gpio-leds.4: pins are not configured from the driver procd: - preinit - 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 jffs2 is ready jffs2 is ready [ 7.590000] jffs2: notice: (260) jffs2_build_xattr_subsystem: complete building xattr subsystem, 1 of xdatum (0 unchecked, 0 orphan) and 9 of xref (0 dead, 0 orphan) found. switching to overlay procd: - early - procd: - watchdog - procd: - ubus - procd: - init - Please press Enter to activate this console. [ 8.980000] NET: Registered protocol family 10 [ 9.000000] nf_conntrack version 0.5.0 (967 buckets, 3868 max) [ 9.020000] ip6_tables: (C) 2000-2006 Netfilter Core Team [ 9.040000] Loading modules backported from Linux version master-2014-05-22-0-gf2032ea [ 9.060000] Backport generated by backports.git backports-20140320-37-g5c33da0 [ 9.080000] ip_tables: (C) 2000-2006 Netfilter Core Team [ 9.120000] xt_time: kernel timezone is -0000 [ 9.160000] cfg80211: Calling CRDA to update world regulatory domain [ 9.170000] cfg80211: World regulatory domain updated: [ 9.180000] cfg80211: DFS Master region: unset [ 9.190000] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time) [ 9.210000] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A) [ 9.220000] cfg80211: (2457000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A) [ 9.240000] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 mBm), (N/A) [ 9.260000] cfg80211: (5170000 KHz - 5250000 KHz @ 160000 KHz), (N/A, 2000 mBm), (N/A) [ 9.270000] cfg80211: (5250000 KHz - 5330000 KHz @ 160000 KHz), (N/A, 2000 mBm), (0 s) [ 9.290000] cfg80211: (5490000 KHz - 5730000 KHz @ 160000 KHz), (N/A, 2000 mBm), (0 s) [ 9.300000] cfg80211: (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A) [ 9.320000] cfg80211: (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 0 mBm), (N/A) [ 9.380000] PPP generic driver version 2.4.2 [ 9.390000] NET: Registered protocol family 24 [ 9.430000] rt2800_wmac 10180000.wmac: failed to load eeprom property [ 9.440000] ieee80211 phy0: rt2x00lib_request_eeprom_file: Info - Loading EEPROM data from 'soc_wmac.eeprom'. [ 9.460000] ieee80211 phy0: rt2x00_set_rt: Info - RT chipset 5390, rev 0500 detected [ 9.480000] ieee80211 phy0: rt2x00_set_rf: Info - RF chipset 7620 detected procd: - init complete - [ 16.060000] device eth0.1 entered promiscuous mode [ 16.070000] device eth0 entered promiscuous mode [ 16.080000] br-lan: port 1(eth0.1) entered forwarding state [ 16.090000] br-lan: port 1(eth0.1) entered forwarding state [ 16.640000] cfg80211: Calling CRDA for country: JP [ 16.650000] cfg80211: Regulatory domain changed to country: JP [ 16.660000] cfg80211: DFS Master region: JP [ 16.670000] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time) [ 16.680000] cfg80211: (2402000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A) [ 16.700000] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 mBm), (N/A) [ 16.720000] cfg80211: (4910000 KHz - 4990000 KHz @ 40000 KHz), (N/A, 2300 mBm), (N/A) [ 16.730000] cfg80211: (5030000 KHz - 5090000 KHz @ 40000 KHz), (N/A, 2300 mBm), (N/A) [ 16.750000] cfg80211: (5170000 KHz - 5250000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A) [ 16.760000] cfg80211: (5250000 KHz - 5330000 KHz @ 80000 KHz), (N/A, 2000 mBm), (0 s) [ 16.780000] cfg80211: (5490000 KHz - 5710000 KHz @ 160000 KHz), (N/A, 2300 mBm), (0 s) [ 18.090000] br-lan: port 1(eth0.1) entered forwarding state [ 18.260000] ------------[ cut here ]------------ [ 18.270000] WARNING: at /data/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620n/compat-wireless-2014-05-22/drivers/net/wireless/rt2x00/rt2800lib.c:408 rt2800_vco_calibration+0x2d8/0x3d4 [rt2800lib]() [ 18.310000] phy0: invalid EEPROM word 208 [ 18.320000] Modules linked in: rt2800soc rt2800mmio rt2800lib pppoe ppp_async iptable_nat rt2x00soc rt2x00mmio rt2x00lib pppox ppp_generic nf_nat_ipv4 nf_conntrack_ipv4 mac80211 ipt_MASQUERADE cfg80211 xt_time xt_tcpudp xt_state xt_nat xt_multiport xt_mark xt_mac xt_limit xt_conntrack xt_comment xt_TCPMSS xt_REDIRECT xt_LOG xt_CT slhc nf_nat_irc nf_nat_ftp nf_nat nf_defrag_ipv4 nf_conntrack_irc nf_conntrack_ftp iptable_raw iptable_mangle iptable_filter ipt_REJECT ip_tables crc_itu_t crc_ccitt compat ledtrig_heartbeat ledtrig_gpio ip6t_REJECT ip6table_raw ip6table_mangle ip6table_filter ip6_tables x_tables nf_conntrack_ipv6 nf_conntrack nf_defrag_ipv6 ipv6 eeprom_93cx6 arc4 crypto_blkcipher leds_gpio gpio_button_hotplug [ 18.440000] CPU: 0 PID: 843 Comm: hostapd Not tainted 3.10.44 #1 [ 18.460000] Stack : 00000000 00000000 00000000 00000000 802f2eea 00000034 830f6b88 8327dca8 80265984 802af1fb 0000034b 802f2694 830f6b88 8327dca8 00000001 00000000 00000001 8001e0ac 00000003 8001bb18 83133bd8 8327dca8 80267210 8327db14 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 8327daa0 ... [ 18.530000] Call Trace: [ 18.530000] [<80011254>] show_stack+0x48/0x70 [ 18.540000] [<8001bc14>] warn_slowpath_common+0x78/0xa8 [ 18.550000] [<8001bc70>] warn_slowpath_fmt+0x2c/0x38 [ 18.560000] [<83122728>] rt2800_vco_calibration+0x2d8/0x3d4 [rt2800lib] [ 18.570000] [<831227fc>] rt2800_vco_calibration+0x3ac/0x3d4 [rt2800lib] [ 18.590000] [<8312a5cc>] rt2800_reset_tuner+0x7ac/0xb24 [rt2800lib] [ 18.600000] [ 18.600000] ---[ end trace 332d69e446d66f32 ]--- [ 18.630000] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready [ 18.640000] device wlan0 entered promiscuous mode [ 18.650000] br-lan: port 2(wlan0) entered forwarding state [ 18.660000] br-lan: port 2(wlan0) entered forwarding state [ 18.710000] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready [ 20.660000] br-lan: port 2(wlan0) entered forwarding state BusyBox v1.22.1 (2014-07-16 14:09:06 CDT) built-in shell (ash) Enter 'help' for a list of built-in commands. _______ ________ __ | |.-----.-----.-----.| | | |.----.| |_ | - || _ | -__| || | | || _|| _| |_______|| __|_____|__|__||________||__| |____| |__| W I R E L E S S F R E E D O M ----------------------------------------------------- BARRIER BREAKER (Bleeding Edge, r41672) ----------------------------------------------------- * 1/2 oz Galliano Pour all ingredients into * 4 oz cold Coffee an irish coffee mug filled * 1 1/2 oz Dark Rum with crushed ice. Stir. * 2 tsp. Creme de Cacao ----------------------------------------------------- root@OpenWrt:/#


Procedure

There are (at least) two ways to reach the flashing engine: using serial, and via tftp

Using serial

The following is necessary

  • A 4-pin connector, like header_20-_204_20pin_20-_20unlatched.jpg
  • A USB to serial interface (the FTDI modules are excellent)
  • A cable between the 4-pin connector and the FTDI module
  • A soldering iron and a bit of solder

No other tool is needed. Of course if your PC has a serial connector, you might use that instead of the FTDI.

Opposite network connector (actually top of the box) is a hollow, which is thinner near the AOSS button. This is where the top of the USB cable sits. Try to depart the two sides of that thinner hollow - the top (2-3 millimeters) of the plastic (AOSS button side) should open. Gently, keep pulling.

In the bottom picture above, bottom-right side of the board is the 4 PINs serial connector (from square one: VCC, Rx, Tx, Gnd). VCC does not need to be connected. Connect board Rx to PC Tx, Tx to PC Rx, and the G(rou)nd.

Parameters: 57600 bauds, 8 bits, No parity, 1 stop bit.

Open a serial terminal, set the parameters and switch on the router, you should see the bootlog as shown in the above page. (It comes pretty quickly, ~2 seconds, so if you don't see anything, check your connections).

U-Boot 1.1.3 (Mar 20 2013 - 17:45:05)

Board: Ralink APSoC DRAM:  64 MB
relocate_code Pointer at: 83fb4000
...
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 =64 Mbytes

Please choose the operation: 
   1: Load system code to SDRAM via TFTP. 
   2: Load system code then write to Flash via TFTP. 
   3: Boot system code via Flash (default).
   4: Entr boot command line interface.
   7: Load Boot Loader code then write to Flash via Serial. 
   9: Load Boot Loader code then write to Flash via TFTP. 

To flash a firmware, either a Kermit-like tool to write it via serial is necessary (option 7). Or a tftp server on the PC connected with the network cable (option 2).

Default tftp settings (can be changed) are

  • router is 192.168.<b>11</b>.1
  • PC is 192.168.<b>11</b>.168
  • filename: 'firmware_WMR-300.ram' (but it'll ask)

The pc must be set with that static IP, for the interface connected to the router.

Without serial, via tftp server

No need of a serial connection - however the process is done blindly…

Note that unlike many routers, the WMR-300 does not have a tftp server (at least the manufacturer's fw). Meaning: polling the tftp port (tftp command) from the PC until the router is ready and absorbs the data will not work. To push data (a fw) to the router, this is the other way around: start a tftp server on the PC, and trigger the tftp action from the router, as described below.

Preliminary step and necessary file:

  • setup a tftp server PC side: the NIC IPv4 on PC to which the router is connected must be 192.168.11.168 (shouldn't matter much in this case, but the network is a class C)
  • a firmware which magic code is 0x27051956 (big endian, see below) for that chipset. The "initramfs" version of the wmr-300 will work fine (compile it or try to find it on the Net - see below)

The firmware file will actually be loaded in memory and run (ie not flashed directly). But once loaded, its features are usable.

Unfortunately the SquashFS version of the firmware provided on the page above "openwrt-ramips-mt7620n-wmr-300-squashfs-sysupgrade.bin" (files for mt7620 or its update 2015) works fine, when burned into the flash memory. However, when directly loaded in memory by the boot loader, the following fatal error is triggered

Kernel panic - not syncing: No init found

This page gives a hint

basically (from @jow)

since OpenWrt has no initrd facility at all it cannot preload the required modules to find the rootfs. You need to run "make kernel_menuconfig" and mark the appropriate controller driver as builtin so that it is actually compiled into the kernel image.
Don't panic (too :-) A workaround is to get a firmware compiled with "ramdisk" instead of "squash" FS, so that it can be loaded in memory, and be started directly from the boot loader.

  • Do a web search of "Build openwrt" and get the environment for the BB version (not Breaking Bad, "Barrier Breaker" :-) Update 2016: Use "Chaos Calmer" instead. See here.
  • Get the config file from latest CC repo, *currently* here and copy it as ".config" in your 'openwrt' directory.
  • do 'make menuconfig', enter 'Target Images' and press space on "[ ] ramdisk" to get "[*] ramdisk"
  • Better add LuCI module (web access), search google on how to do that
  • "Save" the config (as .config) and do "make -j 5" (5 or number of cores + 1, to accelerate comp)

Total will take ~11GB, and a few minutes of CPU.
In the openwrt home dir/bin/ramips should be "openwrt-ramips-mt7620n-wmr-300-initramfs-uImage.bin", that's the one to copy into the tftp server directory renamed as "firmware_WMR-300.ram".
(the original Buffalo fw, once the first 0x34 bytes removed, doesn't have this problem and loads in memory then run with no problem )<br>Note: in the meantime, maybe someone generated the "initramfs" version in the openwrt downloads dir - check it, just in case.

Once you get the right fw named "firmware_WMR-300.ram", set in the tftp server dir, plug the wmr-300 USB to start the boot process as follow:

  • Switch ON the router (plug USB)
  • after 1-2 seconds press and hold for ~5 seconds the AOSS button
  • The router then requests automatically your tftp server for a file named "firmware_WMR-300.ram"
  • The load of the fw takes less than 10 seconds
  • Then wait for the router to boot

Note that usually this kind of procedure requires to press a button before switching ON the router. Here, this is not the case. And doing so seems to freeze or damage the device if repeated, and the serial output is weird! So, ensure to press nothing when you switch on the beast…

If successful, keep the router ON (remember the fw is only in RAM). The openwrt fw being loaded, the PC interface address (to which the router is connected) has to be changed from the tftp address/network to the openwrt default one (we're now on the 192.168.1.0/24 network).

Say 192.168.1.22 for the PC (router is 192.168.1.1). If you can

ping 192.168.1.1
That's a hurrah!! Then from the browser access http://192.168.1.1 and the LuCI Flash feature should work directly, without the hassle of a serial connection. Select from the same binary dir (or the openwrt-site one) the "…wmr-300-squashfs-sysupgrade.bin" file to be flashed.

Tags

toh/buffalo/wmr-300.txt · Last modified: 2017/09/23 11:52 by *++p