Como consertar mpt2sas “port enable: FAILED com timeout (timeout = 300s)”?

6

Desde que definiu as unidades conectadas a um controlador LSI SAS 2008 para "Ligar em standby", essas unidades não estão mais sendo detectadas. A energização no modo de espera também é conhecida como PUIS, POIS ou "ATA6 liga-se no modo de espera".

No BIOS Super Micro X8SI6-F, "Load onboard SAS Option Rom" está definido como "Disabled".

O carregamento do módulo do kernel mpt2sas durante a inicialização é desativado usando: echo 'blacklist mpt2sas' >> /etc/modprobe.d/mpt2sas.conf; depmod; update-initramfs -u -k $(uname -r)

modprobe mpt2sas é feito em /etc/rc.local

O PUIS nas unidades foi definido usando " /sbin/hdparm -s1 --yes-i-know-what-i-am-doing /dev/sdX "

# tail /var/log/messages
Dec 19 21:07:21 debian kernel: [   14.503509] mpt2sas0: Scatter Gather Elements per IO(128)
Dec 19 21:07:22 debian kernel: [   14.735785] mpt2sas0: LSISAS2008: FWVersion(14.00.01.00), ChipRevision(0x03), BiosVersion(07.27.00.00)
Dec 19 21:07:22 debian kernel: [   14.735878] mpt2sas0: Protocol=(Initiator), Capabilities=(Raid,TLR,EEDP,Snapshot Buffer,Diag Trace Buffer,Task Set Full,NCQ)
Dec 19 21:07:22 debian kernel: [   14.736748] mpt2sas0: sending port enable !!
Dec 19 21:07:22 debian kernel: [   15.294663] e1000e: eth0 NIC Link is Up 100 Mbps Full Duplex, Flow Control: None
Dec 19 21:07:22 debian kernel: [   15.294759] e1000e 0000:03:00.0: eth0: 10/100 speed: disabling TSO
Dec 19 21:07:22 debian kernel: [   15.296146] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Dec 19 21:07:23 debian kernel: [   16.257786] mpt2sas0: host_add: handle(0x0001), sas_addr(0x5003048007abbc00), phys(8)
Dec 19 21:12:22 debian kernel: [  314.234004] mpt2sas0: port enable: FAILED with timeout (timeout=300s)
Dec 19 21:12:54 debian kernel: [  346.439736] mpt2sas0: expander_add: handle(0x0009), parent(0x0001), sas_addr(0x50014380182cf0e6), phys(37)

# tail -n40 /var/log/syslog
Dec 19 21:41:11 debian kernel: [  240.376096] INFO: task modprobe:1341 blocked for more than 120 seconds.
Dec 19 21:41:11 debian kernel: [  240.376171] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Dec 19 21:41:11 debian kernel: [  240.376263] modprobe      D 0000000000000000     0  1341   1287 0x00000000
Dec 19 21:41:11 debian kernel: [  240.376414]  ffff88023f06b880 0000000000000082 0000000000000000 000000000000bfc5
Dec 19 21:41:11 debian kernel: [  240.376656]  0000000000000096 ffffffff8104e54b 000000000000f9e0 ffff88023d681fd8
Dec 19 21:41:11 debian kernel: [  240.376895]  0000000000015780 0000000000015780 ffff88023bc80000 ffff88023bc802f8
Dec 19 21:41:11 debian kernel: [  240.377134] Call Trace:
Dec 19 21:41:11 debian kernel: [  240.377204]  [<ffffffff8104e54b>] ? release_console_sem+0x17e/0x1af
Dec 19 21:41:11 debian kernel: [  240.377278]  [<ffffffff8105aeba>] ? __mod_timer+0x141/0x153
Dec 19 21:41:11 debian kernel: [  240.377350]  [<ffffffff812fbec4>] ? schedule_timeout+0xa5/0xdd
Dec 19 21:41:11 debian kernel: [  240.377422]  [<ffffffff8105aa34>] ? process_timeout+0x0/0x5
Dec 19 21:41:11 debian kernel: [  240.377492]  [<ffffffff812fbd04>] ? wait_for_common+0xde/0x15b
Dec 19 21:41:11 debian kernel: [  240.377566]  [<ffffffff8104a461>] ? default_wake_function+0x0/0x9
Dec 19 21:41:11 debian kernel: [  240.377647]  [<ffffffffa021d6e1>] ? _base_make_ioc_operational+0x929/0xa6f [mpt2sas]
Dec 19 21:41:11 debian kernel: [  240.377743]  [<ffffffffa021fa85>] ? mpt2sas_base_attach+0xb73/0xc61 [mpt2sas]
Dec 19 21:41:11 debian kernel: [  240.377817]  [<ffffffff810412ee>] ? enqueue_task_fair+0x3e/0x82
Dec 19 21:41:11 debian kernel: [  240.377889]  [<ffffffff8103a311>] ? enqueue_task+0x5f/0x68
Dec 19 21:41:11 debian kernel: [  240.377956]  [<ffffffff8103a403>] ? activate_task+0x22/0x28
Dec 19 21:41:11 debian kernel: [  240.378037]  [<ffffffffa0222e21>] ? _scsih_probe+0x32c/0x501 [mpt2sas]
Dec 19 21:41:11 debian kernel: [  240.378115]  [<ffffffff811a2d46>] ? local_pci_probe+0x12/0x16
Dec 19 21:41:11 debian kernel: [  240.378188]  [<ffffffff811a3996>] ? pci_device_probe+0xc0/0xe9
Dec 19 21:41:11 debian kernel: [  240.378263]  [<ffffffff81221520>] ? driver_probe_device+0xa3/0x14b
Dec 19 21:41:11 debian kernel: [  240.378333]  [<ffffffff81221617>] ? __driver_attach+0x4f/0x6f
Dec 19 21:41:11 debian kernel: [  240.378404]  [<ffffffff812215c8>] ? __driver_attach+0x0/0x6f
Dec 19 21:41:11 debian kernel: [  240.378477]  [<ffffffff81220def>] ? bus_for_each_dev+0x43/0x74
Dec 19 21:41:11 debian kernel: [  240.378549]  [<ffffffff812207af>] ? bus_add_driver+0xaf/0x1f8
Dec 19 21:41:11 debian kernel: [  240.378621]  [<ffffffff812218cf>] ? driver_register+0xa7/0x111
Dec 19 21:41:11 debian kernel: [  240.378698]  [<ffffffffa015f000>] ? _scsih_init+0x0/0x112 [mpt2sas]
Dec 19 21:41:11 debian kernel: [  240.378772]  [<ffffffff811a3bdc>] ? __pci_register_driver+0x50/0xb8
Dec 19 21:41:11 debian kernel: [  240.378849]  [<ffffffffa015f000>] ? _scsih_init+0x0/0x112 [mpt2sas]
Dec 19 21:41:11 debian kernel: [  240.378928]  [<ffffffffa015f0fc>] ? _scsih_init+0xfc/0x112 [mpt2sas]
Dec 19 21:41:11 debian kernel: [  240.379002]  [<ffffffff8100a065>] ? do_one_initcall+0x64/0x174
Dec 19 21:41:11 debian kernel: [  240.379072]  [<ffffffff8107ab54>] ? sys_init_module+0xc5/0x21a
Dec 19 21:41:11 debian kernel: [  240.379144]  [<ffffffff81010b42>] ? system_call_fastpath+0x16/0x1b
Dec 19 21:42:18 debian kernel: [  307.313037] mpt2sas0: _base_send_port_enable: timeout
Dec 19 21:42:18 debian kernel: [  307.313106] mpt2sas0: port enable: FAILED
Dec 19 21:42:18 debian kernel: [  307.313171] mpt2sas0: sending diag reset !!
Dec 19 21:42:19 debian kernel: [  308.430890] mpt2sas0: diag reset: SUCCESS
Dec 19 21:42:19 debian kernel: [  308.431001] mpt2sas 0000:01:00.0: PCI INT A disabled
Dec 19 21:42:19 debian kernel: [  308.431102] mpt2sas0: failure at /build/buildd-linux-2.6_2.6.32-46-amd64-_ApuPc/linux-2.6-2.6.32/debian/build/source_amd64_none/drivers/scsi/mpt2sas/mpt2sas_scsih.c:6021/_scsih_probe()!

Regressão

Testado com kernels Debian Linux:

  1. Linux debian 2.6.32-5-amd64 # 1 SMP Dom 23 de setembro 10:07:46 UTC 2012 x86_64
  2. BPO.3 (Linux debian 3.2.0-0.bpo.3-amd64 # 1 SMP Qui 23 de Agosto 07:41:30 UTC 2012 x86_64)
  3. BPO.4 (Linux debian 3.2.0-0.bpo.4-amd64 # 1 SMP Debian 3.2.32-1 ~ bpo60 + 1 x86_64)

Testado com o SAS BIOS ativado = sem alteração.

Após o tempo limite, bpo.3 e bpo4. congelar. Mesmo as teclas PgUp / PgDown não funcionam no console.

modinfo /lib/modules/2.6.32-5-amd64/kernel/drivers/scsi/mpt2sas/mpt2sas.ko | grep ^version:
version:        02.100.03.00

Atualização # 1 : testado com a versão 15.00.00.00 do driver LSI no BIOS e no firmware atualizado:

mpt2sas0: LSISAS2008: FWVersion(15.00.00.00), ChipRevision(0x03), BiosVersion(07.29.00.00)
mpt2sas0: port enable: FAILED with timeout (timeout=300s)

E o sistema congela 3492 segundos após a inicialização com a versão 15 do driver mpt2sas. Os congelamentos são resolvidos piscando para o firmware de TI.

Atualização nº 2 : alguns relatórios de SMP mais detalhados

# smp_rep_phy_err_log /dev/bsg/expander-0\:0 -vvv
    Report phy error log request: 40 11 06 02 00 00 00 00 00 00 00 00 00 00 00 00 
Report phy error log response:
  Expander change count: 303
  phy identifier: 0
  invalid dword count: 18518
  running disparity error count: 18492
  loss of dword synchronization count: 2
  phy reset problem count: 0

# smp_rep_phy_err_log /dev/bsg/expander-0\:1 -vvv
    Report phy error log request: 40 11 06 02 00 00 00 00 00 00 00 00 00 00 00 00 
Report phy error log response:
  Expander change count: 715
  phy identifier: 0
  invalid dword count: 36103
  running disparity error count: 35004
  loss of dword synchronization count: 4
  phy reset problem count: 0

# smp_rep_phy_sata --phy=5 /dev/bsg/expander-0\:0 -vvv
    Report phy SATA request: 40 12 10 02 00 00 00 00 00 05 00 00 00 00 00 00 
Report phy SATA response:
  expander change count: 303
  phy identifier: 5
  STP I_T nexus loss occurred: 0
  affiliations supported: 1
  affiliation valid: 1
  STP SAS address: 0x50014380182cf0c5
  register device to host FIS:
    34 00 50 01 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 
  affiliated STP initiator SAS address: 0x5003048007abbc00
  STP I_T nexus loss SAS address: 0x0
  affiliation context: 0
  current affiliation contexts: 1
  maximum affiliation contexts: 1

# smp_rep_exp_route_tbl /dev/bsg/expander-0\:0 -vvv
    Report expander route table request: 
      40 22 ff 06 00 00 00 00  00 3e 00 00 00 00 00 00 
      00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 
Report expander route table response header:
  expander change count: 303
  expander route table change count: 1
  self configuring: 0
  zone configuring: 0
  configuring: 0
  zone enabled: 0
  expander route table descriptor length: 4 dwords
  number of expander route table descriptors: 0
  first routed SAS address index: 0
  last routed SAS address index: 0
  starting phy id: 0

Atualização # 3 : o registro detalhado habilitado em mpt2sas.ko e log scsi aumentou usando dev.scsi.logging_level = 0x180000F1 em /etc/sysctl.conf . Saída resultante / var / log / messages:

debian kernel: [    0.927392] setting logging_level(0x00080000)
debian kernel: [    1.591808] mpt2sas0: sending port enable !!
debian kernel: [    3.113480] mpt2sas0: host_add: handle(0x0001), sas_addr(0x5003048007abbc00), phys(8)
debian kernel: [    3.124224] mpt2sas0: expander_add: handle(0x0009), parent(0x0001), sas_addr(0x50014380182cf0e6), phys(37)
debian kernel: [    3.137436] mpt2sas0: detecting: handle(0x000a), sas_address(0x50014380182cf0c0), phy(0)
debian kernel: [    3.137520] mpt2sas0: REPORT_LUNS: handle(0x000a), retries(0)
debian kernel: [    8.127417] mf:
debian kernel: [    8.127417]   0000000a 00000000 00000000 3a580000 00600000 00000018 00000000 000007f8 
debian kernel: [    8.127842]   00000000 0000000c 00000000 00000000 00000000 00000000 00000000 02000000 
debian kernel: [    8.128261]   000000a0 00000000 0000f807 00000000 00000000 00000000 00000000 00000000 
debian kernel: [    8.128679]   d30007f8 3c3a7000 00000002 00000000 
debian kernel: [    8.128980] mpt2sas0: issue target reset: handle(0x000a)
debian kernel: [    8.352363] mpt2sas0: log_info(0x31111000): originator(PL), code(0x11), sub_code(0x1000)
debian kernel: [    8.352500] mpt2sas0: target reset completed: handle(0x000a)
debian kernel: [    8.352563] mpt2sas0: issue retry: handle (0x000a)
debian kernel: [   11.347175] mpt2sas0: log_info(0x31111000): originator(PL), code(0x11), sub_code(0x1000)
debian kernel: [   11.347276] mpt2sas0: TEST_UNIT_READY: handle(0x000a), lun(0)
debian kernel: [   14.591621] mpt2sas0: log_info(0x31111000): originator(PL), code(0x11), sub_code(0x1000)
debian kernel: [   14.591720] mpt2sas0: SATA Initialization Timeout,sending a retry
debian kernel: [   14.591785] mpt2sas0: TEST_UNIT_READY: handle(0x000a), lun(0)
debian kernel: [   17.586480] mpt2sas0: log_info(0x31111000): originator(PL), code(0x11), sub_code(0x1000)
debian kernel: [   17.586836] mpt2sas0: detecting: handle(0x000b), sas_address(0x50014380182cf0c1), phy(1)

Atualização # 4 : sem tempo limite e inicialização correta da unidade quando PUIS = desativado.

Os BIOS de outros adaptadores, como o controlador HP Smart Array P410 / 256MB (462862-B21) e o Highpoint Rocket 2720SGL, também não conseguem detectar nenhuma unidade HitIS / POIS Hitachi. O BIOS do controlador Highpoint diz que está girando no Grupo 1, mas ainda não consegue detectar nenhuma unidade atrás do expansor.

Como detectar unidades no modo POIS / PUIS atrás de um expansor HP SAS usando o controlador LSISAS2008?

    
por Pro Backup 19.12.2012 / 20:34

5 respostas

2

Funciona com o PUIS desativado?

O fato de você ter uma porta habilitada falhou pode indicar um problema de HBA, mas o fato de você ter redefinido o destino nas unidades (log_info 0x31111000) mostra que a porta está habilitada em alguns casos, mas as unidades não responderam. Isso pode ser devido à condição PUIS, eles simplesmente não foram inicializados.

Normalmente, quando você tem discos atrás de um expansor SAS, o expansor assumirá a tarefa de ativá-los. Você pode tentar obter o status do expansor com o utilitário sg_ses para ver o que ele pensa.

Os erros que você está mostrando no SMP podem indicar um problema no cabo em algum lugar. Você não tem erros nos discos, mas você os tem no cabo do expansor para o iniciador. Você deve verificar essa opção também.

O log_info 0x31111000 decodifica em:

./lsi_decode_loginfo.py 0x31111000
Value       31111000h
Type:       30000000h   SAS 
Origin:     01000000h   PL 
Code:       00110000h   PL_LOGINFO_CODE_RESET See Sub-Codes below (PL_LOGINFO_SUB_CODE)
Sub Code:   00001000h   PL_LOGINFO_SUB_CODE_DSCVRY_SATA_INIT_TIMEOUT 
    
por 19.08.2014 / 20:15
1

Substitua o controlador LSI SAS 2008 por um Highpoint Rocket 2720SGL.

Este adaptador Rocket 2720SGL contém um BIOS Marvell 4.0.0.15. Este BIOS não vai girar as unidades PUIS / POIS.

Isso não é um problema, porque o código aberto HighPoint Marvell 4.0.0.1528N O driver do Linux , seu comando make , cria um módulo do kernel mv94xx.ko que é capaz de configurar as unidades PUIS / POIS, também atrás de um expansor SAS HP V2.08. Agora existem dispositivos / dev / sdXX disponíveis no Debian.

Como resultado, o Marvell BIOS pode ser desativado, o que reduz o tempo de inicialização.

Nota # 1: O Highpoint Rocket 2720SGL não é um RocketRAID 2720SGL.
        O RocketRAID contém um BIOS Highpoint, o Rocket contém um BIOS Marvell.

Observação 2: Usar outro chip baseado no Marvell 88SE9485 [1b4b: 9485], como o Supermicro SAS2LP-MV8, com um módulo mvsas.ko de estoque (versão 0.8.16, driver de controlador Marvell 88SE6440 SAS / SATA) trava o kernel quando conectando unidades nas portas 6C, 7C e 8C de um expansor HP SAS e "Falha ao obter página de diagnóstico 0x8000002", "Falha ao vincular compartimento -19" nas portas 5C e 9C ao executar versões recentes do kernel como o Ubuntu 3.12.25, 3.13. 0, 3.13.11, 3.16.0rc6 e 3.16.0-999 de 2407-2014.

    
por 03.01.2013 / 17:30
0

Parece-me que você tem que emitir um comando SCSI-startup-neste estado. Talvez habilitar o seu SCSI-BIOS irá fazer esse truque - às vezes existe uma opção por SCSI-id para "start unit" yes / no.

    
por 19.12.2012 / 22:02
0

Tente usar uma versão de driver mais recente

Parece que você está usando a versão 02.100.03.00 do driver, que é bem antiga. O mais tardar no upstream é 14.100.00.00. Você pode testar com esta versão do driver?

    
por 20.12.2012 / 12:03
0

Flash o adaptador LSI SAS2008 com firmware de TI

O driver mpt2sas responde de maneira diferente quando a placa LSI2008 está no iniciador-alvo (IT), em vez do modo IR (padrão). Por exemplo, "Dispositivos de relatórios com ativação de porta ativa" só é ativado no modo de TI de acordo com o link

O padrão na placa-mãe Super Micro X8SI6-F é o firmware de infravermelho. Depois de inicializar a partir de um stick USB formatado no sistema DOS e emitir os comandos:

> sas2flsh.exe -o -e 6

Não reinicialize

> sas2flsh.exe -o -b mptsas2.rom -f 2118ir.bin

Agora reinicie

Não há mais congelamentos com a versão do driver mpt2sas 15.00.00.00 no kernel 2.6.32-5-amd64, mas ainda há a mensagem " porta enable: FAILED com tempo limite (tempo limite = 300s) ". Ele não detecta nenhuma unidade , o console agora é preenchido com REPORT_LUNS, TEST_UNIT_READY, SATA Initialization Timeout, enviando uma nova tentativa, detectando: handle (0x00XX), sas_address (0x5001438018XXXXX) mensagens.

Nota: as unidades que estão por trás de um expansor SAS ainda não estão sendo detectadas.

    
por 21.12.2012 / 22:28

Tags