Intel unsupported sfp: различия между версиями

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску
Строка 136: Строка 136:
 
}}
 
}}
   
==<code>xl710</code>==
+
=<code>xl710</code>=
 
* https://github.com/bibigon812/xl710-unlocker
 
* https://github.com/bibigon812/xl710-unlocker
 
<PRE>
 
<PRE>
Строка 151: Строка 151:
   
   
  +
==<code>Makefile</code>==
 
 
{{#spoiler:show=Makefile|
 
{{#spoiler:show=Makefile|
 
<PRE>
 
<PRE>
Строка 171: Строка 171:
 
}}
 
}}
 
<BR>
 
<BR>
  +
  +
==<code>2</code>==
 
{{#spoiler:show=1|
 
{{#spoiler:show=1|
   
 
<PRE>
 
<PRE>
  +
#ifndef SYSCALLS_H
  +
  +
#define ETHTOOL_GEEPROM 0x0000000b /* Get EEPROM data */
  +
#define ETHTOOL_SEEPROM 0x0000000c /* Set EEPROM data. */
  +
  +
#define I40E_NVM_TRANS_SHIFT 8
  +
#define I40E_NVM_TRANS_MASK (0xf << I40E_NVM_TRANS_SHIFT)
  +
#define I40E_NVM_CON 0x0
  +
#define I40E_NVM_SNT 0x1
  +
#define I40E_NVM_LCB 0x2
  +
#define I40E_NVM_SA (I40E_NVM_SNT | I40E_NVM_LCB)
  +
#define I40E_NVM_ERA 0x4
  +
#define I40E_NVM_CSUM 0x8
  +
#define I40E_NVM_EXEC 0xf
  +
  +
struct ethtool_eeprom {
  +
uint32_t cmd;
  +
uint32_t magic;
  +
uint32_t offset;
  +
uint32_t len;
  +
uint8_t data[0];
  +
};
  +
  +
#endif
 
</PRE>
 
</PRE>
 
}}
 
}}
  +
  +
==<code>3</code>==
  +
{{#spoiler:show=1|
  +
  +
<PRE>
  +
</PRE>
  +
}}
  +
  +
  +
==<code>4</code>==
 
{{#spoiler:show=1|
 
{{#spoiler:show=1|
   

Версия 12:15, 25 февраля 2024


Ошибка ixgbe failed to load because an unsupported SFP+ module type was detected

x520

  • файл /etc/default/grub.d/60_custom.cfg
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX ixgbe.allow_unsupported_sfp=1"

Или если более чем одна карта - ixgbe.allow_unsupported_sfp=1,1,1,1

  • Запустить update-grub
  • Файл /etc/modprobe.d/ixgbe.conf
options ixgbe allow_unsupported_sfp=1,1,1,1

Тут нужно указать список если более чем одна карта (или порт?)

x520 Unlocker

В теории это нужно что бы установить карту там, где драйвер не имеет опции отключения проверки.
Последний бит должен быть установлен 1 (в примере уже установлен, в обоих случаях )

ethtool -e enp3s0f1  offset 0x58 length 1
Offset		Values
------		------
0x0058:		fd
ethtool -e enp7s0f0 offset 0x58 length 1
Offset		Values
------		------
0x0058:		ff

Все манипуляции проводить только с 1 битом, например если было значение fe
( Бинарное 11111110 ) то записать следует ff( Бинарное 11111111

 ethtool -E enp1s0 magic 0x10fb8086 offset 0x58 value 0xff​

Магическое значение можно посмотреть так:

lspci -nn | grep 82599
03:00.0 Ethernet controller [0200]: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection [8086:10fb] (rev 01)
03:00.1 Ethernet controller [0200]: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection [8086:10fb] (rev 01)

[8086:10fb] --> 0x 10fb 8086

Что бы не возиться руками все те же манипуляции можно сделать скриптом

xl710

# ./xl710_unlock -n enp4s0f0
EMP SR offset: 0x67a8
PHY offset: 0x68f6
PHY data struct size: 0x000c
MISC: 0x6b0c <- locked
MISC: 0x6b0c <- locked
MISC: 0x6b0c <- locked
MISC: 0x6b0c <- locked
Ready to fix it? [y/N]: y


Makefile


2

3


4