This is for a router running kernel version 2.6.21.5.
I am using the official (netgear) source tree and toolchain.
I have compiled the dm9601.c driver (from the source tree) using the toolchain, but after inserting the module dmesg prints:
dm9601: Unknown symbol mii_link_ok
dm9601: Unknown symbol bitrev32
dm9601: Unknown symbol mii_check_media
dm9601: Unknown symbol usbnet_get_settings
dm9601: Unknown symbol crc32_le
dm9601: Unknown symbol mii_nway_restart
dm9601: Unknown symbol usbnet_nway_reset
dm9601: Unknown symbol generic_mii_ioctl
dm9601: Unknown symbol usbnet_set_settings
dm9601: Unknown symbol mii_ethtool_gset
Referencing (it seems)
./lib/crc32.c
./lib/bitrev.c
./drivers/net/mii.c
./drivers/usb/net/usbnet.c
Is there some way to tell if these missing dependencies requires a rebuild of the kernel. Or can I load them with the driver?
Makefile:
obj-m += dm9601.o
all:
make -C /home/chris/DGND3300_V1.1.00.41_NA_src M=$(PWD) modules
clean:
make -C /home/chris/DGND3300_V1.1.00.41_NA_src M=$(PWD) clean
Make command:
make ARCH=mips CROSS_COMPILE="/home/chris/EVG2000_v2.2.0.12_with_toolchain_src/uclibc-crosstools-gcc-4.2.3-3/usr/bin/mips-linux-uclibc-"
Updated Makefile with missing modules:
obj-m += crc32.o
obj-m += bitrev.o
obj-m += mii.o
obj-m += usbnet.o
obj-m += dm9601.o
all:
make -C /home/chris/messabout3/DGND3300_V1.1.00.41_NA_src/kernel/linux M=$(PWD) modules
clean:
make -C /home/chris/messabout3/DGND3300_V1.1.00.41_NA_src/kernel/linux M=$(PWD) clean