Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

From here: http://www.xenomai.org/index.php/RTnet:Installation_%26_Testing#Debugging_RTnet

The Linux driver for the real-time network device was built into the kernel and blocks the hardware.

When I execute rmmod 8139too it says the module does not exist in /proc/modules.

Kernel is 2.6.38.8 (64 bit).

What other information should I provide for the question?


linux-y3pi:~ # uname -a
Linux linux-y3pi 2.6.38.8-12-desktop #2 SMP PREEMPT Fri Jun 1 17:27:16 IST 2012 x86_64 x86_64 x86_64 GNU/Linux

linux-y3pi:~ # ifconfig
eth0      Link encap:Ethernet  HWaddr 00:24:8C:D9:D6:2E  
          inet addr:192.168.16.86  Bcast:192.168.16.255  Mask:255.255.255.0
          inet6 addr: fe80::224:8cff:fed9:d62e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:414 errors:0 dropped:0 overruns:0 frame:0
          TX packets:261 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:118971 (116.1 Kb)  TX bytes:35156 (34.3 Kb)
          Interrupt:17 Base address:0x4000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:68 errors:0 dropped:0 overruns:0 frame:0
          TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:4720 (4.6 Kb)  TX bytes:4720 (4.6 Kb)

linux-y3pi:~ # ethtool -i eth0
driver: r8169
version: 2.3LK-NAPI
firmware-version: 
bus-info: 0000:01:00.0

linux-y3pi:~ # rmmod r8169

linux-y3pi:~ # ethtool eth0
Settings for eth0:
Cannot get device settings: No such device
Cannot get wake-on-lan settings: No such device
Cannot get message level: No such device
Cannot get link status: No such device
No data available

linux-y3pi:~ #  lsmod|grep 8169

linux-y3pi:~ #  lsmod|grep 8139

linux-y3pi:~ #                                              

.config from /usr/src/linux-2.6.38.8

CONFIG_R8169=m
CONFIG_R8169_VLAN=y


CONFIG_8139CP=m
CONFIG_8139TOO=m
#CONFIG_8139TOO_PIO is not set                                                                                                                                                   
#CONFIG_8139TOO_TUNE_TWISTER is not set                                                                                                                                          
CONFIG_8139TOO_8129=y
#CONFIG_8139_OLD_RX_RESET is not set 
share|improve this question
add comment

1 Answer

up vote 3 down vote accepted

rmmod 8139too doesn't work because either:

  • 8139 support is built into the kernel, and the driver can't be unloaded because it's not a module. On many systems, there's a /boot/config-2.6.38.8 file (or similar). You can grep it for something like ‘8139TOO’. If you see something like CONFIG_8139TOO=m, then the 8139too driver is compiled as a module. If it's CONFIG_8139TOO=y, then the driver is built into the kernel. If it says something along the lines of # CONFIG_8139TOO is not set, then the driver has not been compiled at all.
  • Your ethernet card doesn't use the RTL8139 chip, so its driver isn't loaded. You must find your intended ethernet port's driver and unload that one instead. If you have lshw, say sudo lshw | less and look for eth0: the driver module will be listed. If you have systool, try sudo systool -c net -A uevent eth0 and look for the DRIVER= part. The right hand side should show the driver loaded to handle the device. dmesg | grep eth0 may also work, but it's not 100% reliable, especially if your system has been on for a while (if there's a /var/log/dmesg, you may want to grep eth0 /var/log/dmesg too).
share|improve this answer
    
actually I tried insmod 8139too, and that worked. Then I removed it, and it also worked. What is the way to find my "ethernet port's driver"? –  TheIndependentAquarius Jun 6 '12 at 10:52
1  
Try dmesg | grep eth0 –  jippie Jun 6 '12 at 10:54
    
I updated the answer to cover that, including the dmesg hack. –  Alexios Jun 6 '12 at 11:03
1  
@AnishaKaul yes ethtool -i $DEVICE should return the driver for the specific device, e.g. ethtool -i eth0 returns for me (besides other information) driver: e1000e –  Ulrich Dangel Jun 7 '12 at 7:08
1  
@AnishaKaul you asked if the driver for the rt network device was removed and i said it wasn't as you removed the normal driver but i also don't know what you want to achieve. Your debugging link just says that you have to remove the normal linux driver in order to be able to load the rt one. –  Ulrich Dangel Jun 7 '12 at 8:18
show 12 more comments

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.