Jacek Pliszka's page about Prism2 USB 802.11b devices under Linux
This page is only about USB cards with Prism2 chipset
and linux-wlan-ng driver. For cards with other chipset you need
different driver. My hints may work for PCI/miniPCI/PCMCIA
cards with Prism2 chipset. Also for Prism2 devices you may
try HostAP driver.
You may want to see my other pages about:
Below I describe shortly installation and configuration of Prism2 USB
802.11b card under Red Hat Linux 7.3.
Warnings!
- linux-wlan-ng driver that is
- There were problems reported with certain USB controllers.
It DOES work with Intel i810,440 BX/ZX,i830, Sis 630/730, ALI1535.
- The USB code in 2.4.19 and 2.4.20 and some older kernels
too has problems, upgrade to 2.4.21-pre3 or newer or downgrade to 2.4.14
or older (some kernels between 2.4.14 and 2.4.18 may be fine as well)..
I am successfully running linux-wlan-ng drivers with 2.4.21-pre5-ac2.
-
WUSB11 has to be version 2.5 ! One with foldable antenna and
standard USB A-B cable (diferent connectors at both ends).
Versions other than 2.5 (1.0,2.0,2.6) are ATMEL based and
may work with mentioned above ATMEL AT76C503A driver.
(v2.5 is lovely since it has MMCX antenna connector inside!!!)
- Problem with gcc 3.2 : claims linux/limits.h is missing:
quick dirty hack:
in wland in Makefiel add -I/usr/src/linux-2.4.20/include to CPPFLAGS
The homepage for drivers and discussion
list is here. Another info
about these cards can be found here.
Please read FAQ included with the drivers. The most up to date
version is here.
You can get rpms with the drivers
here
however I do suggest compiling yourself as it is very easy
and DOES NOT require the recompilatiuon of the kernel. All you compile
is the prism2_usb module itself and p80211 module. Just two objects!
In order to compile you need: kernel sources configured as your kernel
(for Red Hat just get kernel-source rpm) and development utils as compiler.
It works very well with Red Hat 7.3 (kernel 2.4.18).
Thanks to all who worked on linux-wlan drivers!
Just remember to have the drivers version 0.2.0 or newer.
Of the major things only the infrastructure Master mode is missing.
Below I attach my instruction how to get it working, if these
instructions do not work for you - try the old ones below
and if the old ones do not work - report it to the linux-wlan list.
- I compile and install the drivers as it is described in readme
(compile just the driver!!! you do not have to compile the whole kernel,
In Red Hat you just have to install kernel-source rpm):
- Get sources from here
- unpack them, run ./Configure
- Answer the questions as in walkthrough
here - point 3
- run make all; make install
Alternatively you can get rpms but installation from sources is very
simple.
- Add starting wlan during the boot:
chkconfig --add wlan
chkconfig wlan on
For newbies: the chkconfig command adds starting wlan during the boot.
It simply adds right
links to /etc/rc.d directory. Please read some guide about Linux /etc/rc.d
to understand what is going on.
- Edit /etc/wlan/wlan.conf to suit your needs
- I add this to /etc/modules.conf:
alias wlan0 prism2_usb
run depmod -a ( I am not sure if needed).
- create /etc/sysconfig/network-scripts/ifcfg-wlan0 file :
DEVICE=wlan0
ONBOOT=yes
BOOTPROTO=static # change this to dhcp if you want DHCP
IPADDR=192.168.0.11
GATEWAYDEV=wlan0 # this is for setting default route
GATEWAY=192.168.0.1
TYPE=Ethernet
USERCTL=yes
NETMASK=255.255.255.0
NETWORK=192.168.0.0
BROADCAST=192.168.0.255
PEERDNS=no
Of course the numbers/setup should be appropiate for your network.
If this does not work on boot - do this little, ugly hack,
add at the beginning of /etc/rc.d/rc.sysinit the following two lines:
/sbin/modprobe prism2_usb
/sbin/modprobe usb-ohci
Of course instead of usb-ohci use the name of your USB controller driver.
I know it is an ugly hack but it takes some time to debug what is really
wrong with standard RH 7.3 USB initialization.
- Hotplugging - does not work for me fully yet. The problem is
that /etc/hotplug/usb/prism2_usb script is not run if
prism2_usb module is already loaded. Thus
before connecting Prism USB card I have to remove prism2_usb module
manually:
rmmod prism2_usb
then I connect the card and then I have to run:
ifup wlan0
Then it works. Instead of running ifup manually you can add:
ifup $DEVICE
at the very end of the prism2_usb of the script.
-
Enabling WEP128
If you are concerned about security - you should enable WEP 128.
It won't make you much more secure but at least you won't be totally open.
On the other hand it usually does slow the connection. WEP works in
0.1.14-pre3 and newer. Enabling it is simple:
- generate 3-4 26 hex-digits keys - you may use nwepgen but be carefull
as some OSs (like Windows XP) use different algorithms so always use
26-hex digits form, not the password string - the latter is only usefull
to recover the key if you forgotten it (but recover it with THE SAME program
you used to generate it)
- enable WEP128 on your AP and enter keys there, pick one you will use:
I suggest not the first one as this is the one which is usually tried first
if someone tries to hack in
- edit /etc/wlan.conf, these are the important lines:
dot11PrivacyInvoked=true
dot11WEPDefaultKeyID=2 # 0|1|2|3
dot11WEPDefaultKey0=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
dot11WEPDefaultKey1=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
dot11WEPDefaultKey2=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
dot11WEPDefaultKey3=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
AuthType="sharedkey"
- restart wlan and replug the card and should be fine.
If it does not work - try rebooting.
Troubleshooting and old stuff
Troubleshooting
If the system hangs during boot or does not initialize the card properly
(both light should be green solid) try one or more of the following changes:
- try different USB controller: usb, usb-uhci, ohci.
In Red Hat 7.x it is done in /etc/modules.conf in such a line:
alias usb-controller uhci
- try turning off the forced reset i.e. instead of
options prism2_usb prism2_doreset=1
do
options prism2_usb prism2_doreset=0
or, since 0 is the default, simply options prism2_usb
- anotehr fix for boot.
if you use uhci try adding this script on startup - for example
as /etc/rc.d/init.d/wlan-boot-fix:
#!/bin/sh
# wlan-boot-fix
#
# chkconfig: 2345 91 9
# description: fixes boot issues with prism2_usb
action=$1
case "$action" in
start)
rmmod uhci; sleep 1;modprobe uhci
;;
esac
make it executable
and then activate it with:
chkconfig wlan-boot-fix on
- Alternative to the previous point can be found
here
The author claims that running wlan start twice after a 1s delay
works fine for him with usb-uhci provided it is loaded after prism2 module.
- try connecting via USB hub instead of directly
- as the last resort - try disconnecting and connecting the device
again
- search/ask for firmware, firmware 1.1.0 or newer
is supposed to be much better as it should work with no prism2_doreset option.
Simply call/email your vendor. For Linksys WUSB11 v2.5 it was reported
that newest Windows XP driver flashes firmware to 1.0.10 primary and 1.4.2
station. I did my tests with 1.0.6:
grep ident /var/log/messages | tail
May 24 00:15:05 kubus kernel: ident: nic h/w: id=0x8010 1.0.0
May 24 00:15:05 kubus kernel: ident: pri f/w: id=0x15 1.0.6
May 24 00:15:05 kubus kernel: ident: sta f/w: id=0x1f 1.3.4
If you can't find a newer firmware - e-mail and/or call Linksys or your vendor.
If you contact Linksys, you may mention that there were people
reviews on Amazon.com that they have the same boot problem with Windows 98.
For me (RH7.3 + i830 chipset) uhci+prism2_doreset=1 with firmware 1.0.6
works great both directly and via hub.
Looks like the speed performance is not that good. If you want to
help with it go to Ricky Ng-Adam page
There is a problem related to APM - after some suspends
the device wakes up but does not work - I need to rerun the
initilization script or simply plug out and plug in the device.
I can not test it any more as my new notebook (Toshiba Satellite
1005-S157 - be careful! they cheat and do not give Windows installation
CDs) does not work with APM.
This is hotplugging: for older, 0.14 version.
In order to get hotplugging working
I have to rerun initialization script in hotplugging script
I add this to /etc/hotplug/usb.usermap
wusb11 0x0003 0x066b 0x2212 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
and create the executable script /etc/hotplug/usb/wusb11 containing:
#!/bin/sh
/etc/rc.d/init.d/wlan start
# the previous line does the following for me(set in /etc/wlan.conf):
#modprobe prism2_usb
#wlanctl-ng wlan0 lnxreq_ifstate ifstate=enable
#wlanctl-ng wlan0 lnxreq_autojoin ssid=frodo authtype=opensystem
#ifup wlan0 or dhcpcd wlan0
#
# Remember to not to run wlan from /etc/rc.d/rcX.d !!!
Disassembling WUSB11 v2.5
It is very easy but you void your warranty. Also you do everything
at your own responsibility.
Detach the rubber leg closest to the antenna - there is screw beneath.
Unscrew it. Gently open the box. Inside you find that the foldable antenna
is connected to the board
with MMCX female connector (so you need antenna with male) -
unplug it - just pull and connect your antenna. The MMCX connector
used also by Cisco products.
Actiontec HWU01170-01
The above setup should work for Actiontec as well. Maybe doreset=0.
Of course the entry to /etc/hotplug/usb.usermap should contain
Actiontec ProductId and VendorId.
Careful! New Actiontec cards HWU01150-01 with small antenna are ATMEL based
Evo N600C multiport
You can find info about it on
Josh Wyatt's page.
Though my hints for RH compatibility may be usefull too.
Non-USB Prism2 links
For PCMCIA cards or PCI cards (like Linksys WMP11 or dlink DWL-520)
Jacek Pliszka
Last modified: Fri Nov 21 20:31:57 CET 2003