Raspbian: nome do dispositivo de armazenamento USB alterado após o ciclo de energia do dispositivo USB

4

Estou executando o Raspbian 7.4 em um PI de framboesa que tem dois dispositivos de armazenamento USB conectados a ele. Esse PI de framboesa permanecerá em execução durante uma falha de energia, pois possui um cabo de console conectado a ele, que fornece uma fonte de energia contínua.

Meu problema é quando minha casa sofre uma queda de energia. O PI do Raspberry ignora a mensagem " USB disconnect " do dispositivo de armazenamento USB, mas quando a energia é restaurada e os dispositivos USB são reconectados, recebem novos nomes de dispositivos. / p>

O problema é que mount mostra as unidades com seus nomes de dispositivos anteriores que não existem mais. Neste ponto, qualquer tentativa de acessar as unidades usando seus nomes de ponto de montagem falha com um erro de E / S. Eu tenho que manualmente umount e re-montar as unidades.

Eu uso o UUID das unidades em /etc/fstab para evitar problemas com nomes de dispositivos e para manter a consistência sobre como as unidades são montadas em pontos de montagem.

Em vez disso, devo usar as regras udev para criar um alias SYMLINK para cada unidade usando o número de série exclusivo da unidade e alterar /etc/fstab para usar esses aliases de unidade em vez de UUIDs para montagem?

O syslog abaixo mostra as unidades indo embora e voltando como sdc e sdd . Eles eram sda e sdb antes da falha de energia.

É claro que eu poderia simplesmente colocar as unidades USB em um no-break pequeno, o que provavelmente farei, mas gostaria de saber a melhor maneira de lidar com esse tipo de problema, ou seja, ter nomes consistentes de dispositivos de disco USB.

Dec 31 06:45:46 raspberrypi kernel: [8332934.611538] smsc95xx 1-1.1:1.0 eth0: link down
Dec 31 06:45:47 raspberrypi ifplugd(eth0)[27446]: Link beat lost.
Dec 31 06:45:48 raspberrypi kernel: [8332935.871532] usb 1-1.2.3: USB disconnect, device number 47
Dec 31 06:45:48 raspberrypi kernel: [8332936.048631] usb 1-1.2.4: USB disconnect, device number 48
Dec 31 06:45:57 raspberrypi ifplugd(eth0)[27446]: Executing '/etc/ifplugd/ifplugd.action eth0 down'.
Dec 31 06:45:57 raspberrypi ifplugd(eth0)[27446]: client: /sbin/ifdown: interface eth0 not configured
Dec 31 06:45:57 raspberrypi ifplugd(eth0)[27446]: Program executed successfully.
Dec 31 06:46:22 raspberrypi kernel: [8332970.159145] usb 1-1.2.3: new high-speed USB device number 52 using dwc_otg
Dec 31 06:46:22 raspberrypi kernel: [8332970.176208] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
Dec 31 06:46:22 raspberrypi kernel: [8332970.261060] usb 1-1.2.3: New USB device found, idVendor=0480, idProduct=d010
Dec 31 06:46:22 raspberrypi kernel: [8332970.261096] usb 1-1.2.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Dec 31 06:46:22 raspberrypi kernel: [8332970.261111] usb 1-1.2.3: Product: External USB 3.0
Dec 31 06:46:22 raspberrypi kernel: [8332970.261128] usb 1-1.2.3: Manufacturer: TOSHIBA
Dec 31 06:46:22 raspberrypi kernel: [8332970.261142] usb 1-1.2.3: SerialNumber: 20131223xxxxxx
Dec 31 06:46:22 raspberrypi kernel: [8332970.267325] usb-storage 1-1.2.3:1.0: USB Mass Storage device detected
Dec 31 06:46:22 raspberrypi kernel: [8332970.268372] scsi16 : usb-storage 1-1.2.3:1.0
Dec 31 06:46:22 raspberrypi kernel: [8332970.509204] usb 1-1.2.4: new high-speed USB device number 53 using dwc_otg
Dec 31 06:46:22 raspberrypi kernel: [8332970.611100] usb 1-1.2.4: New USB device found, idVendor=0480, idProduct=d010
Dec 31 06:46:22 raspberrypi kernel: [8332970.611136] usb 1-1.2.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Dec 31 06:46:22 raspberrypi kernel: [8332970.611154] usb 1-1.2.4: Product: External USB 3.0
Dec 31 06:46:22 raspberrypi kernel: [8332970.611171] usb 1-1.2.4: Manufacturer: TOSHIBA
Dec 31 06:46:22 raspberrypi kernel: [8332970.611186] usb 1-1.2.4: SerialNumber: 20131223xxxxxx
Dec 31 06:46:22 raspberrypi kernel: [8332970.612810] usb-storage 1-1.2.4:1.0: USB Mass Storage device detected
Dec 31 06:46:22 raspberrypi kernel: [8332970.616236] scsi17 : usb-storage 1-1.2.4:1.0
Dec 31 06:46:23 raspberrypi ifplugd(eth0)[27446]: Link beat detected.

Dec 31 06:46:31 raspberrypi kernel: [8332979.800679] scsi 17:0:0:0: Direct-Access     TOSHIBA  External USB 3.0 0201 PQ: 0 ANSI: 6
Dec 31 06:46:31 raspberrypi kernel: [8332979.803181] sd 17:0:0:0: Attached scsi generic sg0 type 0
Dec 31 06:46:31 raspberrypi kernel: [8332979.804978] sd 17:0:0:0: [sdc] Very big device. Trying to use READ CAPACITY(16).
Dec 31 06:46:32 raspberrypi kernel: [8332979.828186] sd 17:0:0:0: [sdc] 732566645 4096-byte logical blocks: (3.00 TB/2.72 TiB)
Dec 31 06:46:32 raspberrypi kernel: [8332979.828999] sd 17:0:0:0: [sdc] Write Protect is off
Dec 31 06:46:32 raspberrypi kernel: [8332979.829037] sd 17:0:0:0: [sdc] Mode Sense: 2b 00 00 00
Dec 31 06:46:32 raspberrypi kernel: [8332979.831227] sd 17:0:0:0: [sdc] Write cache: disabled, read cache: enabled, doesn't sup
port DPO or FUA
Dec 31 06:46:32 raspberrypi kernel: [8332979.834218] sd 17:0:0:0: [sdc] 732566645 4096-byte logical blocks: (3.00 TB/2.72 TiB)
Dec 31 06:46:32 raspberrypi kernel: [8332979.865016]  sdc: sdc1
Dec 31 06:46:32 raspberrypi kernel: [8332979.871007] sd 17:0:0:0: [sdc] 732566645 4096-byte logical blocks: (3.00 TB/2.72 TiB)
Dec 31 06:46:32 raspberrypi kernel: [8332979.872197] sd 17:0:0:0: [sdc] Attached SCSI disk
Dec 31 06:46:32 raspberrypi kernel: [8332980.064257] scsi 16:0:0:0: Direct-Access     TOSHIBA  External USB 3.0 0201 PQ: 0 ANSI: 6
Dec 31 06:46:32 raspberrypi kernel: [8332980.065680] sd 16:0:0:0: Attached scsi generic sg1 type 0
Dec 31 06:46:32 raspberrypi kernel: [8332980.067627] sd 16:0:0:0: [sdd] Very big device. Trying to use READ CAPACITY(16).
Dec 31 06:46:32 raspberrypi kernel: [8332980.092080] sd 16:0:0:0: [sdd] 732566645 4096-byte logical blocks: (3.00 TB/2.72 TiB)
Dec 31 06:46:32 raspberrypi kernel: [8332980.092708] sd 16:0:0:0: [sdd] Write Protect is off
    
por HeatfanJohn 06.01.2015 / 00:12

1 resposta

1

Seu problema seria resolvido se o Pi e o dispositivo de armazenamento alimentado estivessem em um no-break.

Este é um problema comum com / media. Ele pegará o nome atribuído e começará a adicionar dígitos se ele não tiver limpado seu cache (geralmente requer uma reinicialização) antes de você desconectar e depois reconectar (ou desligar o dispositivo de armazenamento).

Por outro lado, uma coisa sempre permanece constante: A conexão USB ao (primeiro) Arduino Nano é sempre denominada / dev / ttyUSB0 e a (primeira) conexão USB a um Arduino Uno é / dev / ttyACM0 - Eles simplesmente desaparecem quando ele está desconectado e depois volta quando é ligado novamente.

A única maneira de confundi-los é se você tiver mais do que um do mesmo tipo (Nano ou Uno) e você os reposicionar em uma ordem diferente da que foi feita inicialmente.

Isso só importa no IDE do Arduino no Rpi, porque se você tiver mais de um do mesmo tipo, não há como diferenciá-los além de saber a ordem que você usou para conectá-los.

Se você esquecer, feche o IDE, desconecte-os e use

ls /dev/tty*

repetidamente para ver o que muda quando você os conecta de volta.

Depois, você pode reiniciar o IDE e eles serão exibidos como portas disponíveis.

    
por 21.01.2017 / 11:17