This part is just for ASUS WL500W. For La Fonera, please refer to the section called “Building HIPL for OpenWRT on La Fonera”.
You cannot use Kamikaze 7.09 for ASUS WL500W. Please stick to the latest Kamikaze development version, like r12983, downloading from the subversion repository.
For preparation, refer to the section called “Preparation”.
Additionally, you need to download http://hipl.hiit.fi/hipl/contrib/openwrt/devel/package/iptables/Makefile and replace the iptables Makefile with the new one, to build libipq.a and install it. Without it you cannot build hipl.
For kernel 2.6.25.x.
If you want to build OpenWRT with kernel 2.6.25.x, e.g. 2.6.25.17, get hipl patches from the userspace branch of hipl.
$ cd hipl--userspace--2.6/patches/kernel/2.6.25 $ ls beet-bugfix-2.6.25.patch ipproto_hip.patch hipmod-2.6.25.patch orchid-router-src-addr-sel.patch $ cp beet-bugfix-2.6.25.patch path/to/kamikaze/target/linux/brcm47xx/patches-2.6.25/800-beet-bugfix.patch $ cp hipmod-2.6.25.patch path/to/kamikaze/target/linux/brcm47xx/patches-2.6.25/810-hipmod.patch $ cp ipproto_hip.patch path/to/kamikaze/target/linux/brcm47xx/patches-2.6.25/820-ipproto_hip.patch $ cp orchid-router-src-addr-sel.patch path/to/kamikaze/target/linux/brcm47xx/patches-2.6.25/830-orchid-router-src-addr-sel.patch
Fortunately you don't need to add those patches in other configuration files. Those patches are automatically applied during kernel build.
For kernel 2.6.27.
If you want to build OpenWRT with kernel 2.6.27, do the following steps. NOTE: this instruction is currently not working.
First we need to upgrade kernel from 2.6.25.17 to 2.6.27, because the BEET patch needed for HIPL is natively supported from 2.6.27. Edit target/linux/brcm47xx-2.6/Makefile and set '2.6.27' as LINUX_VERSION.
LINUX_VERSION:=2.6.27
Copy corresponding files for the kernel version 2.6.27.
$ cd path/to/kamikaze/target/linux/brcm47xx-2.6 $ cp config-2.6.25 config-2.6.27 $ cp -r files-2.6.25 files-2.6.27 $ cp -r patches-2.6.25 patches-2.6.27 $ cd ../../..
Configure kernel options.
$ make kernel_menuconfig
and also make sure that the below options are included in the configuration.
Device Drivers ---> [*] Network device support ---> <*> Dummy net driver support Networking ---> Networking support Networking options ---> TCP/IP networking <M> IP: IPsec BEET mode <M> IPv6: IPsec BEET mode
Make sure that the below options are not selected. This causes a compilation error.
Networking support ---> Networking options ---> Network packet filtering framework (Netfilter) ---> Core Netfilter Configuration ---> [ ] "layer7" match support Kernel modules ---> Netfilter extensions ---> [ ] kmod-ipt-filter Network support ---> [ ] kmod-sched
Building the entire tree.
Now you have finished configuring kernel. Then you need to choose your target profile according to your WiFi interface. You have two options for that: one is using the original Broadcom 4321 wifi card, the another is replacing the existing card with an Atheros card.
For the original Broadcom 4321 Wi-Fi card.
NOTE: This way is not guaranteed to work. Do it at your own risk!
Run menuconfig and choose the following options.
Target System (Broadcom BCM947xx/953xx [2.6]) Target Profile (Broadcom BCM43xx WiFi (default)) Kernel modules ---> Wireless Drivers ---> <*> kmod-b43 <*> kmod-hostap <*> kmod-ieee80211-softmac <*> kmod-mac80211
Build OpenWRT.
$ make V=99
Then you can get the final image in `bin/openwrt-brcm47xx-squashfs.trx`. Load it on your device. Then you can use ASUS WL-500W with an Atheros card.
For Atheros Wi-Fi card.
This is the recommended option for you, because Atheros cards are really stable, supported by madwifi device driver. Make sure that you already replaced your existing Broadcom miniPCI card with a new Atheros card.
Run menuconfig and choose the following options.
Target System (Broadcom BCM947xx/953xx [2.6]) Target Profile (Atheros WiFi) Kernel modules ---> Wireless Drivers ---> <*> kmod-madwifi <*> kmod-hostap
Build OpenWRT.
$ make V=99
Then you can get the final image in bin/openwrt-brcm47xx-squashfs.trx. Load it on your device. Then you can use ASUS WL-500W with an Atheros card.