Help Using NDIS & Broadcom 4321ag 802.11a/b/g/draft-n
Kemian Dang
dangkm at gmail.com
Sun Mar 30 04:09:08 PDT 2008
I also use a HP laptop, This is the pciconf -lv output of my machine,
vendor = 'Broadcom Corporation'
device = 'BCM4310 broadcom wireless 1490 (dell)'
class = network
The strange thing is it said 1490 dell, so after the fail attempt on
the HP driver, I turn to Dell 1490 driver, this time it works.
Another thing is I can not use ifconfig scan to find the AP neither,
but when I just ifconfig ndis0 ssid xxx, I find the state change to
assocaite, and dhclient obtain the IP.
My ap does not use a authentication method.
Best wishes,
Kemian
On 30/03/2008, std <std at suddenlink.net> wrote:
> Hi:
>
> I can't seem to find a definitive answer on the net to whether (and how)
> FreeBSD supports Broadcom 4321ag 802.11a/b/g/draft-n Wi-Fi Adapters.
> Apparently there's no native support (except through experimental drivers?)
> so you have to use NDIS (which is like ndswrapper for other linux os's only
> NDIS is built into the FreeBSD project). I've tried ndisgen bcml##.inf
> bcml## for three different driver sets, blcmwl5.sys/inf, bcmwl564.sys/inf,
> and bcmwl6.sys/inf. I've got the best results with the oldest drivers,
> bcmwl5.sys/inf. kldstat shows ndis, if_ndis, and bcmwl5_sys loaded in the
> kernel and the system recognizes an ndis0 adapter, but, ifconfig ndis0 up
> scan just hangs forever.
>
> My system is a HP tx1320us tablet pc [2.0 GHz AMD Turion 64 X2 Dual-Core
> Mobile Technology TL-60, 2048 MB DDR2 (2 Dimm), Broadcom 4321AG
> 802.11a/b/g/draft-n Wi-Fi Adapter, fingerprint sensor, remote,.touch screen,
> etc. -
> http://h10025.www1.hp.com/ewfrf/wc/document?docname=c01161310&lc=en&cc=us&dlc=en&softwareitem=ob-58904-1&product=3548576&os=2093&rule=8034&lang=en ]
> running FreeBSD 7.0-RELEASE, installed from CDS and
> ftp://ftp.freebsd.org/pub/FreeBSD/ports/packages a couple weeks ago in a dual
> boot config with windows vista home premium (a good reason for dual booting
> fbsd :).
>
> The procedure I followed was to
>
> (1) identify the NIC;
>
> (2) download the windows drivers from the manufacturers website.
>
> I first tried the drivers built for windows vista because those are the
> drivers built for the 4321 card in my system.
> These drivers, bcmwl6, contained in hp's
> ftp://ftp.hp.com/pub/softpaq/sp38501-39000/sp38764.exe were apparently
> released March 12, 2008. After running ndisgen bcmwl6.inf bcmwl6.sys and
> creating bcmwl6_sys.ko, when I kldload bcmwl6_sys.ko it loads ndis.ko and
> if_ndis.ko, but dmesg shows about 20 "no match" for various device settings
> (see below).
>
> The latest bcmwl6 drivers don't seem to work. It could be the inf has more
> than a few extraneous quotation marks which throw off the utf-8 to ascii
> conversion, but I tried several different methods and suspect it's NDIS
> itself which lacks the necessary support.
>
> Is Bill Paul of Project Evil working on this (see
> http://lists.freebsd.org/pipermail/freebsd-hardware/2004-January/001005.html)?
>
> I downloaded the windows XP drivers for my broadcom 4321AG
> 802.11a/b/g/draft-nftp:
> from //ftp.hp.com/pub/softpaq/sp36501-37000/sp36684.exe. These were released
> August 15, 2007.
> cabextract -l sp36684.exe
> Viewing cabinet: sp36684.exe
> File size | Date Time | Name
> -----------+---------------------+-------------
> 14310 | 13.08.2007 14:46:28 | bcm43xx.cat
> 14310 | 13.08.2007 14:46:28 | bcm43xx64.cat
> 803496 | 13.08.2007 14:46:30 | bcmwl5.inf
> 822272 | 13.08.2007 14:46:30 | bcmwl5.sys
> 983552 | 13.08.2007 14:46:30 | bcmwl564.sys
> 9028380 | 13.08.2007 14:46:32 | Setup.exe
> 6584 | 14.08.2007 09:36:30 | sp36684.cva
>
> (3) generate linux kernel modules with ndisgen and load them
>
> ndisgen bcmwl6.inf bcmwl6.sys (without any additional files)
> kldstat
> Id Refs Address Size Name
> 1 17 0xc0400000 906518 kernel
> 2 1 0xc0d07000 14324 snd_hda.ko
> 3 2 0xc0d1c000 4a5ac sound.ko
> 7 1 0xc0fb2000 6a32c acpi.ko
> 8 1 0xc5c6a000 22000 linux.ko
> kldload bcmwl6_sys
> kldstat
> Id Refs Address Size Name
> 1 17 0xc0400000 906518 kernel
> 2 1 0xc0d07000 14324 snd_hda.ko
> 3 2 0xc0d1c000 4a5ac sound.ko
> 7 1 0xc0fb2000 6a32c acpi.ko
> 8 1 0xc5c6a000 22000 linux.ko
> 9 1 0xc69ae000 1a2000 bcmwl6_sys.ko
> 10 1 0xc55dd000 c000 if_ndis.ko
> 11 2 0xc6971000 16000 ndis.ko
> ifconfig | grep ndis0 -- no match
> tail -f /var/log/dmesg
> no match for NdisMRegisterInterruptEx
> no match for NdisMIndicateStatusEx
> no match for NdisFreeNetBufferList
> no match for NdisAllocateMdl
> no match for NdisFreeMdl
> no match for NdisMDeregisterScatterGatherDma
> no match for NdisMDeregisterInterruptEx
> no match for NdisMSynchronizeWithInterruptEx
> no match for NdisMRegisterMiniportDriver
> no match for NdisMSetMiniportAttributes
> no match for NdisMGetBusData
> no match for NdisMRegisterScatterGatherDma
> no match for NdisAllocateNetBufferListPool
> no match for NdisMOidRequestComplete
> no match for NdisAllocateIoWorkItem
> no match for NdisMSetBusData
> no match for NdisAllocateNetBufferAndNetBufferList
> no match for NdisMDeregisterMiniportDriver
> no match for NdisFreeNetBufferListPool
> no match for NdisOpenConfigurationEx
> no match for NdisFreeIoWorkItem
> no match for NdisMSendNetBufferListsComplete
> no match for NdisMIndicateReceiveNetBufferLists
> no match for NdisAllocateMemoryWithTagPriority
> no match for NdisQueueIoWorkItem
> no match for KeBugCheckEx
> no match for KeTickCount
> no match for KeQuerySystemTime
> NDIS dummy called...
>
> ndisgen bcmwl5.inf bcmwl5.sys (w/o additional files)
> kldstat
> Id Refs Address Size Name
> 1 17 0xc0400000 906518 kernel
> 2 1 0xc0d07000 14324 snd_hda.ko
> 3 2 0xc0d1c000 4a5ac sound.ko
> 7 1 0xc0fb2000 6a32c acpi.ko
> 8 1 0xc5c6a000 22000 linux.ko
> kldload bcmwl5_sys
> tail -f /var/log/messages
> ndis0: <Broadcom 4321AG 802.11a/b/g/draft-n Wi-Fi Adapter> mem
> 0xc8000000-0xc8003fff,0xc9200000-0xc92fffff irq 19 at device 0.0 on pci3
> ndis0: [ITHREAD]
> ndis0: NDIS API version: 5.1
> ndis0: using obsoleted if_watchdog interface
> ndis0: Ethernet address: 00:1a:73:b7:6e:2d
> kldstat
> Id Refs Address Size Name
> 1 17 0xc0400000 906518 kernel
> 2 1 0xc0d07000 14324 snd_hda.ko
> 3 2 0xc0d1c000 4a5ac sound.ko
> 7 1 0xc0fb2000 6a32c acpi.ko
> 8 1 0xc5c6a000 22000 linux.ko
> 11 1 0xc69ae000 220000 bcmwl5_sys.ko
> 12 1 0xc55dd000 c000 if_ndis.ko
> 13 2 0xc6971000 16000 ndis.ko
> ifconfig
> ndis0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
> ether 00:1a:73:b7:6e:2d
> media: IEEE 802.11 Wireless Ethernet autoselect
> status: no carrier
> ssid "" channel 1 (2412 Mhz 11b)
> authmode OPEN privacy OFF bmiss 7 scanvalid 60 bintval 0
> ifconfig ndis0 up scan
> [SYSTEM HANGS]
>
> ndisgen bcmwl564.inf bcmwl564.sys <=== the '64' appears to designate
> 64-bit os and WILL crash on 32 bit os
> kldload bcmwl564_sys
> [12 ERROR, SYSTEM REBOOTING IN 15 SECONDS]
>
> Do I also need to be loading WLAN modules or is it only for natively supported
> drivers?
>
> Should I be running ndisgen bcmwl5.inf bcmwl5.sys and selecting additional
> files from a windows driver package? ndisgen has two menus for adding
> additional files, which files should be specified on what nidsgen menu? I'm
> only including the sys and inf when I do ndisgen and some sources indicate
> that I might also be specifying other files contained in the driver packages.
> How do you determine what files are to be included with ndisgen?
>
> ftp://ftp.hp.com/pub/softpaq/sp36501-37000/sp36684.exe = xp 2007-08-15
> Viewing cabinet: sp36684.exe
> File size | Date Time | Name
> -----------+---------------------+-------------
> 14310 | 13.08.2007 14:46:28 | bcm43xx.cat
> 14310 | 13.08.2007 14:46:28 | bcm43xx64.cat
> 803496 | 13.08.2007 14:46:30 | bcmwl5.inf
> 822272 | 13.08.2007 14:46:30 | bcmwl5.sys
> 983552 | 13.08.2007 14:46:30 | bcmwl564.sys
> 9028380 | 13.08.2007 14:46:32 | Setup.exe
> 6584 | 14.08.2007 09:36:30 | sp36684.cva
>
> I know I can knock out 64bit and Setup.exe is the windows driver installation
> program which I don't need, but what about the bcm43xx.cat? Is that
> necessary to creat fully working drivers with ndisgen?
>
> Does ifconfig ndis0 scan hang because there are no available networks?
>
> Is this message significant, "ndis0: using obsoleted if_watchdog interface"?
>
> Are there other drivers that I should be using instead?
>
> Am I using if_config correctly? Do I need to configure some wifi parameters
> in a .conf file somewhere before using ifconfig with an ndis# device? My
> rc.conf is entirely sysinstall generated at the moment.
> nebulae# more /boot/loader.conf
> bcmwl5_sys_load="YES"
> wlan_wep_load="YES" < === should this be here?
> snd_hda_load="YES"
>
> What other information can I collect about my pc & install to help me
> troubleshoot this issue?
>
> Thanks in advance,
>
> STD
> wwww.turnerlit.com
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"
>
More information about the freebsd-questions
mailing list