# Adventures with a Dell Laptop, Wireless PCMCIA cards ...

## stormcoder

Adventures with a Dell Laptop, Wireless PCMCIA cards and Linux.

    I have finally solved a problem that has plagued me for months and I 

wish to pass on my hard won knowledge to others. 

    Several months ago I decided to implement a wireless network at my 

house and reach network nirvana. Everything was working fine until it came 

to implement wireless networking on my older Dell Inspiron 7000 Laptop 

with Linux installed on it. I went out and bought a Linksys WPC11 PCMCIA 

adapter because I was told it was well supported under Linux. I found the 

Linux WLAN drivers for the WPC11 card and proceeded to follow the 

installation instructions. (Note that this was the first installation, 

there were many others to follow.) I got a Vcc Mismatch error on inserting 

the card. This was a particularly weird problem since my 3com wired 

PCMCIA network card worked flawlessly. So I assumed it was a problem with 

the card or driver. What they say about ass-u-mptions are correct. 

    As with most problems I encounter that I don't have an answer for I 

turn to the Net and began searching every mailing list, news group, web 

page etc. No luck. There were some problems that bore a slight resemblance 

to my problem but they generally were encountered by driver developers 

working on developing support for a particular card. First thing I noticed 

was that the particular WPC11 card I had was a Prism3 chipset card instead 

of the Prism2 chipset that I was expecting. A quick check of the Linksys 

site tells me that they had recently upgraded their card while keeping the 

original model number. I checked the documentation for the Linux WLAN 

drivers and they said that they supported Prism3 cards as well. Being the 

highly trained problem solver that I am.  :Wink:   I proceeded to eliminate the 

possibilities. So I take the card back to the store and get a replacement 

that is also supposed to be well supported, a DWL-650+. Well it was a 

Prism3 card as well and I had the same problem with it. Since I could 

safely say that this was not a problem with the PC card itself I proceeded 

to eliminate the possibility of software/driver problems on my Laptop. I 

then proceeded to try every possible combination of kernel option, 

PCMCIA-CS driver option, and WLAN option. This went on for months. I even 

went so far as to wipe out my partitions and reinstall Linux from scratch. 

Since this was a Gentoo system, this was real time consuming. After endless 

fiddling and feeling very humbled I am desperate to reach network Nirvana 

so I try one last time switching network cards. This time I am dead set on 

finding a prism2 card because I am positive that my problem lies with the 

Prism3 chipset. So a research a manufacturer who has not changed their 

card yet. This turns out to be Netgear. So I am off to the store again. 

Did I mention that I live BF Egypt and have to drive an hour to get to an 

electronics store? I purchased a Netgear M401, at twice the price of the 

DWL-650+, I might add. I insert it into my laptop and a miracle, I get my 

two high pitched beeps. A quick modification of the config files and I am 

connected to the network. I then study the specification of this card vs

the specs on the other cards. It turns out the problem was that the prism3 

cards also happened to be 32bit card bus cards and the prism2 cards happen 

to be 16bit PCMCIA cards. Evidently my Laptop doesn't like card bus cards. 

I'll let you guys come up with your own morral for this story.

----------

## dripton

Mostly correct, but you got the chipset of the 650+ wrong.

Partial taxonomy of D-Link wireless cards:

       card                                      chipset            Linux support

D-Link DWL-650 (original)       Prism2.5                 best

D-Link DWL-650 (new rev)              Prism3                    okay?

D-Link DWL-650H                     Symbol                   okay

D-Link DWL-650+                     TI ACX-100            none

Similarly for PCI cards:

D-Link DWL-520                        Prism2.5                 best

D-Link DWL-520+                      TI ACX-100           none

----------

## stormcoder

The prism2_cs driver reports it as a prism3 chipset card.

----------

## dripton

The DWL-650+ is definitely a TI, not a Prism 3.  22 Mbps is a dead giveaway. Seems that driver guesses Prism3 whenever it doesn't know.

http://trekweb.com/~jasonb/articles/hostap_20021012.shtml says that the new rev of the DWL-650 (no plus) is an Atmel.  I thought those were confined to USB.  Paperweight.

Also says the new rev of the Linksys card is a Broadcom.   The old rev was a Prism2, but it had a really bad radio subsystem, making it useful only at ranges where you could just use a wire.  Pet rock.

The original D-Link DWL-650 is a Prism2 card and should be fine, if you can still find one and know how to tell the good old ones from the bad new ones.  (The support section of dlink.com has pictures of the various 650 cards, if you're scrounging used NICs on eBay.)

I can confirm that the Netgear MA401NA is still a safe choice for a Prism2.x PCMCIA card.  Mine just showed up today, and it works.

For a PCI Prism2 card the D-Link DWL-520 is good.  It's a real standalone PCI card (careful: many alleged PCI NICs are actually just adapters for PCMCIA NICs, which is both a kludge and seriously overpriced once you buy both halves), and it's a real Prism2.x,  so HostAP works.  But the DWL-520+ is another TI paperweight.

Sigh, I really didn't want to learn all this chipset taxonomy just to buy a couple of NICs.  But maybe it'll save someone else the bother of returning a card.

----------

## int1

stormcoder:

I have started this unpleasant trek with my Dell Inspiron 8100.  What's really pissing me off is my Linksys WPC11 v2.5 worked without a hitch in RH7.2.  Could you post your config files in this thread?  I've tried orinoco, host-ap, and the wlan-ng drivers, and nothing seems to be working.  I have 128-bit WEP enabled, and my card will come up and see the WAP but I can't transmit any traffic across the link.  ZARG!

Thanks!

int1

----------

## stormcoder

I am not using WEP. but I will post my config files.

Here is the wlan-ng.opts file

WLAN_VERSION=0

WLAN_PATCHLEVEL=1

WLAN_SUBLEVEL=14

WLAN_EXTRAVERSION=

case "$ADDRESS" in

wlannoenable,*,*,*)

	#=======ENABLE========================================

	# Do we want to enable the card at all?  Set to 'n' if you don't

	# want the card initialized for normal operation.  Helpful for

	# (re)loading flash or for test purposes.

	WLAN_ENABLE=y

;;

*,*,*,*)

	#=======ENABLE========================================

	# Do we want to enable the card at all?  Set to 'n' if you don't

	# want the card initialized for normal operation.  Helpful for

	# (re)loading flash or for test purposes.

	WLAN_ENABLE=y

	#=======USER MIB SETTINGS=============================

	# You can add the assignments for various MIB items

	#  of your choosing to this variable, separated by 

	#  whitespace.  The wlan-ng script will then set each one.

	# Just uncomment the variable and set the assignments 

	#  the way you want them.

	#USER_MIBS="p2CnfRoamingMode=1"

	#=======WEP===========================================

	# [Dis/En]able WEP.  Settings only matter if PrivacyInvoked is true

	dot11PrivacyInvoked=false	# true|false

	dot11WEPDefaultKeyID=0		# 0|1|2|3

	dot11ExcludeUnencrypted=true	# true|false, in AP this means WEP 

	                                #  is required for all STAs

	# If PRIV_GENSTR is not empty, use PRIV_GENTSTR to generate 

	#  keys (just a convenience)

	PRIV_GENERATOR=/sbin/nwepgen	# nwepgen, Neesus compatible

	PRIV_KEY128=false		# keylength to generate

	PRIV_GENSTR=""

	# or set them explicitly.  Set genstr or keys, not both.

	dot11WEPDefaultKey0=		# format: xx:xx:xx:xx:xx   or

	dot11WEPDefaultKey1=		#         xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx

	dot11WEPDefaultKey2=		#  e.g.   01:20:03:40:05   or

	dot11WEPDefaultKey3=		#         01:02:03:04:05:06:07:08:09:0a:0b:0c:0d

	#=======SELECT STATION MODE===================

	IS_ADHOC=n 			# y|n, y - adhoc, n - infrastructure

	#=======INFRASTRUCTURE STATION START===================

	# SSID is all we have for now

	AuthType="opensystem"		# opensystem | sharedkey (requires WEP)

        # Use DesiredSSID="" to associate with any AP in range

	DesiredSSID=""

        #=======ADHOC STATION START============================

	SSID="ANY"			# SSID

	BCNINT=100			# Beacon interval (in Kus)

	CHANNEL=6			# DS channel for BSS (1-14, depends 

					#   on regulatory domain)

	BASICRATES="2 4"		# Rates for mgmt&ctl frames (in 500Kb/s)

	OPRATES="2 4 11 22"		# Supported rates in BSS (in 500Kb/s)		

    ;;

esac

This is what I changed in the wlan-ng-conf file.

card "NETGEAR MA401 11Mbps 802.11 WLAN Card"

   version "NETGEAR MA401RA Wireless PC", "Card", "ISL37300P", "Eval-RevA"

   manfid 0x000b, 0x7300

   bind "prism2_cs"

You need to look at the output of cardctl ident and alter the version and/or add the appropriate manfid. You would use the WPC11 entry instead of the Netgear entry. Hope that helps.

----------

## stormcoder

Is someone working on a Linux driver for the 650+?

 *dripton wrote:*   

> Mostly correct, but you got the chipset of the 650+ wrong.
> 
> Partial taxonomy of D-Link wireless cards:
> 
>        card                                      chipset            Linux support
> ...

 

----------

## dripton

 *Quote:*   

> Is someone working on a Linux driver for the 650+?

 

TI has not released specs for their ACX-100 chipset.  Unless they do, it's unlikely that anyone but TI will write such a driver.  (It's not worth a heroic reverse engineering job when there are already plenty of wireless NICs out there with good wireless support.)

Take this with a grain of salt:

http://lists.debian.org/debian-laptop/2002/debian-laptop-200208/msg00418.html

I do not recommend buying hardware based on thirdhand reports that someone might be working on a driver.  (Even if they're accurate, it might be a semi-functional closed-source driver.)

Buy something that actually has a working driver today.  (I recommend a Prism2 card.)  If you got a DWL-650+, return it and buy a supported card.  If you can't return it, find a Windows-only user who would be willing to swap his older well-supported card for it.

----------

## chino

The DWL-520+ is essentially the same thing as a GL2422-VP (http://www.eusso.com/Model2/GL2422-VP/GL2422-VP.htm), which currently has a binary-only driver for Linux.  Unfortunately this driver apparently only works with Mandrake's 2.4.18 kernel (compiled with gcc2).  I am not sure if anyone has been able to make the driver work.  From what I have read in the newsgroups, it is about 30% reverse-engineered (the binary driver's symbols had not been stripped) to source, but that news is at least a week old.  Hopefully we'll get a working driver soon; I have a 520+ and have to use it in XP to get it to work  :Sad: 

Andy

----------

## Rupart

That eusso site has posted some updated files that you might want to look at, specifically a driver supposedly compiled with gcc3.  You might have better luck with that.  I havent used it yet, since I am borrowing a card from a friend, specifically a DWL-520 (non plus).

----------

## chino

i haven't been able to find the files you mentioned over at eusso.  can you provide a link?  (when i go to the driver page, all that's on there now is stuff for windows.)

thanks,

andy

----------

## Rupart

Here ya go...

http://www.eusso.com/Model2/GL2422/gcc3/acx100_pci3.o

----------

## JonnyRo

Hello,

I was able to get both of these cards to link up to each other in ad hoc mode using the instructions on the acx100.sourceforge.net page.

Both systems are gentoo 1.4 with custom kernels.  

-Jonathan

----------

