OpenWrt Forum Archive

Topic: Freifunk-Firmware 1.0

The content of this topic has been archived on 28 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

A new version of freifunk firmware is available for download. While I'm quite happy with the firmware, I have attached a version number of 1.0 now.

Brief description.: FF-Firmware is an openwrt/stable with a few optimizations and some preinstalled packages for use with OLSR-based community networks not using encryption for wireless communication. Details may be found on the project homepage also, refer to http://ff-firmware.sourceforge.net/ After installation through the original web UI just enter IP and go. It is possible to install additional packets from any openwrt/stable repository.

The firmware itself behaves stable, but as usual some minor bugfixes will come due to this public release and the expected feedback. I have tested the FFF on the following devices: WRT54G-V2.0, WRT54G-V2.2, WRT54GS-V2.0, WAP54G-V2.0(4Mb Flash), WAP54G-V2.0(2 Mb Flash), AllNet 0277. I have positive feedback for WRT54G-V1.1 and WRT54GS-V1.1 also.

Since the last version 0.6.8 there are several improvements made:

* LZMA compression save flash space
   (TRX is 1.4 Mb which is smaller than the original openwrt/stable)

* MTD update to speed up jffs2 and make WAP54G(2Mb) running

* Update to olsrd-0.4.10-pre

* Changed dyngw (added policy routing with iproute2 for this)

* Added software-install, client/master/ad-hoc/bridge-mode,
   extended status and firmware download from squashfs to web UI

* Added Mcast Route to kernel, disabled BBC, speedup dropbear,
   added softdog (watchdog for stability), olsrd-nameservice,
   olsrd-httpinfo, TFTP client for flashing neighbor devices

* Lots of bugfixes

Because several people have asked for an LZMA and G-2.2/GS-1.1 compatible openwrt/stable, I also added a "minimal" release without freifunk Adonis (TRX is 1132KB, so there are 2624KB free on Jffs2). The missing parts originally included with openwrt/stable are installable with the "freifunk-removed-from-openwrt_1.0_mipsel.ipk" package if you really need them.

There is also a "kit" for all variants available. The kit will made customizations easy (the counterpart of the openwrt/experimental "ImageBuilder").

Notes for updaters: For standard cases, there is an NVRAM-compatibility script which converts the NVRAM settings from the older releases. In the berlin mesh, I placed the files on the HdL cube (NAS device mounted with NFS) on http://104.65.0.1/nas/ (go to "styx.commando.de" directory).

Sven-Ola

mtd update?

speedup dropbear?

softdog?

just stuff i may be like to add to experimental, if you shortly explain.

your cvs repo is a little bit eh, ugly. :}

Hey,

some comments on comments:

- ugly sources: yes. FFF is a fast hack not meant for a public developer crowd. I trust in the openwrt devs to provide enough customization hooks for me and others to experimental. And: I don't have the time to fiddle with MBM for every new NVRAM var I need.

- speedup dropbear: done something against the "reverse DNS will hang dropbear" (not relevant for openwrt since users are responsible for their resolv config), discarded some extra cryptos, combined scp, dbkey, ssh and sshd in one binary. See db-readme.

- softdog: kernel module which restarts by timer int if busybox/watchdog is terminated.

- mtd update: get the MTD version out of cvs (-D 2005-02-28) and do some adaptions (e.g. maps/bcm947xx-flash.c). Here is a sample. Excluded unnecessary stuff (like the Standard-Vendor-Command-Set and BBC):

#ifdef SVEN_OLA
map_word bcm947xx_map_read8(struct map_info *map, unsigned long ofs)
{
        map_word val;
        if (map->map_priv_2 == 1) {
                val.x[0] = __raw_readb(map->map_priv_1 + ofs);
        }
        else {
                val.x[0] = __raw_readw(map->map_priv_1 + (ofs & ~1));
                if (ofs & 1)
                        val.x[0] = ((val.x[0] >> 8) & 0xff);
                else
                        val.x[0] &= 0xff;
        }
        return val;
}
#else
__u8 bcm947xx_map_read8(struct map_info *map, unsigned long ofs)
{
        if (map->map_priv_2 == 1)
                return __raw_readb(map->map_priv_1 + ofs);

        u16 val = __raw_readw(map->map_priv_1 + (ofs & ~1));
        if (ofs & 1)
                return ((val >> 8) & 0xff);
        else
                return (val & 0xff);
}
#endif

Rgds, Sven-Ola

(Last edited by sven-ola on 2 May 2005, 11:38)

Freifunk-Firmware 1.0.1. Out now.

This is a bugfix release of Freifunk-Firmware. Several minor bugs reported by users are fixed with this version:

* Switching port mode to DHCP now disables IP/Netmask inputs
* If wifi dev is dead: Try to re-init with “wlconf up” in cron.minutely
* Small fix for Asus WL500g with wan_ifname in S45firewall
* Web-UI: Intermixed OLSR-DynGW / Httpinfo Plugin switch
* Web-UI: Wrong display of DHCP address for wider netmask

There are some very minor improvements, such as adding pmtu iptables rule for MTU < 1500 on wifi and the like. New with this version is a french UI (completed), spanish UI (mostly completed) and UI variants for “Paris Sans-Fil” and “Wireless London” communities. And of course: There's a new picture on the main web page smile

FAQ 1: What is it? It’s a firmware to bring up an OLSR node for use in Ad-Hoc community networks. See http://ff-firmware.sourceforge.net/ for details.

FAQ 2: Devices? Linksys WRT54G-Ver 1.1, 2.0, 2.2 (possibly 3.0, unverified) / WAP54G-Ver 2.0 (4 Mb AMD Flash and 2 Mb Intel Flash Versions) / Allnet0277 / Asus WL-500g (requires fiddeling)

So... are you going to update to 'experimental' in the future or will you stick to the obsolete version?

Hi, sven-ola!

sven-ola wrote:

Freifunk-Firmware 1.0.1. Out now.

This is a bugfix release of Freifunk-Firmware. Several minor bugs reported by users are fixed with this version:

* Switching port mode to DHCP now disables IP/Netmask inputs
* If wifi dev is dead: Try to re-init with “wlconf up” in cron.minutely
* Small fix for Asus WL500g with wan_ifname in S45firewall
* Web-UI: Intermixed OLSR-DynGW / Httpinfo Plugin switch
* Web-UI: Wrong display of DHCP address for wider netmask

I love your firmware!

We use it for our mesh network in south west of France (http://viviershautdebit.net).

Something cool would be to add by default a traffic shaping feature with a nice web interface. I've added such a thing using your S64 kernel module and tc/htb but i didn't take time to modify the web interface.

One wonderful tip would be to use some https web server to manage the router.

Thank you for your freifunk firmware, I'm a fan ;-)

nbd wrote:

So... are you going to update to 'experimental' in the future or will you stick to the obsolete version?

I didn't expect to upgrade to experimental until summer. There may show up a smaller kernel (444k with GCC343 is possible) or a fixed ttyS1 interrupt until then ;-) And: No running software is obsolete. Never knock down your older work.

P.S: FFF is not a fork (that's a bad term used already in some PM) but rather an "openwrt application"...

@mynetmemo: Happy to read that!

hello Ola,

I have made some tests on last FF version (1.01) on wrt54g v1.1. It woks nice.

I have formated nvram memory. After that I have spent much time to setup
nvram variable for lan and wifi. I need wep keys. So I have to setup

  nvram set wl0_wep=on

on some firmware, it need to be setup to enabled. So it's not very easy.
Now, after many variable settings, it works and OLSR can talk to other
AP with old Openwrt/OLSR.

you can see current network at : http://villeneuve-tolosane.net/~marc/olsr/
many thanks for you good work.

_marc_,

well, if you zap da NVRAM to the barebone settings this will happen. It's better to put on the original firmware and execute "reset to defaults". (Every device specific FW do know more about the device defaults than the multi-device FFF/openwrt). FFF is basically for end users: buy that thing, flash FFF, enter IP and start meshing. With the "customized" FW download offered with our berlin "fetch ip service", even the "enter IP step" can be omitted. Moreover: Freifunk is and will stay WEPless...

Rgds, Sven-Ola

hello,

sorry to bother, but I think I'm in need of some assistance.. I think I have bricked my first one (wap54g). Appears that it forgot the bootwait var and after flash to ff fw and reset minutes later it only responds to pings at 192.168.1.245 (I tend to change all to my likeings after flashing) so it's not responding to pings at 192.168.1.1 at switch on. Do you think I should brake the warranty and short the pins (15-16 or something) though I read on wap 54g it's not working.. the wap is ver 2 I think with 2mb flash, I have 4 of those, waiting for openwrt based fw which seems not to hapen still allthough I thought ff-fw is a go on it (my wap looks like the same as on the picture on Your site taken from the backside)

Can You assist me on revive'n it pls, no ?;)

this is a specific question, thres the 5 sec reset thing wich always worked, but with wap theres no dmz led for one thing, but pressing it (when I think is right time) does'nt appear to do anything aswell I dont get to telnet to 192.168.1.1 failsafe mode... I was just testing them to see if their radio was ok, if this ones radio is not, I can't return it if I removed the warranty sticker. Can someone confirm theres no other way than opening it and even so if that will help ?

The discussion might have continued from here.