For now, you'll have to "upgrade" your 7230 router to a 7231 before you can flash this firmware.

Grab the latest F5D7231-4 firmware. Change the first four bytes to "LOAD", and flash it. Or download a pre-patched firmware here.

(If you want to go back to the stock firmware you will have to us the unpatched firmware file.)

Make sure the new firmware works. Then proceed.

You must flash the .haxxed firmware using TFTP, the web based uploader will not accept it. Here's how:

First of all you will need to be able to communicate with the IP 192.168.2.1. If you're not already using this IP range, supposedly you can play ARP tricks, but I haven't been able to make that work. Personally, I just set up an IP alias. On Linux a quick way to do this is to type "ifconfig eth0:1 192.168.2.2 netmask 255.255.255.0 up" as root.

The computer you use to upload from has to be directly plugged in to the router, otherwise the ethernet negotiation will take too long and you'll miss the upload window.

Lots of extraneous network traffic seems to confuse the router's bootstrap firmware, if you're having trouble flashing the firmware, make sure to unplug everything but the computer you are uploading with from the router, including the WAN, and close all unnecessary applications.

I use the tftp client that Fedora comes with.

  1. Type "tftp 192.168.2.1"
  2. Type in these commands:

    verbose
    bin
    rexmt 1

  3. Unplug the router
  4. Type "put firmwarefilename", then plug in the router

The power and WLAN lights will flash as the file uploads. Once the upload finishes, the power and WLAN will stop flashing. (They will stick on or off, depending on timing) The router will then spend around 15-20 seconds flashing. If it reboots right away instead, (All the LAN lights flash green) it rejected the firmware for some reason.

If it works, you'll be able to ssh in to root@192.168.2.1, no password, from the LAN, as well as access the web server.

It may take upwards of 5 minutes to generate the ssh keys the first time you flash the firmware, but they're kept in nvram afterwards. You'll get connection refused until its done.