Плата Ethernet Realtek разъединяется случайным образом

Мой ноутбук имеет плату Ethernet Realtek RTL8168, которая работает вполне прилично. Кроме в несколько раз, где соединение просто отбрасывается и я имею к не-и повторно включаю кабель для сброса соединения.

Я попробовал предварительно установленный r8169 модуль, но теперь я использую r8168 модуль, созданный с источником из веб-сайта Realtek. Проблема происходит с обоими модулями драйвера.

$ lspci | grep Ethernet
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c)

$ dmesg
#stops working, no reports
#unplugging
[ 9324.277753] r8168: eth0: link down
[ 9328.636380] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
#replugging
[ 9334.316610] r8168: eth0: link up
[ 9334.316744] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
#Working again

PS: с grep NetworkManager /var/log/syslog, Я загрязнил следующее во время, такое прерывание соединения произошло:

#EDIT:These messages are printed when I plug out the cable. Before, there is nothing
Jan 28 23:40:31 dracarys NetworkManager[912]: <info> (eth0): carrier now OFF (device state 100, deferring action for 4 seconds)
Jan 28 23:40:35 dracarys NetworkManager[912]: <info> (eth0): device state change: activated -> unavailable (reason 'carrier-changed') [100 20 40]
Jan 28 23:40:35 dracarys NetworkManager[912]: <info> (eth0): deactivating device (reason 'carrier-changed') [40]
Jan 28 23:40:35 dracarys NetworkManager[912]: <info> (eth0): canceled DHCP transaction, DHCP client pid 6975
Jan 28 23:40:35 dracarys NetworkManager[912]: <warn> DNS: plugin dnsmasq update failed
Jan 28 23:40:35 dracarys NetworkManager[912]: <info> Removing DNS information from /sbin/resolvconf
Jan 28 23:40:35 dracarys NetworkManager[912]: <info> NetworkManager state is now DISCONNECTED
#replug
Jan 28 23:40:40 dracarys NetworkManager[912]: <info> (eth0): carrier now ON (device state 20)
Jan 28 23:40:40 dracarys NetworkManager[912]: <info> (eth0): device state change: unavailable -> disconnected (reason 'carrier-changed') [20 30 40]
Jan 28 23:40:40 dracarys NetworkManager[912]: <info> Auto-activating connection 'Wired connection 1'.
Jan 28 23:40:40 dracarys NetworkManager[912]: <info> Activation (eth0) starting connection 'Wired connection 1'
Jan 28 23:40:40 dracarys NetworkManager[912]: <info> (eth0): device state change: disconnected -> prepare (reason 'none') [30 40 0]
Jan 28 23:40:40 dracarys NetworkManager[912]: <info> NetworkManager state is now CONNECTING

И затем это работало снова

Какие-либо идеи о том, как зафиксировать это? Сообщите мне, нужна ли Вам дополнительная информация.

Править: $ modinfo r8168

filename:       /lib/modules/3.13.0-37-generic/kernel/drivers/net/ethernet/realtek/r8168.ko
version:        8.038.00-NAPI
license:        GPL
description:    RealTek RTL-8168 Gigabit Ethernet driver
author:         Realtek and the Linux r8168 crew <netdev@vger.kernel.org>
srcversion:     7600C3366E422907A1D79F1
alias:          pci:v00001186d00004300sv00001186sd00004B10bc*sc*i*
alias:          pci:v000010ECd00008168sv*sd*bc*sc*i*
depends:        
vermagic:       3.13.0-37-generic SMP mod_unload modversions 
parm:           eee_enable:int
parm:           speed:force phy operation. Deprecated by ethtool (8). (ushort)
parm:           duplex:force phy operation. Deprecated by ethtool (8). (int)
parm:           autoneg:force phy operation. Deprecated by ethtool (8). (int)
parm:           aspm:Enable ASPM. (int)
parm:           s5wol:Enable Shutdown Wake On Lan. (int)
parm:           rx_copybreak:Copy breakpoint for copy-only-tiny-frames (int)
parm:           timer_count:Timer Interrupt Interval. (int)
parm:           debug:Debug verbosity level (0=none, ..., 16=all) (int)
3
задан 1 February 2015 в 16:11

3 ответа

Несколько дней назад я нашел новый выпуск драйвера (8.039.900) на веб-сайте Realtek. Я загрузил, скомпилировал и установил его, и никогда не испытывал отбрасываний соединения с тех пор.

Обновление r8168:

актуальнейший источник драйвера может быть загружен здесь .

Извлечение загруженный архив и выполненный

sudo make

в папке извлечения. После компиляции в настоящее время устанавливаемый r8168 модуль будет автоматически заменен новой версией (который, по-моему, должен только произойти при выполнении make install)

, Чтобы загрузить новую версию, работать

sudo modprobe -r r8168 && sudo modprobe r8168
<час>

пз: не используйте сценарий установки, который идет с этим драйвером. Это удалит старый модуль (неважно, или r8168 или r8169) перед ровной попыткой скомпилировать новую. Если компиляция перестала работать, Вас оставляют без Интернета, если у Вас нет WiFi или другой платы Ethernet.

0
ответ дан 18 November 2019 в 04:25

N.B: Этот ответ ни в коем случае не является окончательным. Я имею, придумал пару возможных решений на основе некоторого исследования, а также персональные предложения онлайн на основе опыта.

Модуль Ядра Замены

От исследования онлайн, кажется, что часто лучшее решение состоит в том, чтобы заменить r8168 модуль, который идет с установкой Ubuntu с более новой, обновленной версией. Например, это сообщение crunchbang .

Это сообщение Форумов Ubuntu с 2012 документирует сценарий для более новой, обновленной версии r8168 модуля. Можно сделать sudo apt-get install linux-headers-$(uname -r) или sudo apt-get install --reinstall linux-headers-$(uname -r), и затем следовать инструкциям matera.ttp. Praseonym, который также отправил там, предлагает установить драйвер с dkms, который, как предполагается, восстанавливает модули для каждого обновления ядра. Теперь, у Вас должен быть dkms, уже установленный, и Вы могли проверить его с which dkms. Таким образом, Вы могли или использовать инструкции Praseonym или matera.ttp's. Идея является тем же.

Настройки Модуля Тонкой настройки

Для многих сетевых проблем, настраивающих конфигурации модуля, могли помочь решить проблемы, но откровенно я сомневаюсь, что это - проблема, так как Вы использовали r8169 с тем же эффектом. Тем не менее, дайте ему попытку.

В /etc/modprobe.d/ каталог, создайте r8168.conf файл. В том файле запишите:

options eee_enable=1

Сохраняют и перезагрузка.

Теперь, Вы могли сделать очень много того же самого с другими опциями. Например, мое первое предположение должно было добавить options timer_count=3600 к r8168.conf файлу. Почему 3600? При предположении, что параметр имеет дело со временем, тогда это - наиболее вероятные секунды.

я нашел случай, где он на самом деле не работал, и проблемой была связанная BIOS. Обратитесь к этой странице: http://ubuntuforums.org/showthread.php?t=2138125&page=2

, Если все остальное перестало работать

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

я предлагаю, чтобы Вы исследовали возможные замены для своей платы Ethernet. Мое предложение было бы портативным концентратором usb со слотом Ethernet, во многом как эти

1
ответ дан 18 November 2019 в 04:25

Я думаю, необходимо установить более стабильный официальный драйвер для Realtek (RTL8111/RTL8168) плата Ethernet.

1. Получите права пользователя root

, Получают права пользователя root, при вводе “su” или (когда Вы используете Ubuntu), “sudo-s” в терминале.

2. Заставьте требования

создавать и устанавливать драйвер, нам нужны заголовки ядрa и инструменты сборки как gcc. Для получения их просто легко введите в терминале:

apt-get install build-essential

3. Получите драйвер

Теперь, перейдите к официальной странице загрузки из Realtek для Драйвера Linux/UNIX для платы Ethernet RTL8111/RTL8168 и загрузите последнюю версию драйвера.

Ссылка: Страница

4 Загрузки Realtek. Untar архив

драйвер сжат до архива. Поэтому распакуйте его со следующей командой:

tar xfvj r8168-8.025.00.tar.bz2

ПРИМЕЧАНИЕ: не забывайте заменять “r8168-8.025.00.tar.bz2″ версией драйвера, которую Вы загрузили!

5. Поместите в черный список старый драйвер

, Мы должны поместить в черный список старый драйвер (r8169) для предотвращения системы для загрузки его. Чтобы сделать это, легко установите новую запись в “/etc/modprobe.d/blacklist.conf”, который называют:

blacklist r8169

или просто входят в терминал снова

echo “blacklist r8169″ >> /etc/modprobe.d/blacklist.conf

, чтобы сделать это только в одной команде.

6. Создайте и установите новый драйвер

Теперь, целые требования для установки нового драйвера сделаны. Давайте теперь изменимся в каталоге драйвера, который мы распаковали на нескольких шагах прежде:

cd r8168-8.025.00

ПРИМЕЧАНИЕ: Снова, не забывайте, для изменения “r8168-8.025.00″ на версию, которую Вы загрузили.

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

make clean modules

после нескольких секунд (в зависимости от Вашего ЦП), драйвер является сборкой, и можно установить его с:

make install

7. Приветствуйте r8168

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

depmod -a

Вы восстанавливаете зависимости от модуля ядра, и с

insmod ./src/r8168.ko

Вы вставляете новый модуль ядра (драйвер) в ядро.

8. Сделайте его доступным для начальной загрузки

, Чтобы всегда использовать новый модуль, необходимо сделать новый initrd загрузочный файл. Просто сделайте

mkinitramfs -o /boot/initrd.img-`uname -r` `uname -r`

в терминале. Здесь мы делаем initrd файл с помощью “uname-r” командой, которая позволяет нам получать версию на самом деле рабочего ядра.

, По крайней мере, необходимо добавить в “/etc/modules” файле новую запись, которую называют “r8168″, для получения драйвера автоматически после начальной загрузки. Как альтернатива можно сделать последний шаг снова только с одной командой:

echo “r8168″ >> /etc/modules

That’s это! После перезагрузки у Вас должна быть самая лучшая производительность с RTL8111/RTL8168, и дополнительно никакие другие сетевые проблемы не должны больше быть доступными (не ломаются).

После перезагрузки можно проверить, загружается ли правильный драйвер этой командой:

lspci -v

с этой командой необходимо найти сетевую плату RTL8111/RTL8168 в списке и дополнительный драйвер команды “Kernel используемыми: r8168″.

-1
ответ дан 18 November 2019 в 04:25

Другие вопросы по тегам:

Похожие вопросы: