Alternative open-source firmware for Broadcom MIPS-based routers.
FreshTomato MIPS supports both MIPSR1 and MIPSR2 devices.
| Manufacturer | Models |
|---|---|
| ASUS | WL500GP, N10U, N12 A1/B1/C1/D1/VP/K/HP, N15U, N16, N53, N66U, AC66U |
| Netgear | WNR3500Lv1, WNR3500Lv2, R6300v1, WNDR4500v1, WNDR4500v2, WNDR3400/v2/v3, WNDR3700v3, WNDR4000 |
| Linksys | WRT54 series, E800, E900, E1000v2/v2.1, E1200v1, E1200v2, E1500, E2000, E2500, E3000, E3200, E4200 |
| Tenda | W1800R, N80 |
| D-Link | DIR-320, DIR-865L |
| Belkin | F5D8235v3, F7D3301, F7D3302, F7D4302, F9K1102v1/v3 |
Caution
Flashing alternative firmware can permanently damage your router. The author is not responsible for bricked devices. Proceed entirely at your own risk.
| Resource | Link |
|---|---|
| Project website | freshtomato.org |
| Source code | GitHub · GitLab mirror |
| Changelog | CHANGELOG |
| Downloads | Download images |
| Issue tracker | GitHub Issues |
| Pull requests | GitHub Pull Requests |
| English forum | LinksysInfo |
| Polish forum | OpenLinksys |
| Donations | Support FreshTomato |
The following instructions target Debian 13 (64-bit).
Install Debian using the graphical installer. For simplicity:
- enable the SSH server;
- create a standard user account;
- keep the remaining options at their defaults.
In the commands below, replace <username>, <name>, and <email-address> with your own values.
Log in as root, then run:
apt-get update
apt-get dist-upgradeapt-get install build-essential net-toolsdpkg-reconfigure tzdataIf the command is unavailable because of the current PATH, run:
export PATH="$PATH:/usr/sbin"apt-get install sudo
adduser <username> sudo
rebootAfter the reboot, log in as <username>.
sudo apt-get install \
autoconf autoconf-archive m4 bison flex g++ libtool gcc binutils patch \
bzip2 make gettext unzip zlib1g-dev libc6 gperf automake groff minisign
sudo apt-get install \
lib32stdc++6 libncurses6 libncurses-dev gawk gitk zlib1g-dev autopoint \
shtool autogen mtd-utils gcc-multilib lib32z1-dev pkg-config libssl-dev \
automake
sudo apt-get install \
libmnl-dev libxml2-dev intltool libglib2.0-dev texinfo dos2unix xsltproc \
libnfnetlink0 libcurl4-openssl-dev libgtk2.0-dev libnotify-dev \
libevent-dev git
sudo apt-get install \
re2c texlive libelf1 nodejs zip mc cmake ninja-build curl \
libglib2.0-dev-bin libglib2.0-dev sqlite3 dconf-editor python3-dev \
python3-setuptools
sudo apt-get install "linux-headers-$(uname -r)"git clone https://github.com/FreshTomato-Project/freshtomato-mips.gitsudo rebootcd freshtomato-mips
git config --global user.email "<email-address>"
git config --global user.name "<name>"Enter the repository:
cd freshtomato-mipsBefore each compilation, clean and reset the working tree:
git clean -fdxq
git reset --hardOptionally, download the latest changes:
git pullWarning
git clean -fdxq and git reset --hard permanently remove untracked files and local changes.
Example: build a Mini image for a WRT54G-class device.
git checkout mips-master
cd release/src-rt
make help
make fExample: build an AIO image for RT-N66U.
git checkout mips-RT-AC
cd release/src-rt
make help
make r64zExample: build an AIO image for RT-AC66U.
git checkout mips-RT-AC
cd release/src-rt-6.x
make help
make ac66zmake help lists the build targets available in the selected source tree.