четверг, 24 марта 2011 г.

Настройка сети в Linux. Когда сетевая карта не видит кабель

Столкнулся с такой проблемой, что моя гигабитная сетевая карта Realtek RTL8111/8168B не хотела видеть сеть. Даже не горел светодиод, такое чувство что кабель не подключен. Но с кабелем все нормально. Причем карта не работала не в Linux не в Windows. Я долго не мог понять причину, пробовал переустанавливать системы, менять настройки биоса, перепрошивать биос, вытягивать батарейку, ничего из того, что советовали на форумах не помогало. Вставил другую сетевую плату и все стало в порядке, интернет появился. Но я хотел все-таки запустить мою встроенную карту.

Наткнулся на одну запись на очередном форуме, что можно запустить сеть поменяв в Windows настройки сетевого адаптера. Нужно было отключить Auto Negotiation и задать скорость 10 Mbit Duplex и тогда сетевая карта наячинает работать. У меня интернет с ограничением по скорости в 6 Мбит, поэтому скорости 10 Мбит мне достаточно. (Мне даже кажется что именно поэтому у меня кабель и не виделся).

Проверил этот метод в Windows, все заработало. Cделать это в Windows не составило большого труда, но как быть с Linux я не знал. Покопавшись в интернете нарыл следующий метод:

1. Ставим утилиту ethtool:
sudo apt-get install ethtool

2. Смотрим состояние наших сетевых устройств:
sudo ifconfig

В моем случае у меня два подключения, т.к. временно стоят две сетевых карты.
Моя неработающая карта значится под именем eth1.

3. Смотрю параметры моей карты:
sudo ethtool eth1

4. Задаю карте скорость 10 Мбит и выключаю Auto-negotiation:
sudo ethtool -s eth1 duplex full speed 10 autoneg off

Теперь при повторном вызове команды sudo ethtool eth1 вижу, что мои новые настройки приняты системой:
.

5. Подключаюсь к соединению eth1.

Теперь моя карта увидела кабель и Интернет заработал.
Надеюсь эта информация вам поможет и сэкономит ваше время на устранение подобной проблемы.



Комментариев нет:

Отправить комментарий