실시간 네트워크 장치용 Linux 드라이버가 커널에 내장되어 있는지 어떻게 알 수 있나요?

실시간 네트워크 장치용 Linux 드라이버가 커널에 내장되어 있는지 어떻게 알 수 있나요?

여기에서:http://www.xenomai.org/index.php/RTnet:Installation_%26_Testing#Debugging_RTnet

실시간 네트워크 장치용 Linux 드라이버는 커널에 내장되어 있으며 하드웨어를 차단합니다.

실행해보면 rmmod 8139too해당 모듈이 존재하지 않는다고 뜹니다 /proc/modules.

커널은 2.6.38.8 (64 bit).

이 질문과 관련하여 어떤 추가 정보를 제공해야 합니까?


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:~ #                                              

/usr/src/linux-2.6.38.8의 .config

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 

답변1

rmmod 8139too다음과 같은 이유로 작동하지 않습니다:

  • 8139 지원은 커널에 내장되어 있으며 드라이버는 모듈이 아니기 때문에 제거할 수 없습니다. 많은 시스템에는 /boot/config-2.6.38.8파일(또는 유사한 파일) 이 있습니다 . grep"8139TOO"와 같은 이름을 사용할 수 있습니다 . 이와 같은 내용 CONFIG_8139TOO=m이 나타나면 8139too드라이버가 모듈로 컴파일된 것입니다. 그렇다면 CONFIG_8139TOO=y드라이버가 이미 커널에 내장되어 있는 것입니다. 와 비슷한 내용이 표시되면 # CONFIG_8139TOO is not set드라이버가 다음에서 컴파일되지 않은 것입니다.모두.
  • 귀하의 이더넷 카드는 RTL8139 칩을 사용하지 않으므로 해당 드라이버가 로드되지 않습니다. 원하는 이더넷 포트의 드라이버를 찾아 제거해야 합니다.저것대신에. 그렇다면 lshw말하고 sudo lshw | less찾으십시오 eth0. 드라이버 모듈이 나열됩니다. 가능하다면 부품 을 찾아 systool보십시오 . 오른쪽에는 장치를 처리하기 위해 로드된 드라이버가 표시되어야 합니다. 작동할 수도 있지만 100% 신뢰할 수는 없습니다. 특히 시스템이 한동안 실행된 경우에는 더욱 그렇습니다(그렇다면 그렇게 하고 싶을 수도 있습니다 ).sudo systool -c net -A uevent eth0DRIVER=dmesg | grep eth0/var/log/dmesggrep eth0 /var/log/dmesg

관련 정보