
Отсюда: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:~ #
.config из /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
решение1
rmmod 8139too
не работает, потому что:
- Поддержка 8139 встроена в ядро, и драйвер не может быть выгружен, поскольку он не является модулем. Во многих системах есть файл
/boot/config-2.6.38.8
(или аналогичный). Вы можетеgrep
найти его по имени типа '8139TOO'. Если вы видите что-то вродеCONFIG_8139TOO=m
, то8139too
драйвер скомпилирован как модуль. Если этоCONFIG_8139TOO=y
, то драйвер встроен в ядро. Если там написано что-то вроде# CONFIG_8139TOO is not set
, то драйвер не был скомпилирован навсе. - Ваша карта Ethernet не использует чип RTL8139, поэтому ее драйвер не загружен. Вам необходимо найти драйвер вашего предполагаемого порта Ethernet и выгрузить его.Вон тотвместо этого. Если у вас есть
lshw
, скажитеsudo lshw | less
и найдитеeth0
: модуль драйвера будет указан. Если у вас естьsystool
, попробуйтеsudo systool -c net -A uevent eth0
и найдитеDRIVER=
часть. С правой стороны должен быть показан драйвер, загруженный для управления устройством.dmesg | grep eth0
также может работать, но это не на 100% надежно, особенно если ваша система была включена некоторое время (если есть/var/log/dmesg
, вы можете захотетьgrep eth0 /var/log/dmesg
тоже).