OpenWrt support for Linksys MX4200

After reading through all the posts, hopefully this will help clear up some confusion.

There are two variants of the LN1301 router: Homewrk and MX4300. They have different bootlog, u-boot environments, and mtd maps and requires different OpenWRT builds. DO NOT rely on the labels on your device or shipping box to determine which one you have.

If your original firmware looks like this: OpenWrt support for Linksys MX4200 - #1332 by wmd, then your router is a MX4300.

If your original firmware looks like this: OpenWrt support for Linksys MX4200 - #1190 by Tour, then your router is a Homewrk.

lytr has built OpenWRT images for both variants here: https://github.com/testuser7/openwrt/releases. The file names contain the variant that they support ("homewrk", "mx4300", "mx4200v1", and "mx4200v2"). We are hopeful lytr's changes will be accepted into the main OpenWRT repository.

qosmio has developed a version with NSS, which offloads the network processing from the CPUs onto qualcomm proprietary cores. The NSS code currently only supports the MX4300 variant. arix has set up a repository with releases from both qosmio's NSS code and lytr's MX4300 code: https://github.com/arix00/openwrt-mx4300/releases. Due to the proprietary nature of the NSS code, we don't expect the changes to be accepted in the main OpenWRT repository.

Finally, installation instructions are:

  1. Open Linksys Web UI - http://192.168.1.1/ or http://10.65.1.1/ depending on your setup.
  2. Login with your admin password. The default password can be found on a sticker under the device.
  3. To enter into the support mode, click on the “CA” link and the bottom of the page.
  4. Open the “Connectivity” menu and upload the squash-factory image with the “Choose file” button.
  5. Click start. Ignore all the prompts and warnings by click “yes” in all the popups.
  6. The Wifi radios are turned off by default. To configure the router, you will need to connect your computer to the LAN port of the device.

If you don't have a graphical interface,

  1. Connect the router to the internet.
  2. SSH into the router: ssh 192.168.1.1
  3. Run opkg update && okpg install luci

The router has 2 firmware partitions. The above instructions will upload the OpenWRT firmware to your current partition and you can use that without modifying the second partition. If you want to load the OpenWRT onto the second partition, the instructions are:

  1. SSH into the router: ssh 192.168.1.1
  2. Check booted partition, by running: fw_printenv -n boot_part
  3. SCP the squashfs-factory.bin onto the router.
  4. If that command returns a "1", then you can install OpenWRT onto the alternate partition by running:
    mtd -r -e alt_kernel -n write openwrt-qualcommax-ipq807x-linksys_mx4300-squashfs-factory.bin alt_kernel
  5. If that command returns a "2", then you can install OpenWRT onto the primary partition by running:
    mtd -r -e kernel -n write openwrt-qualcommax-ipq807x-linksys_mx4300-squashfs-factory.bin kernel

If you mess up a partition, you can switch to the other one by power cycling the devices 3 times with less than 5 seconds between each power cycle.

If you want to go back to the original firmware at any point, you can download it here: https://linksys.happyfox.com/kb/article/1003-en/

Hopefully this helps someone and let me know if I got something wrong and I'll change it.

15 Likes