Skip to content

ffbsee/ffbsee-firmware

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Firmware for Freifunk Bodensee BATMAN_V network

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
  • you may also strip svg images and disable USB, httpd, alfred if the space is still not enough

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:

  • Use openwrt-[chip]-[model]-squashfs-factory.bin for the initial flash (for routers running stock/vendor firmware).
  • Use 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