fuschlberger.net - Linux and Wireless Hardware from Ovislink with Intersil Prism2 Chipset and from Belkin
Ovislink Airlive WL-1100AP Access Point
Ovislink Airlive WL-1100PCM PCMCIA Adapter
Belkin F5D7050 ver 1000
On this page you will a find a short guide on how to set up this wireless hardware under Linux.
I wrote it because when I searched google I found nothing about this Hardware.
All comments, suggestions etc. are welcome. Please contact me at wf-hp@gmx.net.
A few days ago I decided to get me a a wireless LAN-Card together with an
access-point (short AP) to avoid 20 metres of Twisted-Pair Cable lying through
the corridors of my home.
I chose the Ovislink hardware, because on the box of the PCMCIA-card Linux was
listed as an OS which supported the card. The manual of the AP which they
allowed me to read in the shop said it had to be configured over SNMP. After
doing a little research on google I found out, that chances were good this
could be done with one of the programs from ap-utils. I hoped it would work,
but I have to confess I would have also used Windows for the configuration,
since the price was rather low.
Setting up the PCMCIA-Card
Using orinoco_cs
The WLAN-Card has a Prism2-Chip which is supported by both
linux-wlan-ng and orinoco_cs.
In this file I will only cover the relevant details for WLAN-Configuration. For PCMCIA-basics please refer to the PCMCIA-HOWTO.
[I heard reports that this card also worked with orinoco_cs. I will continue to
use prism2_cs since it is the 'official' driver-module offered by Ovislink, but
I am interested in reports about using orinoco_cs, especially the differences
to prism2_cs.]
Update: Recently I started using orinoco_cs from the vanilla kernel
since a recent version linux-wlan-ng did not compile any more and I did not
want to investigate thoroughly whether it was a problem with linux-wlan-ng or
the kernel or gcc or...
Update (2004-11-15): I switched back to linux-wlan-ng, since version
0.2.1pre23 compiles without error. For the configuration see section Recent wlan-ng.
Update (2005-04-28): Version 0.2.1pre26 does not compile properly
with a kernel from the 2.4 tree because of an error in one of the Makefiles.
Use 0.2.1pre25 instead.
Update (2005-11-15): Version 0.2.2 does not compile with kernel 2.6.14.
Use the version from svn co svn://svn.shaftnet.org/linux-wlan-ng/trunk
instead.
Step 1: Kernel-Config
Compile (recommended: as a module) hermes.o and orinoco_cs.o.
The necessary Parameters in the kernel-.config-file are
CONFIG_HERMES=m
CONFIG_PCMCIA_HERMES=m
Step 2: WLAN-Hardware-Configuration
Edit /etc/pcmcia/wireless.opts according to your WLAN setup. At the end of this file you can find a example which contains all possible parameters.
This is the relevant section in my /etc/pcmcia/wireless.opts:
(YES, I changed my WEP-key :-) )
============ /etc/pcmcia/wlan-ng.opts ============
case "$ADDRESS" in
*,*,*,00:02:72:00:00:00)
INFO="Prism II"
ESSID="Hey, you found me"
MODE="Managed"
RATE="auto"
KEY="restricted AA:BB:CC:DD:EE:FF:11:22:33:44:55:66:77 [1]"
IWCONFIG="nickname me"
;;
For Debian-users: apt-get source linux-wlan-ng pcmcia-cs kernel-source-`uname -r`
Run ./Configure in the source-directory of pcmcia-cs.
Run ./Configure in the source-directory of linux-wlan-ng and answer the following question with yes:
Build Prism2.x PCMCIA Card Services (_cs) driver? (y/n) [y]: y
The other modules (PCI- and USB-drivers) are not needed.
Compile and install (as root) pcmcia-cs (if it is not installed yet) and linux-wlan-ng by running in both of the source-directories: make && make install.
Add the following lines to the file /etc/pcmcia/config.opts. In case you are using Debian you can add it to /etc/pcmcia/wlan-ng.conf, since all *.conf-files in /etc/pcmcia/ are sourced from /etc/pcmcia/config.opts:
With this card-definition the card will be recognized correctly by cardmgr when it is inserted into the PCMCIA-slot and the module /lib/modules/`uname -r`/pcmcia/prism2_cs.o will be loaded.
Next you have to configure the files /etc/pcmcia/network.opts for the network-parameters of the WLAN-interface wlan0 and /etc/pcmcia/wlan-ng.opts for the WLAN-configuration itself. Both files are commented thoroughly and the names of the variables are rather self-explaining.
This is my /etc/pcmcia/wlan-ng.opts without the Comment-lines:
(YES, I changed my WEP-keys :-) )
============ Begin of file /etc/pcmcia/wlan-ng.opts ============
WLAN_VERSION=0
WLAN_PATCHLEVEL=1
WLAN_SUBLEVEL=15
WLAN_EXTRAVERSION=
case "$ADDRESS" in
wlannoenable,*,*,*)
WLAN_ENABLE=n
;;
*,*,*,*)
#=======WEP===========================================
lnxreq_hostWEPEncrypt=true
lnxreq_hostWEPDecrypt=true
dot11PrivacyInvoked=true
dot11WEPDefaultKeyID=0
dot11ExcludeUnencrypted=true
dot11WEPDefaultKey0=01:23:45:67:89:AB:CD:EF:00:00:00:00:00
dot11WEPDefaultKey1=CC:CC:CC:CC:CC:CC:CC:CC:CC:CC:CC:CC:CC
dot11WEPDefaultKey2=FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:F0
dot11WEPDefaultKey3=00:00:00:00:00:00:00:00:00:00:00:00:0F
#=======SELECT STATION MODE===================
IS_ADHOC=n # y|n, y - adhoc, n - infrastructure
#=======INFRASTRUCTURE STATION START===================
AuthType="sharedkey"
DesiredSSID="wlan"
#=======ADHOC STATION START============================
SSID="adhoc-wlan"
BCNINT=100
CHANNEL=6
BASICRATES="2 4"
OPRATES="2 4 11 22"
;;
esac
============ End of file /etc/pcmcia/wlan-ng.opts ============
The nickname of the card can be set with the following command:
wlancfg set wlan0
p2CnfOwnName=mynewnickname
This is my /etc/pcmcia/networks.opts without the Comment-lines:
============ Begin of file /etc/pcmcia/networks.opts ============
case "$ADDRESS" in
*,*,*,*)
BOOTP="n"
DHCP="n"
PPPOE="n"
WHEREAMI="n"
IPADDR="192.168.1.1"
NETMASK="255.255.255.0"
IPMASQ="n"
start_fn () { return; }
stop_fn () { return; }
NO_CHECK=n
NO_FUSER=n
;;
esac
============ End of file /etc/pcmcia/networks.opts ============
In my case I did not have to set a gateway because I am running a 1024bit-encrypted VPN (from http://tinc.nl.linux.org/) over the radio-connection which is my default route.
Using recent linux-wlan-ng driver, e.g. v. 0.2.1pre23
The config-files can be found in /etc/wlan/. They are explained well by the comments in them.
If you want to connect to a certain network first configure the SSID in
/etc/wlan/wlan.conf like this
============ SNIP file /etc/wlan/wlan.conf ============
SSID_wlan0="Welcome to my network"
# Yes, spaces in the SSID are possible.
ENABLE_wlan0=y
============ SNAP file /etc/wlan/wlan.conf ============
Then create a file /etc/wlan/wlancfg-$SSID, in this example
"/etc/wlan/wlancfg-Welcome to my network" with the same settings
as in the /etc/pcmcia/wlan-ng.conf file above.
============ Begin of file "/etc/wlan/Welcome to my network" ============
lnxreq_hostWEPEncrypt=true
lnxreq_hostWEPDecrypt=true
dot11PrivacyInvoked=true
dot11WEPDefaultKeyID=0
dot11ExcludeUnencrypted=true
PRIV_GENERATOR=/sbin/nwepgen
PRIV_KEY128=false
PRIV_GENSTR=""
dot11WEPDefaultKey0=01:23:45:67:89:AB:CD:EF:00:00:00:00:00
dot11WEPDefaultKey1=CC:CC:CC:CC:CC:CC:CC:CC:CC:CC:CC:CC:CC
dot11WEPDefaultKey2=FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:F0
dot11WEPDefaultKey3=00:00:00:00:00:00:00:00:00:00:00:00:0F
IS_ADHOC=n
AuthType="sharedkey"
BCNINT=100
CHANNEL=6
BASICRATES="2 4"
OPRATES="2 4 11 22"
============ End of file "/etc/wlan/Welcome to my network" ============
The advantages of configuring the networks in separate files is that you can
change easily between the networks and the files are not overwritten when
updating the wlan-ng-driver.
Important Note: You can configure
everything under Linux. There's no need to boot Windows.
Some interesting facts(which took me quite some time to find in the manual):
Default-IP-address: 192.168.0.1
Default-password: public
Needed Cable: straight TwistedPair-Cable when connected to a switch or hub, a
crossover cable when connected directly to a NIC (network interface card).
BTW, the antenna next to external antenna connector is only fake. The
casing, the antennas and the circuit board seem to be designed for several
different products. So if you need an empty antenna, you know where to get it
from...
Compile the programs:
./configure
make && make install
Or simply run apt-get install ap-utils.
Start the program ap-config.
Enter the default-IP-address of the AP (192.168.0.1), the default-password
('public') and choose 'AP type: ATMEL'
This should connect you to the AP.
If this does not work check your network and routing settings, especially the
netmask.
The configuration is explained in the manual that came with the AP.
Some oddities you may encounter:
The WEP-keys saved in the AP will never be displayed in ap-config,
even though they were entered and saved correctly. The only thing you can do to
ensure encryption is up and running is testing it with a WLAN-card and checking
it with wlancfg show wlan0
If the WLAN interface isn't brought up when plugging in the PCMCIA-card or an
USB-adapter have a look at /etc/wlan/wlan.conf if the
ENABLE_wlanX= is set to 'no' or commented out. The problem there
is that there is no error message whatsoever, the firmware just doesn't get
loaded (which of course is no surprise but it may take hours to find the
reason...).
Last but not least, you can also change the radio output power of the AP:
untar it to some directory
run
make
make install
to compile and install the driver module
depmod -a is run automatically by make install
Add the following line to /etc/modules.conf (in Debian to
/etc/modutils/aliases and run update-modules)
alias rausb0 rt2570
Configure the wireless settings:
iwconfig rausb0 mode managed
iwconfig rausb0 channel 6
iwconfig rausb0 essid "mywlan"
iwconfig rausb0 rate auto
iwconfig rausb0 ap 00:00:00:00:00:00
When entering the last command I get an error message that the interface is not
up. When running ifconfig rausb0 192.168.1.1 up it uses 100% CPU
time, cannot be interrupted and the only thing I can do is to reboot.
With prism54
Status: firmware doesn't get loaded
Download 2.5.8.0.arm
and copy it to /usr/lib/hotplug/firmware/isl3887usb_bare
untar it to some directory
Add Vendor/Device ID to src/kernel/islusb_init.c (they changed the
product ID without changing the name): {USB_DEVICE(0x050D, 0x705a)}, /* Belkin F5D7050 v 1000 */
then run make load
to compile and load the driver
Now you should see the device with ifconfig -a.
Then you have to set up the wireless interface:
iwconfig eth1 mode ad-hoc
iwconfig eth1 6
iwconfig eth1 essid "my essid"
iwconfig eth1 ap "cellid"
ifconfig eth1 ipaddr up
At this point I have a problem with loading the firmware. I will soon have a
look at this.
If you find out anything please send me a mail at wf-hp@gmx.net.