Вопрос или проблема
Я пытаюсь настроить свой LAN-порт. Доступные интерфейсы на моей системе:
user@user-NUC7i5BNH:~$ cat /etc/udev/rules.d/70-persistent-net.rules
# Этот файл был автоматически сгенерирован программой /lib/udev/write_net_rules,
# запущенной через файл правил persistent-net-generator.rules.
#
# Вы можете изменить его, при условии, что каждая правило остается в одной
# строке и изменяется только значение ключа NAME=.
# USB устройство 0x:0x (ath9k_htc)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="e8:de:27:0f:79:8c", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"
# PCI устройство 0x8086:0x15d8 (e1000e)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="94:c6:91:1f:26:d4", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
Как вы видите, wlan0 (внешний USB WiFi адаптер) и eth0 доступны. Однако после подключения LAN-кабеля и выполнения ifconfig получается следующее:
user@user-NUC7i5BNH:~$ ifconfig -a
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:65536 Metric:1
RX packets:1439 errors:0 dropped:0 overruns:0 frame:0
TX packets:1439 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:140959 (140.9 KB) TX bytes:140959 (140.9 KB)
wlan0 Link encap:Ethernet HWaddr e8:de:27:0f:79:8c
inet addr:192.168.100.235 Bcast:192.168.100.255 Mask:255.255.255.0
inet6 addr: fe80::eade:27ff:fe0f:798c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:18714 errors:0 dropped:0 overruns:0 frame:0
TX packets:8301 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:11072061 (11.0 MB) TX bytes:1096635 (1.0 MB)
Вы видите, что eth0 не указан. Я попробовал активировать интерфейс:
user@user-NUC7i5BNH:~$ sudo ifup eth0
Internet Systems Consortium DHCP Client 4.2.4
Copyright 2004-2012 Internet Systems Consortium.
Все права защищены.
Для получения информации, пожалуйста, посетите https://www.isc.org/software/dhcp/
Не удается найти устройство "eth0"
Ошибка получения аппаратного адреса для "eth0": Нет такого устройства
Не удалось активировать eth0.
Содержимое /etc/network/interfaces:
user@user-NUC7i5BNH:~$ cat /etc/network/interfaces
# interfaces(5) файл, используемый ifup(8) и ifdown(8)
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
Наконец, для полноты картины вот вывод lshw:
user@user-NUC7i5BNH:~$ sudo lshw -C network
*-network UNCLAIMED
описание: Сетевой контроллер
продукт: Intel Corporation
производитель: Intel Corporation
физический идентификатор: 0
информация шины: pci@0000:3a:00.0
версия: 78
ширина: 64 бит
тактовая частота: 33MHz
возможности: pm msi pciexpress cap_list
конфигурация: latency=0
ресурсы: memory:dc100000-dc101fff
*-network UNCLAIMED
описание: Ethernet контроллер
продукт: Intel Corporation
производитель: Intel Corporation
физический идентификатор: 1f.6
информация шины: pci@0000:00:1f.6
версия: 21
ширина: 32 бита
тактовая частота: 33MHz
возможности: pm msi bus_master cap_list
конфигурация: latency=0
ресурсы: memory:dc200000-dc21ffff
*-network
описание: Беспроводной интерфейс
физический идентификатор: 2
информация шины: usb@1:1
логическое имя: wlan0
серийный номер: e8:de:27:0f:79:8c
возможности: ethernet physical wireless
конфигурация: broadcast=yes driver=ath9k_htc driverversion=4.4.0-130-generic firmware=1.4 ip=192.168.100.235 link=yes multicast=yes wireless=IEEE 802.11
Я использую Ubuntu 14.04.
user@user-NUC7i5BNH:~$ uname -a
Linux user-NUC7i5BNH 4.4.0-130-generic #156~14.04.1-Ubuntu SMP Чт Июн 14 13:51:47 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Доступные драйверы Intel:
user@user-NUC7i5BNH:~$ ls /lib/modules/`uname -r`/kernel/drivers/net/ethernet/intel
e1000 e1000e e100.ko fm10k i40e i40evf igb igbvf ixgb ixgbe ixgbevf
Какие-либо идеи, как исправить эту проблему?
Вы проверяли, загружены ли драйверы?
sudo lsmod | egrep 'igb|ixgb|e1000'
Доступные модули драйвера сети Intel должны находиться по адресу:
/lib/modules/`uname -r`/kernel/drivers/net/ethernet/intel
Если ни один из драйверов Intel не загружен, вы можете использовать modprobe или insmod, чтобы загружать их по одному и проверять после каждой загрузки, распознается ли NIC.
Следующие файлы могут помочь определить проблему:
- /var/log/syslog
- /var/log/udev
- /var/log/dmesg
- /var/log/kern.log
Ответ или решение
Доброго дня!
Судя по описанию вашей проблемы, интерфейс eth0
не распознается системой, что может быть связано с отсутствием необходимых драйверов или неправильной конфигурацией оборудования. Давайте пройдемся по шагам, чтобы диагностировать и устранить эту проблему.
Шаг 1: Проверка загрузки модулей драйверов
Первым шагом будет проверка, загружены ли драйвера для вашей сетевой карты. Выполните следующую команду:
sudo lsmod | egrep 'igb|ixgb|e1000'
Если ни один из драйверов не загружен, вам нужно попробовать загрузить их вручную. Например, если ваша сетевая карта определяется как e1000e
, выполните:
sudo modprobe e1000e
После этого проверьте, появился ли интерфейс eth0
:
ifconfig -a
Шаг 2: Проверка логов
Если интерфейс все еще не отображается, следующим шагом будет проверка логов системы на наличие ошибок, связанных с драйверами и сетевыми интерфейсами. Обратите внимание на следующие файлы:
/var/log/syslog
/var/log/dmesg
/var/log/kern.log
Поищите в этих файлах упоминания о вашей сетевой карте или о проблемах с драйверами.
grep -i 'e1000' /var/log/syslog
grep -i 'network' /var/log/dmesg
Шаг 3: Установка/обновление драйверов
Если драйвера отсутствуют или не функционируют корректно, возможно, потребуется их переустановить. Вы можете также рассмотреть возможность обновления системы до более новой версии Ubuntu, поскольку 14.04 уже устарела и может не поддерживать последние версии драйверов.
sudo apt-get update
sudo apt-get install --reinstall linux-modules-extra-$(uname -r)
Шаг 4: Проверка конфигурации
Убедитесь, что файл конфигурации /etc/network/interfaces
настроен корректно. В вашем случае он выглядит правильно. Однако, если у вас несколько интерфейсов, убедитесь, что никаких конфликтов в конфигурации нет.
Шаг 5: Аппаратные проверки
- Проверьте, правильно ли подключен LAN-кабель.
- Попробуйте подключить другой кабель или порт на роутере.
- Если возможно, протестируйте LAN-порт на другом устройстве, чтобы исключить аппаратные неисправности.
Шаг 6: Завершение
После выполнения вышеуказанных шагов перезагрузите систему и проверьте статус интерфейса:
sudo ifconfig eth0 up
Если все прошло успешно, интерфейс eth0
должен быть активен и работать. Если проблема не решена, пожалуйста, предоставьте дополнительные сведения о выводах команд, чтобы мы могли дальше диагностировать проблему.
Надеюсь, это поможет вам восстановить работоспособность вашего LAN-порта!