у меня проблема с новым ASUSPRO B8430UA ноутбук: его Intel Ethernet Connection I219-V не работает под Linux. Фактически, я попробовал два разных ноутбука этой модели, и у обоих была та же проблема.
используемый драйвер Linux e1000e, он производит следующие сообщения во время загрузки Linux (Ubuntu 16.04):
$ dmesg | grep e1000e
[ 5.643760] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
[ 5.643761] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[ 5.644308] e1000e 0000:00:1f.6: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
[ 5.877838] e1000e 0000:00:1f.6: The NVM Checksum Is Not Valid
[ 5.907340] e1000e: probe of 0000:00:1f.6 failed with error -5
Я попытался установить последнюю версию 3.3.4 e1000e, но это не помогло (хотя я испортил ядро).
Я задавал вопросы об этом e1000-devel список рассылки, и мне посоветовали связаться с производителем моего ноутбука, потому что "контрольная сумма NVM недействительна" означает, что содержимое энергонезависимой памяти моего чипа Ethernet повреждено или, по крайней мере, что она не соответствует контрольной сумме (к сожалению, я не специалист и не могу объяснить это более подробно точно.)
Я задал вопрос в Службу поддержки Intel, и они ответили, что они не заботятся о OEM-системах (бортовых чипах Ethernet в ноутбуках) и что я должен связаться с ASUS:
к сожалению по мере того как ваша система ОЭМ наши варианты поддержки весьма ограничены. Производитель ноутбука, возможно, изменил программное обеспечение или аппаратное обеспечение, и именно поэтому поддержка и драйверы для таких систем обеспечивается непосредственно ноутбуком производитель.
Я связался со службой поддержки ASUS, но они ответили, что у них нет инструментов для проверки или восстановления содержимого NVM, и что, если я найду такие инструменты, они будут рады узнать об этом. Они также объяснили, что они должны поддерживать только оригинальную аппаратную и программную конфигурацию, и эта модель ноутбука продается с Windows 7. Под Windows 7 мой Ethernet, кажется, работает нормально. Согласно тому, что я узнал, Windows просто не проверяет контрольную сумму NVM.
я обнаружил, что в один подобный случай в 2011 году, проблема может быть исправлена с помощью Intel Ethernet Connections Boot Utility:
однако, оговорка в последнем абзаце предупреждает:
Вы, наверное, должны знать, что Intel (R) Ethernet Connections Boot Utility не был разработан для использования С на борту (также известный как OEM) lan карт (для PCI карт), поэтому нет никакого верного способа предсказать, что это взаимодействие с другими компонентами на борту, как USB или звуковые контроллеры.
описание BootUtil версии 1.6.13.0 также, кажется, говорит, что он не совсем предназначен для использования с бортовыми контроллерами Ethernet:
Ethernet Intel(R) Flash Firmware Utility (BootUtil) - это утилита, которая может использоваться для программирования PCI option ROM на флэш-памяти поддерживаемых сетевых адаптеров Intel PCI и PCI-Express, а также для обновления конфигураций.
[...]
OEM-производители могут предоставлять пользовательские образы прошивки flash для сетевых адаптеров OEM. Пожалуйста см. инструкции, Котор дали OEM.
однако есть абзац, который я не понял:
PXE+EFI и комбинации образов iSCSI+EFI поддерживаются всеми универсальными адаптерами OEM, однако поддержка ограничена устройствами, поддерживающими обе технологии в виде дискретных образов.
кроме того, в комментарий 5 по вопросу 2008 года, где NVM был поврежден из-за драйвера e1000e ошибка рекомендуется:
пожалуйста, не запускайте ibautil как некоторые сайты в интернете предлагают решить эту проблему. Это, вероятно, вызовет вам придется заменить материнскую плату, чтобы вернуть функциональность локальной сети.
IBAUTIL является одним из предшественников BootUtil.
в любом случае, я решил запустить BootUtil из-под Linux без параметров командной строки, чтобы получить "список всех поддерживаемых сетевых портов Intel, найденных в системе."Вот что у меня получилось:
$ sudo ./bootutil64e
Intel(R) Ethernet Flash Firmware Utility
BootUtil version 1.6.13.0
Copyright (C) 2003-2016 Intel Corporation
Type BootUtil -? for help
Port Network Address Location Series WOL Flash Firmware Version
==== =============== ======== ======= === ============================= =======
1 D017C2201F59 0:31.6 Gigabit N/A FLASH Not Present
Я хотел бы понять, что означает "вспышка не присутствует" в этом контексте, и какие варианты у меня есть для исправления контрольная сумма.
обновление 1.
Согласно комментарию, который я получил от e1000-devel список рассылки о "FLASH нет",
вспышка и NVM два отдельных элемента. Вспышка позволяет вещи
как загрузка PXE и iSCSI, тогда как NVM хранит такие вещи, как
сетевой адрес.
обновление 2.
Я нашел разведданные информация для I219, Раздел 10.3.2.2 Контрольная Сумма Слово Расчет говорит:
контрольная сумма слово (слово 0x3F, байты NVM 0x7E и 0x7F) используется для обеспечения того, что базовый образ NVM является допустимым изображением. Значение этого слова должно быть рассчитано таким образом, что после сложения всех слов (0x00 - 0x3F) / байт (0x00-0x7F), включая само слово контрольной суммы, сумма должна быть 0xBABA. Начальное значение в 16-битном регистре суммирования должно быть 0x0000, а бит переноса следует игнорировать после каждое добавление.