ndis(4): BCM4328 driver from Apple - dies in pe_translate_addr

From: Ed Schouten <ed_at_fxq.nl>
Date: Mon, 3 Dec 2007 13:13:42 +0100
Hello everyone,

Because FreeBSD does not (yet) support the BCM4328 Wifi card, I want to
use ndis(4) to use this wireless NIC. I extracted the
BroadcomInstaller.exe from the Apple Leopard install disk, which gave me
a .inf and .sys. I had to patch the .inf slightly, because the IBSSMode
switch missed a default value, which caused ndiscvt to spit out a
faultly line in the array declaration.

When I load the .ko file, nothing happens. Nothing is shown in my dmesg.
I added a lot of printf's to the source and it seems it goes wrong like
this:

windrv_load()
pe_patch_imports(img, "NDIS", ndis_functbl)
pe_get_import_descriptor(imgbase, &imp_desc, module)
pe_directory_offset(imgbase, IMAGE_DIRECTORY_ENTRY_IMPORT);
pe_translate_addr(imgbase, dir)

pe_translate_addr() returns 0, because (i > sections). I'm a real newbie
when it comes to binary formats, but is there someone who knows more
about this?

-- 
 Ed Schouten <ed_at_fxq.nl>
 WWW: http://g-rave.nl/

Received on Mon Dec 03 2007 - 11:13:44 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:23 UTC