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.

I received the serial cable, so a quick feedback:

1. The cable I've got has some weird effect on a chip. For example, it doesn't even start with TX connected (but starts just fine if TX is disconnected at the moment it starts). Makes it a little bit tricky to get into the proper boot menu. I used a script which repeatedly presses "4" (which is boot menu editor). Once there you can type "reset" and then use the '2' option as said above ;now my script is fast enough to press '2' followed by 'y' to get into that menu.

2. My u-boot shows only 8M of RAM, but the device does have 16M which can be confirmed by booting the original firmware. Same U-Boot 1.1.7 (Dec 13 2011 - 13:49:42) as Squonk has.

3. OpenWRT was flashed in and seem to work fine. However I had to add "mem=16M" command-line option for the kernel to see all 16Mb since the bootloader tells it there's only 8Mb. To do so you need to do "make kernel_menuconfig" in the OpenWRT dir, enter "Kernel hacking" and add "mem=16M" into "Default kernel command string". Then do make.

I also made a backup of the original firmware so if anyone needs it, ping me. Or I can upload it somewhere.

Thank you for your detailed report!

Regarding your weird cable problem, be careful not to use a connector shield as GND. Although large and convenient, they are NOT directly connected to GND. This may be a cause for your problem,otherwise I don't have any other idea on why this happens.

gyunaev wrote:

OpenWRT was flashed in and seem to work fine. However I had to add "mem=16M" command-line option for the kernel to see all 16Mb since the bootloader tells it there's only 8Mb. To do so you need to do "make kernel_menuconfig" in the OpenWRT dir, enter "Kernel hacking" and add "mem=16M" into "Default kernel command string". Then do make.

I did this hoping to make my device work, but after flashing, when I boot, the kernel command string doesn't have the "mem=16M" part that I added in make kernel_menuconfig (and after running "make" again):

[    0.000000] Kernel command line:  board=MPR-A1 console=ttyS1,57600 mtdparts=spi0.0:192k(u-boot)ro,64k(u-boot-env)ro,64k(factory)ro,896k(kernel),2880k(rootfs),3776k@0x50000(firmware) rootfstype=squashfs,jffs2

Is there a cache that I need to clear out or something else I need to do?

lizby wrote:

Is there a cache that I need to clear out or something else I need to do?

When nothing else works, try zapping the tmp subdirectory where you build OpenWrt.

>When nothing else works, try zapping the tmp subdirectory where you build OpenWrt.

Ok, tried that (and maybe I'll remember next time)--no change.  So I looked again in kernel_menuconfig and my change hadn't been kept.  Changed it again, hit <enter> when it asked to save, went back in, change wasn't there; made it again, hit "Y" when it asked to save; went back in and change was there.

So I reflashed and it took--mem=16M in Kernel command line.  Unfortunately, it still dies--tho without the prior messages indicating out of memory.

[    0.000000] Kernel command line:  board=MPR-A1 console=ttyS1,57600 mtdparts=spi0.0:192k(u-boot)ro,64k(u-boot-env)ro,64k(factory)ro,896k(kernel),2880k(rootfs),3776k@0x50000(firmware) rootfstype=squashfs,jffs2 mem=16M
[    0.000000] PID hash table entries: 64 (order: -4, 256 bytes)
[    0.000000] Dentry cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Inode-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000000] __ex_table already sorted, skipping sort
[    0.000000] Writing ErrCtl register=0001120f
[    0.000000] Readback ErrCtl register=0001120f
[    0.000000] Memory: 13448k/16384k available (2007k kernel code, 2936k reserved, 341k data, 208k init, 0k highmem)
[    0.000000] SLUB: Genslabs=9, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS:48

So this module goes back on the shelf.  Does anyone have a newer U-boot for these ralink devices?

Hello!

Some days ago I got hame a1 like device from Aliexpress and last days I trying to create firmware file by Squonk instruction.

I installed Ubuntu system on my netbook and do all like in instruction.

Last 2 maybe more hours my small one core device trying to make file. I hope it make something sometime. Anyway. Can someone give me the download link with firmware file to device like in photo bellow? I will be very grateful.

http://i52.fastpic.ru/thumb/2013/0208/f3/76844a7e545ea259f9e4a308a9b957f3.jpeg

Thank you!

realzel wrote:

... Last 2 maybe more hours my small one core device trying to make file.

Building for the first time on a slow machine may take 4-6 hours or more, so hang on.  Subsequent builds will be much faster.

lizby wrote:
realzel wrote:

... Last 2 maybe more hours my small one core device trying to make file.

Building for the first time on a slow machine may take 4-6 hours or more, so hang on.  Subsequent builds will be much faster.

Thanks! Firmware file created. Here it is: http://www.mediafire.com/?tzmy44jycg7gjw9

But. It is not work on my device. Maybe something wrong?

This is the log:

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: 1c 30 16 1c 30 (30161c30)
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: 256 Mbits
DRAM_WIDTH: 16 bits
DRAM_TOTAL_WIDTH: 16 bits
TOTAL_MEMORY_SIZE: 32 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:   MIPS OpenWrt Linux-3.7.6
   Created:      2013-02-08  19:48:24 UTC
   Image Type:   MIPS Linux Kernel Image (lzma compressed)
   Data Size:    915875 Bytes = 894.4 kB
   Load Address: 80000000
   Entry Point:  80000000
raspi_read: from:50040 len:df9a3
..............   Verifying Checksum ... OK1
   Uncompressing(LZMA) Kernel Image ... UOK
No initrd
## Transferring control to Linux (at address 80000000) ...
## Giving linux memsize in MB, 16

Starting kernel ...

[    0.000000] Linux version 3.7.6 (zel@Zel-PC) (gcc version 4.6.4 20121210 (pre
release) (Linaro GCC 4.6-2012.12) ) #1 Fri Feb 8 23:47:44 MSK 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]

To make sure it indeed does not work do the following:
- Power it off and wait 5-10 seconds
- Disconnect the serial connector;
- Boot the device and wait for at least 60 seconds
- Connect the serial, press "enter" and see.

None of the devices I have fully boot with the serial console connected, but boot just fine without. Also once the boot is completed, the serial console works fine.

gyunaev wrote:

To make sure it indeed does not work do the following:
- Power it off and wait 5-10 seconds
- Disconnect the serial connector;
- Boot the device and wait for at least 60 seconds
- Connect the serial, press "enter" and see.

None of the devices I have fully boot with the serial console connected, but boot just fine without. Also once the boot is completed, the serial console works fine.

Well.  I never ....  Yes, that worked, and I would never have thought to try it.  All of the openwrt devices I have worked with (more than a half dozen different models) boot with serial connected. 

Thanks very much for your postings.  I have plans for this model with battery--to power a microprocessor which can detect if the electricity goes out in a vacation dwelling and send an sms message (in addition to doing other reporting through the net when the power is on).

(Last edited by lizby on 9 Feb 2013, 01:07)

Any chance your serial connector looks like that: http://wiki.openwrt.org/_detail/doc/har … ort.serial ? That's what I have.

Squonk: the GND is connected with the connector's GND so the signal dangling is not an issue. I suspect my serial adapter isn't very compatible with the board.

That's the tricky part. I almost thought  the serial was not working. 


lizby wrote:
gyunaev wrote:

To make sure it indeed does not work do the following:
- Power it off and wait 5-10 seconds
- Disconnect the serial connector;
- Boot the device and wait for at least 60 seconds
- Connect the serial, press "enter" and see.

None of the devices I have fully boot with the serial console connected, but boot just fine without. Also once the boot is completed, the serial console works fine.

Well.  I never ....  Yes, that worked, and I would never have thought to try it.  All of the openwrt devices I have worked with (more than a half dozen different models) boot with serial connected. 

Thanks very much for your postings.  I have plans for this model with battery--to power a microprocessor which can detect if the electricity goes out in a vacation dwelling and send an sms message (in addition to doing other reporting through the net when the power is on).

Can you tell the steps of opening it?

monotube wrote:

Here is a photo of the Hame A15 I bought some time ago:

http://i50.tinypic.com/1ffkhg.jpg

It's really small, the PCB is 61 x 21mm. The main components seem to be the same as in the MPR-A1.

This is the one I bought: http://www.ebay.com/itm/360546822692?ss … 1439.l2649

I guess the same version as for MRP-A1 works for this too, the serial pads seem to be solderable so I need to try it. I think the MPR-A1 is more interesting because of the battery, but if you need something even smaller this might be it.

Nice pic of the HA15..

Are the serial pads just below the RJ45 network connector?

Where is the battery?

(Last edited by Eddiie on 9 Feb 2013, 20:28)

brandonhead wrote:

Can you tell the steps of opening it?

There is a screw under the sticker with ip address and mac information, then it just slides apart.

Eddiie wrote:

The 16MB FLASH chips arrived (they are really for the TP-Link WR703n ...


So I'd like to start using these chips.  Has anyone made or used a WR703n 16MB FLASH how-to they can direct me to?

I have the flasher/programmer, of course.   Is the new uboot (with web recovery) needed?  Do I update before or after adding the 16MB FLASH?   Want to get these done so I can play with the HA15  my work bench is too cluttered.   smile

I failed to product openwrt-ramips-rt305x-mpr-a1-squashfs-sysupgrade.bin  due to the following waning

Warning: .../build_dir/target-mipsel_r2_uClibc-0.9.33.2/linux-ramips_rt305x/vmlinux-mpr-a1.uImage is too big

And I traced output log see there is a magic number of uImage size limit to 917504 bytes and uImage I compiled
is 958257 bytes.   May anyone know if  this limit can be changed?

Most likely you compiled too many things into the kernel. Compile them as modules.

realzel wrote:

If you have device like this:
http://i51.fastpic.ru/thumb/2013/0209/a2/6b70dace7c961aace6f137a2d7965fa2.jpeg
It works without problems with my 3G wireless router.

Yeah, like this.

Now I suspect the problem is not with the connector, but with the bootloader which doesn't initialize the hardware properly. Once it boots fine (with OpenWRT flashed it is safe to connect serial once the red LED starts flashing) the serial works all the way on, including after subsequent reboots.

Squonk, could you share your bootloader partition content? I'll sacrifice one device for the test.

(Last edited by gyunaev on 10 Feb 2013, 22:19)

请问能不能级我给一份 uboot  cfe

I can grade I gave a uboot cfe

513234373 wrote:

请问能不能级我给一份 uboot  cfe

513234373 wrote:

I can grade I gave a uboot cfe

I think he/she is asking for a uboot cfe.

Hello! I made mistake and installed incorrect firmware on my device. Now my device is not work anymore. Processor is warm, leds not works, wifi is not work and so on.

On device was installed firmware for zyxel keenetic lite B rev. (http://ua.zyxel.com/sites/default/downl … %5DD0.zip)

This is the log:

Using Eth0 (10/100-M) device
TFTP from server 10.10.10.210; our IP address is 10.10.10.100
Filename 'root_uImage'.
TIMEOUT_COUNT=12, Load address: 0x80100000
Loading: Got ARP REPLY, set server/gtwy eth addr (c8:0a:a9:12:d4:dc)
Got it
#################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ###########################################
done
Bytes transferred = 3211324 (31003c hex)
NetBootFileXferSize= 0031003c
raspi_erase_write: offs:50000, count:31003c
raspi_erase: offs:50000 len:310000
.................................................
raspi_write: to:50000 len:310000
.................................................
raspi_read: from:50000 len:10000
.raspi_read: from:60000 len:10000
.raspi_read: from:70000 len:10000
.raspi_read: from:80000 len:10000
.raspi_read: from:90000 len:10000
.raspi_read: from:a0000 len:10000
.raspi_read: from:b0000 len:10000
.raspi_read: from:c0000 len:10000
.raspi_read: from:d0000 len:10000
.raspi_read: from:e0000 len:10000
.raspi_read: from:f0000 len:10000
.raspi_read: from:100000 len:10000
.raspi_read: from:110000 len:10000
.raspi_read: from:120000 len:10000
.raspi_read: from:130000 len:10000
.raspi_read: from:140000 len:10000
.raspi_read: from:150000 len:10000
.raspi_read: from:160000 len:10000
.raspi_read: from:170000 len:10000
.raspi_read: from:180000 len:10000
.raspi_read: from:190000 len:10000
.raspi_read: from:1a0000 len:10000
.raspi_read: from:1b0000 len:10000
.raspi_read: from:1c0000 len:10000
.raspi_read: from:1d0000 len:10000
.raspi_read: from:1e0000 len:10000
.raspi_read: from:1f0000 len:10000
.raspi_read: from:200000 len:10000
.raspi_read: from:210000 len:10000
.raspi_read: from:220000 len:10000
.raspi_read: from:230000 len:10000
.raspi_read: from:240000 len:10000
.raspi_read: from:250000 len:10000
.raspi_read: from:260000 len:10000
.raspi_read: from:270000 len:10000
.raspi_read: from:280000 len:10000
.raspi_read: from:290000 len:10000
.raspi_read: from:2a0000 len:10000
.raspi_read: from:2b0000 len:10000
.raspi_read: from:2c0000 len:10000
.raspi_read: from:2d0000 len:10000
.raspi_read: from:2e0000 len:10000
.raspi_read: from:2f0000 len:10000
.raspi_read: from:300000 len:10000
.raspi_read: from:310000 len:10000
.raspi_read: from:320000 len:10000
.raspi_read: from:330000 len:10000
.raspi_read: from:340000 len:10000
.raspi_read: from:350000 len:10000
.raspi_read: from:360000 len:10000
.raspi_erase: offs:360000 len:10000
.
raspi_write: to:360000 len:10000
.
raspi_read: from:360000 len:10000
.Done!
## Booting image at bc050000 ...
raspi_read: from:50000 len:40
.   Image Name:   ZyXEL KEENETIC Series
   Created:      2012-05-10  14:20:34 UTC
   Image Type:   MIPS Linux Kernel Image (lzma compressed)
   Data Size:    817745 Bytes = 798.6 kB
   Load Address: 80000000
   Entry Point:  8023c000
raspi_read: from:50040 len:c7a51
.............   Verifying Checksum ... OK1
   Uncompressing(LZMA) Kernel Image ... UOK
No initrd
## Transferring control to Linux (at address 8023c000) ...
## Giving linux memsize in MB, 16

Starting kernel ...


LINUX started...

 THIS IS ASIC
Linux version 2.6.23.17 (developers@ndmsystems.com) (gcc version 4.1.2) #2 Thu M
ay 10 18:20:28 MSK 2012

 The CPU frequency set to 360 MHz
16M RAM Detected!
CPU revision is: 0001964c
Determined physical RAM map:
 memory: 01000000 @ 00000000 (usable)
Built 1 zonelists in Zone order.  Total pages: 4064
Kernel command line: console=ttyS1,57600n8 root=1f04
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 = 6080800c, status = 11000000
PID hash table entries: 64 (order: 6, 256 bytes)
calculating r4koff... 00057e40(360000)
CPU frequency 360.00 MHz
Using 180.000 MHz high precision timer.
console [ttyS1] enabled
Dentry cache hash table entries: 2048 (order: 1, 8192 bytes)
Inode-cache hash table entries: 1024 (order: 0, 4096 bytes)
Memory: 13720k/16384k available (1996k kernel code, 2664k reserved, 288k data, 1
12k init, 0k highmem)
Mount-cache hash table entries: 512
NET: Registered protocol family 16
Generic PHY: Registered new driver
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
devfs: 2004-01-31 Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x1
squashfs: version 3.0 (2006/03/15) Phillip Lougher
io scheduler noop registered
io scheduler deadline registered (default)
Ralink gpio driver initialized
HDLC line discipline: version $Revision: 4.8 $, maxframe=4096
N_HDLC line discipline registered.
Serial: 8250/16550 driver $Revision: 1.3 $ 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: module loaded
MAC_ADRH -- : 0x00000000
MAC_ADRL -- : 0x00000000
Ralink APSoC Ethernet Driver Initilization. v2.0  256 rx/tx descriptors allocate
d, mtu = 1500!
NAPI enable, weight = 0, Tx Ring = 256, Rx Ring = 256
MAC_ADRH -- : 0x0000000c
MAC_ADRL -- : 0x43288028
PROC INIT OK!
PPP generic driver version 2.4.2
PPP Deflate Compression module registered
PPP BSD Compression module registered
MPPE/MPPC encryption/compression module registered
NET: Registered protocol family 24
PPPoL2TP kernel driver, V0.18.4
PPTP driver version 0.8.3.37
deice id : 1c 30 16 1c 30 (30161c30)
Warning: un-recognized chip ID, please update SPI driver!
EN25Q64(1c 30171c30) (8192 Kbytes)
mtd .name = raspi, .size = 0x00800000 (8M) .erasesize = 0x00010000 (64K) .numera
seregions = 0
Creating 6 MTD partitions on "raspi":
0x00000000-0x00030000 : "U-Boot"
0x00030000-0x00040000 : "U-Config "
0x00040000-0x00050000 : "RF-EEPROM"
0x00050000-0x00180000 : "Kernel"
0x00180000-0x007f0000 : "RootFS"
0x007f0000-0x00800000 : "Config"
Netfilter messages via NETLINK v0.30.
nf_conntrack version 0.5.0 (1024 buckets, 4096 max)
ctnetlink v0.93: registering with nfnetlink.
nf_conntrack_rtsp v0.6.21 loading
nf_nat_rtsp v0.6.21 loading
ip_tables: (C) 2000-2006 Netfilter Core Team
Type NAT: Restricted Cone
ClusterIP Version 0.8 loaded successfully
TCP westwood 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>
decode 1f04
VFS: Mounted root (squashfs filesystem) readonly.
Mounted devfs on /dev
Freeing unused kernel memory: 112k freed
init started: BusyBox v1.8.2 (2012-05-02 18:26:52 MSK)
starting pid 566, tty '': '/etc/rc.sysinit'
Algorithmics/MIPS FPU Emulator v1.5
Write mtdblock...OK!
Reboot now system...
Restarting system.

Can anyone tell me how to fix my device? JTAG is not work (very strange but no one message in terminal). Only programmer can fix?
Thanks!

(Last edited by realzel on 12 Feb 2013, 19:06)

did you mean serial?? or JTAG is possible with these?

Sorry, posts 251 to 250 are missing from our archive.