Please read prism54 README first, it's very clear.
The following is my notes.
My environment
Kernel: 2.4.25
Card: Corega CG-WLCB-54GT (ref. Chipsets and Wireless cards supported by the Linux prism54 driver)
eth0 as WAN, eth1 as LAN
I chose 2nd way (not patch kernel) describe in prism54 README
wget http://prism54.org/pub/linux/testing/tars/2004-06/prism54-1.2.tar.bz2
tar jxvf prism54-1.2.tar.bz2
cd prism54-1.2
make KDIR=/usr/src/linux-2.4.25 clean modules
then get prism54.o module
Kernel config
CONFIG_EXPERIMENTAL: y
Code maturity level options --->
Prompt for development and/or incomplete code/drivers
CONFIG_HOTPLUG: : y
General setup --->
Support for hot-pluggable devices
CONFIG_FW_LOADER: m/y (either one will work)
Library routines --->
Hotplug firmware loading support (EXPERIMENTAL)
CONFIG_NET_RADIO : y
CONFIG_NET_WIRELESS : y
Network device support --->
Wireless Lan (non-hamradio)
For PCMCIA Cards :
CONFIG_PCMCIA && CONFIG_CARDBUS
General setup --->
PCMCIA/CardBus support --->
PCMCIA/CardBus support (m or y)
[*] CardBus support (Important!)
Make new kernel (make dep && make bzImage)
Get firmware
mkdir -p /usr/lib/hotplug/firmware
cd /usr/lib/hotplug/firmware
wget http://prism54.org/firmware/1.0.4.3.arm
mv 1.0.4.3.arm isl3890
Boot with new kernel and use prism54.o module
Make sure the hotplug system has been setup properly,
otherwise you might get errors in the kernel log stating that request_firmware() has failed
insmod prism54.o
I've tried many times and got this error, maybe you never get this message.
PCI: No IRQ known for interrupt pin A of device 0000:01:00.0.
eth2: could not install IRQ handler
Solution: enable ACPI and disable APM in kernel config and enable ACPI support in BIOS
If no error occured,
ifconfig eth2 up
iwconfig eth2 mode master
iwconfig eth2 essid default
Finaly, bind eth1 and eth2 as bridge, prism54 AP should work now.
Use iwpriv to make MAC ACL control (different from hostap)
iwpriv eth2 setPolicy 0 (Accept every client.)
iwpriv eth2 setPolicy 1 (Accept everybody except client whose MAC is in the list)
iwpriv eth2 setPolicy 2 (Reject everybody except clients in the list.)
iwpriv eth2 addMac xx:xx:xx:xx:xx:xx (add MAC in the list)
iwpriv eth2 delMac xx:xx:xx:xx:xx:xx (del MAC in the list)
I found if setPolicy too many times, prism54 driver will crash, maybe a bug.
Note:
prism54 was build in kernel >=2.4.28 or kernel >=2.6.8, you don't need to patch kernel if you use new kernel.
ref. 使用 PCMCIA wireless card + hostap 架設 AP
http://prism54.org/forums/viewtopic.php?t=659&highlight=prism54+pci+device+memory+region+configured
http://prism54.org/pipermail/prism54-users/2004-May/001380.html
prism54: PCI device memory region not configured; fix your BIOS or CardBus bridge/drivers
Leave a comment