The firmware turns a common wireless router into a mesh networking device. It connects to similar routers in the area and builds a Wifi-mesh network but also opens an access point for computers to connect over Wifi. Included is Internet connectivity and a web interface.
Please talk to us on IRC if anything does not work!
Precompiled firmware images are available on our server. You can search them via Firmware-Wizard. All other released versions here on github are out-of-date.
To build the firmware yourself you need a Unix console to enter commands into. Please have a look at the different Branches if you want to build the newest Beta-Firmware Version.
Install dependencies for the build environment (Debian/Ubuntu):
sudo apt-get update; sudo apt-get upgrade
sudo apt-get install subversion g++ zlib1g-dev build-essential git python
sudo apt-get install libncurses5-dev gawk gettext unzip file libssl-dev wget yui-compressor
Build commands for the console:
git clone git://git.openwrt.org/source.git
cd source
git reset --hard ecbbb373edf7be017e546be2443e6c422cb9c220
git clone https://github.com/ffbsee/ffbsee-firmware.git
cd ffbsee-firmware
./minify-webstuff.sh
cd ..
cp -rf ffbsee-firmware/files ffbsee-firmware/package ffbsee-firmware/feeds.conf .
./scripts/feeds update -a
./scripts/feeds install -a
git am --whitespace=nowarn ffbsee-firmware/patches/openwrt/*.patch
cd feeds/routing
git am --whitespace=nowarn ../../ffbsee-firmware/patches/routing/*.patch
cd ../../
cd feeds/packages
git am --whitespace=nowarn ../../ffbsee-firmware/patches/packages/*.patch
cd ../../
rm -rf ffbsee-firmware tmp
make menuconfig
Now select the right "Target System" and "Target Profile" for your AP model:
For example, for the TL-WR842ND v3, select:
Target System => Atheros AR7xxx/AR9xxx
Target Profile => <*> TP-LINK TL-WR842N/ND v3
Or in case you have the TL-WR841N/ND v11, select:
Target System => Atheros AR7xxx/AR9xxx
Subtarget => Devices with small flash
Target Profile => <*> TL-WR841N/ND v11
Global build settings => <*> Strip unnecessary exports from the kernel image
Global build settings => <*> Strip unnecessary functions from libraries
And deselect:
Base system => < > logd
Base system => < > opkg
Network => < > ppp
Or in case you have the Ubiquiti UniFi Outdoor, select:
Target System => Atheros AR7xxx/AR9xxx
Target Profile => <*> Ubiquiti UniFi Outdoor
For other models you can lookup the "Target System" in the OpenWrt hardware table. Your AP model should now be visible in the "Target Profile" list.
Please notice, that some Routers need different drivers for 5GHz. Sometimes you need to select them manually.
Now start the build process. This takes some time:
make
You have the opportunity to compile the firmware at more CPU threats to speed up the process. e.g. to run 3 jobs (commands) simultaneously use the following option:
make -j 3
In case the image was not build you should run the following command, which activates full output and also shows image size
make V=sc
!!!Please note that you may need to compile with one thread make -j1
and you may need to make clean
or make dirclean
when switching between Flash sizes to recompile and do the strip correct.!!!
The firmware image files will be stored in the bin
-folder. These images can now directly be used to update your router. Please note, that two differnt image types (per router) will be provided:
openwrt-[chip]-[model]-squashfs-factory.bin
for the initial flash (for routers running stock/vendor firmware).openwrt-[chip]-[model]-squashfs-sysupgrade.bin
for futher updates (for routers having already another Freifunk FW flashed).Many routers have not been tested yet, but may work. Give it a try! :-) ...and tell us about your experiences
To build all images for all supported models see github.com/freifunk-bielefeld