Hi-Link HLK-RM04

This device is NOT RECOMMENDED for future use with OpenWrt due to low flash/ram.
DO NOT BUY DEVICES WITH 4MB FLASH / 32MB RAM if you intend to flash an up-to-date and secure OpenWrt version onto it! See 4/32 warning for details.

1) This device does not have sufficient resources (flash and/or RAM) to provide secure and reliable operation.
This means that even setting a password or changing simple network settings might not be possible any more, rendering the device effectively useless. See OpenWrt on 4/32 devices what you can do now.

2) OpenWrt support for this device has ended in 2022.
19.07.10 was the last official build for 4/32 devices.

This is not a router product, but a router module designed by Hi-Link. HLK-RM04 is a low-cost embedded UART-ETH-WIFI module (serial port - Ethernet - Wireless network). This product is an embedded module based on the universal serial interface network standard, built-in TCP / IP protocol stack, enabling the user serial port, Ethernet, wireless network (wifi) interface between the conversions. Through the HLK-RM04 module, the traditional serial devices do not need to change any configuration; data can be transmitted through the Internet network. Provide a quick solution for the user’s serial devices to transfer data via Ethernet.

Product page:

Resources:

Get patch on github, follow the guide to compile Openwrt.

or use guide below which works better on later OpenWRT versions (tested on 18.06.xx)

Build your own OpenWRT image for Hi-link hlk-rm04 modules with 8MB flash and 32 MB RAM

So far, WEBUI upgrade firmware does not work for flash openwrt image. This installtion need two steps:

  • replace the HiLink official uboot
  • use the new uboot to flash Openwrt image
  • USB2Serial or USB2TTL tool
  • One Network cable
  • serial concole(putty or similar)
  • tftp server, (Ubuntu tftp-hpa; Windows: Tftpd32.exe)

Replace the uboot

  1. set your PC ipadress to 192.168.16.100, Gateway 192.168.16.254, may be difference if you have changed it once.
  2. connect HLK-RM04 LAN port to your PC, power up HLK-RM04
  3. access http://192.168.16.254/adm/hlk_update_www_hlktech_com.asp (user: admin, password: admin if required), replace 192.168.16.254 with yours, if you've changed it once.
  4. find Update Bootloader option, click Choose File, then select uboot128.img or for 8MB flash and 32MB RAM modules use uboot256.img, click Apply then click OK to make sure.

Here, we have replaced the uboot of HLK-RM04 successfully. And now the hlk-rm04 works fine, only thing what we change is let Uboot 'talk' to us, so that we can use uboot to download the openwrt image.

Flash Openwrt with new Uboot

  1. configure a tftp server.
    • For Ubuntu, See more Install tftp info
      • sudo apt-get install tftpd-hpa 
        sudo service tftpd-hpa start
        cp bin/ramips/openwrt-ramips-rt305x-hlk-rm04-squashfs-sysupgrade.bin /var/lib/tftpboot/ 
    • An alternative method to tftpd-hpa is dnsmasq:
      • Install dnsmasq, for ex under ubuntu/debian:
        apt-get install dnsmasq
      • Create a directory where you will put the TFTP files:
        mkdir -p /var/lib/tftpboot
      • Copy the firmware upgrade file:
        cp openwrt-ramips-rt305x-hlk-rm04-squashfs-sysupgrade.bin /var/lib/tftpboot/
      • Create an /etc/dnsmasq.conf with 2 lines:
        enable-tftp
        tftp-root=/var/lib/tftpboot
      • Launch dnsmasq in debug mode:
        $ dnsmasq -d
        dnsmasq: started, version 2.71 cachesize 150
        dnsmasq: compile time options: IPv6 GNU-getopt no-DBus i18n IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset no-auth no-DNSSEC
        dnsmasq-tftp: TFTP root is /var/lib/tftpboot 
        dnsmasq: reading /etc/resolv.conf
        dnsmasq: using nameserver 8.8.8.8#53
        dnsmasq: read /etc/hosts - 8 addresses
    • For Windows, download Tftpd32.exe, place `openwrt-ramips-rt305x-hlk-rm04-squashfs-sysupgrade.bin' in the same directory with Tftpd32.exe, choose a right server ip.
  2. open serial use 57600,8,n,1, make sure you have connect the serial cable.
  3. Restart your HLK-RM04 module. Push '2' rapidly to enter the tftp write flash mode.
  4. Set device ip 192.168.16.1, Set server ip 192.168.16.100.
  5. input the file name openwrt-ramips-rt305x-hlk-rm04-squashfs-sysupgrade.bin
    • 2: System Load Linux Kernel then write to Flash via TFTP.
      Warning!! Erase Linux in Flash then burn new one. Are you sure?(Y/N)
      Please Input new ones /or Ctrl-C to discard
          Input device IP (10.10.10.123) ==:192.168.16.1
          Input server IP (10.10.10.3) ==:192.168.16.100
          Input Linux Kernel filename (tim_uImage) ==:openwrt-ramips-rt305x-hlk-rm04-squashfs-sysupgrade.bin

Wait flashing finished, then you can use Openwrt on HLK-RM04.

There is not a simple way to run OpenWrt on this tiny module, because Hi-link disabled uboot. Therefor we can solve this by finding a Hi-Link compatible firmware for it.

For example of *Hame MPR-A1*:

  • Solder out the Hame MPR-A1's 4M flash, then just copy all 4M content.
  • Solder out the Hi-Link's 4M flash, write the MPR-A1's 4M firmware to it.
  • Solder back the flash, Now the Hi-Link HLK-RM04 performs like a MPR-A1, and more information here.

LED Defintion

LED1 -→ power LED

LED2 -→ EPY_LED4_N

LED3 -→ WLAN_LED_N

Pin Definition

No. Kit V1.7 Label Kit V2.3 Label RT5350 Pin Direction Explanation
1 VDD5V +5V - Power In 5 Power input
2 GND GND - GND Power GND
3 WLAN_LED WIFLED WLAN_LED_N O WIFI LED
4 3.3V 3.3V - Power Out 3.3V power output <300mA
5 LINK1 LINK2 EPHY_LED3_N I/O Net gape 1 LED indicate / GPIO25
6 USB_P USBP UPHY0_PADP D USB signal D+
7 USB_M USBM UPHY0_PADM D USB signal D-
8 I2S_SD STA I2C_SD I/O I2C DATA / GPIO1
9 I2S_CLK GPIO1 I2C_SCLK I/O I2C CLK / GPIO2
10 GPIO0 ES GPIO0 I/O Exit button* / GPIO0
11 TXOP1 TXOP2 EPHY_TXP_P3 I/O Net gape 1 TX-P, Pin 1
12 TXON1 TXON2 EPHY_TXN_P3 I/O Net gape 1 TX-N, Pin 2
13 RXIP2 RXIP1 EPHY_RXP_P4 I/O Net gape 2 RX-P, Pin 3
14 RXIN2 RXIN1 EPHY_RXN_P4 I/O Net gape 2 RX-N, Pin 6
15 RXIN1 RXIN2 EPHY_RXN_P3 I/O Net gape 1 RX-N, Pin 6
16 RXIP1 RXIP2 EPHY_RXP_P3 I/O Net gape 1 RX-P, Pin 3
17 TXON2 TXON1 EPHY_TXN_P4 I/O Net gape 2 TX-N, Pin 2
18 TXOP2 TXOP1 EPHY_TXP_P4 I/O Net gape 2 TX-P, Pin 1
19 RTS_N RST RTS_N I/O All function serial RTS / I2SCLK / GPIO7
20 UART_RX RX RXD2 I Simple serial RX / GPIO16
21 UART_TX TX TXD2 O Simple serial TX / GPIO15
22 RXD RX2 RXD I/O All function serial RX / I2SSDI / GPIO10
23 LINK2 LINK1 EPHY_LED4_N I/O Net gape 2 LED I/O indicate / WAN LED(LED2) / GPIO26
24 CTS_N CTS CTS_N I/O All function serial CTS / I2SSDO / GPIO9
25 RIN WPS RIN I/O All function serial RING / PCMDTX / WPS button* / GPIO14
26 TXD TX2 TXD I/O All function serial TX / I2SWS / GPIO8
27 1.8V 1.8V - Power Out Net gape 1.8V output <300mA
28 VDD5V +5V - Power In 5V input

* These buttons exist on the RM04 dev board

Resources

  • 2 Serial ports.
  • 1 I2C
  • 1 I2S (muxed with UARTF)
  • 1 PCM (muxed with UARTF, data only) - PCM clock, sync, and RX pins are not wired, but PCMDTX is available and useful for timing-sensitive 1-wire serial protocols at 19.531kHz~20MHz
  • Up to 12 GPIOs (some features reserve GPIO: I2C[2], UART[2], UARTF[5], EPHY_LED[2], GPIO0[1] and can be disabled for more GPIO).
  • 2 Ethernet ports.
  • 1 USB2.0 interface.
  • 5V supply input.

Size

MEMORY\RESISTOR R144 R146 R24 R25 Comment
32M/32M*2 Y N N Y (Default)
32M Y N Y N
16M N Y Y N
8M N Y N Y

hlk-rm04-mem-config

By default, memory configuration of hlk-rm04 select 32M/32M*2, but it uses 16M SDRAM, so if you don't want to modify hardware, you must manually specify the memory size for openwrt. If you want openwrt to check the SDRAM size automatically, then you need to solder out R144 and solder back it to R146 and make R24 to R25. R144 and R146 are on the front side, R24 and R25 are on the back side.

If you want to expand the SDRAM to 32M, just exchange the SDRAM chip, and don't change the resister, because it select 32M SDRAM by default.

In fact R144/R146 are pull up/down resisters for pin EPHY_LED3_N, R24/R25 are pull up/down resisters for EPHY_LED2_N.

R144	pull up resister for EPHY_LED3_N
R146	pull down resister for EPHY_LED3_N
R24	pull up resister for EPHY_LED2_N
R25	pull down resister for EPHY_LED2_N

Upgrade to 32M compatible SDRAM

You will need SDRAM that conforms to 4 Meg x 16 x 4 banks in a 54 pin TSOP II package

ELPIDA		DS2516APTA-75
ESMT		M12L2561616A-7TG
EtronTech	EM63A165TS-7G
Micron		MT48LC16M16A2TG-7E
Samsung		K4S561632D-TC1L
Winbond 	W9825G6JH-6I

The U-Boot shell appears to be disabled by the OEM.

Holding down the WPS button during power-on forces TFTP loading. Depending on the duration of the time you held the WPS button, one of two TFTP modes run. At least one of these modes will write to flash. Please error on the side of caution, you can brick your device. Be prepared to desolder your SPI flash if you play here.

There are at least 3 ways to break into the stock firmware:

UART2 login

Hi-Link left a modified version of getty running on ttyS0, configured for 57600 8n1, which waits for the sequence “174317529705122” followed by a carriage return. After that, it will begin passsing characters to/from the login program. The “login:” prompt should already been issued and should be waiting for a username. You will not see the “login:” prompt unless you have a failed login attempt.

AT command

There is an undocumented “at+excxxx” command you can use in configuration mode. Command output is discarded; however you can redirect output to /dev/ttyS1 to see it.

Examples:

at+excxxx=telnetd
at+excxxx=ls / > /dev/ttyS1

HTTP post

There is this:

http://192.168.16.254/adm/hlk_1037283194.asp

However, commands are sent to the wrong URL. This Github Gist is the solution to that problem:

Commands only work when sent via HTTP POST. GET requests do not work.

Default login user: admin
Default password: admin

Default firmware output disabled by Hi-Link. No boot log.

Origin firmware information

# logread Jan 1 00:00:21 ralink user.info kernel: PPP generic driver version 2.4.2 Jan 1 00:00:21 ralink user.info kernel: PPP Deflate Compression module registered Jan 1 00:00:21 ralink user.info kernel: PPP BSD Compression module registered Jan 1 00:00:21 ralink user.info kernel: PPP MPPE Compression module registered Jan 1 00:00:21 ralink user.info kernel: NET: Registered protocol family 24 Jan 1 00:00:21 ralink user.info kernel: PPPoL2TP kernel driver, V0.17 Jan 1 00:00:21 ralink user.info kernel: PPTP driver version 0.8.1 Jan 1 00:00:21 ralink user.info kernel: tun: Universal TUN/TAP device driver, 1.6 Jan 1 00:00:21 ralink user.info kernel: tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com> Jan 1 00:00:21 ralink user.info kernel: block2mtd: version $Revision: 1.1.1.1 $ Jan 1 00:00:21 ralink user.warn kernel: GACT probability on Jan 1 00:00:21 ralink user.warn kernel: Mirror/redirect action on Jan 1 00:00:21 ralink user.warn kernel: Simple TC action Loaded Jan 1 00:00:21 ralink user.warn kernel: u32 classifier Jan 1 00:00:21 ralink user.warn kernel: Performance counters on Jan 1 00:00:21 ralink user.warn kernel: input device check on Jan 1 00:00:21 ralink user.warn kernel: Actions configured Jan 1 00:00:21 ralink user.warn kernel: nf_conntrack version 0.5.0 (128 buckets, 1024 max) Jan 1 00:00:21 ralink user.warn kernel: ip_tables: (C) 2000-2006 Netfilter Jan 1 00:00:21 ralink user.info kernel: Core Team, Type=Linux Jan 1 00:00:21 ralink user.warn kernel: ipt_time loading Jan 1 00:00:21 ralink user.warn kernel: arp_tables: (C) 2002 David S. Miller Jan 1 00:00:21 ralink user.info kernel: TCP cubic registered Jan 1 00:00:21 ralink user.info kernel: NET: Registered protocol family 1 Jan 1 00:00:21 ralink user.info kernel: NET: Registered protocol family 17 Jan 1 00:00:21 ralink user.notice kernel: Ebtables v2.0 registered Jan 1 00:00:21 ralink user.info kernel: 802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com> Jan 1 00:00:21 ralink user.info kernel: All bugs added by David S. Miller <davem@redhat.com> Jan 1 00:00:21 ralink user.warn kernel: VFS: Mounted root (squashfs filesystem) readonly. Jan 1 00:00:21 ralink user.info kernel: Freeing unused kernel memory: 108k freed Jan 1 00:00:21 ralink user.warn kernel: Warning: unable to open an initial console. Jan 1 00:00:21 ralink user.warn kernel: Algorithmics/MIPS FPU Emulator v1.5 Jan 1 00:00:21 ralink user.err kernel: devpts: called with bogus options Jan 1 00:00:21 ralink user.warn kernel: baud 9600^M Jan 1 00:00:21 ralink user.warn kernel: xxxxx:-2144892024 9600 260 baud 57600^M Jan 1 00:00:21 ralink user.warn kernel: xxxxx:-2144892024 57600 43 <4>rt2860v2_ap: module license 'unspecified' taints kernel. Jan 1 00:00:21 ralink user.warn kernel: Jan 1 00:00:21 ralink user.warn kernel: Jan 1 00:00:21 ralink user.warn kernel: === pAd = c0083000, size = 805120 === Jan 1 00:00:21 ralink user.warn kernel: Jan 1 00:00:21 ralink user.warn kernel: <-- RTMPAllocAdapterBlock, Status=0 Jan 1 00:00:21 ralink user.warn kernel: RX DESC a067f000 size = 2048 Jan 1 00:00:21 ralink user.warn kernel: <-- RTMPAllocTxRxRingMemory, Status=0 Jan 1 00:00:21 ralink user.warn kernel: Key1Str is Invalid key length(0) or Type(0) Jan 1 00:00:21 ralink user.warn kernel: Key2Str is Invalid key length(0) or Type(0) Jan 1 00:00:21 ralink user.warn kernel: Key3Str is Invalid key length(0) or Type(0) Jan 1 00:00:21 ralink user.warn kernel: Key4Str is Invalid key length(0) or Type(0) Jan 1 00:00:21 ralink user.warn kernel: 1. Phy Mode = 9 Jan 1 00:00:21 ralink user.warn kernel: 2. Phy Mode = 9 Jan 1 00:00:21 ralink user.warn kernel: 3. Phy Mode = 9 Jan 1 00:00:21 ralink user.warn kernel: pAd->TxPowerCtrl.bInternalTxALC == FALSE ! Jan 1 00:00:21 ralink user.warn kernel: MCS Set = ff 00 00 00 01 Jan 1 00:00:21 ralink user.warn kernel: SYNC - BBP R4 to 20MHz.l Jan 1 00:00:21 ralink user.warn kernel: SYNC - BBP R4 to 20MHz.l Jan 1 00:00:21 ralink user.warn kernel: SYNC - BBP R4 to 20MHz.l Jan 1 00:00:21 ralink user.warn kernel: SYNC - BBP R4 to 20MHz.l Jan 1 00:00:21 ralink user.warn kernel: SYNC - BBP R4 to 20MHz.l Jan 1 00:00:21 ralink user.warn kernel: SYNC - BBP R4 to 20MHz.l Jan 1 00:00:21 ralink user.warn kernel: sdkjfsf 250^M Jan 1 00:00:21 ralink user.notice kernel: ralink_gpio: sending a SIGUSR1 to process 599 Jan 1 00:00:21 ralink user.warn kernel: SYNC - BBP R4 to 20MHz.l Jan 1 00:00:21 ralink user.warn kernel: SYNC - BBP R4 to 20MHz.l Jan 1 00:00:21 ralink user.warn kernel: SYNC - BBP R4 to 20MHz.l Jan 1 00:00:21 ralink user.warn kernel: SYNC - BBP R4 to 20MHz.l Jan 1 00:00:21 ralink user.warn kernel: SYNC - BBP R4 to 20MHz.l Jan 1 00:00:21 ralink user.warn kernel: SYNC - BBP R4 to 20MHz.l Jan 1 00:00:21 ralink user.warn kernel: Main bssid = 44:33:4c:a4:05:02 Jan 1 00:00:21 ralink user.warn kernel: <==== rt28xx_init, Status=0 Jan 1 00:00:21 ralink user.warn kernel: 0x1300 = 00064380 Jan 1 00:00:21 ralink user.warn kernel: Jan 1 00:00:21 ralink user.warn kernel: phy_tx_ring = 0x00405000, tx_ring = 0xa0405000 Jan 1 00:00:21 ralink user.warn kernel: Jan 1 00:00:21 ralink user.warn kernel: phy_rx_ring0 = 0x00406000, rx_ring0 = 0xa0406000 Jan 1 00:00:21 ralink user.warn kernel: MAC_ADRH -- : 0x00004433 Jan 1 00:00:21 ralink user.warn kernel: MAC_ADRL -- : 0x4ca40502 Jan 1 00:00:21 ralink user.warn kernel: RT305x_ESW: Link Status Changed Jan 1 00:00:21 ralink user.warn kernel: eth2.2: Setting MAC address to 44 33 4c a4 05 03. Jan 1 00:00:21 ralink user.info kernel: device eth2 entered promiscuous mode Jan 1 00:00:21 ralink user.warn kernel: VLAN (eth2.2): Setting underlying device (eth2) to promiscious mode. Jan 1 00:00:21 ralink user.debug kernel: eth2.1: add 01:00:5e:00:00:01 mcast address to master interface Jan 1 00:00:21 ralink user.debug kernel: eth2.2: add 01:00:5e:00:00:01 mcast address to master interface Jan 1 00:00:21 ralink user.info kernel: device ra0 entered promiscuous mode Jan 1 00:00:21 ralink user.info kernel: eth2.1: dev_set_promiscuity(master, 1) Jan 1 00:00:21 ralink user.info kernel: device eth2.1 entered promiscuous mode Jan 1 00:00:21 ralink user.info kernel: br0: port 2(eth2.1) entering learning state Jan 1 00:00:21 ralink user.info kernel: br0: port 1(ra0) entering learning state Jan 1 00:00:21 ralink user.warn kernel: RT305x_ESW: Link Status Changed Jan 1 00:00:21 ralink user.info kernel: br0: topology change detected, propagating Jan 1 00:00:21 ralink user.info kernel: br0: port 2(eth2.1) entering forwarding state Jan 1 00:00:21 ralink user.info kernel: br0: topology change detected, propagating Jan 1 00:00:21 ralink user.info kernel: br0: port 1(ra0) entering forwarding state Jan 1 00:00:21 ralink user.warn kernel: RT305x_ESW: Link Status Changed Jan 1 00:00:21 ralink user.warn kernel: RT305x_ESW: Link Status Changed Jan 1 00:00:21 ralink user.warn kernel: switch register base addr to system register 0xb0000000 Jan 1 00:00:21 ralink user.warn kernel: write offset 0x60, value 0x400095 Jan 1 00:00:22 ralink user.warn kernel: baud 9600^M Jan 1 00:00:22 ralink user.warn kernel: c_cflag (00000cbd)(1)^M Jan 1 00:00:22 ralink user.warn kernel: c_cflag (000000ba)(0)^M Jan 1 00:00:22 ralink user.warn kernel: c_cflag (00000001)(0)^M Jan 1 00:00:22 ralink user.warn kernel: xxxxx:-2144891844 9600 260 Jan 1 00:00:22 ralink user.info kernel: baud 115200^M Jan 1 00:00:22 ralink user.warn kernel: c_cflag (000018b2)(1)^M Jan 1 00:00:22 ralink user.warn kernel: c_cflag (000000ba)(0)^M Jan 1 00:00:22 ralink user.warn kernel: c_cflag (00000000)(0)^M Jan 1 00:00:22 ralink user.warn kernel: xxxxx:-2144891844 115200 21 Jan 1 00:00:41 ralink user.info kernel: sdkjfsf 250^M Jan 1 00:00:41 ralink user.warn kernel: sdkjfsf 250^M Jan 1 00:00:43 ralink user.warn kernel: sdkjfsf 250^M Jan 1 00:00:43 ralink user.notice kernel: ralink_gpio: sending a SIGUSR1 to process 599 Jan 1 00:01:55 ralink auth.info login[1852]: root login on 'pts/0' # cat /proc/mtd dev: size erasesize name mtd0: 00800000 00010000 "ALL" mtd1: 00030000 00010000 "Bootloader" mtd2: 00010000 00010000 "Config" mtd3: 00010000 00010000 "Factory" mtd4: 000c11eb 00010000 "Kernel" mtd5: 006eee15 00010000 "RootFS" mtd6: 007b0000 00010000 "Kernel_RootFS" # busybox BusyBox v1.12.1 (2013-03-07 10:08:05 HKT) multi-call binary Copyright (C) 1998-2008 Erik Andersen, Rob Landley, Denys Vlasenko and others. Licensed under GPLv2. See source distribution for full notice. Usage: busybox [function] [arguments]... or: function [arguments]... BusyBox is a multi-call binary that combines many common Unix utilities into a single executable. Most people will create a link to busybox for each function they wish to use and BusyBox will act like whatever it was invoked as! Currently defined functions: [, [[, ash, basename, brctl, cat, chmod, chpasswd, cp, date, echo, expr, free, getty, grep, halt, hostname, ifconfig, init, init, insmod, kill, killall, klogd, logger, login, logread, ls, lsmod, mdev, mkdir, mknod, mount, ping, ping6, poweroff, printf, ps, pwd, reboot, rm, rmmod, route, sed, sh, sleep, syslogd, telnetd, test, tftp, top, touch, udhcpc, udhcpd, umount, uptime, vconfig, wc # ifconfig br0 Link encap:Ethernet HWaddr 44:33:4C:A4:05:02 inet addr:192.168.16.254 Bcast:192.168.16.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:4165 errors:0 dropped:0 overruns:0 frame:0 TX packets:3279 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:4947945 (4.7 MiB) TX bytes:535173 (522.6 KiB) eth2 Link encap:Ethernet HWaddr 44:33:4C:A4:05:02 UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 RX packets:4170 errors:0 dropped:0 overruns:0 frame:0 TX packets:3465 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:5023682 (4.7 MiB) TX bytes:658881 (643.4 KiB) Interrupt:3 eth2.1 Link encap:Ethernet HWaddr 44:33:4C:A4:05:02 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:4170 errors:0 dropped:0 overruns:0 frame:0 TX packets:3279 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:4965302 (4.7 MiB) TX bytes:548289 (535.4 KiB) eth2.2 Link encap:Ethernet HWaddr 44:33:4C:A4:05:03 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:186 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:110484 (107.8 KiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:14 errors:0 dropped:0 overruns:0 frame:0 TX packets:14 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:2255 (2.2 KiB) TX bytes:2255 (2.2 KiB) # [TAB][TAB] [ config-pppoe.sh hostname ls printf telnetd [[ config-pptp.sh ifconfig lsmod ps test accel-pptp.sh config-udhcpd.sh igmpproxy mdev pwd tftp ash config-vlan.sh igmpproxy.sh mii_mgr ralink_init top ated config.sh inadyn mkdir readme touch autoconn3G.sh cp init mknod reboot udhcpc automount.sh cpubusy.sh insmod mount reg udhcpc.sh basename date internet.sh mtd_write rm udhcpd brctl ddns.sh iptables nat.sh rmmod umount busybox dnsmasq ipv6_logo.sh ntp.sh route upnp_xml.sh cat echo iwconfig ntpclient rt2860apd upnpd chmod expr iwpriv nvram_daemon rtinicapd uptime chpasswd firewall.sh kill nvram_get sed vconfig chpasswd.sh free killall nvram_set ser2net vpn-passthru.sh config-dns.sh getty klogd ping sh wan.sh config-dslite.sh global.sh lan.sh ping6 sleep wc config-iTunes.sh goahead lld2d poweroff snmp.sh wifi_unload.sh config-igmpproxy.sh gpio logger pppd snort.sh wscd config-l2tp.sh grep login pppoe-relay switch config-powersave.sh halt logread pppoe.sh syslogd # free total used free shared buffers Mem: 13788 12744 1044 0 880 Swap: 0 0 0 Total: 13788 12744 1044


OpenWrt firmware Boot log, including 32M RAM hardware mod

[ 0.000000] Linux version 3.10.4 (lich@lich-pc) (gcc version 4.6.4 (OpenWrt/Linaro GCC 4.6-2012.12 r37734) ) #5 Thu Aug 8 09:47:35 CST 2013 [ 0.000000] SoC Type: Ralink RT5350 id:1 rev:3 [ 0.000000] bootconsole [early0] enabled [ 0.000000] CPU revision is: 0001964c (MIPS 24KEc) [ 0.000000] MIPS: machine is HILINK HLK-RM04 [ 0.000000] Determined physical RAM map: [ 0.000000] memory: 02000000 @ 00000000 (usable) [ 0.000000] Initrd not found or empty - disabling initrd [ 0.000000] Zone ranges: [ 0.000000] Normal [mem 0x00000000-0x01ffffff] [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x00000000-0x01ffffff] [ 0.000000] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes. [ 0.000000] Primary data cache 16kB, 4-way, VIPT, no aliases, linesize 32 bytes [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 8128 [ 0.000000] Kernel command line: console=ttyS0,57600 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=0000c610 [ 0.000000] Readback ErrCtl register=0000c610 [ 0.000000] Memory: 29420k/32768k available (2104k kernel code, 3348k reserved, 525k data, 184k init, 0k highmem) [ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] NR_IRQS:128 [ 0.000000] CPU Clock: 360MHz [ 0.000000] systick: runing - mult: 214748, shift: 32 [ 0.000000] Calibrating delay loop... 479.23 BogoMIPS (lpj=2396160) [ 0.060000] pid_max: default: 32768 minimum: 301 [ 0.060000] Mount-cache hash table entries: 512 [ 0.070000] NET: Registered protocol family 16 [ 0.090000] bio: create slab <bio-0> at 0 [ 0.100000] rt2880_gpio 10000600.gpio: registering 24 gpios [ 0.100000] rt2880_gpio 10000600.gpio: registering 24 irq handlers [ 0.110000] Switching to clocksource systick [ 0.120000] NET: Registered protocol family 2 [ 0.120000] TCP established hash table entries: 512 (order: 0, 4096 bytes) [ 0.140000] TCP bind hash table entries: 512 (order: -1, 2048 bytes) [ 0.140000] TCP: Hash tables configured (established 512 bind 512) [ 0.160000] TCP: reno registered [ 0.160000] UDP hash table entries: 256 (order: 0, 4096 bytes) [ 0.180000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 0.190000] NET: Registered protocol family 1 [ 0.200000] rt-timer 10000100.timer: maximum frequncy is 7324Hz [ 0.240000] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.260000] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc. [ 0.290000] msgmni has been set to 57 [ 0.290000] io scheduler noop registered [ 0.290000] io scheduler deadline registered (default) [ 0.310000] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled [ 0.330000] 10000c00.uartlite: ttyS0 at MMIO 0x10000c00 (irq = 20) is a 16550A [ 0.350000] console [ttyS0] enabled, bootconsole disabled [ 0.350000] console [ttyS0] enabled, bootconsole disabled [ 0.370000] 10000500.uart: ttyS1 at MMIO 0x10000500 (irq = 13) is a 16550A [ 0.390000] m25p80 spi0.0: s25fl064k (8192 Kbytes) [ 0.390000] 4 ofpart partitions found on MTD device spi0.0 [ 0.410000] Creating 4 MTD partitions on "spi0.0": [ 0.420000] 0x000000000000-0x000000030000 : "u-boot" [ 0.440000] 0x000000030000-0x000000040000 : "u-boot-env" [ 0.440000] 0x000000040000-0x000000050000 : "factory" [ 0.460000] 0x000000050000-0x000000400000 : "firmware" [ 0.480000] 0x00000013aff8-0x000000400000 : "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.520000] mtd: partition "rootfs" set to be root filesystem [ 0.520000] mtd: partition "rootfs_data" created automatically, ofs=0x300000, len=0x100000 [ 0.550000] 0x000000300000-0x000000400000 : "rootfs_data" [ 0.570000] eth0: done loading [ 0.570000] rt3xxx-usbphy ubsphy.2: loaded [ 0.590000] rt2880_wdt 10000120.watchdog: Initialized [ 0.590000] TCP: cubic registered [ 0.610000] NET: Registered protocol family 17 [ 0.610000] 8021q: 802.1Q VLAN Support v1.8 [ 0.630000] VFS: Mounted root (squashfs filesystem) readonly on device 31:4. [ 0.660000] Freeing unused kernel memory: 184K (80292000 - 802c0000) procd: Console is alive procd: - watchdog - [ 5.140000] usbcore: registered new interface driver usbfs [ 5.140000] usbcore: registered new interface driver hub [ 5.160000] usbcore: registered new device driver usb [ 5.360000] Button Hotplug driver version 0.4.1 [ 5.490000] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 5.510000] ehci-platform: EHCI generic platform driver [ 5.920000] rt3xxx-usbphy ubsphy.2: remote usb device wakeup disabled [ 5.930000] rt3xxx-usbphy ubsphy.2: UTMI 16bit 30MHz [ 5.940000] ehci-platform 101c0000.ehci: EHCI Host Controller [ 5.960000] ehci-platform 101c0000.ehci: new USB bus registered, assigned bus number 1 [ 5.960000] ehci-platform 101c0000.ehci: irq 26, io mem 0x101c0000 [ 6.000000] ehci-platform 101c0000.ehci: USB 2.0 started, EHCI 1.00 [ 6.020000] hub 1-0:1.0: USB hub found [ 6.020000] hub 1-0:1.0: 1 port detected [ 6.100000] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 6.100000] ohci-platform 101c1000.ohci: Generic Platform OHCI Controller [ 6.100000] ohci-platform 101c1000.ohci: new USB bus registered, assigned bus number 2 [ 6.100000] ohci-platform 101c1000.ohci: irq 26, io mem 0x101c1000 [ 6.430000] hub 2-0:1.0: USB hub found [ 6.430000] hub 2-0:1.0: 1 port detected [ 6.560000] input: gpio-keys-polled.3 as /devices/gpio-keys-polled.3/input/input0 procd: - preinit - [ 7.410000] rt305x-esw 10110000.esw: link changed 0x00 Press the [f] key and hit [enter] to enter failsafe mode [ 9.110000] rt305x-esw 10110000.esw: link changed 0x08 mount_root: jffs2 is not ready - marker found procd: - early - procd: - watchdog - procd: - init - Please press Enter to activate this console. [ 13.530000] Loading modules backported from Linux version master-2013-06-27-0-gdcfa6d5 [ 13.550000] Backport generated by backports.git backports-20130617-4-ge3220f5 [ 13.630000] cfg80211: Calling CRDA to update world regulatory domain [ 13.630000] cfg80211: World regulatory domain updated: [ 13.650000] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) [ 13.670000] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) [ 13.680000] cfg80211: (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm) [ 13.700000] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm) [ 13.720000] cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) [ 13.720000] cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) [ 13.970000] NET: Registered protocol family 10 [ 15.910000] rt2800_wmac 10180000.wmac: failed to load eeprom property [ 15.930000] ieee80211 phy0: rt2x00lib_request_eeprom_file: Info - Loading EEPROM data from 'soc_wmac.eeprom'. [ 16.140000] ieee80211 phy0: rt2x00_set_rt: Info - RT chipset 5350, rev 0500 detected [ 16.140000] ieee80211 phy0: rt2x00_set_rf: Info - RF chipset 5350 detected [ 16.210000] PPP generic driver version 2.4.2 [ 16.460000] ip_tables: (C) 2000-2006 Netfilter Core Team [ 16.500000] xt_time: kernel timezone is -0000 [ 16.590000] NET: Registered protocol family 24 [ 16.590000] nf_conntrack version 0.5.0 (462 buckets, 1848 max) [ 17.630000] ip6_tables: (C) 2000-2006 Netfilter Core Team [ 17.710000] usbcore: registered new interface driver cdc_acm [ 17.710000] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters [ 17.900000] usbcore: registered new interface driver usbserial [ 17.900000] usbcore: registered new interface driver usbserial_generic [ 17.900000] usbserial: USB Serial support registered for generic [ 17.900000] usbcore: registered new interface driver asix [ 17.900000] usbcore: registered new interface driver cdc_ether [ 18.520000] usbcore: registered new interface driver rndis_host [ 18.540000] usbcore: registered new interface driver option [ 18.560000] usbserial: USB Serial support registered for GSM modem (1-port) [ 23.000000] rt305x-esw 10110000.esw: link changed 0x00 [ 24.450000] rt305x-esw 10110000.esw: link changed 0x08 [ 24.820000] device eth0.1 entered promiscuous mode [ 24.820000] device eth0 entered promiscuous mode [ 24.870000] br-lan: port 1(eth0.1) entered forwarding state [ 24.870000] br-lan: port 1(eth0.1) entered forwarding state [ 26.080000] IPv6: ADDRCONF(NETDEV_CHANGE): eth0.1: link becomes ready [ 26.870000] br-lan: port 1(eth0.1) entered forwarding state [ 36.000000] jffs2_scan_eraseblock(): End of filesystem marker found at 0x0 [ 36.040000] jffs2_build_filesystem(): unlocking the mtd device... done. [ 36.040000] jffs2_build_filesystem(): erasing all blocks after the end marker... done. [ 43.790000] jffs2: notice: (978) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found. procd: - init complete - BusyBox v1.19.4 (2013-08-07 10:18:07 CST) 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, r37737) ----------------------------------------------------- * 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:/# cat /proc/mtd dev: size erasesize name mtd0: 00030000 00010000 "u-boot" mtd1: 00010000 00010000 "u-boot-env" mtd2: 00010000 00010000 "factory" mtd3: 003b0000 00010000 "firmware" mtd4: 002c5008 00010000 "rootfs" mtd5: 00100000 00010000 "rootfs_data" root@OpenWrt:/# ifconfig br-lan Link encap:Ethernet HWaddr 44:33:4C:A4:05:02 inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::4633:4cff:fea4:502/64 Scope:Link inet6 addr: fd93:58cd:8d01::1/60 Scope:Global UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:37 errors:0 dropped:0 overruns:0 frame:0 TX packets:10 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:5966 (5.8 KiB) TX bytes:1504 (1.4 KiB) eth0 Link encap:Ethernet HWaddr 46:33:4C:A4:05:02 inet6 addr: fe80::4433:4cff:fea4:502/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:37 errors:0 dropped:0 overruns:0 frame:0 TX packets:48 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:6632 (6.4 KiB) TX bytes:14645 (14.3 KiB) Interrupt:5 eth0.1 Link encap:Ethernet HWaddr 46:33:4C:A4:05:02 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:37 errors:0 dropped:0 overruns:0 frame:0 TX packets:10 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:5966 (5.8 KiB) TX bytes:1504 (1.4 KiB) eth0.2 Link encap:Ethernet HWaddr 44:33:4C:A4:05:03 inet6 addr: fe80::4633:4cff:fea4:503/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:32 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:11412 (11.1 KiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:528 errors:0 dropped:0 overruns:0 frame:0 TX packets:528 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:35904 (35.0 KiB) TX bytes:35904 (35.0 KiB) root@OpenWrt:/# free total used free shared buffers Mem: 29604 15816 13788 0 1540 -/+ buffers: 14276 15328 Swap: 0 0 0



1)
8M New Version Only
2)
32M New Version only
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2024/02/12 08:58
  • by 127.0.0.1