NDIS wlan driver trouble, 6.0Beta5, DELL D610, Broadcom 4320 miniPCI
Andreas Klemm
andreas at freebsd.org
Sun Oct 2 09:06:05 PDT 2005
Hi,
don't get my WLAN card running. Already tried 2 different dell drivers.
No success so far. Tried "old way" and "new way (ndisgen)". No success.
I can load the ndis driver but no device appears.
I fear that I need an additional firmware file. But I cannot localize
it in the original driver directory.
If somebody want to look at it himself I can give root access via ssh.
What I did so far:
# pciconf -l -v
none4 at pci3:3:0: class=0x028000 card=0x00031028 chip=0x432014e4 rev=0x03 hdr=0x00
vendor = 'Broadcom Corporation'
device = 'BCM4306 802.11b/g Wireless LAN Controller'
class = network
According to Win XP and Dell information its this card:
DELL TM 1350, Chip: Broadcom 4320
For the conversion to a ndis driver I used these 2 different
DELL driver versions (XP, German):
- 3.100.35.0 (from driver archive file: R90507.EXE)
This one already contained an ASCII version of the .inf file: bcmwl5a.inf
- 3.120.27.0 (from driver archive file: R102320.EXE)
In this self extr. archive no ASCII version was provided, so I
created it myself from the unicode version bcmwl5.inf:
I had to use the -c option for iconv, otherwise conversion was incomplete.
iconv -c -f CSUNICODE -t US-ASCII bcmwl5.inf.orig > bcmwl5.inf
The "old style" method for me was:
aklemm# cd /usr/src/sys/modules/if_ndis
aklemm# cp /root/wireless-new/*.sys .
aklemm# cp /root/wireless-new/*.inf .
aklemm# ll
total 650
-rw-r--r-- 1 root wheel 317 Apr 24 22:21 Makefile
-rw-r--r-- 1 root wheel 234188 Oct 2 18:01 bcmwl5.inf
-rwxr-xr-x 1 root wheel 376192 Oct 2 18:01 bcmwl5.sys
-rwxr-xr-x 1 root wheel 6784 Oct 2 18:01 bcmwlntp.sys
aklemm# ndiscvt -i bcmwl5.inf -s bcmwl5.sys -o ndis_driver_data.h
aklemm# ll
total 3562
-rw-r--r-- 1 root wheel 317 Apr 24 22:21 Makefile
-rw-r--r-- 1 root wheel 234188 Oct 2 18:01 bcmwl5.inf
-rwxr-xr-x 1 root wheel 376192 Oct 2 18:01 bcmwl5.sys
-rwxr-xr-x 1 root wheel 6784 Oct 2 18:01 bcmwlntp.sys
-rw-r--r-- 1 root wheel 2955029 Oct 2 18:03 ndis_driver_data.h
aklemm# make
Warning: Object directory not changed from original /usr/src/sys/modules/if_ndis
@ -> /usr/src/sys
machine -> /usr/src/sys/i386/include
touch opt_bdg.h
awk -f @/tools/makeobjops.awk @/kern/device_if.m -h
awk -f @/tools/makeobjops.awk @/kern/bus_if.m -h
awk -f @/tools/makeobjops.awk @/dev/pci/pci_if.m -h
awk -f @/tools/makeobjops.awk @/dev/pccard/card_if.m -h
awk -f @/tools/pccarddevs2h.awk @/dev/pccard/pccarddevs
touch opt_usb.h
awk -f @/tools/usbdevs2h.awk @/dev/usb/usbdevs -h
cc -O2 -fno-strict-aliasing -pipe -Werror -D_KERNEL -DKLD_MODULE -nostdinc -I- -I. -I@ -I@/contrib/altq -I@/../include -I/usr/include -finline-limit=8000 -fno-common -mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -ffreestanding -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions -std=c99 -c /usr/src/sys/modules/if_ndis/../../dev/if_ndis/if_ndis.c
cc -O2 -fno-strict-aliasing -pipe -Werror -D_KERNEL -DKLD_MODULE -nostdinc -I- -I. -I@ -I@/contrib/altq -I@/../include -I/usr/include -finline-limit=8000 -fno-common -mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -ffreestanding -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions -std=c99 -c /usr/src/sys/modules/if_ndis/../../dev/if_ndis/if_ndis_pci.c
cc -O2 -fno-strict-aliasing -pipe -Werror -D_KERNEL -DKLD_MODULE -nostdinc -I- -I. -I@ -I@/contrib/altq -I@/../include -I/usr/include -finline-limit=8000 -fno-common -mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -ffreestanding -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions -std=c99 -c /usr/src/sys/modules/if_ndis/../../dev/if_ndis/if_ndis_pccard.c
cc -O2 -fno-strict-aliasing -pipe -Werror -D_KERNEL -DKLD_MODULE -nostdinc -I- -I. -I@ -I@/contrib/altq -I@/../include -I/usr/include -finline-limit=8000 -fno-common -mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -ffreestanding -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions -std=c99 -c /usr/src/sys/modules/if_ndis/../../dev/if_ndis/if_ndis_usb.c
ld -d -warn-common -r -d -o if_ndis.kld if_ndis.o if_ndis_pci.o if_ndis_pccard.o if_ndis_usb.o
touch export_syms
awk -f /usr/src/sys/modules/if_ndis/../../conf/kmod_syms.awk if_ndis.kld export_syms | xargs -J% objcopy % if_ndis.kld
ld -Bshareable -d -warn-common -o if_ndis.ko if_ndis.kld
objcopy --strip-debug if_ndis.ko
aklemm# kldstat
Id Refs Address Size Name
1 11 0xc0400000 45c3e8 kernel
3 1 0xc0869000 165c0 ndis.ko
4 1 0xc2677000 6000 linprocfs.ko
5 1 0xc26cf000 15000 linux.ko
6 1 0xc29b2000 2000 snake_saver.ko
aklemm# make install
install -o root -g wheel -m 555 if_ndis.ko /boot/kernel
kldxref /boot/kernel
aklemm# make load
/sbin/kldload -v /usr/src/sys/modules/if_ndis/if_ndis.ko
Loaded /usr/src/sys/modules/if_ndis/if_ndis.ko, id=7
aklemm# kldstat
Id Refs Address Size Name
1 17 0xc0400000 45c3e8 kernel
3 2 0xc0869000 165c0 ndis.ko
4 1 0xc2677000 6000 linprocfs.ko
5 1 0xc26cf000 15000 linux.ko
6 1 0xc29b2000 2000 snake_saver.ko
7 1 0xc303c000 a000 if_ndis.ko
klemm# ifconfig -a
bge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=1a<TXCSUM,VLAN_MTU,VLAN_HWTAGGING>
inet6 fe80::211:43ff:fe4f:5f5f%bge0 prefixlen 64 scopeid 0x1
inet 172.16.2.130 netmask 0xffffff00 broadcast 172.16.2.255
ether 00:11:43:4f:5f:5f
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
inet 127.0.0.1 netmask 0xff000000
No additional device.
Whats going wrong ? Any idea ?
Andreas ///
--
Andreas Klemm - Powered by FreeBSD 5.4
Need a magic printfilter today ? -> http://www.apsfilter.org/
More information about the freebsd-mobile
mailing list