Group: Hardware/History/brcm47xx WiFi Access points

From LibrePlanet
Jump to: navigation, search

The router made with Broadcom 47xx card usually run a 2.4 kenrel with a Proprietary kernel module and a proprietary firmware for the wifi driver by default. But:

  • the 2.6 kernel has support for the bcm47xx in 2 drivers:
    • b43
    • b43-legacy for older cards.

we will focus on b43 because I'm not shure that maste mode or the free firmware work with b43-legacy cards

  • there is a free firmware called openfwwf for some broadcom cards
  • openwrt build system supports both(the free firmware and the free driver)

So all what we have to do is to:

  • build a rootfs with support for both
  • customize our rootfs to make it act like a router(the init scripts etc...)

Howto create a free rootfs

Warning It may void your waranty,brick your router etc... checkout the svn of openwrt

svn co svn://svn.openwrt.org/openwrt/trunk

then type:

make menuconfig

and chose your options:

  • chose bcm47xx as target
  • chose wifi if you need the wifi
  • chose the free firmware as wifi firmware
  • chose hostapd
  • chose the additional packages you want
  • if you want the 2.6.30 kernel you need to modify a Makefile(which one?)

then type:

make

and wait a lot of time until completion then flash your firmware then log into your router

  • verify if you have the right kenrel with :
uname -a
  • verify what modules are loaded with:
lsmod
  • verify if you have the right firmware with:
ls -l /lib/firmware

if there is a directory named b43-open the right firmware was compiled and installed then we need to do some work: prepare the firmware direcrtory

cd /lib/firmware
ln -s b43-open b43
rm -rf b43-legacy

maybe we need to understand how to remove b43-legacy support

  • prepare the modules for the free firmware:
rm /etc/modules.d/30-b43-legacy

edit the 30-b43 file and change the line with "b43" in "b43 qos=0" because the free firmware doesn't support QOS yet vi /etc/modules.d/30-b43

  • then we need to bring up the wifi interface: