Subject: Re: D-link WLAN support
To: Pete Vickers <pete.vickers@computer.org>
From: Michael Graff <explorer@flame.org>
List: tech-net
Date: 09/19/2001 00:52:57
I think the d-link card is based on the prism2 chipset.  I have tried
this card wiht NetBSD-current and it seems to work...

--Michael

Pete Vickers <pete.vickers@computer.org> writes:

> Hi All,
> 
> Just a quick note about additional h/w support...
> 
> CanSecWest last week was running a wireless LAN for Internet access,
> so I strolled two blocks down the street & purchased a D-link DWL-650
> WLAN pcmcia card.
> My Compaq M300 laptop is [still] running NetBSD 1.5_BETA2, which
> grepping thru the source didn't mention these cards, but I rebuilt a
> new kernel with support for all the wireless cards I could see. Upon
> reboot, the card was recognised as a Lucent 'wi' device:
> 
> -------------------------------------------
> pcmcia0: CIS version PC Card Standard 5.0
> pcmcia0: CIS info: D, Link DWL-650 11Mbps WLAN Card, Version 01.02,
> pcmcia0: Manufacturer code 0x156, product 0x2
> pcmcia0: function 0: network adapter, ccr addr 3e0 mask 1
> pcmcia0: function 0, config table entry 1: I/O card; irq mask ffff;
> iomask 6, iospace 0-3f; io16 irqpulse irqlevel
> wi0 at pcmcia0 function 0wi0: init failed
> : could not get mac address, attach failed
> -------------------------------------------
> 
> undeterred, I commented out the offending instruction in if_wi.c :
> 
> -------------------------------------------
> /*
> * Check if we got anything meaningful.
> *
> * Is it really enough just checking against null enet address?
> * Or, check against possible vendor?  XXX.
> */
> if (bcmp(sc->sc_macaddr, empty_macaddr, ETHER_ADDR_LEN) == 0) {
> printf(": could not get mac address, attach failed\n");
> /* goto bad_enaddr; */
> }
> -------------------------------------------
> 
> and after a kernel rebuild, I got:
> 
> -------------------------------------------
> wi0 at pcmcia0 function 0wi0: init failed
> : could not get mac address, attach failed
> 
> wi0: address 00:00:00:00:00:00
> -------------------------------------------
> 
> and I was then able to manually read the MAC address of the card
> myself, and use wiconfig to set it, giving:
> 
> -------------------------------------------
> 
> #wiconfig wi0
> 
> NIC serial number:			[ 0041003443   ]
> Station name:				[ NetBSD WaveLAN/IEEE node ]
> SSID for IBSS creation:			[ internet ]
> Current netname (SSID):			[ internet ]
> Desired netname (SSID):			[ internet ]
> Current BSSID:				[ 00:e0:63:82:a6:99 ]
> Channel list:				[ 2047 ]
> IBSS channel:				[ 8 ]
> Current channel:			[ 3 ]
> Comms quality/signal/noise:		[ 16 63 1 ]
> Promiscuous mode:			[ Off ]
> Port type (1=BSS, 3=ad-hoc):		[ 1 ]
> MAC address:				[ 00:40:05:de:6e:2b ]
> TX rate (selection):			[ 11 ]
> TX rate (actual speed):			[ 8 ]
> Maximum data length:			[ 2304 ]
> RTS/CTS handshake threshold:		[ 2347 ]
> Create IBSS:				[ Off ]
> Access point density:			[ 1 ]
> Power Mgmt (1=on, 0=off):		[ 0 ]
> Max sleep time:				[ 100 ]
> WEP encryption:				[ On ]
> TX encryption key:			[ ]
> Encryption keys:			[  ][  ][  ][  ]
> 
> and:
> 
> #ifconfig wi0
> 
> wi0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
> nwid internet
> address: 00:40:05:de:6e:2b
> media: IEEE802.11 DS11
> status: active
> inet 10.42.0.111 netmask 0xff000000 broadcast 10.255.255.255
> 
> -------------------------------------------
> 
> ...which gave me full IP layer connectivity then.
> 
> So I don't know what caused the card init problems (I didn't have
> another vendor's card to try..), but I think the D-Link card use the
> same chipset are the Lucent/WaveLAN card. Maybe someone could this to
> the pcmcia card 'supported' list ?
> 
> thanks to Bill S / FreeBSD for the driver though ;-)
> 
> Pete.