Subject: D-link WLAN support
To: None <tech-net@netbsd.org>
From: Pete Vickers <pete.vickers@computer.org>
List: tech-net
Date: 04/01/2001 17:57:34
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.