Alternative open source firmware for Broadcom MIPS based routers
For the following MIPSR1 and MIPSR2 routers: 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.
Disclaimer: I am not responsible for any bricked routers, nor do I encourage other people to flash alternative firmwares on their routers. Use at your own risk!
- Project page
 - Source code (Mirror)
 - Changelog
 - Downloads
 - Issue tracker
 - Pull Requests
 - Forum EN
 - Forum PL
 - Donations: PayPal  or  BTC: 
1JDxBBQvcJ9XxgagJRNVrqC1nysq8F8B1Y 
HOW TO PREPARE A WORK ENVIRONMENT FOR FRESHTOMATO COMPILATION (on Debian 12/64bit)
- 
Install Debian via the graphical interface (for simplicity); install the SSH server, choose default [username]; the rest may be the default
 - 
Login as root
 - 
Update system:
apt-get update apt-get dist-upgrade
 - 
Install basic packages:
apt-get install build-essential net-tools
 - 
Set proper date/time:
dpkg-reconfigure tzdata
In case of problems here:
export PATH=$PATH:/usr/sbin
 - 
Add your [username] to sudo group:
apt-get install sudo adduser [username] sudo reboot
 - 
Login as [username], install base packages with all dependencies:
sudo apt-get install autoconf m4 bison flex g++ libtool gcc binutils patch bzip2 make gettext unzip zlib1g-dev libc6 gperf automake groff sudo apt-get install lib32stdc++6 libncurses5 libncurses5-dev gawk gitk zlib1g-dev autopoint shtool autogen mtd-utils gcc-multilib lib32z1-dev pkg-config libssl-dev automake1.11 sudo apt-get install libmnl-dev libxml2-dev intltool libglib2.0-dev libstdc++5 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 sqlite3 dconf-editor python3.11-dev sudo apt-get install linux-headers-$(uname -r) - 
Clone/download repository:
git clone https://github.com/FreshTomato-Project/freshtomato-mips.git
 - 
Reboot system .
 - 
Add your email address to git config:
cd freshtomato-mips git config --global user.email "[email-address]"
 - 
Add your username to git config:
cd freshtomato-mips git config --global user.name [name] 
HOW TO COMPILE
- Change dir to git repository ie: 
cd freshtomato-mips - Before every compilation, use 
git clean -fdxq && git reset --hard, and possiblygit pullto pull recent changes from remote - To compile RT image, use: 
git checkout mips-masterthen:cd release/src-rt, check for possible targets:make help, use one (Mini for ie. WRT54G):make f - To compile RT-N image, use: 
git checkout mips-RT-ACthen:cd release/src-rt, check for possible targets:make help, use one (RT-N66U build AIO):make r64z - To compile RT-AC image, use: 
git checkout mips-RT-ACthen:cd release/src-rt-6.x, check for possible targets:make help, use one (RT-AC66U build AIO):make ac66z 
WARNING
To compile n6, n60, rtn53, e2500, e3200, wndr3400v2 and f9k targets (RT-N), before compilation you have to revert patch to the kernel:
cd release/src-rt/linux
patch -R -p4 < fix4usbap.patch