OpenWrt Forum Archive

Topic: HAME MPR-A1 - Small and cheap router with built-in battery

The content of this topic has been archived between 12 May 2015 and 2 May 2018. Unfortunately there are posts – most likely complete pages – missing.

HAME MPR-A1 WiFi 802.11b/g/n Wireless 3G Router w/ 1800mAh Battery Charger Dongle:
http://www.dealextreme.com/p/hame-mpr-a … gle-122121

This is small wifi router with built in battery, if it could only run openwrt that would be awesome! Not sure if it can or not, but I really wish it could...

valentt wrote:

HAME MPR-A1 WiFi 802.11b/g/n Wireless 3G Router w/ 1800mAh Battery Charger Dongle:
http://www.dealextreme.com/p/hame-mpr-a … gle-122121

This is small wifi router with built in battery, if it could only run openwrt that would be awesome! Not sure if it can or not, but I really wish it could...

Do you have the adress to the chinese forum?

It is running Linux 2.6, and it does have busybox. From the pictures it looks like ralink RT5350

PORT   STATE    SERVICE VERSION
23/tcp open     telnet  BusyBox telnetd
53/tcp open     domain  dnsmasq 2.40
80/tcp filtered http
MAC Address: 9C:41:7x:xx:xx:xx (Unknown)
Device type: general purpose
Running: Linux 2.6.X
OS details: Linux 2.6.13 - 2.6.28
Network Distance: 1 hop

I have locked myself out of the device (can no longer connect wireless, wrong key), and the reset button does not work for me.

Polish developers got it up and running, as you can see in topic mentioned above, they'll maybe release some patches. WiFi, USB and LAN isn't working.

So serial port is under the battery, so anybody wanting to dig in will have to remove the battery first and connect serial port. Serial port is working on speed 57600, 8N1.

Full boot log

U-Boot 1.1.8 (Feb  6 2012 - 16:07:57)


Board: Ralink APSoC DRAM:  16 MB

relocate_code Pointer at: 80fb0000

spi_wait_nsec: 42

spi device id: c8 40 16 c8 40 (4016c840)

find flash: G 1407

raspi_read: from:30000 len:1000

.*** Warning - bad CRC, using default environment


============================================

Ralink UBoot Version: 3.6.0.0

--------------------------------------------

ASIC 5350_MP (Port5<->None)

DRAM_CONF_FROM: Boot-Strapping

DRAM_TYPE: SDRAM

DRAM_SIZE: 128 Mbits

DRAM_WIDTH: 16 bits

DRAM_TOTAL_WIDTH: 16 bits

TOTAL_MEMORY_SIZE: 16 MBytes

Flash component: SPI Flash

Date:Feb  6 2012  Time:16:07:57

============================================

icache: sets:256, ways:4, linesz:32 ,total:32768

dcache: sets:128, ways:4, linesz:32 ,total:16384


##### The CPU freq = 360 MHZ ####

estimate memory size =16 Mbytes

raspi_read: from:40028 len:6

.

raspi_read: from:0 len:30004

....[ff ff]

Init Plat A1

*************Is_update = 0 plat = 1**************

No lcd plat

Disable usb

Usb ok


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.



You choosed 3


 0

   

3: System Boot system code via Flash.

## Booting image at bc050000 ...

raspi_read: from:50000 len:40

.   Image Name:   Linux Kernel Image

   Created:      2012-05-11   8:52:06 UTC

   Image Type:   MIPS Linux Kernel Image (lzma compressed)

   Data Size:    3784987 Bytes =  3.6 MB

   Load Address: 80000000

   Entry Point:  80250000

raspi_read: from:50040 len:39c11b

..........................................................   Verifying Checksum ... OK

   Uncompressing Kernel Image ... OK

No initrd

## Transferring control to Linux (at address 80250000) ...

## Giving linux memsize in MB, 16


Starting kernel ...



LINUX started...

THIS IS ASIC
Linux version 2.6.21 (root@localhost) (gcc version 3.4.2) #107 Sat Mar 31 02:09:35 EDT 2012

The CPU frequency set to 360 MHz
CPU revision is: 0001964c
Determined physical RAM map:
memory: 01000000 .0 (128 buckets, 1024 max)
ip_tables: (C) 2000-2006 Netfilter Core Team, Type=Restricted Cone
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
All bugs added by David S. Miller <davem@redhat.com>
VFS: Mounted root (squashfs filesystem) readonly.
Freeing unused kernel memory: 112k freed

init started: BusyBox v1.12.1 (2011-10-22 23:04:50 CST)

starting pid 17, tty '': '/etc_ro/rcS'
Algorithmics/MIPS FPU Emulator v1.5
devpts: called with bogus options
-------------------------------------------
Welcome to
   __  __     __     __    __  ______
   | | | |   /  \   |  \  /  | | ____|
   | |_| |  / /\ \  | |\\//| | | |___
   |  _  | |_/__\ \ | | \/ | | | |___|
        | | | | | |  | | | |    | | | |___
        |_| |_| |_|  |_| |_|    |_| |_____|
   HameData Technology Co., Ltd
-------------------------------------------
killall: goahead: no process killed
dir_3fbfff gpio_7 - 0 4000 0 0 0
usbcore: registered new interface driver ipheth
g_iplat = 1

starting pid 49, tty '/dev/ttyS1': '/bin/sh'


BusyBox v1.12.1 (2011-10-22 23:04:50 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

# killall: udhcpc: no process killed
killall: udhcpc: no process killed
apcli0    no private ioctls.

ifconfig: ioctl 0x8913 failed: No such device
internet.sh
Password for 'hame' changed
/sbin/internet.sh: line 271: can't create /proc/sys/kernel/hotplug: nonexistent directory
/sbin/internet.sh: line 282: can't create /proc/sys/net/ipv6/conf/default/accept_dad: nonexistent directory
rt3xxx-ehci rt3xxx-ehci: Ralink EHCI Host Controller
rt3xxx-ehci rt3xxx-ehci: new USB bus registered, assigned bus number 1
rt3xxx-ehci rt3xxx-ehci: irq 18, io mem 0x101c0000
rt3xxx-ehci rt3xxx-ehci: USB 0.0 started, EHCI 1.00, driver 10 Dec 2004
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
rt3xxx-ohci rt3xxx-ohci: RT3xxx OHCI Controller
rt3xxx-ohci rt3xxx-ohci: new USB bus registered, assigned bus number 2
rt3xxx-ohci rt3xxx-ohci: irq 18, io mem 0x101c1000
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
rmmod: ralink_wdt: No such file or directory
rmmod: cls: No such file or directory
rmmod: hw_nat: No such file or directory
rmmod: raeth: No such file or directory
insmod: bridge.ko: module not found
insmod: mii.ko: module not found
insmod: raeth.ko: module not found
/sbin/internet.sh: line 318: can't create /proc/
phy_tx_ring = 0x00959000, tx_ring = 0xa0959000

phy_rx_ring0 = 0x0095a000, rx_ring0 = 0xa095a000
MAC_ADRH -- : 0x00009c41
MAC_ADRL -- : 0x7c24eb95
sys/net/ipv6/conRT305x_ESW: Link Status Changed
f/eth2/accept_dad: nonexistent directory

##### disable 1st wireless interface #####
rmmod: rt2860v2_ap_net: No such file or directory
rmmod: rt2860v2_ap: No such file or directory
rmmod: rt2860v2_ap_util: No such file or directory
rmmod: rt2860v2_sta_net: No such file or directory
rmmod: rt2860v2_sta: No such file or directory
rmmod: rt2860v2_sta_util: No such file or directory
insmod: rt2860v2_ap_util.ko: module not found
rt2860v2_ap: module license 'unspecified' taints kernel.


=== pAd = c0069000, size = 629120 ===

<-- RTMPAllocAdapterBlock, Status=0
insmod: rt2860v2_ap_net.ko: module not found
rmmod: nf_nat_pptp: No such file or directory
rmmod: nf_conntrack_pptp: No such file or directory
rmmod: nf_nat_proto_gre: No such file or directory
rmmod: nf_conntrack_proto_gre: No such file or directory
RX DESC a04a8000  size = 2048
<-- RTMPAllocTxRxRingMemory, Status=0
RTMP_TimerListAdd: add timer obj c00d3b88!
RTMP_TimerListAdd: add timer obj c007101c!
RTMP_TimerListAdd: add timer obj c0070bec!
RTMP_TimerListAdd: add timer obj c0070fc8!
RTMP_TimerListAdd: add timer obj c0070ff0!
RTMP_TimerListAdd: add timer obj c00710d4!
RTMP_TimerListAdd: add timer obj c0071100!
RTMP_TimerListAdd: add timer obj c00712ac!
RTMP_TimerListAdd: add timer obj c00a19c4!
RTMP_TimerListAdd: add timer obj c00a1594!
RTMP_TimerListAdd: add timer obj c00a1970!
RTMP_TimerListAdd: add timer obj c00a1998!
RTMP_TimerListAdd: add timer obj c00a1a7c!
RTMP_TimerListAdd: add timer obj c00a1aa8!
RTMP_TimerListAdd: add timer obj c00a19f0!
RTMP_TimerListAdd: add timer obj c00a1a1c!
RTMP_TimerListAdd: add timer obj c00a1a48!
RTMP_TimerListAdd: add timer obj c00d40a8!
RTMP_TimerListAdd: add timer obj c00d4080!
RTMP_TimerListAdd: add timer obj c00d4058!
RTMP_TimerListAdd: add timer obj c00aa944!
RTMP_TimerListAdd: add timer obj c00aaa48!
RTMP_TimerListAdd: add timer obj c00aa96c!
RTMP_TimerListAdd: add timer obj c00a1f8c!
RTMP_TimerListAdd: add timer obj c006e4e0!
RTMP_TimerListAdd: add timer obj c00a1cac!
Key1Str is Invalid key length(0) or Type(0)
Key2Str is Invalid key length(0) or Type(0)
Key3Str is Invalid key length(0) or Type(0)
Key4Str is Invalid key length(0) or Type(0)
1. Phy Mode = 9
2. Phy Mode = 9
TXALC> bInternalTxALC = 0
3. Phy Mode = 9
RTMP_TimerListAdd: add timer obj c006e0e4!
NICInitAsicFromEEPROM: pAd->TxPowerCtrl.bInternalTxALC = 0
RTMPSetPhyMode: channel is out of range, use first channel=0
MCS Set = ff 00 00 00 01
SYNC - BBP R4 to 20MHz.l
RTMP_TimerListAdd: add timer obj c00a228c!
Main bssid = 9c:41:7c:24:eb:98
<==== rt28xx_init, Status=0
0x1300 = 00064380
vconfig: ioctl error for rem: Invalid argument
vconfig: ioctl error for rem: Invalid argument
rmmod: 8021q: No such file or directory
insmod: 8021q.ko: module not found
eth2.2: Setting MAC address to  9c 41 7c 24 eb 97.
device eth2 entered promiscuous mode
VLAN (eth2.2):  Setting underlying device (eth2) to promiscious mode.
/sbin/internet.sh: line 469: can't create /proc/sys/net/ipv6/conf/eth2.2/accept_dad: nonexistent directory
/sbin/internet.sh: line 469: can't create /proc/sys/net/ipv6/conf/eth2.2/dad_transmits: nonexistent directory
ifconfig: ioctl 0x8913 failed: No such device
brctl: bridge br0: No such device or address
##### config Ralink ESW vlan partition (WLLLL) #####
switch reg write offset=14, value=405555
switch reg write offset=50, value=2001
switch reg write offset=98, value=7f3f
switch reg write offset=e4, value=3f
switch reg write offset=40, value=1002
switch reg write offset=44, value=1001
switch reg write offset=48, value=1001
switch reg write offset=70, value=ffff417e
done.
device ra0 entered promiscuous mode
/sbin/internet.sh: line 745: can't create /proc/sys/net/ipv6/conf/br0/accept_dad: nonexistent dieth2.1: dev_set_promiscuity(master, 1)
rectory
/sbin/idevice eth2.1 entered promiscuous mode
nternet.sh: line 745: can't create /proc/sys/net/ipv6/conf/br0/dad_transmits: nonexistent directory
##### start wan #####
wan.sh: unknown wan connection type: SMART
##### start lan #####
br0: port 2(eth2.1) entering learning state
br0: port 1(ra0) entering learning state
ifconfig: ioctl 0x8914 failed: Cannot assign requested address
ifconfig: ioctl 0x8914 failed: Cannot assign requested address
br0: topology change detected, propagating
br0: port 2(eth2.1) entering forwarding state
br0: topology change detected, propagating
br0: port 1(ra0) entering forwarding state
killall: udhcpd: no process killed
Set: phy[0].reg[0] = 3900
Set: phy[1].reg[0] = 3900
Set: phy[2].reg[0] = 3900
Set: phy[3].reg[0] = 3900
Set: phy[4].reg[0] = 3900
Set: phy[0].reg[0] = 3100
ifconfig: ioctl 0x8913 failed: No such device
/sbin/lan.sh: line 154: can't create /proc/sys/net/ipv6/conf/all/forwarding: nonexistent directory
##### start nat #####
##### finish nat #####
killall rt2860apd 1>/dev/null 2>&1
iptables -F -t filter 1>/dev/null 2>&1
iptables -D FORWARD -j macipport_filter 1>/dev/null 2>&1
iptables -F macipport_filter 1>/dev/null 2>&1
iptables -D FORWARD -j web_filter  1>/dev/null 2>&1
iptables -F web_filter  1>/dev/null 2>&1
iptables -D FORWARD -j malicious_filter 1>/dev/null 2>&1
iptables -F malicious_filter  1>/dev/null 2>&1
iptables -D INPUT -j malicious_input_filter 1>/dev/null 2>&1
iptables -F malicious_input_filter  1>/dev/null 2>&1
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t filter -N web_filter 1>/dev/null 2>&1
iptables -t filter -N macipport_filter 1>/dev/null 2>&1
iptables -t filter -N malicious_filter 1>/dev/null 2>&1
iptables -t filter -N synflood_filter 1>/dev/null 2>&1
iptables -t filter -N malicious_input_filter 1>/dev/null 2>&1
iptables -t filter -N synflood_input_filter 1>/dev/null 2>&1
iptables -t filter -A FORWARD -j web_filter 1>/dev/null 2>&1
iptables -t filter -A FORWARD -j macipport_filter 1>/dev/null 2>&1
iptables -t filter -A FORWARD -j malicious_filter 1>/dev/null 2>&1
iptables -t filter -A malicious_filter -p tcp --syn -j synflood_filter 1>/dev/null 2>&1
iptables -t filter -A INPUT -j malicious_input_filter 1>/dev/null 2>&1
iptables -t filter -A malicious_input_filter -p tcp --syn -j synflood_input_filter 1>/dev/null 2>&1
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu 1>/dev/null 2>&1
iptables -A malicious_input_filter -i  -m state --state RELATED,ESTABLISHED -j ACCEPT
Bad argument `state'
Try `iptables -h' or 'iptables --help' for more information.
iptables -A malicious_input_filter -i  -m state -p tcp --dport 80 --state NEW,INVALID -j DROP
Bad argument `state'
Try `iptables -h' or 'iptables --help' for more information.
/bin/super_dmz -f
sh: /bin/super_dmz: not found
iptables -t nat -D PREROUTING -j port_forward 1>/dev/null 2>&1
iptables -t nat -F port_forward  1>/dev/null 2>&1; iptables -t nat -X port_forward  1>/dev/null 2>&1
iptables -t nat -D PREROUTING -j DMZ 1>/dev/null 2>&1
iptables -t nat -F DMZ 1>/dev/null 2>&1; iptables -t nat -X DMZ  1>/dev/null 2>&1
iptables -t nat -F POSTROUTING 1>/dev/null 2>&1
iptables -t nat -N port_forward 1>/dev/null 2>&1; iptables -t nat -I PREROUTING 1 -j port_forward 1>/dev/null 2>&1
iptables -t nat -N DMZ 1>/dev/null 2>&1; iptables -t nat -I PREROUTING 2 -j DMZ 1>/dev/null 2>&1
iptables -t nat -A POSTROUTING -o  -s 192.168.169.1/255.255.255.0 -j MASQUERADE 1>/dev/null 2>&1
ntp.sh
ddns.sh
pool.ntp.org: Unknown host
kill -9 `cat /var/run/wscd.pid.ra0`
cat: can't open '/var/run/wscd.pid.ra0': No such file or directory
kill: you need to specify whom to kill
iwpriv ra0 set WscConfMode=0 1>/dev/null 2>&1
route delete 239.255.255.250 1>/dev/null 2>&1
killall -q klogd
killall -q syslogd
syslogd -C8 1>/dev/null 2>&1
klogd 1>/dev/null 2>&1
killall -q zebra
killall -q ripd
webs: Listening for HTTP requests at address 192.168.169.1
tmk 7 set askdiadir_3fbffe gpio_7 - 4000 0 0 0 0
l=1
dir_3fbffe gpio_7 - 0 4000 0 0 0

isAndroid == 0
dir_3fbffe gpio_17 - 0 4000 0 0 0
dir_3fbffe gpio_20 - 6 24 4000 0 4000

And also printenv:

bootcmd=tftp

bootdelay=2

baudrate=57600

ethaddr="00:AA:BB:CC:DD:10"

ipaddr=192.168.1.109

serverip=192.168.1.55

ramargs=setenv bootargs root=/dev/ram rw

addip=setenv bootargs $(bootargs) ip=$(ipaddr):$(serverip):$(gatewayip):$(netmask):$(hostname):$(netdev):off

addmisc=setenv bootargs $(bootargs) console=ttyS0,$(baudrate) ethaddr=$(ethaddr) panic=1

flash_self=run ramargs addip addmisc;bootm $(kernel_addr) $(ramdisk_addr)

kernel_addr=BFC40000

u-boot=u-boot.bin

load=tftp 8A100000 $(u-boot)

u_b=protect off 1:0-1;era 1:0-1;cp.b 8A100000 BC400000 $(filesize)

loadfs=tftp 8A100000 root.cramfs

u_fs=era bc540000 bc83ffff;cp.b 8A100000 BC540000 $(filesize)

test_tftp=tftp 8A100000 root.cramfs;run test_tftp

stdin=serial

stdout=serial

stderr=serial

ethact=Eth0 (10/100-M)


Environment size: 768/4092 bytes

I just saw these for $21 here.

It seems to be the cheapest potentially OpenWRT compatible router with a USB port and a battery, could be quite awesome if it was fully operational. smile

Oooh - it has a button and 3 LEDs. Current firmware uses the button to check battery level, but couldn't it be used to change modes, with the LEDs showing the current mode? smile

(Last edited by denovo on 17 Nov 2012, 14:48)

I'm sure we could buy one and donate it to any openwrt developer who can make it work...
Money is not an issue, is there anybody who has the knowledge to make this one work on openwrt?

Here is also a similar, but the model is MPR-L8, for $19. Would be great to see OpenWrt on it..

There are different models for that same RT5350F 3G modem. I currently have one from Embedsys (EBS-PMA-W1) and another from other factory (it isn't labeled at all, assuming a prototype).

Here is the bootlog for the Embedsys:

U-Boot 1.1.3 (Jun 25 2012 - 17:19:19)

Board: Ralink APSoC DRAM:  16 MB
relocate_code Pointer at: 80fb0000
spi_wait_nsec: 42                 
spi device id: c8 40 16 c8 40 (4016c840)
Warning: un-recognized chip ID, please update bootloader!
raspi_read: from:30000 len:1000                         
.raspi_read: from:30000 len:1000
.============================================
Ralink UBoot Version: 3.5.2.0                 
--------------------------------------------
ASIC 5350_MP (Port5<->None)                 
DRAM_CONF_FROM: Boot-Strapping
DRAM_TYPE: SDRAM               
DRAM_SIZE: 128 Mbits
DRAM_WIDTH: 16 bits
DRAM_TOTAL_WIDTH: 16 bits
TOTAL_MEMORY_SIZE: 16 MBytes
Date:Jun 25 2012  Time:17:19:19
============================================

##### The CPU freq = 360 MHZ ####
estimate memory size =16 Mbytes   

SYSTEM ID: EASO-PMA

   2: Load system code then write to Flash via TFTP.
   3: Boot system code via Flash (default).         
   4: Entr boot command line interface.   
   9: Load Boot Loader code then write to Flash via TFTP.

## Booting image at bc050000 ...
raspi_read: from:50000 len:40   
.   Image Name:   Linux EASO-PMA
   Created:      2012-06-25   9:18:32 UTC
   Image Type:   MIPS Linux Kernel Image (lzma compressed)
   Data Size:    3344802 Bytes =  3.2 MB                 
   Load Address: 80000000               
   Entry Point:  80434000
raspi_read: from:50040 len:3309a2
....................................................   Verifying Checksum ... OK1
   Uncompressing(LZMA) Kernel Image ... UOK                                     
No initrd                                 
## Transferring control to Linux (at address 80434000) ...
## Giving linux memsize in MB, 16                         

Starting kernel ...

LINUX started...

THIS IS ASIC
Linux version 2.6.21 (root@dev.cn) (gcc version 3.4.2) #3990 Sat Jun 23 00:30:43 CST 2012

The CPU feqenuce set to 360 MHz
CPU revision is: 0001964c
Determined physical RAM map:
memory: 01000000 @ 00000000 (usable)
Built 1 zonelists.  Total pages: 4064
Kernel command line: console=ttyS1,57600n8 root=/dev/mtdblock5
Primary instruction cache 32kB, physically tagged, 4-way, linesize 32 bytes.
Primary data cache 16kB, 4-way, linesize 32 bytes.
Synthesized TLB refill handler (20 instructions).
Synthesized TLB load handler fastpath (32 instructions).
Synthesized TLB store handler fastpath (32 instructions).
Synthesized TLB modify handler fastpath (31 instructions).
Cache parity protection disabled
cause = c0808000, status = 11000000
PID hash table entries: 64 (order: 6, 256 bytes)
calculating r4koff... 0015f900(1440000)
CPU frequency 360.00 MHz
Using 0.050 MHz high precision timer.
Dentry cache hash table entries: 2048 (order: 1, 8192 bytes)
Inode-cache hash table entries: 1024 (order: 0, 4096 bytes)
Memory: 11684k/16384k available (3644k kernel code, 4700k reserved, 655k data, 128k init, 0k highmem)
Mount-cache hash table entries: 512
NET: Registered protocol family 16
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
NET: Registered protocol family 2
Time: MIPS clocksource has been installed.
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 512 (order: 0, 4096 bytes)
TCP bind hash table entries: 512 (order: -1, 2048 bytes)
TCP: Hash tables configured (established 512 bind 512)

deice id : c8 40 16 c8 40 (4016c840)
Warning: un-recognized chip ID, please update SPI driver!
AT25DF321(1f 47000000) (4096 Kbytes)
mtd .name = raspi, .size = 0x00400000 (4M) .erasesize = 0x00010000 (64K) .numeraseregions = 0
Creating 7 MTD partitions on "raspi":
0x00000000-0x00400000 : "ALL"
0x00000000-0x00030000 : "Bootloader"
0x00030000-0x00040000 : "Config"
0x00040000-0x00050000 : "Factory"
0x00050000-0x001b09e2 : "Kernel"
mtd: partition "Kernel" doesn't end on an erase block -- force read-only
0x001b09e2-0x01000000 : "RootFS"
mtd: partition "RootFS" doesn't start on an erase block boundary -- force read-only
0x00050000-0x01000000 : "Kernel_RootFS"
RT3xxx EHCI/OHCI init.
squashfs: version 3.2-r2 (2007/01/15) Phillip Lougher
squashfs: LZMA suppport for slax.org by jro
NTFS driver 2.1.28 [Flags: R/W].
io scheduler noop registered (default)
Ralink gpio driver initialized
HDLC line discipline: version $Revision: 1.1.1.1 $, maxframe=4096
N_HDLC line discipline registered.
Serial: 8250/16550 driver $Revision: 1.7 $ 2 ports, IRQ sharing disabled
serial8250: ttyS0 at I/O 0xb0000500 (irq = 37) is a 16550A
serial8250: ttyS1 at I/O 0xb0000c00 (irq = 12) is a 16550A
loop: loaded (max 8 devices)
rdm_major = 254
MAC_ADRH -- : 0x00000000
MAC_ADRL -- : 0x00000000
Ralink APSoC Ethernet Driver Initilization. v2.0  256 rx/tx descriptors allocated, mtu = 1500!
MAC_ADRH -- : 0x0000000c
MAC_ADRL -- : 0x4333ed09
PROC INIT OK!
KERNEL nio_init_mudule OK!
PPP generic driver version 2.4.2
PPP Deflate Compression module registered
PPP BSD Compression module registered
PPP MPPE Compression module registered
NET: Registered protocol family 24
PPPoL2TP kernel driver, V0.17
PPTP driver version 0.8.1

=== pAd = c0019000, size = 802328 ===

<-- RTMPAllocAdapterBlock, Status=0
SCSI Media Changer driver v0.25
block2mtd: version $Revision: 1.1.1.1 $
usbmon: debugfs is not available
rt3xxx-ohci rt3xxx-ohci: RT3xxx OHCI Controller
rt3xxx-ohci rt3xxx-ohci: new USB bus registered, assigned bus number 1
rt3xxx-ohci rt3xxx-ohci: irq 18, io mem 0x101c1000
usb usb1: Product: RT3xxx OHCI Controller
usb usb1: Manufacturer: Linux 2.6.21 ohci_hcd
usb usb1: SerialNumber: rt3xxx-ohci
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
usbcore: registered new interface driver cdc_acm
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
nf_conntrack version 0.5.0 (128 buckets, 1024 max)
ip_tables: (C) 2000-2006 Netfilter Core Team, Type=Restricted Cone
NET: Registered protocol family 1
NET: Registered protocol family 10
NET: Registered protocol family 17
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>                             
All bugs added by David S. Miller <davem@redhat.com>                                       
VFS: Mounted root (squashfs filesystem) readonly.                                         
Freeing unused kernel memory: 128k freed                                                   
init started: BusyBox v1.12.1 (2012-06-05 22:48:24 CST)                                   

Algorithmics/MIPS FPU Emulator v1.5
devpts: called with bogus options
________                 __                           __
|   _____|               |  |                         |  |
|  |       _  ___  ___   |  |          ____           |  |  ____ ___    ___ ____
|  |_____ | |/ _ \/ _ \  |  |____    / ____ \    _____|  | /  __/\  \  /  //  __/
|   _____||  _/ \  / \ | |   ___ \  / /____\ \  /  ___   | | /    \  \/  / | /   
|  |      | |   | |  | | |  |   | | | |______| |  |   |  |  \ \    \    /   \ \ 
|  |_____ | |   | |  | | |  |___| | | |______  |  |___|  | __\ \    \  /   __\ \
|________||_|   |_|  |_| |______ /   \_______|  \________|/____/    / /   /____/
                                                                  _/ /
                                                                 /__/

/sbin/internet.sh: line 247: can't create /proc/sys/kernel/hotplug: nonexistent directory
rt3xxx-ehci rt3xxx-ehci: Ralink EHCI Host Controller
rt3xxx-ehci rt3xxx-ehci: new USB bus registered, assigned bus number 2
rt3xxx-ehci rt3xxx-ehci: irq 18, io mem 0x101c0000
rt3xxx-ehci rt3xxx-ehci: USB 0.0 started, EHCI 1.00, driver 10 Dec 2004
usb usb2: Product: Ralink EHCI Host Controller
usb usb2: Manufacturer: Linux 2.6.21 ehci_hcd
usb usb2: SerialNumber: rt3xxx
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected

phy_tx_ring = 0x0088e000, tx_ring = 0xa088e000                                             

phy_rx_ring0 = 0x0088f000, rx_ring0 = 0xa088f000                                           
RT5350_ESW: Link Status Changed                                                           
RX DESC a08ae000  size = 2048
<-- RTMPAllocTxRxRingMemory, Status=0
pAd->TxPowerCtrl.bInternalTxALC == FALSE !
MCS Set = 00 00 00 00 00
Main bssid = 00:0c:43:33:ed:08
<==== rt28xx_init, Status=0
0x1300 = 00064380

(none) login: vconfig: ioctl error for rem: Invalid argument
vconfig: ioctl error for rem: Invalid argument
mknod: /dev/sg0: File exists
ifconfig: ioctl 0x8913 failed: No such device
brctl: bridge br0: No such device or address
##### config Ralink ESW vlan partition (LLLLW) #####
done.
device ra0 entered promiscuous mode
eth2.1: dev_set_promiscuity(master, 1)
device eth2 entered promiscuous mode
device eth2.1 entered promiscuous mode
br0: port 2(eth2.1) entering learning state
br0: port 1(ra0) entering learning state
ifconfig: ioctl 0x8914 failed: Cannot assign requested address
ifconfig: ioctl 0x8914 failed: Cannot assign requested address
Password for 'pma1' changed
===> [00:00:09] Compile: [Jun 22 2012 23:51:35] SMART(1) PMA=[PMA1] <===
killall: udhcpd: no process killed
[00:00:10] ==> Calibrated ... C[0],NP[6], PMA=[PMA1]
ifconfig: ioctl 0x8913 failed: No such device
==> [00:00:13] GET MAC-Address: {000C4333ED08} <==
Password for 'admin' changed
==> nid: 99, CONNMODE: 3G <==
libupnp: using UDP SSDP_PORT = 1900
webs: Listening for HTTP requests at address 10.10.10.254
P[daemon:180] [00:00:18] CHECK-status: 11(NO-inited) defined(DOWNLIGHT[88])
-=> RUN-MODE: 3G:0 <=-
==> SSID: PMA1-33ED08; BAP_NAME: PMA1-33ED08 <==
br0: topology change detected, propagating
br0: port 2(eth2.1) entering forwarding state
br0: topology change detected, propagating
br0: port 1(ra0) entering forwarding state
[00:00:22] PMA1 off ALL-LED: WIFI.3G! then blink WiFi-LED
NET-status: DOWN PID(180) cnt=[1]
[00:00:22] -=> count: [1], LINE{1531}, ADSL[0], NPRO[6], NLINK[0]; NP[0-0] <=-
[00:00:23] [0] PROGRAM (goahead) run: (#0 => #23)
- setting default address to 10.10.10.254
rt3xxx-ehci rt3xxx-ehci: remove, state 1
usb usb2: USB disconnect, address 1
[00:00:28] [3] PROGRAM (debsocket) run: (#0 => #925)
rt3xxx-ehci rt3xxx-ehci: USB bus 2 deregistered
[00:00:29] [4] PROGRAM (syslogd) run: (#0 => #1023)
[00:00:29] [4] PROGRAM (rt5350A) run: (#0 => #1025)
[00:00:29] [4] PROGRAM (proftpd) run: (#0 => #1049)
[00:00:29] [4] PROGRAM (hbeat) run: (#0 => #1052)
Password for 'pma1' changed
NET-status: DOWN PID(1025) cnt=[1]
SSS check status3: CMD_INIT_DEVICE PID={180} [32]
SSS check status3: CMD_INIT_DEVICE PID={180} [48]

Here is the bootlog for the generic one:

U-Boot 1.1.8 (Feb  6 2012 - 16:07:57)

Board: Ralink APSoC DRAM:  16 MB
relocate_code Pointer at: 80fb0000
spi_wait_nsec: 42                 
spi device id: 7f 9d 46 7f 9d (9d467f9d)
Warning: un-recognized chip ID, please update bootloader!
raspi_read: from:30000 len:1000                         
.raspi_read: from:30000 len:1000
.============================================
Ralink UBoot Version: 3.6.0.0                 
--------------------------------------------
ASIC 5350_MP (Port5<->None)                 
DRAM_CONF_FROM: Boot-Strapping
DRAM_TYPE: SDRAM               
DRAM_SIZE: 128 Mbits
DRAM_WIDTH: 16 bits
DRAM_TOTAL_WIDTH: 16 bits
TOTAL_MEMORY_SIZE: 16 MBytes
Flash component: SPI Flash 
Date:Feb  6 2012  Time:16:07:57
============================================
icache: sets:256, ways:4, linesz:32 ,total:32768
dcache: sets:128, ways:4, linesz:32 ,total:16384

##### The CPU freq = 360 MHZ ####
estimate memory size =16 Mbytes   
raspi_read: from:40028 len:6   
.                           
raspi_read: from:0 len:30004
....[ff ff]                 
Init Plat A1
*************Is_update = 0 plat = 1**************
No lcd plat                                     
Disable usb
Usb ok     

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                                                       

3: System Boot system code via Flash.
## Booting image at bc050000 ...     
raspi_read: from:50000 len:40   
.   Image Name:   Linux Kernel Image
   Created:      2012-10-29  15:04:42 UTC
   Image Type:   MIPS Linux Kernel Image (gzip compressed)
   Data Size:    3782250 Bytes =  3.6 MB                 
   Load Address: 80000000               
   Entry Point:  8024f000
raspi_read: from:50040 len:39b66a
..........................................................   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK                                                 
No initrd                           
## Transferring control to Linux (at address 8024f000) ...
## Giving linux memsize in MB, 16                         

Starting kernel ...

LINUX started...

THIS IS ASIC
Linux version 2.6.21 (arpunk@bela) (gcc version 3.4.2) #3 Mon Oct 29 10:04:41 COT 2012

The CPU frequency set to 360 MHz
CPU revision is: 0001964c
Determined physical RAM map:
memory: 01000000 @ 00000000 (usable)
Built 1 zonelists.  Total pages: 4064
Kernel command line: console=ttyS1,57600n8 root=/dev/mtdblock5
Primary instruction cache 32kB, physically tagged, 4-way, linesize 32 bytes.
Primary data cache 16kB, 4-way, linesize 32 bytes.
Synthesized TLB refill handler (20 instructions).
Synthesized TLB load handler fastpath (32 instructions).
Synthesized TLB store handler fastpath (32 instructions).
Synthesized TLB modify handler fastpath (31 instructions).
Cache parity protection disabled
cause = e0808000, status = 11000000
PID hash table entries: 64 (order: 6, 256 bytes)
calculating r4koff... 0015f900(1440000)
CPU frequency 360.00 MHz
Using 180.000 MHz high precision timer.
Dentry cache hash table entries: 2048 (order: 1, 8192 bytes)
Inode-cache hash table entries: 1024 (order: 0, 4096 bytes)
Memory: 13676k/16384k available (2073k kernel code, 2708k reserved, 286k data, 112k init, 0k highmem)
Mount-cache hash table entries: 512
NET: Registered protocol family 16
NET: Registered protocol family 2
Time: MIPS clocksource has been installed.
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 512 (order: 0, 4096 bytes)
TCP bind hash table entries: 512 (order: -1, 2048 bytes)
TCP: Hash tables configured (established 512 bind 512)
TCP reno registered
deice id : 7f 9d 46 7f 9d (9d467f9d)
Warning: un-recognized chip ID, please update SPI driver!
AT25DF321(1f 47000000) (4096 Kbytes)
mtd .name = raspi, .size = 0x00400000 (4M) .erasesize = 0x00010000 (64K) .numeraseregions = 0
Creating 7 MTD partitions on "raspi":
0x00000000-0x00400000 : "ALL"
0x00000000-0x00030000 : "Bootloader"
0x00030000-0x00040000 : "Config"
0x00040000-0x00050000 : "Factory"
0x00050000-0x0015a6aa : "Kernel"
mtd: partition "Kernel" doesn't end on an erase block -- force read-only
0x0015a6aa-0x01000000 : "RootFS"
mtd: partition "RootFS" extends beyond the end of device "raspi" -- size truncated to 0x2a5956
mtd: partition "RootFS" doesn't start on an erase block boundary -- force read-only
0x00050000-0x01000000 : "Kernel_RootFS"
mtd: partition "Kernel_RootFS" extends beyond the end of device "raspi" -- size truncated to 0x3b0000
squashfs: version 3.2-r2 (2007/01/15) Phillip Lougher
squashfs: LZMA suppport for slax.org by jro
io scheduler noop registered (default)
Ralink gpio driver initialized
HDLC line discipline: version $Revision: 1.1.1.1 $, maxframe=4096
N_HDLC line discipline registered.
Serial: 8250/16550 driver $Revision: 1.8 $ 2 ports, IRQ sharing disabled
serial8250: ttyS0 at I/O 0xb0000500 (irq = 37) is a 16550A
3erial8250: ttyS1 at I/O 0xb0000c00 (irq = 12) is a 16550A
loop: loaded (max 8 devices)
rdm_major = 253
Ralink APSoC Ethernet Driver Initilization. v2.1  256 rx/tx descriptors allocated, mtu = 1500!
MAC_ADRH -- : 0x00009c41
MAC_ADRL -- : 0x7c222ee5
PROC INIT OK!
IMQ starting with 2 devices...
IMQ driver loaded successfully.
        Hooking IMQ after NAT on PREROUTING.
        Hooking IMQ before NAT on POSTROUTING.
PPP generic driver version 2.4.2
PPP BSD Compression module registered
NET: Registered protocol family 24
PPPoL2TP kernel driver, V0.17
PPTP driver version 0.8.1
block2mtd: version $Revision: 1.1.1.1 $
nf_conntrack version 0.5.0 (128 buckets, 1024 max)
ip_tables: (C) 2000-2006 Netfilter Core Team, Type=Restricted Cone
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 10
NET: Registered protocol family 17
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
All bugs added by David S. Miller <davem@redhat.com>
VFS: Mounted root (squashfs filesystem) readonly.
Freeing unused kernel memory: 112k freed
init started: BusyBox v1.12.1 (2012-10-29 09:41:47 COT)
starting pid 13, tty '': '/etc_ro/rcS'
Algorithmics/MIPS FPU Emulator v1.5
devpts: called with bogus options
mount: mounting none on /proc/bus/usb failed: No such file or directory
Welcome to
     _______  _______  ___     __  ____   _  _   ___
    |  ___  \|   __  ||   |   |__||    \ | || | /  /
    | |___| ||  |__| ||   |__  __ |     \| || |/  /
    |   _   /|   _   ||      ||  || |\     ||     \
    |__| \__\|__| |__||______||__||_| \____||_|\___\

                     =System Architecture Department=

starting pid 22, tty '/dev/ttyS1': '/bin/sh'

BusyBox v1.12.1 (2012-10-29 09:41:47 COT) built-in shell (ash)
Enter 'help' for a list of built-in commands.

# internet.sh
Password for 'admin' changed
rmmod: ralink_wdt: No such file or directory
rmmod: cls: No such file or directory
rmmod: hw_nat: No such file or directory
rmmod: raeth: No such file or directory
insmod: bridge.ko: module not found
insmod: mii.ko: module not found
insmod: raeth.ko: module not found

phy_tx_ring = 0x0085b000, tx_ring = 0xa085b000

phy_rx_ring0 = 0x0085c000, rx_ring0 = 0xa085c000
MAC_ADRH -- : 0x00009c41
MAC_ADRL -- : 0x7c222ee5
RT305x_ESW: Link Status Changed

##### disable 1st wireless interface #####
rmmod: rt2860v2_ap_net: No such file or directory
rmmod: rt2860v2_ap: No such file or directory
rmmod: rt2860v2_ap_util: No such file or directory
rmmod: rt2860v2_sta_net: No such file or directory
rmmod: rt2860v2_sta: No such file or directory
rmmod: rt2860v2_sta_util: No such file or directory
RT305x_ESW: Link Status Changed
insmod: rt2860v2_ap_util.ko: module not found
rt2860v2_ap: module license 'unspecified' taints kernel.

=== pAd = c0049000, size = 630120 ===

<-- RTMPAllocAdapterBlock, Status=0
insmod: rt2860v2_ap_net.ko: module not found
rmmod: nf_nat_pptp: No such file or directory
rmmod: nf_conntrack_pptp: No such file or directory
rmmod: nf_nat_proto_gre: No such file or directory
rmmod: nf_conntrack_proto_gre: No such file or directory
RX DESC a0866000  size = 2048
<-- RTMPAllocTxRxRingMemory, Status=0
Key1Str is Invalid key length(0) or Type(0)
Key2Str is Invalid key length(0) or Type(0)
Key3Str is Invalid key length(0) or Type(0)
Key4Str is Invalid key length(0) or Type(0)
1. Phy Mode = 9
2. Phy Mode = 9
3. Phy Mode = 9
MCS Set = ff 00 00 00 01
Main bssid = 9c:41:7c:22:2e:e8
<==== rt28xx_init, Status=0
0x1300 = 00064380
vconfig: ioctl error for rem: Invalid argument
vconfig: ioctl error for rem: Invalid argument
rmmod: 8021q: No such file or directory
insmod: 8021q.ko: module not found
eth2.2: Setting MAC address to  9c 41 7c 22 2e e7.
device eth2 entered promiscuous mode
VLAN (eth2.2):  Setting underlying device (eth2) to promiscious mode.
ifconfig: ioctl 0x8913 failed: No such device
brctl: bridge br0: No such device or address
##### config Ralink ESW vlan partition (LLLLW) #####
switch reg write offset=14, value=405555
switch reg write offset=50, value=2001
switch reg write offset=98, value=7f3f
switch reg write offset=e4, value=3f
switch reg write offset=40, value=1001
switch reg write offset=44, value=1001
switch reg write offset=48, value=1002
switch reg write offset=70, value=ffff506f
done.
device ra0 entered promiscuous mode
eth2.1: dev_set_promiscuity(master, 1)
device eth2.1 entered promiscuous mode
udhcpc (v1.12.1) started
br0: port 2(eth2.1) entering learning state
br0: port 1(ra0) entering learning state
ifconfig: ioctl 0x8914 failed: Cannot assign requested address
ifconfig: ioctl 0x8914 failed: Cannot assign requested address
/sbin/lan.sh: line 63: hostname: not found
br0: topology change detected, propagating
br0: port 2(eth2.1) entering forwarding state
br0: topology change detected, propagating
br0: port 1(ra0) entering forwarding state
killall: udhcpd: no process killed
Set: phy[0].reg[RT305x_ESW: Link Status Changed
0] = 3900
Set: phy[1].reg[0] = 3900
Set: phy[2].reg[0] = 3900
Set: phy[3].reg[0] = 3900
Set: phy[0].reg[0] = 3100
Set: phy[1].reg[0] = 3100
Set: phy[2].reg[0] = 3100
Set: phy[3].reg[0] = 3100
ifconfig: ioctl 0x8913 failed: No such device
RT305x_ESW: Link Status Changed
killall rt2860apd 1>/dev/null 2>&1
iptables -F -t filter 1>/dev/null 2>&1
iptables -D FORWARD -j macipport_filter 1>/dev/null 2>&1
iptables -F macipport_filter 1>/dev/null 2>&1
iptables -D FORWARD -j web_filter  1>/dev/null 2>&1
iptables -F web_filter  1>/dev/null 2>&1
iptables -D FORWARD -j malicious_filter 1>/dev/null 2>&1
iptables -F malicious_filter  1>/dev/null 2>&1
iptables -D INPUT -j malicious_input_filter 1>/dev/null 2>&1
iptables -F malicious_input_filter  1>/dev/null 2>&1
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t filter -N web_filter 1>/dev/null 2>&1
iptables -t filter -N macipport_filter 1>/dev/null 2>&1
iptables -t filter -N malicious_filter 1>/dev/null 2>&1
iptables -t filter -N synflood_filter 1>/dev/null 2>&1
iptables -t filter -N malicious_input_filter 1>/dev/null 2>&1
iptables -t filter -N synflood_input_filter 1>/dev/null 2>&1
iptables -t filter -A FORWARD -j web_filter 1>/dev/null 2>&1
iptables -t filter -A FORWARD -j macipport_filter 1>/dev/null 2>&1
iptables -t filter -A FORWARD -j malicious_filter 1>/dev/null 2>&1
iptables -t filter -A malicious_filter -p tcp --syn -j synflood_filter 1>/dev/null 2>&1
iptables -t filter -A INPUT -j malicious_input_filter 1>/dev/null 2>&1
iptables -t filter -A malicious_input_filter -p tcp --syn -j synflood_input_filter 1>/dev/null 2>&1
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu 1>/dev/null 2>&1
iptables -A malicious_input_filter -i eth2.2 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A malicious_input_filter -i eth2.2 -m state -p tcp --dport 80 --state NEW,INVALID -j DROP
/bin/super_dmz -f
sh: /bin/super_dmz: not found
iptables -t nat -D PREROUTING -j port_forward 1>/dev/null 2>&1
iptables -t nat -F port_forward  1>/dev/null 2>&1; iptables -t nat -X port_forward  1>/dev/null 2>&1
iptables -t nat -D PREROUTING -j DMZ 1>/dev/null 2>&1
iptables -t nat -F DMZ 1>/dev/null 2>&1; iptables -t nat -X DMZ  1>/dev/null 2>&1
iptables -t nat -N port_forward 1>/dev/null 2>&1; iptables -t nat -I PREROUTING 1 -j port_forward 1>/dev/null 2>&1
iptables -t nat -N DMZ 1>/dev/null 2>&1; iptables -t nat -I PREROUTING 2 -j DMZ 1>/dev/null 2>&1
ntp.sh
ddns.sh
kill -9 `cat /var/run/wscd.pid.ra0`
cat: can't open '/var/run/wscd.pid.ra0': No such file or directory
kill: you need to specify whom to kill
iwpriv ra0 set WscConfMode=0 1>/dev/null 2>&1
route delete 239.255.255.250 1>/dev/null 2>&1
killall -q klogd
killall -q syslogd
syslogd -C8 1>/dev/null 2>&1
klogd 1>/dev/null 2>&1
killall -q zebra
killall -q ripd
/bin/qos_run
webs: Listening for HTTP requests at address 10.10.10.254

Embedsys is running a modified version of Ralink SDK 3.6.0.0 and the generic is running stock Ralink SDK firmware.

The flash layout is as follows:

# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00400000 00010000 "ALL"
mtd1: 00030000 00010000 "Bootloader"
mtd2: 00010000 00010000 "Config"
mtd3: 00010000 00010000 "Factory"
mtd4: 0010a6aa 00010000 "Kernel"
mtd5: 002a5956 00010000 "RootFS"
mtd6: 003b0000 00010000 "Kernel_RootFS"
#

The ones I'm trying to get to work have 16MB RAM and 4MB FLASH (AT25DF321 (1f 47000000) (4096 Kbytes)) and use the propietary Ralink rt2860v2 wireless drivers.

I bought an MPR-L8 (HAME MPR-A1 clone, apparently).

Is there any progress on having OpenWrt working on the RT5350, including wireless and USB?

Does someone has patches for that?

Bump!

Thank you!

I have seen the patches posted in the dev list regarding Wi-fi, but I haven't tried it yet... Do you have an experience with it?

Also, it looks like USB is still not working: it may be just a GPIO controlling the USB power switch, don't you think?

And it looks like nobody touched the bootloader yet: it could be interesting for performing a Flash upgrade...

I will have some time to work on it, so I will solder a console adapter first. Then try to backup the Flash chip just in case, then proceed from there...

I'd definitely like to see the USB and WiFi working on my very similar HOTSION HOT-V9 Device.

I've added a Wiki Page for it here http://wiki.openwrt.org/toh/hotsion/hot-v9
I've posted my patches here http://heffer.fedorapeople.org/openwrt/

The WiFi Patch posted there does activate the wifi card but somehow I cannot receive it's signal. I'll check with the original firmware whether the EEPROM in the MTD differs from what the driver is actually loading.

As far as the USB is concerned I'm wondering why it only detects one port:

rt3xxx-ehci rt3xxx-ehci: Ralink EHCI Host Controller
rt3xxx-ehci rt3xxx-ehci: new USB bus registered, assigned bus number 1
rt3xxx-ehci rt3xxx-ehci: irq 18, io mem 0x101c0000
rt3xxx-ehci rt3xxx-ehci: USB 0.0 started, EHCI 1.00, driver 10 Dec 2004
usb usb1: Product: Ralink EHCI Host Controller
usb usb1: Manufacturer: Linux 2.6.21 ehci_hcd
usb usb1: SerialNumber: rt3xxx
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
rt3xxx-ohci rt3xxx-ohci: RT3xxx OHCI Controller
rt3xxx-ohci rt3xxx-ohci: new USB bus registered, assigned bus number 2
rt3xxx-ohci rt3xxx-ohci: irq 18, io mem 0x101c1000
usb usb2: Product: RT3xxx OHCI Controller
usb usb2: Manufacturer: Linux 2.6.21 ohci_hcd
usb usb2: SerialNumber: rt3xxx-ohci
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
usb 1-1: new high speed USB device using rt3xxx-ehci and address 2
usb 1-1: Product: USB Storage
usb 1-1: Manufacturer: Generic
usb 1-1: SerialNumber: 000000000250
usb 1-1: configuration #1 chosen from 1 choice

I see only one port being registered: hub 1-0:1.0: 1 port detected
As you can see it registers the internal SD cardreader (which actually even works, I can mount and use it). However the two external USB ports don't work.

From your hi-res PCB picture, I can tell that:

  • U12 is a Genesys Logic GL823 USB 2.0 SD/MMC Card Reader Controller: this is the device that provides the microSD card over USB

  • U3 and U4 are 2x Elite MicroPower EMC5060 Single-cell Li-Ion Charger IC with System Power Management

  • There are 2x unidentified TSSOP8 chips left and below the 2x "4R7" power inductors which are probably DC/DC voltage regualtors

  • U29 is a Chipsea CS1168 24-bit Sigma/delta ADC

  • U9 "MT3470" is unidentified, but given the large "4R7" power inductor close to it, it is probably a power-related chip

  • The SDRAM chip is an EtronTech EM63A165 16Mega x 16 Synchronous DRAM (SDRAM), so you get 32MB

  • As you already found out, the Flash chip is a GigaDevice GD25Q64B 64M-bit Serial Flash, so you get 8MB

But the culprits may well be U36 and U37, which look like 2x USB power switch chips, that are probably GPIO-controlled....

Regarding my MPR-L8 (HAME MPR-A1 clone), I found a Feeling Technology FP6290 Low-Noise Step-Up Current Mode PWM Controller with Over Current Protection, which is apparently used to provide the +5V USB power from the +3V3 or +3V7 battery voltage. It is located on the battery-side of the PCB, close to the battery, the USB connector and a 10µH D/DC inductor.

Pin 3 is an EN (ENable) pin, so it may also be GPIO-controlled by the RT5350, which could explain why there is no USB detected besides the root hub itself.

But if this is the case, we still have to find out which GPIO is used... Maybe by looking in the "/sys/class/gpio" from the original firmware?

(Last edited by Squonk on 10 Dec 2012, 18:43)

monotube wrote:

Here is also a similar, but the model is MPR-L8, for $19. Would be great to see OpenWrt on it..

thank for the link, just ordered 2 of these, waiting for openwrt support!!

As I haven't seen it yet, here is the TTL console pinout. Looking at PCB bottom/battery side, USB connector on left, Ethernet RJ45 on right side, there are 4 horizontally-aligned pads close to the PCB edge the closest to you :

  • Left: GND

  • Middle-Left: RX

  • Middle-Right: TX

  • Right: +3V3

Console is running at 57600 bps, 8 bits , no parity, 1 stop bit, no software/hardware flow control.

Here is the MPR-L8 boot log:

U-Boot 1.1.7 (Dec 13 2011 - 13:49:42)

Board: Ralink APSoC DRAM:  16 MB
relocate_code Pointer at: 80fb4000
spi_wait_nsec: 42 
spi device id: ef 40 16 0 0 (40160000)
find flash: W25Q32BV
raspi_read: from:30000 len:1000 
.raspi_read: from:30000 len:1000 
.============================================ 
Ralink UBoot Version: 3.6.0.0
-------------------------------------------- 
ASIC 5350_MP (Port5<->None)
DRAM_CONF_FROM: Boot-Strapping 
DRAM_TYPE: SDRAM 
DRAM_SIZE: 128 Mbits
DRAM_WIDTH: 16 bits
DRAM_TOTAL_WIDTH: 16 bits
TOTAL_MEMORY_SIZE: 16 MBytes
Flash component: SPI Flash
Date:Dec 13 2011  Time:13:49:42
============================================ 
icache: sets:256, ways:4, linesz:32 ,total:32768
dcache: sets:128, ways:4, linesz:32 ,total:16384 

 ##### The CPU freq = 360 MHZ #### 
 estimate memory size =16 Mbytes
raspi_read: from:40028 len:6 
.
raspi_read: from:0 len:30004 
....*************Is_update = 0 plat = 1**************

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 

3: System Boot system code via Flash.
## Booting image at bc050000 ...
raspi_read: from:50000 len:40 
.   Image Name:   Linux Kernel Image
   Created:      2012-08-21   8:22:53 UTC
   Image Type:   MIPS Linux Kernel Image (lzma compressed)
   Data Size:    3305408 Bytes =  3.2 MB
   Load Address: 80000000
   Entry Point:  802d1000
raspi_read: from:50040 len:326fc0 
...................................................   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
No initrd
## Transferring control to Linux (at address 802d1000) ...
## Giving linux memsize in MB, 16

Starting kernel ...


LINUX started...

 THIS IS ASIC
Linux version 2.6.21 (root@hex.centos.mac) (gcc version 3.4.2) #1390 Tue Aug 21 15:13:30 HKT 2012

 The CPU feqenuce set to 360 MHz
CPU revision is: 0001964c
Determined physical RAM map:
 memory: 01000000 @ 00000000 (usable)
Built 1 zonelists.  Total pages: 4064
Kernel command line: console=ttyS1,57600n8 root=/dev/mtdblock4
Primary instruction cache 32kB, physically tagged, 4-way, linesize 32 bytes.
Primary data cache 16kB, 4-way, linesize 32 bytes.
Synthesized TLB refill handler (20 instructions).
Synthesized TLB load handler fastpath (32 instructions).
Synthesized TLB store handler fastpath (32 instructions).
Synthesized TLB modify handler fastpath (31 instructions).
Cache parity protection disabled
cause = c0808020, status = 11000000
PID hash table entries: 64 (order: 6, 256 bytes)
calculating r4koff... 0015f900(1440000)
CPU frequency 360.00 MHz
Using 180.000 MHz high precision timer.
Console: colour dummy device 80x25
Dentry cache hash table entries: 2048 (order: 1, 8192 bytes)
Inode-cache hash table entries: 1024 (order: 0, 4096 bytes)
Memory: 13072k/16384k available (2190k kernel code, 3312k reserved, 689k data, 112k init, 0k highmem)
Mount-cache hash table entries: 512
NET: Registered protocol family 16
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Time: MIPS clocksource has been installed.
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 512 (order: 0, 4096 bytes)
TCP bind hash table entries: 512 (order: -1, 2048 bytes)
TCP: Hash tables configured (established 512 bind 512)
TCP reno registered
deice id : ef 40 16 0 0 (40160000)
W25Q32BV(ef 40160000) (4096 Kbytes)
mtd .name = raspi, .size = 0x00400000 (4M) .erasesize = 0x00010000 (64K) .numeraseregions = 0
Creating 6 MTD partitions on "raspi":
0x00000000-0x00030000 : "Bootloader"
0x00030000-0x00040000 : "Config"
0x00040000-0x00050000 : "Factory"
0x00050000-0x00150000 : "Kernel"
0x00150000-0x00400000 : "RootFS"
0x00050000-0x00400000 : "Firmware"
RT3xxx EHCI/OHCI init.
squashfs: version 3.2-r2 (2007/01/15) Phillip Lougher
squashfs: LZMA suppport for slax.org by jro
fuse init (API version 7.8)
io scheduler noop registered (default)
DIR=003fbfff
MOD=004000c0
DATA=003c0001
ralink_gpio.c ===>GPIOMMODE =0x004000C0 DIR=0x003FBFFF DAT=0x003C0001
==============>SET GPIOMMODE =0x0000005D 
---- HXTM Set LED! ----
3 ===>GPIOMMODE =0x0000005D DIR=0x003FBFFE DAT=0x003C4081
Ralink gpio driver initialized
Serial: 8250/16550 driver $Revision: 1.7 $ 2 ports, IRQ sharing disabled
serial8250: ttyS0 at I/O 0xb0000500 (irq = 37) is a 16550A
serial8250: ttyS1 at I/O 0xb0000c00 (irq = 12) is a 16550A
loop: loaded (max 8 devices)
rdm_major = 254
MAC_ADRH -- : 0x00000000
MAC_ADRL -- : 0x00000000
Ralink APSoC Ethernet Driver Initilization. v2.0  256 rx/tx descriptors allocated, mtu = 1500!
MAC_ADRH -- : 0x00009c41
MAC_ADRL -- : 0x7c264e95
PROC INIT OK!
PPP generic driver version 2.4.2
PPP Deflate Compression module registered
PPP BSD Compression module registered
PPP MPPE Compression module registered
NET: Registered protocol family 24
PPPoL2TP kernel driver, V0.17
PPTP driver version 0.8.1
block2mtd: version $Revision: 1.1.1.1 $
Netfilter messages via NETLINK v0.30.
ip_conntrack version 2.4 (128 buckets, 1024 max) - 232 bytes per conntrack
ip_conntrack_pptp version 3.1 loaded
ip_nat_pptp version 3.0 loaded
ip_tables: (C) 2000-2006 Netfilter Core Team, Type=Restricted Cone
ipt_time loading
arp_tables: (C) 2002 David S. Miller
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
All bugs added by David S. Miller <davem@redhat.com>
VFS: Mounted root (squashfs filesystem) readonly.
Freeing unused kernel memory: 112k freed
nvram_init start.
NVRAM MTD is mtd1
_nvram_read checksum = 4a1e save checksum = 4a1e
nvram_init finished. 
Netlink Hotplugdrt3xxx-ehci rt3xxx-ehci: Ralink EHCI Host Controller
rt3xxx-ehci rt3xxx-ehci: new USB bus registered, assigned bus number 1
rt3xxx-ehci rt3xxx-ehci: irq 18, io mem 0x101c0000
rt3xxx-ehci rt3xxx-ehci: USB 0.0 started, EHCI 1.00, driver 10 Dec 2004
usb usb1: Product: Ralink EHCI Host Controller
usb usb1: Manufacturer: Linux 2.6.21 ehci_hcd
usb usb1: SerialNumber: rt3xxx
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
rt3xxx-ohci rt3xxx-ohci: RT3xxx OHCI Controller
rt3xxx-ohci rt3xxx-ohci: new USB bus registered, assigned bus number 2
rt3xxx-ohci rt3xxx-ohci: irq 18, io mem 0x101c1000
usb usb2: Product: RT3xxx OHCI Controller
usb usb2: Manufacturer: Linux 2.6.21 ohci_hcd
usb usb2: SerialNumber: rt3xxx-ohci
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected

phy_tx_ring = 0x00a65000, tx_ring = 0xa0a65000

phy_rx_ring0 = 0x00a66000, rx_ring0 = 0xa0a66000
RT305x_ESW: Link Status Changed
Hit enter to continue...

3G Router Start!
-->start_lan BaseMode=6
-->wan_proto =5
rt2860v2_ap: module license 'unspecified' taints kernel.


=== pAd = c006f000, size = 632752 ===

<-- RTMPAllocAdapterBlock, Status=0
RX DESC a04e5000  size = 2048
<-- RTMPAllocTxRxRingMemory, Status=0
Key1Str is Invalid key length(0) or Type(0)
Key2Str is Invalid key length(0) or Type(0)
Key3Str is Invalid key length(0) or Type(0)
Key4Str is Invalid key length(0) or Type(0)
ff:ac:f2:bb:9b:14:da:b7:6a:22:24:9a:52:dd:14:cc:
23:90:a1:e1:8d:70:11:e5:8d:5b:16:cf:e7:e0:ef:2b:

1. Phy Mode = 9
2. Phy Mode = 9
TXALC> bInternalTxALC = 0
3. Phy Mode = 9
NICInitAsicFromEEPROM: pAd->TxPowerCtrl.bInternalTxALC = 0
MCS Set = ff 00 00 00 01
Main bssid = 00:20:0c:06:35:a0
<==== rt28xx_init, Status=0
0x1300 = 00064380
Algorithmics/MIPS FPU Emulator v1.5
device ra0 entered promiscuous mode
device eth2 entered promiscuous mode
br0: port 2(eth2) entering learning state
br0: port 1(ra0) entering learning state
open error
Open /proc/max/macfilter Failed
Set Port Mirror Failed.
Set Port VLAN Failed
Set Port Mirror Failed.
=====> set eth2.2 hwaddr to 00:20:0C:06:35:A1 error
eth2.2: No such device
ioctl siocsifmtu fail 19 No such device
IDLE
Hit enter to continue...
br0: topology change detected, propagating
br0: port 2(eth2) entering forwarding state
br0: topology change detected, propagating
br0: port 1(ra0) entering forwarding state
-----------------run smartd----------------------
Hit enter to continue...



BusyBox v1.12.1 (2012-07-22 23:43:12 HKT) built-in shell (msh)
Enter 'help' for a list of built-in commands.

But you only get access to a limited shell sad

BoC Router> 
BoC Router> help

 ?                   ->Display help information.
 help                ->Display help information, same as '?' command.
 clear               ->Clear various talbes, type clear for help.
 ping                ->ping HOST, type ping for help.
 traceroute          ->route trace, type traceroute for help.
 ipmac               ->ip mac bind settings.
 quit                ->Close terminal session.
 show                ->Display various talbes information, type show for help.
 restart_httpd       ->Restart web server.
 restore_defaults    ->Restore the config to the default factory value.
 ated                ->run ated for MP test.

BoC Router> show
  ip          < ip informations
  ipmac       < ipmac binding information.
  nat         < nat informations
  dev         < show device statistics
  system      < system basic informations

BoC Router> show system
  revision        < show basic information
  process         < show the process of the router
  run             < show the run status of the router
  uptime          < show time when the router start
  date            < show current the date of the router

BoC Router> show system revision

  software version: 2.1.1.8
     product model: MPR-L8
     serial number: HXTM12061766
  hardware version: V1.0.1
  f/w release date: Aug. 21, 2012 00:02:18

Here is the U-Boot printenv:

RT5350 # printenv
bootcmd=tftp
bootdelay=2
baudrate=57600
ethaddr="00:AA:BB:CC:DD:10"
ramargs=setenv bootargs root=/dev/ram rw
addip=setenv bootargs $(bootargs) ip=$(ipaddr):$(serverip):$(gatewayip):$(netmask):$(hostname):$(netdev):off
addmisc=setenv bootargs $(bootargs) console=ttyS0,$(baudrate) ethaddr=$(ethaddr) panic=1
flash_self=run ramargs addip addmisc;bootm $(kernel_addr) $(ramdisk_addr)
kernel_addr=BFC40000
u-boot=u-boot.bin
load=tftp 8A100000 $(u-boot)
u_b=protect off 1:0-1;era 1:0-1;cp.b 8A100000 BC400000 $(filesize)
loadfs=tftp 8A100000 root.cramfs
u_fs=era bc540000 bc83ffff;cp.b 8A100000 BC540000 $(filesize)
test_tftp=tftp 8A100000 root.cramfs;run test_tftp
ethact=Eth0 (10/100-M)
serverip=10.10.10.3
ipaddr=10.10.10.123
stdin=serial
stdout=serial
stderr=serial

Environment size: 765/4092 bytes
RT5350 # 

@Ricardo: looking at the Polish thread on the subject:

GPIO0 - Reset Button
GPIO7 - USB Power
GPIO12 - cos zwiazanego z USB 
GPIO13 - ? (jest w bootlogu oryginalu ale nie doszedlem do czego sluzy)
GPIO17 - Dioda LED red Power
GPIO20 - Dioda LED ble sys

I don't understand everything, but it looks like the GPIO7 controls the USB power, and GPIO12 has something to do with USB too, maybe USB over-current detect input?

So you can try to play with /sys/class/gpio and export GPIO7 as output and set it to 1? Then if it works, integrate it into the machine def like this one from TL-WR703N:

    gpio_request_one(TL_WR703N_GPIO_USB_POWER,
             GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
             "USB power");

I am waiting for a supplier to build one of these with a built-in 3G modem.

And while they are at it, an on-board SLIC ATA interface too.

Perazim

(Last edited by perazim on 12 Dec 2012, 09:31)