Когда сетевая карта Intel решила сыграть в «замри», или Как я успокоил I219-V заклинанием в терминале
Всем привет! Сегодня я хочу рассказать вам одну поучительную, а местами и комедийную историю. Речь пойдет не о котиках, а о моем верном спутнике — материнской плате ASUS PRIME B360M-C.
В один прекрасный день она, а точнее, ее встроенный сетевой адаптер Intel I219-V, внезапно начал проявлять характер. В системных логах, как назойливая песенка, которую не выбросишь из головы, начала появляться загадочная ошибка:
e1000e eno1: Detected Hardware Unit Hang
Перепробовал всё: обновлял драйверы, дул на слот, уговаривал материнку по-хорошему. Не помогало. Видимо, мой I219-V решил, что его работа — не передавать данные, а коллекционировать ошибки.
Но, как это часто бывает в мире Linux, решение нашлось в виде элегантного, хоть и немного магического, заклинания для терминала.
Оказалось, что этого строптивого «железного коня» нужно просто немного... успокоить. А именно — отключить часть слишком умных аппаратных ускорителей, с которыми он явно не справлялся.
Спасительное решение
Для этого в файл /etc/network/interfaces
я добавил следующие строки, словно прописал своему адаптеру курс успокоительного:
iface eno1 inet manual
post-up /sbin/ethtool -K $IFACE gso off gro off tso off tx off rx off rxvlan off txvlan off sg off
Что это волшебство делает?
Если просто, эта команда говорит адаптеру: «Дружище, не надо пытаться быть слишком умным. Собирай и разбирай пакеты данных без лишней самодеятельности, по-простому». Мы отключаем кучу функций (GSO, GRO, TSO и др.), которые в теории должны ускорять работу, но на практике для моего конкретного экземпляра стали причиной «зависания».
После перезагрузки сети (или всего сервера) — о, чудо! Ошибки как не бывало.
Мораль истории: даже самое надежное железо иногда требует индивидуального подхода. А иногда это выглядит так, будто ты проводишь экзорцизм над сетевой картой.
Если у вас та же плата или похожая проблема — возможно, этот рецепт поможет и вам. Только помните, это может немного снизить пропускную способность в теории, но на практике стабильность важнее гипотетических мегабит.