5

Я не могу заставить этот ноутбук Craptop подключаться к Интернету через интерфейс eth0 , но он может подключаться через интерфейс wlan0 . NetworkManager, управляющий eth0 , истекает при попытке найти DHCP-сервер (представленный как мой домашний маршрутизатор, 192.168.0.1).

Другой ноутбук, Deltique, может отлично подключаться и согласовывать DHCP, используя тот же кабель Ethernet.

После запроса Wireshark для мониторинга eth0 на обеих машинах я обнаружил, что Deltique согласовал IP-адрес с 192.168.0.1 после отправки широковещательной передачи на 255.255.255.255 , но Craptop отправил четыре DHCP-широковещания, не получив никакого ответа.

Кажется, что порт Ethernet на Craptop работает, так как он может определять, когда я подключаю провод, но почему Craptop не может принимать какие-либо пакеты?

Craptop не хватает драйвера? Как я могу устранить эту проблему дальше?

Я включил детали моей настройки ниже:


Журналы и командные выходы

NetworkManager (из /var/log/syslog)

lshw

Wireshark: DHCP-пакеты

[Скриншот Wireshark]

Обратите внимание, что этот вопрос суперпользователя не связан, так как он говорит о невозможности подключения к wlan0 .

1 ответ1

6

Вероятной причиной был неисправный порт Ethernet на маршрутизаторе. До 30 апреля 2015 года я не нашел доказательств, подтверждающих это, и не установил связь до 10 августа 2015 года.

Что я должен был сделать

Несколько дополнительных шагов по устранению неполадок:

  • Я должен был запустить sudo ethtool -S eth0 чтобы увидеть, были ли какие-либо ошибки в статистике контроллера сетевого интерфейса (NIC).

    Так как я мог отправлять, но не получать через Ethernet, я мог видеть что-то вроде увеличения статистики rx_crc_errors при каждой попытке получения.

  • Я должен был попытаться подключить конец маршрутизатора кабеля Ethernet к другому порту маршрутизатора.

    Конечно, я подключил компьютерный конец кабеля Ethernet к двум разным компьютерам, но это привело меня к мысли, что компьютер (Craptop) был неисправен, потому что другой (Deltique) смог подключиться к маршрутизатору.

  • На работающем компьютере Deltique мне нужно было запустить sudo ethtool eth0 чтобы проверить, была ли установлена хорошая связь.

    Deltique имеет пропускную способность 1 Гбит / с, также как и маршрутизатор, поэтому ethtool должен был показать Speed: 1000Mb/s и Duplex: Full . Позднее я узнаю 30 апреля 2015 года, что неисправный порт привел к тому, что ethtool вернул другие, более относительные значения.

  • Я должен был запустить тест скорости, чтобы проверить соединение Ethernet, чтобы убедиться, что я получаю полную производительность, ожидаемую между Deltique и маршрутизатором.

    Если бы я сделал тест скорости, я бы, вероятно, увидел скорость передачи 1 МБ / с, что указывает на проблему со связью даже в Deltique .

  • Чтобы исключить проблему с кабелем, я должен был попробовать использовать другой кабель Gigabit Ethernet.

    Оказывается, с кабелем все было в порядке, но в любом случае это хороший шаг по устранению неполадок.

Доказательства и объяснения

30 апреля 2015 года я заметил, что моя верная команда rsync -avzHXShPs максимальных скоростях около 1 МБ / с. Я исключил другой трафик, отслеживая iftop и пытаясь загрузить Интернет на другом компьютере, который передавал данные в десять раз быстрее.

Я проверил сетевое соединение с помощью ethtool:

root@node51 [~]# ethtool eth0
Settings for eth0:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Supported pause frame use: No
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: Yes
        Link partner advertised link modes:  10baseT/Half
        Link partner advertised pause frame use: No
        Link partner advertised auto-negotiation: No
        Speed: 10Mb/s
        Duplex: Half
        Port: MII
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00000033 (51)
                               drv probe ifdown ifup
        Link detected: yes

Ага! 10 Мбит / с в полудуплексном режиме. Это не нормально и очень медленно. Для справки, это был ожидаемый (хороший) вывод, полученный при переключении портов Ethernet на маршрутизаторе:

root@node51 [~]# ethtool eth0
Settings for eth0:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Supported pause frame use: No
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: Yes
        Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                             100baseT/Half 100baseT/Full
                                             1000baseT/Full
        Link partner advertised pause frame use: Symmetric
        Link partner advertised auto-negotiation: Yes
        Speed: 1000Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00000033 (51)
                               drv probe ifdown ifup
        Link detected: yes

Компьютер и маршрутизатор пытались согласовывать более медленные и медленные скорости, пока не удалось установить надежную. Самый медленный полудуплекс 10BASE-T был выбран.

Принудительное выполнение полной дуплексной 1000BASE-T (ethtool -s eth0 speed 1000 duplex full) ожидаемой производительности приводило к тому, что пораженный компьютер выходил из сети, что настоятельно предполагало, что маршрутизатор не хочет говорить по более быстрой линии связи.

Craptop, который в первую очередь ограничен 100 Мбит / с, вероятно, не имел возможности договориться о полудуплексной 10 Мбит / с.

Теперь, когда я определил неправильный порт Ethernet, все, что мне нужно сделать, это не использовать этот порт или получить новый маршрутизатор.

27 июля 2015 года я вернул неисправный маршрутизатор после установки нового маршрутизатора.

Сегодня Craptop работает на отказоустойчивом сетевом соединении с полнодуплексным Ethernet-соединением 100 Мбит / с:

root@node52 [~]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: eth0 (primary_reselect always)
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: wlan0
MII Status: up
Speed: Unknown
Duplex: Unknown
Link Failure Count: 3
Permanent HW addr: 00:1f:3a:55:dc:0d
Slave queue ID: 0

Slave Interface: eth0
MII Status: up
Speed: 100 Mbps
Duplex: full
Link Failure Count: 3
Permanent HW addr: 00:1e:68:32:4a:b5
Slave queue ID: 0

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .