Actiontec MI424WR

From DD-WRT Wiki

Jump to: navigation, search

Contents


THX to Jose Vasconcellos from OpenWRT for the instructions

[edit] Flashing

Flashing the Actiontec MI424WR (oem'ed to Verizon )

[edit] 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.

[edit] 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. Rev. D: plug into LAN port.
  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>

[edit] Upgrade RedBoot

In this section, you can upgrade your RedBoot if there is a newer version available. This is optional. 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

[edit] Installing DD-WRT

With RedBoot successfully installed, this section will guide you through the actual installation of the DD-WRT ROM:

  1. You should be in RedBoot prompt right now if you have followed the above sections successfully. The RedBoot prompt is accessible on the WAN port via telnet 192.168.1.1 to port 9000. Note that if you ave having trouble 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.
  2. Format the FLASH memory by enter "fis init"
  3. Make sure that your TFTP server is ready to serve because the following command will load load the DD-WRT ROM into the router "load -r -b 0x800000 -h <hostip> linux.bin". Replacing the <hostip> with your TFTP server. 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.
  4. Write the actual DD-WRT into the Flash memory by entering "fis create linux". This may take a while, be patient. Proceed to the next step when you get the RedBoot prompt back.
  5. In order to autonomously boot to the DD-WRT kernel you just installed, you need to add a boot script to RedBoot. To do so enter "fconfig -d" and you'll be prompt to adjust the following parameters:
    1. When prompted with Run script at boot, change the value to true
    2. When prompted for the "Boot script" first line enter: "fis load linux"
    3. enter "exec" for the second line of the "Boot Script"
    4. Hit enter to finish the script with an empty line.
    5. When prompted for "Boot script time out (1000ms resolution): " enter "5" to change the timeout to 5 sec.
    6. Accept the default settings for the next several parameters until asked of "Network hardware addres [MAC] for npe_eth0"
    7. For "Network hardware address [MAC] for npe_eth0:" enter the WAN port MAC address obtained earlier with "0x" before each number separated by ":" e.g 0x00:0x01:0x02:0x03:0x04:0x05. NOTE: if you don't have the MAC address from the previous step, it SHOULD be 3 hexadecimal higher in value than the MAC address presented on the sticker on bottom of the router.
    8. For "Network hardware address [MAC] for npe_eth1:" enter the LAN port MAC address which is essentially the number on the sticker on the bottom of the router. If sticker is not present this is the WAN MAC address that is 3 hexadecimal lower.
    9. When prompted "Update RedBoot non-volatile configuration - continue (y/n)?" enter "y"
    10. Power cycle the router and dd-wrt should boot.

See the sample screen below, NOTE, your MAC addresses for WAN and LAN must be different form the sampel below:

RedBoot> fis init
About to initialize [format] FLASH image system - continue (y/n)? y
*** Initialize FLASH Image System
... Unlocking from 0x507e0000-0x507fffff: .
... Erase from 0x507e0000-0x507fffff: .
... Program from 0x01fd0000-0x01ff0000 to 0x507e0000: .
... Locking from 0x507e0000-0x507fffff: .
RedBoot> load -r -b 0x800000 -h 192.168.1.3 linux.bin
Using default protocol (TFTP)
Raw file loaded 0x00800000-0x00ee2fff, assumed entry at 0x00800000
RedBoot> fis create linux
... Unlocking from 0x50040000-0x5073ffff: ......................................
..................
... Erase from 0x50040000-0x5073ffff: ..........................................
..............
... Program from 0x00800000-0x00ee3000 to 0x50040000: ..........................
..............................
... Locking from 0x50040000-0x5073ffff: ........................................
................
... Unlocking from 0x507e0000-0x507fffff: .
... Erase from 0x507e0000-0x507fffff: .
... Program from 0x01fd0000-0x01ff0000 to 0x507e0000: .
... Locking from 0x507e0000-0x507fffff: .
RedBoot> fconfig -d
Run script at boot: true ? true
Boot script:
Enter script, terminate with empty line
>> fis load linux
>> exec
>>
Boot script timeout (1000ms resolution): 5 ?
Use BOOTP for network configuration: false ?
Gateway IP address:  ?
Local IP address:  ?
Local IP address mask:  ?
Default server IP address:  ?
Console baud rate: 115200 ?
GDB connection port: 9000 ?
Force console for special debug messages: false ?
Network debug at boot time: false ?
Default network device: npe_eth0 ?
Network hardware address [MAC] for npe_eth0: 0x00:0x01:0x02:0x03:0x04:0xe7 ?
Network hardware address [MAC] for npe_eth1: 0x00:0x01:0x02:0x03:0x05:0xE4 ?
Update RedBoot non-volatile configuration - continue (y/n)? y
... Unlocking from 0x507e0000-0x507fffff: .
... Erase from 0x507e0000-0x507fffff: .
... Program from 0x01fd0000-0x01ff0000 to 0x507e0000: .
... Locking from 0x507e0000-0x507fffff: .
RedBoot>


[edit] 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

[edit] Escape from booting

[edit] 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

[edit] Hardware Specs

[edit] 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)

[edit] 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)

[edit] 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)

[edit] Serial port

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

[edit] Pics

[edit] Rev. A & C

[edit] Front

Image:Mi424_rev_c_pcb_front.jpg

[edit] Back

Image:Mi424_rev_c_pcb_back.jpg

[edit] 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

[edit] External Links

http://wiki.openwrt.org/toh/actiontec/mi424wr
http://opensource.actiontec.com/index.html
http://www.mail-archive.com/openwrt-devel@lists.openwrt.org/msg01967.html