This is a discussion on DM9009 NIC Driver anyone? within the Slackware Linux Support forums, part of the Unix Operating Systems category; --> Hi. Even with all my wonderful good luck lately, I still need to ask more questions. I seem to ...
| |||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| Hi. Even with all my wonderful good luck lately, I still need to ask more questions. I seem to be encountering a hurdle or two trying to get a NIC driver installed - it's a DM9009 chip, the bar code sticker says "ID_00015300A7BC" (which I haven't looked up yet - I'd have to dig out the link to the FCC ID lookup web page); there seem to be DM9009 drivers all over the web. All with source code, a Makefile, and an almost incomprehensible readme.txt. I'll try to be a little more specific, but first let me say what the symptoms are. One, trying to install any of the existing .o files by using modprobe or insmod, I get errors like "can't find module."[0] and "look at dmesg"[1] and "look at your logs"(this wasn't very helpful)[2]. I have absolutely no idea where to go from here. Of course, the ideal answer would be "Here's one Rich, compiled on a Slack 9.1 box with a DM9009 in eth1. Here's how you install it:" That "how you install it" is very daunting. I see stuff like "make config," and "make dep," and so on. Where do I go to learn what these things mean, so I can use them when they're needed and all that. Or maybe if there's a way to do just part of the setup script, where it asks if I want it to probe for a NIC. I say yes, it finds eth0. Now how can I go into that script at that point and have it probe for eth1? That's what I _really_ want to do. Is there a way? Thanks, Rich [0] # what took place root@bellerophon:/home/user# ls DM9102_linux24x_v136.zip HiThere NIC-DM9009 Software etc root@bellerophon:/home/user# cd NIC-DM9009 root@bellerophon:/home/user/NIC-DM9009# ls LINUX root@bellerophon:/home/user/NIC-DM9009# cd LINUX root@bellerophon:/home/user/NIC-DM9009/LINUX# ls DM9XS241.O DMFE2217.O DMFE_M61.O DMFE_R60.O Makefile dm9xs.o readme.txt DM9XS242.O DMFE2218.O DMFE_M70.O DMFE_R62.O compile dmfe.c DM9XS243.O DMFE_C23.O DMFE_M71.O DMFE_R70.O dm9xs.c dmfe.o root@bellerophon:/home/user/NIC-DM9009/LINUX# cat compile gcc -DMODULE -DMODVERSIONS -D__KERNEL__ -I/usr/src/linux/net/ipv4 -Wall -Wstrict-prototypes -O6 -c dm9xs.c root@bellerophon:/home/user/NIC-DM9009/LINUX# ./compile In file included from dm9xs.c:94: /usr/include/linux/malloc.h:4:2: warning: #warning linux/malloc.h is deprecated, use linux/slab.h instead. root@bellerophon:/home/user/NIC-DM9009/LINUX# ls -l *.o -rw-r--r-- 1 root root 20776 Mar 7 12:31 dm9xs.o -rw-r--r-- 1 root root 20636 Mar 7 11:36 dmfe.o root@bellerophon:/home/user/NIC-DM9009/LINUX# modprobe dm9xs.o modprobe: Can't locate module dm9xs.o root@bellerophon:/home/user/NIC-DM9009/LINUX# insmod dm9xs Using /lib/modules/2.4.22/kernel/net/dmfe/dm9xs.o Warning: loading /lib/modules/2.4.22/kernel/net/dmfe/dm9xs.o will taint the kernel: no license See http://www.tux.org/lkml/#export-tainted for information about tainted modules /lib/modules/2.4.22/kernel/net/dmfe/dm9xs.o: init_module: No such device /lib/modules/2.4.22/kernel/net/dmfe/dm9xs.o: Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters. You may find more information in syslog or the output from dmesg root@bellerophon:/home/user/NIC-DM9009/LINUX# [1] dmesg | tail -15 PCI: Sharing IRQ 11 with 00:10.0 eth0: VIA VT6102 Rhine-II at 0xb800, 00:0c:76:8d:40:66, IRQ 11. eth0: MII PHY found at address 1, status 0x786d advertising 05e1 Link 45e1. scsi0 : SCSI host adapter emulation for IDE ATAPI devices Linux Kernel Card Services 3.1.22 options: [pci] [cardbus] [pm] isapnp: Scanning for PnP cards... isapnp: No Plug & Play device found Intel PCIC probe: not found. Databook TCIC-2 PCMCIA probe: not found. ds: no socket drivers loaded! eth0: Setting full-duplex based on MII #1 link partner capability of 45e1. parport0: PC-style at 0x378 (0x778) [PCSPP,TRISTATE,EPP] parport0: irq 7 detected lp0: using parport0 (polling). root@bellerophon:/home/user/NIC-DM9009/LINUX# [2] tail -3 /var/log/messages (it's pretty obvious there's not a whole lot here.) Mar 7 12:19:13 bellerophon -- MARK -- Mar 7 12:24:22 bellerophon sshd[246]: Accepted password for user from 10.0.0.1 port 33584 ssh2 Mar 7 12:27:08 bellerophon sshd[262]: Accepted password for user from 10.254.239.20 port 1057 ssh2 root@bellerophon:/home/user/NIC-DM9009/LINUX# |
| ||||
| In alt.os.linux.slackware, Rich Grise dared to utter, > Now how can I go into that script at that point and have > it probe for eth1? That's what I _really_ want to do. Is there a way? Not sure, but you could possibly put whatever module it finds in your hotplug black list (google this group for that info). If that's the case, you could remove the line the modprobes your NIC in /etc/rc.d/rc.netdevice and then run netconfig again. It should (IIRC) not try to load the modules in your hotplug black list, and find the right module for the second card. Otherwise you could try this. #!/bin/bash # Quick'n'dirty untested script to find that module! # Must be root. if [ $UID != 0 ]; then echo "Must be root." exit 1 fi cd /lib/modules/$(uname -r)/kernel/drivers/net/ # Make a record of the modules we had loaded before running the script. lsmod > /tmp/modules_1 for MOD in $(find /lib/modules/$(uname -r)/kernel/drivers/net/ -name "*.o"); do modprobe $MOD done # Now make a record of the modules we got loaded. lsmod > /tmp/modules_2 -------------------------------------------------------------------------------- Now you can compare the differences between /tmp/modules_1 and /tmp/modules_2 to see what module got loaded (of course you'd want to check to make sure you did load a module for that NIC, otherwise you may need to compile a custom kernel with support for that NIC. I'm willing to bet though that the stock Slackware kernel has support for that NIC. > Warning: loading /lib/modules/2.4.22/kernel/net/dmfe/dm9xs.o will taint the kernel: no license That says the module you are trying to load may not be licensed under the GPL. If it isn't, then loading it means you are running a kernel that isn't GPL. There's no problem with this, except that you can't redistribute the kernel along with this module or the code for this module. -- It is better to hear the rebuke of the wise, Than for a man to hear the song of fools. Ecclesiastes 7:5 |