Broadcom BCM4318 / HP Pavilion dv8000 via ndiswrapper not working
Nathan Vidican
nathan at vidican.com
Mon Nov 20 13:41:57 PST 2006
<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 at 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 at 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 at vidican.com
More information about the freebsd-questions
mailing list