Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Nov 2006 16:41:53 -0500
From:      Nathan Vidican <nathan@vidican.com>
To:        questions@freebsd.org
Cc:        hackers@freebsd.org
Subject:   Broadcom BCM4318 / HP Pavilion dv8000 via ndiswrapper not working
Message-ID:  <45622121.10409@vidican.com>

Next in thread | Raw E-Mail | Index | Archive | Help

<background-info>:

uname -a:
FreeBSD nv-laptop.wmptl.net 6.2-RC1 FreeBSD 6.2-RC1 #0: Fri Nov 17 
10:46:22 EST 2006     
root@nv-laptop.wmptl.net:/usr/src/sys/amd64/compile/nv1  amd64

Ok, so I have the Windows 64-bit driver files for my card, I ran 
ndisgen, without any errors and produced 'bcmwl564_sys.ko'. I place the 
file in /boot/modules, and can load it just fine using kldload. No 
errors, but also no output whatsoever into dmesg nor on the console.

I set the module to load at bootup, (even though it as of yet doesn't 
work), and when I reboot kldstat produces:

nv-laptop# kldstat
Id Refs Address            Size     Name
 1   16 0xffffffff80100000 6071c8   kernel
 2    1 0xffffffff80708000 886e8    bcmwl564_sys.ko
 3    3 0xffffffff80791000 25fe0    ndis.ko
 4    2 0xffffffff807b7000 10510    if_ndis.ko
 5    1 0xffffffffa7813000 1059     daemon_saver.ko
 6    1 0xffffffffa788d000 1d175    radeon.ko
 7    1 0xffffffffa78ab000 d7d7     drm.ko


So, it took the module, it's loaded, but the card isn't detected... the 
card is a Broadcom BCM4318, and it is reported from pciconf -lv as below:

none3@pci6:2:0: class=0x028000 card=0x1358103c chip=0x431914e4 rev=0x02 
hdr=0x00
    vendor   = 'Broadcom Corporation'
    class      = network

I suspect the issue to have something to do with the wireless on/off 
button located under the center of the screen. This button (afaik) 
enables/disabled the wireless and bluetooth interface from within 
windows. With the bluetooth interface enabled, I get debug messages sent 
through dmesg regarding ugen on/off. With the bluetooth interface 
disabled (from the bios), pressing the button (apparently) does nothing 
under FreeBSD. Again, I suspect that this button somehow ties into power 
management via ACPI to turn on/off the wireless card, but I lack the 
experience to further diagnose/prove the issue.


<question(s)>:

How do I probe, list, or otherwise display the possible ACPI 'devices' 
(ie buttons) ? I've been somewhere before where I could see the buttons 
on a filesystem-like device, but cannot remember how to get back there. 
More importantly, how do I see the status or availability of the button 
for wireless on/off?

Can I run a debugger on the ndis-generated kernel module and watch or 
otherwise step through it's code? - Even if this requires recompiling 
with support for gdb, could this not shed some light as to weathermy 
problem is related to an incorrect driver, or to binding the driver to a 
device?

Is there a more appropriate list where I should post these comments to, 
perhaps somewhere to get in touch with someone developing/working on the 
ndis-wrapper stuff?

I am by no means a kernel hacker yet, and have a lot to learn as far as 
debugging code and/or working with gcc and associated tools... but I am 
familiar with code; a programmer by trade just new to the world of gcc 
and kind of green with the tools therein associated. However, I am 
willing and wanting to help if I can and in any way I can. I have been 
googling the heck out of this and have found far more questions than 
answers from others having problems with the same card... so rather than 
add to the whining, I'd love to help fix things for everyone - just 
point me where to go/read/do next if you will :)

--
Nathan Vidican
nathan@vidican.com



Want to link to this message? Use this URL: <http://docs.FreeBSD.org/cgi/mid.cgi?45622121.10409>