MN-700

From DD-WRT Wiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 17:18, 21 September 2006 (edit)
Siafu (Talk | contribs)
(Post Installation)
← Previous diff
Current revision (07:40, 5 June 2013) (edit) (undo)
Waf (Talk | contribs)
(Introduction - fixed link)
 
(27 intermediate revisions not shown.)
Line 1: Line 1:
__TOC__ __TOC__
== Introduction == == Introduction ==
-The [http://review.zdnet.com/Microsoft_MN_700_wireless_broadband_router/4507-3319_16-30540105.html|Microsoft MN-700] is essentially a rebadged Asus WL500G WRT. Out-of-the-box it runs a WinCE based firmware with a crippled bootloader that does not support Linux based firmwares (like DD-WRT). To run DD-WRT, a new bootloader must be installed through a hardware hack (until someone comes up with a WinCE killer like the vxworks killer for the Linksys WRT54G v5. The following links provide details regarding this hack:<br />+The '''Microsoft MN-700''' is essentially a rebadged Asus WL500G WRT. Out-of-the-box it runs a WinCE based firmware with a crippled bootloader that does not support Linux based firmwares (like DD-WRT). To run DD-WRT, a new bootloader must be installed through a hardware hack (until someone comes up with a WinCE killer like the vxworks killer for the Linksys WRT54G v5). The following links provide details regarding this hack:<br />
<blockquote> <blockquote>
 +*[http://jozerworx.com/tutorials/mn700/default.htm Jozerworx] version of LiamM's hack
*[http://www.liamm.com/?p=77 LiamM.com] *[http://www.liamm.com/?p=77 LiamM.com]
*[http://wl500g.info/showthread.php?t=1616 Microsoft MN700 Hack Project] AsusForums *[http://wl500g.info/showthread.php?t=1616 Microsoft MN700 Hack Project] AsusForums
-*[http://www.techimo.com/forum/t157288.html TechIMO.com] version of LiamM's hack+*[http://www.techimo.com/forum/pc-modification/157288-microsoft-mn-700-firmware-hack.html TechIMO.com] version of LiamM's hack
</blockquote> </blockquote>
Line 11: Line 12:
== Installation == == Installation ==
-# Follow one (or a combination) of the hardware hack guides listed in the Introduction section above to get the [http://support.asus.com/download/download.aspx?SLanguage=en-us&model=WL-500g WL500G Stock Firmware], [http://oleg.wl500g.info/ Oleg's Custom Firmware], or [http://www.openwrt.org OpenWRT] installed and running on the MN-700.+Note: Support for the MN-700 was officially added after the release of DD-WRT v.23 SP2. Therefore v.23 SP2 and eariler are not supported on the MN-700. Please use build SVN 3953 (link below) or higher. Earlier builds will brick the router, you will have to clear NVRAM through JTAG (recovery mode will NOT work).
-# Put the WRT in "hardware restoration" mode (hold down the reset button while powering on the WRT and wait until the the power light steadily alternates between green and amber).+
-# Upload a DD-WRT firmware with the Asus Firmware Restoration tool. (you can get DD-WRT SVN 3953 [http://www.dd-wrt.com/phpBB2/viewtopic.php?t=4770 here])+
 +A compatible build (SVN 3953) of DD-WRT is available [http://www.dd-wrt.com/phpBB2/viewtopic.php?t=4770 here].
-=== Post Installation ===+# Follow one (or a combination) of the hardware hack guides listed in the Introduction section above to get the [http://support.asus.com/download/download.aspx?SLanguage=en-us&model=WL-500g WL500G Stock Firmware], [http://oleg.wl500g.info/ Oleg's Custom Firmware], or [http://www.openwrt.org OpenWRT] installed and running on the MN-700.
-Firmware [http://www.dd-wrt.com/phpBB2/viewtopic.php?t=4770 SVN 3953] and later (post SP2) does not require any additional, post installation steps. +# Download a compatible version of DD-WRT [http://www.dd-wrt.com/phpBB2/viewtopic.php?t=4770 here] (SVN 3953).
 +# Put the WRT in hardware restoration mode (hold down the reset button while powering on the WRT and wait until the the power light steadily alternates between green and amber).
 +# Upload the DD-WRT firmware with the [http://support.asus.com/download/download.aspx?SLanguage=en-us&model=WL-500 Asus Firmware Restoration Utility]. (Available under "Utilities")
-<div style='color:red;text-align:center;'>Please [b]strongly[/b] consider using [http://www.dd-wrt.com/phpBB2/viewtopic.php?t=4770 build 3953] or higher and not earlier (including SP2). Although the instructions will work, it might cause other problems later (it essentially requires the user to not use the Filter Services).</div>+== Upgrading Firmware ==
 +Once DD-WRT has been installed on the MN-700, new versions can be installed through web interface (Administration -> Firmware Upgrade). The Asus Firmware Restoration Utility can also be used, but it is no longer necessary when upgrading DD-WRT.
-Firmware versions prior to this build require some nvram variables to be manually reset before the firmware will function properly (changes made to the WRT will not survive a reboot and may cause the WRT to hang when booting with an amber power light). 
-# Boot the WRT after installing the firmware 
-# Reset the filter_services2 NVRAM variable by executing the following commands either by telneting to the WRT or using the Administration -> Commands interface: 
-<pre>nvram set filter_services2= 
-nvram commit</pre> 
-If the WRT continues to have problems with changes surviving a reboot, reset the remaining 6 filter_services nvram variables (filter_services1, filter_services2, ... filter_services7)+== Resetting Defaults ==
 +There are several ways the MN-700's NVRAM can be reset.
 +# Using the Administration -> Factory Defaults web interface.
 +# Selecting the option to reset to Default Settings when upgrading the firmware through the Administration -> Firmware Upgrade web interface.
 +# Pressing the reset button while booting (see Reset Button below for MN-700 reset button quirks).
 +# Last, non-hardware based, resort when the unit won't boot due to a bad setting -- see this [http://wl500g.info/showthread.php?t=1606 forum post].
 +# Last resort -- use the JTAG connection that originally allowed custom firmware to be installed on the MN-700 to reset NVRAM.
-== Reseting Defaults ==+== Reset Button ==
-Pre SVN 3949, the reset button is not supported. SVN 3949+ supports the reset button, however the "firmware restoration" mode requires a change to the standard Linksys "hold reset button for 30 seconds" procedure for resetting the WRT to its defaults. The following is how the reset button works on the MN-700:+[http://www.dd-wrt.com/phpBB2/viewtopic.php?t=4770 SVN 3953] and later builds support the reset button. However, the "firmware restoration" mode requires a change to the standard Linksys "hold reset button for 30 seconds" procedure for resetting the WRT to its defaults. The following is how the reset button works on the MN-700:
-* When the WRT is powered on+
-** Holding the reset button for 15-20 seconds will cause the WRT to reboot.+
-** Upon reboot, a pressed reset button causes the WRT to go into firmware restoration mode. This does NOT reset the defaults, but causes the WRT to enter a "pre-firmware" state, waiting for a new firmware. Either applying a new firmware through the Asus Firmware Restoration Utility or a hard reboot (removing the power) is required to exit this state (Note that entering this state does not negatively effect the current settings or firmware so it is not especially dangerous to accidentially enter firmware restoration mode -- it just gets in the way of performing a "reset button" based reset of the WRTs settings)+
-** Since there is little to no warning of the exact instant the WRT will reboot when holding the reset button, chances are extremely good that the reset button will still be depressed and cause the WRT to go into firmware restoration mode. Hard booting the WRT will get the WRT back, but settings will NOT be reset.+
-* When the WRT is booting+When the WRT is '''powered on'''
-** Holding the reset button during the boot sequence will reset the unit to its defaults.+<blockquote>
-** Care must be taken to press the reset button right after the (amber) power light turns off immidiately after powering on the WRT and not before, to avoid going into firmware restoration mode.+* Holding the reset button for 15-20 seconds will cause the WRT to reboot.
 +* Upon reboot, a pressed reset button causes the WRT to go into firmware restoration mode. This does NOT reset the defaults (see the section below for more information on the firmware restoration mode).
 +* Since there is little to no warning of the exact instant the WRT will reboot when holding the reset button, chances are extremely good that the reset button will still be depressed and cause the WRT to go into firmware restoration mode. Hard booting the WRT will get the WRT back, but settings will NOT be reset.
 +</blockquote>
 +When the WRT is '''booting'''
 +<blockquote>
 +* Holding the reset button during the boot sequence will reset the unit to its defaults.
 +* Care must be taken to press the reset button right after the (amber) power light turns off immidiately after powering on the WRT and not before, to avoid going into firmware restoration mode.
 +</blockquote>
-Based on the above, it should be fairly self-evident that the procedure is recommended for using the reset button on the MN-700.+Based on the above, it should be fairly self-evident that the following procedure is recommended for using the reset button on the MN-700.
<blockquote> <blockquote>
# Unplug the WRT # Unplug the WRT
Line 47: Line 55:
# The power light will blink, then glow amber # The power light will blink, then glow amber
# As soon as the power light turns off, press and hold the reset button # As soon as the power light turns off, press and hold the reset button
-# Hold the reset button until the power and wireless buttons glow green.+# Hold the reset button until the power '''and''' wireless buttons glow green.
-# The WRT should not be reset to its defaults+# The WRT should now be reset to its defaults
-</blockquote> +</blockquote>
 + 
 +== Hardware Notes ==
 +This section covers observations made about working with the MN-700 hardware. Certian behaviors of this device are different than other WRTs (especially the Linksys).
 + 
 +=== Firmware Restoration Mode ===
 +The MN-700 (and Asus WL500G AFAIK) has a special pre-boot state that makes it extremely easy to upload new firmware images, even when the current firmware is corrupt (infact the WRT automatically drops into this mode when a corrupt firmware is detected during boot). Either applying a new firmware through the Asus Firmware Restoration Utility (see section below) or a hard reboot (removing the power) is required to exit this state (Note that entering this state does not negatively effect the current settings or firmware so it is not especially dangerous to accidentially enter firmware restoration mode -- although it does get in the way of performing a "reset button" based reset of the WRTs settings as noted in the section above).
 + 
 +To enter firmware restoration mode, simply press the reset button while powering on the WRT and wait until the power LED alternates between green and amber. The reset button can then be released and the WRT will stay in this state until the next power cycle or a new firmware has been uploaded.
 + 
 +In this state, the Asus Firmware Restoration Utility (see below) can/should be used to upload new firmware images.
 + 
 +It does not appear that any particular IP address range is needed to upload firmware in this mode. However, a valid IP address is '''required'''. Since no DHCP server is available in this mode, either the host computer needs a static IP address or one simply needs to wait for Windows (Win2k and later) to assign an automatic private IP address in the 169.254.0.0/16 range.
 + 
 +=== Asus Firmware Restoration Utility ===
 +The [http://support.asus.com/download/download.aspx?SLanguage=en-us&model=WL-500 Asus Firmware Restoration Utility] is available from the Asus support site under "Utilities." This is the preferred utility for uploading new firmware distributions since many firmwares reject a different distribution's firmware if one attempts to use the web interface.
 + 
 +It appears this utility operates at layer 2 of the OSI model, because it is able to detect WRTs in Firmware Recovery Mode regardless of the host computer's IP address. I recommend statically assigning an IP address in the 192.168.1.x range when working with DD-WRT because this is the range DD-WRT defaults to and WRTs can only be detected once the host has an IP address (DHCP works, but takes longer because the DHCP client must first time-out and assign an automatic private IP address before the WRT will be detected -- and this happens ''every'' time the WRT is power cycled because the network connection is lost).
 + 
 +Sometimes the Windows firewall interfers with the Asus Firmware Restoration Utility. When it does, the utility is not able to find the WRT, but the WRT power LED stops alternating colors and displays a solid green when one attempts to upload a new firmware file. Either disabling the firewall or making a firewall exception for the Asus Firmware Restoration Utility solves this problem.
 + 
 +=== NVRAM Protection ===
 +DD-WRT SP2 and earlier do not work with the MN-700 because some NVRAM variables (namely filter_services1-7) were too long. NVRAM variables >1024 characters in length cause the MN-700 to reset the NVRAM every reboot. ''Excessively long'' NVRAM variables actually brick the MN-700 (the power light is solid amber when powered on and the unit never boots) and can only be unbricked by resetting NVRAM through a JTAG connector. I can't define ''excessively long'' because I discovered this when working with some SP2 alpha builds and never calculated the maximum limit (I was just happy to be able to debrick my WRT and moved on).
 + 
 +This issue manifests itself when changes to the WRT do not survive a reboot.
 + 
 +SP2 and most of the previous versions of DD-WRT exibited this symptom and can ''technically'' be made to work with the MN-700 by manually clearing the filter_services variable (only filter_services2 for SP2) and commiting nvram after the intial installation of DD-WRT. But doing so is '''not''' recommended or supported because this may cause problems later (especially relating to DD-WRT filters).
 + 
 +The information above is provided to explain the NVRAM protection ''feature'' of the MN-700 to aid in troubleshooting potential future problems should a >1024 NVRAM variable creep back into the DD-WRT firmware.
== External Links == == External Links ==
 +*[http://www.dd-wrt.com/phpBB2/viewtopic.php?t=4770 DD-WRT SVN 3953]
*[http://www.microsoft.com/hardware/broadbandnetworking.mspx Microsoft Product Web Site] *[http://www.microsoft.com/hardware/broadbandnetworking.mspx Microsoft Product Web Site]
 +**[http://support.microsoft.com/kb/814445 MS Firmware] (requires installing/extracting firmware files from an EXE)
 +*[http://support.asus.com/download/download.aspx?SLanguage=en-us&model=WL-500 Asus Support Page] for WL500G
 +**Factory firmware available under "firmware"
 +**Asus Firmware Restoration Utility available under "utilities"
 +*MN-700 Hardware Hacking Guides
 +**[http://jozerworx.com/tutorials/mn700/default.htm Jozerworx] version of LiamM's hack
 +**[http://www.liamm.com/?p=77 LiamM.com]
 +**[http://wl500g.info/showthread.php?t=1616 Microsoft MN700 Hack Project] AsusForums
 +**[http://www.techimo.com/forum/t157288.html TechIMO.com] version of LiamM's hack
 +*Windows JTAG Software
 +**[http://www.ranvik.net/prosjekter-privat/jtag_for_wrt54g_og_wrt54gs/new-winxp_ejtag_debrick_v%5b1%5d.99beta/ New WinXP EJTAG Debrick Beta .99]
 +*Non-MS firmwares for MN-700
 +**[http://www.dd-wrt.com/phpBB2/viewtopic.php?t=4770 DD-WRT SVN 3953]
 +**[http://oleg.wl500g.info/ Oleg's Custom Firmware]
 +**[http://support.asus.com/download/download.aspx?SLanguage=en-us&model=WL-500g Asus WL500G Stock Firmware]
 +**[http://www.openwrt.org OpenWRT]
-[[Category:English documentation]]+[[Category:Asus guides]]

Current revision

Contents

[edit] Introduction

The Microsoft MN-700 is essentially a rebadged Asus WL500G WRT. Out-of-the-box it runs a WinCE based firmware with a crippled bootloader that does not support Linux based firmwares (like DD-WRT). To run DD-WRT, a new bootloader must be installed through a hardware hack (until someone comes up with a WinCE killer like the vxworks killer for the Linksys WRT54G v5). The following links provide details regarding this hack:

For those who are wondering, the MN-500 has completely different hardware than the MN-700, so the instructions provided by the links above work for the MN-700 but not the MN-500. To date, it does not appear a similar hack for the MN-500 has been discovered yet.

[edit] Installation

Note: Support for the MN-700 was officially added after the release of DD-WRT v.23 SP2. Therefore v.23 SP2 and eariler are not supported on the MN-700. Please use build SVN 3953 (link below) or higher. Earlier builds will brick the router, you will have to clear NVRAM through JTAG (recovery mode will NOT work).

A compatible build (SVN 3953) of DD-WRT is available here.

  1. Follow one (or a combination) of the hardware hack guides listed in the Introduction section above to get the WL500G Stock Firmware, Oleg's Custom Firmware, or OpenWRT installed and running on the MN-700.
  2. Download a compatible version of DD-WRT here (SVN 3953).
  3. Put the WRT in hardware restoration mode (hold down the reset button while powering on the WRT and wait until the the power light steadily alternates between green and amber).
  4. Upload the DD-WRT firmware with the Asus Firmware Restoration Utility. (Available under "Utilities")

[edit] Upgrading Firmware

Once DD-WRT has been installed on the MN-700, new versions can be installed through web interface (Administration -> Firmware Upgrade). The Asus Firmware Restoration Utility can also be used, but it is no longer necessary when upgrading DD-WRT.


[edit] Resetting Defaults

There are several ways the MN-700's NVRAM can be reset.

  1. Using the Administration -> Factory Defaults web interface.
  2. Selecting the option to reset to Default Settings when upgrading the firmware through the Administration -> Firmware Upgrade web interface.
  3. Pressing the reset button while booting (see Reset Button below for MN-700 reset button quirks).
  4. Last, non-hardware based, resort when the unit won't boot due to a bad setting -- see this forum post.
  5. Last resort -- use the JTAG connection that originally allowed custom firmware to be installed on the MN-700 to reset NVRAM.

[edit] Reset Button

SVN 3953 and later builds support the reset button. However, the "firmware restoration" mode requires a change to the standard Linksys "hold reset button for 30 seconds" procedure for resetting the WRT to its defaults. The following is how the reset button works on the MN-700:

When the WRT is powered on

  • Holding the reset button for 15-20 seconds will cause the WRT to reboot.
  • Upon reboot, a pressed reset button causes the WRT to go into firmware restoration mode. This does NOT reset the defaults (see the section below for more information on the firmware restoration mode).
  • Since there is little to no warning of the exact instant the WRT will reboot when holding the reset button, chances are extremely good that the reset button will still be depressed and cause the WRT to go into firmware restoration mode. Hard booting the WRT will get the WRT back, but settings will NOT be reset.

When the WRT is booting

  • Holding the reset button during the boot sequence will reset the unit to its defaults.
  • Care must be taken to press the reset button right after the (amber) power light turns off immidiately after powering on the WRT and not before, to avoid going into firmware restoration mode.

Based on the above, it should be fairly self-evident that the following procedure is recommended for using the reset button on the MN-700.

  1. Unplug the WRT
  2. Plug in the WRT
  3. The power light will blink, then glow amber
  4. As soon as the power light turns off, press and hold the reset button
  5. Hold the reset button until the power and wireless buttons glow green.
  6. The WRT should now be reset to its defaults

[edit] Hardware Notes

This section covers observations made about working with the MN-700 hardware. Certian behaviors of this device are different than other WRTs (especially the Linksys).

[edit] Firmware Restoration Mode

The MN-700 (and Asus WL500G AFAIK) has a special pre-boot state that makes it extremely easy to upload new firmware images, even when the current firmware is corrupt (infact the WRT automatically drops into this mode when a corrupt firmware is detected during boot). Either applying a new firmware through the Asus Firmware Restoration Utility (see section below) or a hard reboot (removing the power) is required to exit this state (Note that entering this state does not negatively effect the current settings or firmware so it is not especially dangerous to accidentially enter firmware restoration mode -- although it does get in the way of performing a "reset button" based reset of the WRTs settings as noted in the section above).

To enter firmware restoration mode, simply press the reset button while powering on the WRT and wait until the power LED alternates between green and amber. The reset button can then be released and the WRT will stay in this state until the next power cycle or a new firmware has been uploaded.

In this state, the Asus Firmware Restoration Utility (see below) can/should be used to upload new firmware images.

It does not appear that any particular IP address range is needed to upload firmware in this mode. However, a valid IP address is required. Since no DHCP server is available in this mode, either the host computer needs a static IP address or one simply needs to wait for Windows (Win2k and later) to assign an automatic private IP address in the 169.254.0.0/16 range.

[edit] Asus Firmware Restoration Utility

The Asus Firmware Restoration Utility is available from the Asus support site under "Utilities." This is the preferred utility for uploading new firmware distributions since many firmwares reject a different distribution's firmware if one attempts to use the web interface.

It appears this utility operates at layer 2 of the OSI model, because it is able to detect WRTs in Firmware Recovery Mode regardless of the host computer's IP address. I recommend statically assigning an IP address in the 192.168.1.x range when working with DD-WRT because this is the range DD-WRT defaults to and WRTs can only be detected once the host has an IP address (DHCP works, but takes longer because the DHCP client must first time-out and assign an automatic private IP address before the WRT will be detected -- and this happens every time the WRT is power cycled because the network connection is lost).

Sometimes the Windows firewall interfers with the Asus Firmware Restoration Utility. When it does, the utility is not able to find the WRT, but the WRT power LED stops alternating colors and displays a solid green when one attempts to upload a new firmware file. Either disabling the firewall or making a firewall exception for the Asus Firmware Restoration Utility solves this problem.

[edit] NVRAM Protection

DD-WRT SP2 and earlier do not work with the MN-700 because some NVRAM variables (namely filter_services1-7) were too long. NVRAM variables >1024 characters in length cause the MN-700 to reset the NVRAM every reboot. Excessively long NVRAM variables actually brick the MN-700 (the power light is solid amber when powered on and the unit never boots) and can only be unbricked by resetting NVRAM through a JTAG connector. I can't define excessively long because I discovered this when working with some SP2 alpha builds and never calculated the maximum limit (I was just happy to be able to debrick my WRT and moved on).

This issue manifests itself when changes to the WRT do not survive a reboot.

SP2 and most of the previous versions of DD-WRT exibited this symptom and can technically be made to work with the MN-700 by manually clearing the filter_services variable (only filter_services2 for SP2) and commiting nvram after the intial installation of DD-WRT. But doing so is not recommended or supported because this may cause problems later (especially relating to DD-WRT filters).

The information above is provided to explain the NVRAM protection feature of the MN-700 to aid in troubleshooting potential future problems should a >1024 NVRAM variable creep back into the DD-WRT firmware.

[edit] External Links