Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 2 Oct 2005 18:05:35 +0200
From:      Andreas Klemm <andreas@freebsd.org>
To:        freebsd-mobile@freebsd.org
Subject:   NDIS wlan driver trouble, 6.0Beta5, DELL D610, Broadcom 4320 miniPCI
Message-ID:  <20051002160535.GA29062@titan.klemm.apsfilter.org>

next in thread | raw e-mail | index | archive | help
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@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/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20051002160535.GA29062>