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.

valentt wrote:

So this HAME MPR-A1 now works with OpenWrt? Any know issues?

No, WiFi working, Ethernet switch working, USB working, button working, LEDs working...

The only problem is the SDRAM capacity: only 16 MB sad

valentt wrote:

Any good place to order them? I fount them on DX for 24$ with free shipping, any better deals?
http://dx.com/p/hame-mpr-a1-wi-fi-802-1 … lue-176387

If you don't care for a clone, here is one MPR-L8 at 18.99 USD, free shipping, about 2 weeks for delivery (the one I have): works like a charm!

But the one above from @miguxbe may be a better deal if you prefer microSD + SD card and 32 MB SDRAM, and don't care about battery...

How about miguxbe's one - is that fully working with OpenWrt now? The card slots make it quite appealing smile

denovo wrote:

How about miguxbe's one - is that fully working with OpenWrt now? The card slots make it quite appealing smile

That what I suggested wink

But be careful, from what I can see from the top PCB picture, the microSD  SD is provided by a GL823 chip. Unfortunately, it looks like the microSD+SD is brought to the microUSB connector, but not routed internally. The only way around is to loop the microUSB connector to the USB connector, but you still have to provide power...

Squonk wrote:
denovo wrote:

How about miguxbe's one - is that fully working with OpenWrt now? The card slots make it quite appealing smile

That what I suggested wink

But be careful, from what I can see from the top PCB picture, the microSD  SD is provided by a GL823 chip. Unfortunately, it looks like the microSD+SD is brought to the microUSB connector, but not routed internally. The only way around is to loop the microUSB connector to the USB connector, but you still have to provide power...

Ah - being a person of little electronics, I think I'd better stay away from this one. Thanks!

miguxbe--I see by your boot log that ttyS1 is initialized/found as well as the console serial, ttyS0.  Do you know if the pins for this are brought out somwhere?

serial8250: ttyS0 at I/O 0xb0000500 (irq = 37) is a 16550A
serial8250: ttyS1 at I/O 0xb0000c00 (irq = 12) is a 16550A

If you have an SD or micro-SD inserted, are they detected and made available?

Squonk wrote:

...  from the top PCB picture, the microSD  SD is provided by a GL823 chip. Unfortunately, it looks like the microSD+SD is brought to the microUSB connector, but not routed internally. The only way around is to loop the microUSB connector to the USB connector, but you still have to provide power...

Can you explain this a little more fully?

Does it look like GPIOs are available with this board?

denovo wrote:

Ah - being a person of little electronics, I think I'd better stay away from this one. Thanks!

No, just until the hardware guys have cleaned up the mess wink

lizby wrote:
Squonk wrote:

...  from the top PCB picture, the microSD  SD is provided by a GL823 chip. Unfortunately, it looks like the microSD+SD is brought to the microUSB connector, but not routed internally. The only way around is to loop the microUSB connector to the USB connector, but you still have to provide power...

Can you explain this a little more fully?

Does it look like GPIOs are available with this board?

Please refer to miguxbe's last picture: do you see the GL8823 chip right to the large SDRAM chip? And do you see its pins 18-19 routed around the large inductor "4R7", C190 and C1? These are USB D+/D- signals that are routed to the microUSB USB1 connector that is just outside of the picture.

This means that the microSD+SD are only routed to this microUSB connector, not internally, since the RT5350 only has a single USB interface.

This would provide microSD+SD to a PC when you attach the router, but the only way to benefit from them from the router itself is to loopback the microUSB and the USB connectors.

As for the GPIOs, I don't expect to have a lot available, but at least you have an easy to solder UART which is 3.3V LVTTL level, 32MB SDRAM and an unlike with AR9331, an USB host interface that is working wink

(Last edited by Squonk on 6 Jan 2013, 16:53)

Squonk--Thanks for that explanation.  No wonder I was confused.  The enlarged "last picture" of miguxbe that you provided the link to for me doesn't come up, nor does linking to it from his original post by clicking to enlarge.  That's in Win7, and trying it with ie9, firefox, opera, chrome, and safari.

Does the sd wiring mean that even if you did connect the micro-usb and usb, you would have either usb or sd, but not both?

If you connected a hub to USB, could you then connect from the hub to micro-usb and have access to the sd?  (Sounds roundabout, and wouldn't give you much more than you could get with the hub itself--and of course, as you point out, you'd have to provide power.)

(Last edited by lizby on 6 Jan 2013, 17:57)

lizby wrote:

Squonk--Thanks for that explanation.  No wonder I was confused.  The enlarged "last picture" of miguxbe that you provided the link to for me doesn't come up, nor does linking to it from his original post by clicking to enlarge.  That's in Win7, and trying it with ie9, firefox, opera, chrome, and safari.

You can try "save picture as..."

lizby wrote:

Does the sd wiring mean that even if you did connect the micro-usb and usb, you would have either usb or sd, but not both?

Yes , exactly
Yes, exactly!

lizby wrote:

If you connected a hub to USB, could you then connect from the hub to micro-usb and have access to the sd?  (Sounds roundabout, and wouldn't give you much more than you could get with the hub itself--and of course, as you point out, you'd have to provide power.)

Yes.

I've just compiled openwrt but generated file bricked mpr a1. Can anyone send .config of succesfull compile?

madanadam wrote:

I've just compiled openwrt but generated file bricked mpr a1. Can anyone send .config of succesfull compile?

First, checkout a fresh trunk from subversion, then apply the patches and configuration as described in my previous post:
https://forum.openwrt.org/viewtopic.php … 41#p186841

Don't change anything else, it should work out of the box.

If not, post your bootlog, so we can tell what is going on.

I ll try again. ThankS

Ordered.

wink

Ordered a Poray M3 too. Maybe we should change the thread title to something like "RT5350 based routers" tongue

By the way, I still need to find out how the original firmware manages to switch between the cardreader chip and the external USB port on my HOTSION HOT-V9 (branded Poray PRP-X5).
Because as soon as you plug in an external device to the USB Port the cardreader is deactivated and USB seems to be routed to the external USB port.

(Last edited by Heffer on 7 Jan 2013, 08:27)

why not any SPI FLASH detect it?

## Booting image at bc050000 ...
raspi_read: from:50000 len:40
.   Image Name:   DIR_620
   Created:      2013-01-07   9:38:13 UTC
   Image Type:   MIPS Linux Kernel Image (lzma compressed)
   Data Size:    833121 Bytes = 813.6 kB
   Load Address: 80000000
   Entry Point:  80000000
raspi_read: from:50040 len:cb661
.............   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
No initrd
## Transferring control to Linux (at address 80000000) ...
## Giving linux memsize in MB, 32

Starting kernel ...

[    0.000000] Linux version 3.6.11 (trac@UbuntuServer32) (gcc version 4.6.4 20121106 (prerelease) (Linaro GCC 4.6-2012.11) ) #4 Mon Jan 7 17:37:33 CST 2013
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU revision is: 0001964c (MIPS 24KEc)
[    0.000000] Ralink RT5350 id:1 rev:3 running at 360.00 MHz
[    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:  board=DIR-620-A1 console=ttyS1,57600 mtdparts=physmap-flash.0:192k(u-boot)ro,64k(u-boot-env)ro,64k(factory)ro,896k(kernel),6976k(rootfs),7872k@0x50000(firmware) 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] __ex_table already sorted, skipping sort
[    0.000000] Writing ErrCtl register=00078194
[    0.000000] Readback ErrCtl register=00078194
[    0.000000] Memory: 29788k/32768k available (1955k kernel code, 2980k reserved, 319k data, 176k init, 0k highmem)
[    0.000000] SLUB: Genslabs=9, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS:48
[    0.000000] console [ttyS1] enabled, bootconsole disabled
[    0.000000] console [ttyS1] enabled, bootconsole disabled
[    0.001000] Calibrating delay loop... 238.59 BogoMIPS (lpj=119296)
[    0.013000] pid_max: default: 32768 minimum: 301
[    0.014000] Mount-cache hash table entries: 512
[    0.019000] NET: Registered protocol family 16
[    0.024000] MIPS: machine is D-Link DIR-620 A1
[    0.052000] bio: create slab <bio-0> at 0
[    0.060000] Switching to clocksource MIPS
[    0.070000] NET: Registered protocol family 2
[    0.080000] TCP established hash table entries: 1024 (order: 1, 8192 bytes)
[    0.094000] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[    0.106000] TCP: Hash tables configured (established 1024 bind 1024)
[    0.119000] TCP: reno registered
[    0.126000] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.138000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.151000] NET: Registered protocol family 1
[    0.205000] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.217000] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.240000] msgmni has been set to 58
[    0.247000] io scheduler noop registered
[    0.255000] io scheduler deadline registered (default)
[    0.266000] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[    0.280000] serial8250: ttyS0 at MMIO 0x10000500 (irq = 13) is a 16550A
[    0.294000] serial8250: ttyS1 at MMIO 0x10000c00 (irq = 20) is a 16550A
[    0.313000] physmap platform flash device: 00800000 at bf000000
[    0.328000] physmap-flash physmap-flash.0: map_probe failed
[    0.351000] ramips-wdt ramips-wdt: timeout value must be 0 < timeout <= 35, using 35
[    0.369000] TCP: cubic registered
[    0.376000] NET: Registered protocol family 17
[    0.385000] 8021q: 802.1Q VLAN Support v1.8
[    0.397000] VFS: Cannot open root device "(null)" or unknown-block(0,0): error -6
[    0.413000] Please append a correct "root=" boot option; here are the available partitions:
[    0.429000] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

(Last edited by linuxpro on 7 Jan 2013, 10:41)

linuxpro wrote:

why not any SPI FLASH detect it?

## Booting image at bc050000 ...
raspi_read: from:50000 len:40
.   Image Name:   DIR_620
   Created:      2013-01-07   9:38:13 UTC
   Image Type:   MIPS Linux Kernel Image (lzma compressed)
   Data Size:    833121 Bytes = 813.6 kB
   Load Address: 80000000
   Entry Point:  80000000
raspi_read: from:50040 len:cb661
.............   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
No initrd
## Transferring control to Linux (at address 80000000) ...
## Giving linux memsize in MB, 32

Starting kernel ...

[    0.000000] Linux version 3.6.11 (trac@UbuntuServer32) (gcc version 4.6.4 20121106 (prerelease) (Linaro GCC 4.6-2012.11) ) #4 Mon Jan 7 17:37:33 CST 2013
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU revision is: 0001964c (MIPS 24KEc)
[    0.000000] Ralink RT5350 id:1 rev:3 running at 360.00 MHz
[    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:  board=DIR-620-A1 console=ttyS1,57600 mtdparts=physmap-flash.0:192k(u-boot)ro,64k(u-boot-env)ro,64k(factory)ro,896k(kernel),6976k(rootfs),7872k@0x50000(firmware) 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] __ex_table already sorted, skipping sort
[    0.000000] Writing ErrCtl register=00078194
[    0.000000] Readback ErrCtl register=00078194
[    0.000000] Memory: 29788k/32768k available (1955k kernel code, 2980k reserved, 319k data, 176k init, 0k highmem)
[    0.000000] SLUB: Genslabs=9, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS:48
[    0.000000] console [ttyS1] enabled, bootconsole disabled
[    0.000000] console [ttyS1] enabled, bootconsole disabled
[    0.001000] Calibrating delay loop... 238.59 BogoMIPS (lpj=119296)
[    0.013000] pid_max: default: 32768 minimum: 301
[    0.014000] Mount-cache hash table entries: 512
[    0.019000] NET: Registered protocol family 16
[    0.024000] MIPS: machine is D-Link DIR-620 A1
[    0.052000] bio: create slab <bio-0> at 0
[    0.060000] Switching to clocksource MIPS
[    0.070000] NET: Registered protocol family 2
[    0.080000] TCP established hash table entries: 1024 (order: 1, 8192 bytes)
[    0.094000] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[    0.106000] TCP: Hash tables configured (established 1024 bind 1024)
[    0.119000] TCP: reno registered
[    0.126000] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.138000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.151000] NET: Registered protocol family 1
[    0.205000] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.217000] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.240000] msgmni has been set to 58
[    0.247000] io scheduler noop registered
[    0.255000] io scheduler deadline registered (default)
[    0.266000] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[    0.280000] serial8250: ttyS0 at MMIO 0x10000500 (irq = 13) is a 16550A
[    0.294000] serial8250: ttyS1 at MMIO 0x10000c00 (irq = 20) is a 16550A
[    0.313000] physmap platform flash device: 00800000 at bf000000
[    0.328000] physmap-flash physmap-flash.0: map_probe failed
[    0.351000] ramips-wdt ramips-wdt: timeout value must be 0 < timeout <= 35, using 35
[    0.369000] TCP: cubic registered
[    0.376000] NET: Registered protocol family 17
[    0.385000] 8021q: 802.1Q VLAN Support v1.8
[    0.397000] VFS: Cannot open root device "(null)" or unknown-block(0,0): error -6
[    0.413000] Please append a correct "root=" boot option; here are the available partitions:
[    0.429000] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

physmap-flash physmap-flash.0: map_probe failed

...... Why!

i have select  <*> Support most SPI Flash chips (AT26DF, M25P, W25X, ...)

(Last edited by linuxpro on 7 Jan 2013, 10:48)

i see, on the  target/linux/ramips/files/arch/mips/ralink/rt305x/
not include dir-620a1 mach file.

no,   mach-dir-300-revb.c has include 620a1 LED and GPIO  define.

(Last edited by linuxpro on 7 Jan 2013, 10:58)

If using SPI for flash is really what you want you'll need to edit the kernel's boot parameters (either directly or in target/linux/ramips/image/Makefile) to use spi instead of phys.

Heffer wrote:

If using SPI for flash is really what you want you'll need to edit the kernel's boot parameters (either directly or in target/linux/ramips/image/Makefile) to use spi instead of phys.

thanks for your reply.

lizby wrote:

miguxbe--I see by your boot log that ttyS1 is initialized/found as well as the console serial, ttyS0.  Do you know if the pins for this are brought out somwhere?

serial8250: ttyS0 at I/O 0xb0000500 (irq = 37) is a 16550A
serial8250: ttyS1 at I/O 0xb0000c00 (irq = 12) is a 16550A

If you have an SD or micro-SD inserted, are they detected and made available?

Ok, everything has been perfectly answered by @Squonk. Thanks @Squonk!! smile.
And yes, unfortunately the SD and microSD card readers works as a simple hub, I connected the microUSB to my pc and both readers work as a simple hub. I think that these card readers were thought to keep the router near a laptop, or something like that...

Finally, I think, that I or someone should create a new thread for the PORAY M3 or RT5350F devices, and not mix with the HAME beacause it could be confusing.

I think a wiki page for each device would be a good start. I've added mine some time ago and I'll add the Poray M3 when I get mine, if no one did it 'til then tongue

I flashed openwrt with hame's stock upgrade tool. without soldering and opening case. I think it is easy and needs nothing than an ethernet cable.

madanadam wrote:

I flashed openwrt with hame's stock upgrade tool. without soldering and opening case. I think it is easy and needs nothing than an ethernet cable.

Is wif now working also?

Everything is working fine on my MPR-L8 (Hame MPT-L1 clone), but it requires patching and compiling the trunk, check my detailed post.

The only problem is the limited RAM capacity.