MPR-L8 (HAME MPR-A1) firmware update and firmware images
The MPR-L8 is very nice and cheap mini router, having also an USB port and a built in battery. From the factory it has a very capable firmware, providing support for 3G dongles for mobile internet sharing, media and file sharing from USB devices and compared to its very small size has all the filtering and port forwarding functions, that normal sized routers provide. Unfortunately the factory firmware is not very stable and we may want to add additional functionality like support for 4G modems or use it as an OpenVPN client to connect easily to home network from any location. All this is possible by flashing an OpenWRT firmware and setting it up according to our needs.
In this post I will go through 2 ways of firmware upgrading and I will also make available some ready to use firmware images. The firmware images provided are of 3 different types:
If you are into hacking the router my previous post is more about ways to hack into the router and even how to modify the factory firmware.
Different ways to update firmware
So far I know about 5 ways to update firmware.
Based on same tests it seems that the A5-V11 code-named mini router is also compatible with this one, so if you are brave enough, you can experiment with these images on that also.
In this post I will go through 2 ways of firmware upgrading and I will also make available some ready to use firmware images. The firmware images provided are of 3 different types:
- MPR-L8 firmware family
- Hame firmware
- OpenWRT firmware
WARNING: Do this at your own risk, there are high chances that you will brick (make useless) your router.
If you are into hacking the router my previous post is more about ways to hack into the router and even how to modify the factory firmware.
Different ways to update firmware
So far I know about 5 ways to update firmware.
- Use the web interface of the router
- Use the onekeyRouterUpgrade program
- Use Linux command line commands to upgrade the router
- Solder a serial connector to the router and use the bootloader to load a new firmware either over Ethernet or serial
- Solder out the flash memory chip, flash it with a flash writer and solder it back or solder wires to the flash memory chip pins and flash it in place (I have not tried this, and this is only needed if you have damaged your boot loader :-)
In this post I will cover the first 2 methods.
Firmware formats
On these routers the native firmware format is called uImage format, this is the format that the uBoot boot loader can handle, and the firmware should be stored in the internal Flash memory in this format. This format is well documented, you can find more details about it here.
However if you want to upload a firmware trough the web interface of the MPR-L8 you need a specially encoded format. To create an encoded version from the uImage format, there is a tool in the OpenWrt development package called mkporayfw. To convert an image you can use the following command:
mkporayfw -B MPR-L8 -f uImage_file_name -o encoded_file_name
Updating the firmware using the web interface of the router
Log in to the router and in the Admin section select Firmware-Upgrade. Later in this post there will be some hints on how to log into the router.
Select the file name of the image to upgrade and press the UPGRADE button.
If you are running one of the MPR-L8 firmware versions (like in the screenshoot above) you should use encoded firmware, for the HAME firmware you should use pure uImage format. The OpenWrt in theory uses uImage format, but it was not working for me, so you should use the onkeyRouterUpgrade method for upgrading it.
Updating the firmware using onekeyRouterUpgrade
While still connected to a working internet download the onekeyRouterUpgrade and vcredist from here. Then you should connect your router with an Ethernet cable directly to your PC and change your PC ip address manually to 192.168.1.55. Here you can find a description on how to do that. It is safer to switch of the WiFi connection while the upgrade is running.
If you have Windows 7 or newer then you should first run vcredist. Then you should run onekeyRouterUpgrade, to prepare the PC to send the image for the router. onekeyRouterUpgrade is in Chinese, but it is very straight forward to use it.
In onekeyRouterUpgrade you should select the checkbox that you want to upgrade the Root_uImage, Next you should select the firmware image you want to upload and then press the button above the file selection fields. (Red, then Blue, then Green in the screenshoot below).
WARNING!!! Never upgrade your boot loader (Uboot) unless you know what you are doing. If your boot loader is not working, then only desoldering the flash memory and externally writing into it a working bootloader will help.
Now power off the router, press and hold the reset button and switch back the router. You need to press the button for approximately 5 seconds, but the whole firmware upgrade will take up to 2 minutes.
If the upgrade is successful, onekeyRouterUpgrade will show a dialog box about it.
I have upgraded my router, what's next?
Next step is to do the initial setup. There are more ways to do it, the one which will most probably work is to set it up through a wired Ethernet connection.
Connect the router directly with an Ethernet cable to the PC and set the PC back to automatic IP configuration (Obtain an IP address automatically and Obtain DNS server address automatically).
Next step is to determine the ip address of your router. In this configuration it is the same as the default gateway, here you can find how to get it.
After you figured it out, open your browser and in the address field enter the IP address (e.g. 192.168.1.1 or http://192.168.1.1).
Screenshoots
MPR-L8 firmware, v2.1.3.6 modified:
Hame A1 firmware, v2.3.105.214:
This version doesn't support USB storage.
To change the language enter the following in your browser:
http://192.168.169.1/goform/setSysLang?en
OpentWRT 1407 stable:
By default WiFi is disabled, you should enable it in the web interface.
Firmware images
uImage format images:
MPR-L8 v2.1.3.6
MPR-L8 v2.1.2.1
Hame MPR-A1 v2.3.105.214
OpenWRT 1407 stable
encoded images:
MPR-L8 v2.1.3.6
MPR-L8 v2.1.2.1
Hame MPR-A1 v2.3.105.214
OpenWRT 1407 stable
After installing OpenWrt here are the steps needed to set up a 3G/4G router.
However if you want to upload a firmware trough the web interface of the MPR-L8 you need a specially encoded format. To create an encoded version from the uImage format, there is a tool in the OpenWrt development package called mkporayfw. To convert an image you can use the following command:
mkporayfw -B MPR-L8 -f uImage_file_name -o encoded_file_name
Updating the firmware using the web interface of the router
Log in to the router and in the Admin section select Firmware-Upgrade. Later in this post there will be some hints on how to log into the router.
Select the file name of the image to upgrade and press the UPGRADE button.
If you are running one of the MPR-L8 firmware versions (like in the screenshoot above) you should use encoded firmware, for the HAME firmware you should use pure uImage format. The OpenWrt in theory uses uImage format, but it was not working for me, so you should use the onkeyRouterUpgrade method for upgrading it.
Updating the firmware using onekeyRouterUpgrade
While still connected to a working internet download the onekeyRouterUpgrade and vcredist from here. Then you should connect your router with an Ethernet cable directly to your PC and change your PC ip address manually to 192.168.1.55. Here you can find a description on how to do that. It is safer to switch of the WiFi connection while the upgrade is running.
If you have Windows 7 or newer then you should first run vcredist. Then you should run onekeyRouterUpgrade, to prepare the PC to send the image for the router. onekeyRouterUpgrade is in Chinese, but it is very straight forward to use it.
In onekeyRouterUpgrade you should select the checkbox that you want to upgrade the Root_uImage, Next you should select the firmware image you want to upload and then press the button above the file selection fields. (Red, then Blue, then Green in the screenshoot below).
WARNING!!! Never upgrade your boot loader (Uboot) unless you know what you are doing. If your boot loader is not working, then only desoldering the flash memory and externally writing into it a working bootloader will help.
Now power off the router, press and hold the reset button and switch back the router. You need to press the button for approximately 5 seconds, but the whole firmware upgrade will take up to 2 minutes.
If the upgrade is successful, onekeyRouterUpgrade will show a dialog box about it.
I have upgraded my router, what's next?
Next step is to do the initial setup. There are more ways to do it, the one which will most probably work is to set it up through a wired Ethernet connection.
Connect the router directly with an Ethernet cable to the PC and set the PC back to automatic IP configuration (Obtain an IP address automatically and Obtain DNS server address automatically).
Next step is to determine the ip address of your router. In this configuration it is the same as the default gateway, here you can find how to get it.
After you figured it out, open your browser and in the address field enter the IP address (e.g. 192.168.1.1 or http://192.168.1.1).
Screenshoots
MPR-L8 firmware, v2.1.3.6 modified:
Hame A1 firmware, v2.3.105.214:
This version doesn't support USB storage.
To change the language enter the following in your browser:
http://192.168.169.1/goform/setSysLang?en
OpentWRT 1407 stable:
By default WiFi is disabled, you should enable it in the web interface.
Firmware images
uImage format images:
MPR-L8 v2.1.3.6
MPR-L8 v2.1.2.1
Hame MPR-A1 v2.3.105.214
OpenWRT 1407 stable
encoded images:
MPR-L8 v2.1.3.6
MPR-L8 v2.1.2.1
Hame MPR-A1 v2.3.105.214
OpenWRT 1407 stable
After installing OpenWrt here are the steps needed to set up a 3G/4G router.
Comments
Thanks for this post
is there a methode to re-install the original firmware from OpentWRT interface ?
cp /tmp/original_firmware.uImage /dev/mtd3
or mtd -r write /tmp/20140703.bin firmware
I have not tested this now, so check before entering the command, and if it fails you may have to use the onekeyRouterUpgrade method to install a working firmware.
Good luck.
Is it possible to restore the orginal HAME firmware after i installed openwrt on the Hame a1 true tftp?
What you can do is to download the Hame A1 frirmware from here and you can upgrade to it using tftp.
Thanks for your help but..
I'm using win 8.1 I think this command for Linux... could you please give me more clarification.
Thank you again
Can you check on the serial port, what error message is displayed when the original image is not starting and post it here?
i cant connect the router to the serial port because im not at hom But if i remember correcty from the last time it just keept looping the command prompt with text openwrt something. i know its not helpfull. But i found an old hame imageon my computer who worked before i flashed it to openwrt but it to dident work.
It can be because the 3G modem is locked? it work only with one sim provider and it work correctely on PC.
Thenks again
Most probably the problem is that the modem is not detected properly by Linux, most probably this is an "usb-modeswitch" problem.
I had some hints on what to do with MPR-L8 here: http://networkingathome.blogspot.hu/2015/08/fixing-modem-detection-problems-on-mpr.html .
If it is not working, then probably the best is to use openwrt according to this description: http://networkingathome.blogspot.hu/2015/09/setting-up-3g4g-modem-with-openwrt-on.html . If in step 3 you don't find the /dev/ttyUSBx type of device, then most probably it is a "usb-modeswitch" problem and you should try to find the solution using google for that particular modem.
Nevertheless, I did not succeed.
Thank you again
I try to flash my routeur because it was not working. I got no more wifi signal after a couple of try to restet it to factory default. I could have the web interface from ethernet so I flash it with the MPR-L8 v2.1.3.6 you attached.
Now it's working : I cant telnet and I can see a SSID WIFI-0a10... but I don't know the default wifi passe phrase. Probably your image was not the same as mine : the passphrase was supposed to be 1234567890 and the SSI MIFI-xxxx.
Could you post me the default wifi password for your original device ?
Thanks !
Francois
Cool, now I will try to flash wrt.
# cat meminfo
MemTotal: 28616 kB
MemFree: 4104 kB
Buffers: 0 kB
Cached: 17860 kB
SwapCached: 0 kB
Active: 11996 kB
Inactive: 7064 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 0 kB
Writeback: 0 kB
AnonPages: 1232 kB
Mapped: 716 kB
Slab: 4224 kB
SReclaimable: 620 kB
SUnreclaim: 3604 kB
PageTables: 200 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
CommitLimit: 14308 kB
Committed_AS: 3128 kB
VmallocTotal: 1048404 kB
VmallocUsed: 804 kB
VmallocChunk: 1047524 kB
# cat cpuinfo
system type : Ralink SoC
processor : 0
cpu model : MIPS 24K V4.12
BogoMIPS : 239.61
wait instruction : yes
microsecond timers : yes
tlb_entries : 32
extra interrupt vector : yes
hardware watchpoint : yes
ASEs implemented : mips16 dsp
VCED exceptions : not available
VCEI exceptions : not available
I do not have a device at hand, but in the original frimware there is a menu which shows the ammount of RAM available.
Interesting Post. I would like to get MPR-L8 v2.1.3.6 (uImage) but the link is restricted and I can't get acces. Somebody can give other link?
Thanks