compiling ndis into kernel

bart bderksvdven at pieterbas.nl
Mon Nov 8 03:29:36 PST 2004


Hi,

After successfully using the ndis modules with my Belkin f5d7000 PCI 
wireless card, I decided to
build support for it into the kernel. I have ipfilter rules referring to 
my ndis0 interface so it's better to have the interface available at 
boot time :)

Building the kernel, I ran into a compile error that I worked around by 
commenting out some code.  Maybe someone can supply me with a more 
'appropiate' fix ;)

in the kernel config:
options NDISAPI
device ndis

cd /sys/i386/compile/GATEKEEPER
make

linking kernel
if_ndis.o(.text+0x522): In function `ndis_attach':
: undefined reference to `ndis_alloc_amem'
if_ndis.o(.text+0x103f): In function `ndis_detach':
: undefined reference to `ndis_free_amem'
*** Error code 1

I commented out this piece in /sys/dev/if_ndis/if_ndis.c starting line 393

/*      if (sc->ndis_iftype == PCMCIABus) {
                error = ndis_alloc_amem(sc);
                if (error) {
                        device_printf(dev, "failed to allocate "
                            "attribute memory\n");
                        goto fail;
                }
        }
*/
and line 756:
/*      if (sc->ndis_iftype == PCMCIABus)
                ndis_free_amem(sc);
*/

I probably can go without this because I don't have a PCMCIA card :) 
Anyway, ndis0 is now built in, and works like a charm!

Grtz,

Bart






More information about the freebsd-current mailing list