Actiontec MI424WR

From DD-WRT Wiki

Revision as of 07:12, 22 February 2011 by SMC (Talk | contribs)
Jump to: navigation, search

Contents


THX to Jose Vasconcellos from OpenWRT for the instructions

Flashing

Flashing the Actiontec MI424WR (oem'ed to Verizon )

Notes

  • Coax is not supported. And will be non functional.
  • Rev A units Wireless is unsupported read the MI424 thread here for info on radio replacements
  • Rev C & D wireless is fully functional.

Installing Redboot

Since the stock ROM and Jungo loader will not allow us to upload the DD-WRT directly, using Python, we flash the Redboot which in turn allows us to flash the ROM manually.

  1. If not already installed on your computer download and install Python. (Windows: http://python.org/ftp/python/2.6.2/python-2.6.2.msi. Linux: install from your respective distribution's repository).
  2. Download jungo-image.py that will interface with the Jungo Loader to perform backup of the orig flash content and flash the new redboot. A backup of this script can be found here: Jungo-image.jpg (You will have to rename it to jungo-image.py!)
  3. Download rb-mi424wr-ROM.bin , the RedBoot image itself and store it on the directory where you installed Python.
  4. Prep a TFTP server or install one for use. (Windows: http://tftpd32.jounin.net/tftpd32_download.html)
  5. Download the desired linux.bin from http://dd-wrt.com/site/support/router-database by entering "mi424wr" in the input search field. Select the desired linux.bin and place it in your TFTP server.
  6. At this point you have downloaded all the files you need to and Internet connection is no longer require, except for reading this article.
  7. Reset the router to factory default by holding down the reset button for 10 seconds while the router is on.
  8. Disconnect your computer from Internet and connect to the router and configure your computer to static IP on 192.168.1.3 with 255.255.255.0 as subnet.
  9. Bring up the router management interface by pointing your browser to http://192.168.1.1
  10. Username is "admin" and password is either "password" or "password1". Note that on July 27th 2010 Verizon sent email notice to customers whose active FiOS routers had a "default" password that the password was being changed to be more secure and they remotely altered the password to match the router serial number.
  11. Enable the TELNET interface by going to Advanced -> Local Administration -> Primary port[23])
  12. While still in the management interface find and write down the MAC address for the Wireless and WAN interfaces. Alternatively, The MAC address for the wireless interface should be on a sticker on the bottom, and the WAN address is 3 hex numbers greater.
  13. For Windows 7 and Vista, you must enable telnet under Control Panel -> Programs -> Turn Windows features on or off
  14. Run Command Prompt or Shell and goto the directory where Python, RedBoot image and the scripts are located.
  15. Backup existing image: "python jungo-image.py -d -p <password> 192.168.1.1"
  16. Write new redboot: "python jungo-image.py -p <password> 192.168.1.1 rb-mi424wr-ROM.bin. If there's some failure, the only recourse is to install a JTAG header and restore the firmware via JTAG; so, use at your own risk! BE WARNED: Presently there is no known method for using JTAG on a Revision D, because the header was removed in that revision.
  17. Plug in your computer to the WAN port of the router and reboot the router
  18. Telnet to 192.168.1.1 port 9000. If you see "Redboot> " prompt, congratulations, you have successfully installed the RedBoot loader.


This is a sample screen output of the procedure while doing the actual Redboot installation (Step 14 to 18)

C:\Python26>python.exe jungo-image.py -d -p password1 192.168.1.1
Dumping flash contents (8MB) to MI424-WR-0018016089E7.bin
99%

C:\Python26>python.exe jungo-image.py -p password1 192.168.1.1 rb-mi424wr-ROM.bin
Unlocking flash...
Writing new image...
load -u http://192.168.1.3:8080/rb-mi424wr-ROM.bin -r 0
Wireless_Broadband_Router.home - - [02/Feb/2011 00:56:23] "GET /rb-mi424wr-ROM.bin HTTP/1.1" 200 -
Flash update complete!

---------------
telnet 192.168.1.1 9000
RedBoot>

Optional - Upgrade RedBoot

In this section, you can upgrade your RedBoot if there is a newer version available. You are not likely to need to perform this step.

  1. Plug your LAN cable into the WAN port.
  2. Configure your computer network interface to static IP 192.168.1.3 with subnet mask of 255.255.255.0
  3. Run Command Prompt or shell
  4. Connect to the RedBoot by entering "telnet 192.168.1.1 9000"
  5. Check the correct RedBoot length and base address by entering "fis lis"
  6. Load the RedBoot ram file to the device by entering "load -r -b %{FREEMEMLO} mi424.ram"
  7. Execute the RedBoot by entering "go"
  8. Load the new RedBoot rom file to the device by entering "load -r -b %{FREEMEMLO} mi424.rom"
  9. Unlock the flash partition (set -l the length and -f the base address of the RedBoot part) by entering "fis unlock -f 0x50000000 -l 0x00060000"
  10. Write the new RedBoot (set -l the length and -f the base address of the RedBoot part) by entering "fis write -b %{FREEMEMLO} -f 0x50000000 -l 0x00060000"
  11. Powercycle your device

Upgrade RedBoot (Optional)

With this guide you can upgrade your RedBoot if there is a newer version available.

  • Plug your LAN cable into the WAN port.
  • Connect to the RedBoot.
  • Check the correct RedBoot length and base address with
fis list
  • Load the RedBoot ram file to the device
load -r -b %{FREEMEMLO} mi424.ram
  • Execute the RedBoot with
go
  • Load the new RedBoot rom file to the device
load -r -b %{FREEMEMLO} mi424.rom
  • Unlock the flash partition (set -l the length and -f the base address of the RedBoot part)
fis unlock -f 0x50000000 -l 0x00060000
  • Write the new RedBoot (set -l the length and -f the base address of the RedBoot part)
fis write -b %{FREEMEMLO} -f 0x50000000 -l 0x00060000
  • Powercycle your device
  • Do

Format FLASH image system

RedBoot> fis init -f
About to initialize [format] FLASH image system - continue (y/n)? y

      • Initialize FLASH Image System

... Erase from 0x50040000-0x507dffff: Err = a2

initialization failed 0x50040000: Error trying to erase
... Unlocking from 0x507e0000-0x507fffff: .
... Erase from 0x507e0000-0x507fffff: .
... Program from 0x01fd0000-0x01ff0000 to 0x507e0000: .
... Locking from 0x507e0000-0x507fffff: .

Installing DD-WRT

The RedBoot prompt is accessible via telnet 192.168.1.1 9000 on the Wan port. The Wan port is configured to obtain an address via DHCP; if this fails it defaults to 192.168.1.1. Note that there's a feature that allows skipping the RedBoot boot script by pressing the "Reset" button after power on for about 10 seconds. When RedBoot is ready to accept commands, it sets the Internet LED red. After establishing a telnet session to RedBoot, the flash must be initialized and configured:

Note: Client may not receive DHCP address and must be manually fixed to IP address (example: 192.168.1.100)

  • Initialize flash: fis init


Flashing/recovery

Install and configure your favorite TFTP server to serve the dd-wrt image as linux.bin Load linux.bin into memory:

load -r -b 0x800000 -h <hostip> linux.bin

At this point, you should see the file transfer taking place, if it times out, check your TFTP server configuration and try again. Do not proceed past this point until you've successfully loaded the image to the router.

  • Write linux.bin to flash:
fis create linux 

This may take a while, be patient. Proceed to the next step when you get the redboot prompt back.

Configure Redboot

In order to autonomously boot to the DD-WRT kernel you just installed, you need to add a boot script to RedBoot:

Open RedBoot's configuration:

fconfig -d
  • When prompted with Run script at boot, change the value to true
  • Enter the following in the first line of the script enter: fis load linux
  • Enter the second line: exec
  • Hit enter to finish the script with an empty line.
  • Change the timeout setting for loading the script to about 5 sec.
  • Keep hitting enter until you get this prompt: Update RedBoot non-volatile configuration - continue (y/n)?.
  • Type y and enter.
  • Power cycle the router and dd-wrt should boot.

Rev D Configure Wan Port Select

As the Lan & Wan ports assignments are reversed on Rev D you need to Log into DD-WRT. Go to Setup, submenu Networking, Port setup, and change the Wan port assignment to ixp1 for your wan connection to function

Escape from booting

Redboot build < 02/2009

Since u cant set the timeout setting in the redboot.conf (its hardcoded!) you can escape from the booting process:

  • you'll see a red LED when redboot is waiting for input
  • then press the reset button for > 10 sec

Hardware Specs

Hardware

  • CPU: Intel IXP 425, 533MHz
  • Flash: Rev A: Numonyx JS28F640J3D-75, 8MB; Rev C: Intel JS28F640J3D75
  • RAM: Rev A: 2x Hynix HY57V281620ETP-H, 2x 16MB; Rev C: 2x Samsung K4S281632I-UC75, 2x 16MB
  • Switch: Micrel KSZ8995MA, 5 Port Fast Ehternet
  • WAN PHY: Micrel KZ8721BL (rev A) or KSZ8721BL (rev C)

Differences

  • different housing
  • Rev A: Ralink RA2560 b/g Wifi (Unsupported, see thread about replacement)
  • Rev C: Atheros b/g Wifi
  • Rev D: Atheros b/g Wifi but Lan Wan ports reversed (to correct use port select in DD-WRT)

Power supply

  • Input 5V/3A (Voltage regulator LTC3736 (http:// pdf1.alldatasheet.com/datasheet-pdf/view/87091/LINER/LTC3736.html) accepts up to 9,8V input voltage)

Serial port

pin | function
 1  | Gnd
 2  | TX
 3  | RX
 4  | -
 5  | Power
 6  | -

Pics

Rev. A & C

Front

Image:Mi424_rev_c_pcb_front.jpg

Back

Image:Mi424_rev_c_pcb_back.jpg

Rev. D

TAG Image:MI424-WR_REV.D_TAG.jpg

FRONT Image:MI424-WR_REV.D_FRONT.jpg

BACK Image:MI424-WR_REV.D_BACK.jpg

External Links

http://nuwiki.openwrt.org/oldwiki/openwrtdocs/hardware/actiontec/mi424_wr?s[]=mi424
http://opensource.actiontec.com/index.html
http://www.mail-archive.com/openwrt-devel@lists.openwrt.org/msg01967.html