| Note:
SMC recently released their official drivers for the SMC2632W
version 2 card. They basically provide alternative
versions of the fvnetr drivers described
below. Unfortunately I haven't had good results using
them, since my card would stop working after about half an
hour of operation, and I had to restart the PCMCIA
services to get the connection back. If you have had
better results using these drivers and have suggestions on
how to make them work correctly, I'd like to hear about it. | |
|---|---|
| Introduction | |
| I recently bought an SMC wireless PCMCIA
card for my HP laptop computer running GNU/Linux. The SMC website offers the drivers
for the SMC2632W card, which is based on the Intersil Prism2
chipset. After buying my card I realized it was actually a
Version 2 card, for which no drivers are available on the
website. After looking around a bit I found that the V.2 card
is based on the Atmel
AT76C502A chipset. Atmel has released an unsupported set of
drivers for this chipset, that are available at this
page. Minimal instructions on how to use this driver are available
here,
but following them did not work for me. The following is an account of the steps I had to
take in order to get my card to work using those drivers. | |
| Configuration | |
The following is the software
configuration of my system:
| |
| Compiling the drivers | |
| Unpacking the ZIP file with the Atmel
drivers creates a setup directory with subdirectories
for the PCMCIA, USB and PCI drivers. The subdirectory for the
PCMCIA driver is called pcmcia_cs. According to the
INSTALL file, all that is necessary is to run
make all (to compile all drivers) or simply
make pcmcia for the PCMCIA
driver. Unfortunately, the default configuration of the source
files compiles the drivers without support for Wireless
Extensions. These extensions are required by the
iwconfig program and similar tools, which in turn are
used by the PCMCIA scripts to enable and configure the
card. The result is that, with the supplied drivers, the card
is recognized by the driver, but the card cannot communicate
with the base station.
In order to enable the Wireless Extensions, I had to apply the following modifications to the source code:
You can now enter make pcmcia, and the
drivers will be built and installed. The installation
script moves the following object files to the
/lib/modules/2.4.2-2/pcmcia directory:
fastvnet_cs.o, fvnet4_cs.o,
fvnetr_cs.o, fvnetrD_cs.o and
fvnetrE_cs.o. The one you need is
fvnetr_cs, but leaving the other ones in
place does not hurt. The installation script also
runs depmod -a to create the module
dependencies for the new drivers. | |
| Configuration | |
|
The installation script adds the following lines to the /etc/pcmcia/config file: card "ATMEL 11 Mbps Wireless PCMCIA Card" version "ATMEL", "AT76C502" bind "fastvnet_cs" card "ATMEL 11 Mbps Wireless RFMD PCMCIA Card" version "ATMEL", "AT76C502AR" bind "fvnetr_cs" card "ATMEL 11 Mbps Wireless 504 PCMCIA Card" version "ATMEL", "AT76C504" bind "fvnet4_cs" card "ATMEL 11 Mbps Wireless RFMD Revision D PCMCIA Card" version "ATMEL", "AT76C502AR_D" bind "fvnetrD_cs" card "ATMEL 11 Mbps Wireless RFMD Revision E PCMCIA Card" version "ATMEL", "AT76C502AR_E" bind "fvnetrE_cs"You should manually add a similar entry for the SMC card: card "SMC 2632W V2 11Mbps 802.11b WLAN Card" manfid 0x01bf, 0xb301 bind "fvnetr_cs"The two hex numbers in the manfid section should be correct for this card; you can check them by running /sbin/cardctl ident after plugging the card in. Once you have made these changes, restart the PCMCIA services: /etc/rc.d/init.d/pcmcia restart. Check the system log /var/log/messages for any unexpected message. This is what appears on my system after the card is inserted: Jul 16 23:21:07 praho cardmgr[486]: initializing socket 1 Jul 16 23:21:07 praho cardmgr[486]: socket 1: SMC 2632W 11Mbps 802.11b WLAN Card Jul 16 23:21:07 praho cardmgr[486]: executing: 'modprobe fvnetr_cs' Jul 16 23:21:08 praho cardmgr[486]: executing: './network start eth0' Jul 16 23:21:08 praho /etc/hotplug/net.agent: register event not handled Jul 16 23:21:08 praho pumpd[1329]: starting at (uptime 0 days, 0:33:29) Tue Jul 16 23:21:08 2002 Jul 16 23:21:11 praho pumpd[1329]: configured interface eth0 | |
| Checking | |
The best way to check that everything went fine is to run /sbin/ifconfig -a and look at the configured interfaces. If you see an entry for eth0 (eth1 in case your OS already configured another network device) and the hardware address (HWaddr) is correct, it means that the driver succesfully recognized and initialized your card. If the device also has a valid IP address, you're all set. If the card fails to obtain an IP address, you can try to do that manually using /sbin/pump -i eth0. The Atmel installation script also installs a text-based
tool (lvnet) to configure the card. Finally,
the /proc/net/wireless should show some
minimal information about the wireless connection.
| |
| Feedback | |
If you have additional comments or
suggestions on this issue, please email them to
me and I will include them in this page. Note that
I won't be able to provide support to people who have
trouble using this card, but I'll be glad to add more
useful information to this page.
| |