From owner-freebsd-questions@FreeBSD.ORG Sun Mar 30 02:27:27 2008 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ED15A106566B for ; Sun, 30 Mar 2008 02:27:27 +0000 (UTC) (envelope-from std@suddenlink.net) Received: from que01.suddenlink.net (que01.suddenlink.net [208.180.40.86]) by mx1.freebsd.org (Postfix) with ESMTP id C92118FC20 for ; Sun, 30 Mar 2008 02:27:27 +0000 (UTC) (envelope-from std@suddenlink.net) Received: from [10.2.34.15] (really [75.111.26.228]) by omta02.suddenlink.net (InterMail vM.7.05.02.03 201-2174-114-109-20070208) with ESMTP id <20080330021052.WNHY189.omta02.suddenlink.net@[10.2.34.15]>; Sat, 29 Mar 2008 21:10:52 -0500 From: std To: freebsd-questions@freebsd.org Date: Sat, 29 Mar 2008 19:10:43 -0700 User-Agent: KMail/1.9.7 Organization: tls MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200803291910.43213.std@suddenlink.net> Cc: turnerlit@gmail.com Subject: Help Using NDIS & Broadcom 4321ag 802.11a/b/g/draft-n X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 Mar 2008 02:27:28 -0000 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: 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 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