NIC Driver Hacking

Richard Lynch ceo at l-i-e.com
Tue Sep 28 13:09:19 PDT 2004


Since so many people gave me on -mobile and -questions gave me so much
help, I'd like to *TRY* to continue working on adding support for the
Broadcom 4401-B0 to FreeBSD.



Here's where I came from:

None of my CardBus, NIC, WiFi, etc devices were getting register memory:
http://phpbootcamp.com/articles/inspiron700m/dmesg_verbose.txt
All hardware worked fine under Windows.  Well, as fine as anything works
under Windows. :-)


Here's where I am:

I can use "allow_unsupported_io_range" and all my devices get identified
and assigned what look like valid memory ranges:
http://www.phpbootcamp.com/articles/inspiron700m/hw.pci.allow_unsupported_io_range/dmesg.txt

Attempting to configure the NIC using ifconfig or the sysinstall GUI locks
up the machine completely.



So, which of the following most likely describes my current status:
A) The unsupported_io_range is fine, but the driver source needs hacking
B) I really haven't solved the device register memory issues -- they just
*SEEM* to be okay.



If it's A) I can start mucking with C code and hopefully not damage my
hard drive too much in the process...

If it's B) I'm still at a complete loss how to compute valid io_range...
Use the Windows numbers, since they work?
Use the Linux numbers, since they work?
Some kind of tool/monitor to compute a base offset?



If it's A) I can also start playing with the CardBus and WiFi with some
hope of it working.

If it's B) there's not much point in my buying a PCM/CIA WiFi card, now is
there, as the Cardbus io_range ain't gonna be any good either, is it?...

-- 
Like Music?
http://l-i-e.com/artists.htm



More information about the freebsd-mobile mailing list