não consegue encontrar o dispositivo USB para montar

4

Como posso encontrar qual / dev /? dispositivo para montar o meu disco rígido USB no Red Hat 3 Taroon? Eu tenho pesquisado muito e verificado arquivos de log e ainda não tenho idéia. Estou tentando minha última chance com vocês especialistas,

# /sbin/fdisk -l

não informa nada sobre o drive USB.

# lsusb -vv
Bus 004 Device 005: ID 059f:0951 LaCie, Ltd 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x059f LaCie, Ltd
  idProduct          0x0951 
  bcdDevice            0.00
  iManufacturer          10 LaCie
  iProduct               11 LaCie Hard Drive USB
  iSerial                 5 9F908FFFFFFF
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          4
    bmAttributes         0xc0
      Self Powered
    MaxPower                2mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk (Zip)
      iInterface              6 MSC Bulk-Only Transfer
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               none
        wMaxPacketSize        512
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               none
        wMaxPacketSize        512
        bInterval               0
  Language IDs: (length=4)
     0409 English(US)

e aqui estão mais alguns que podem ser interessantes

# /var/log/message
May 23 18:17:13 mypc kernel: USB.c: USB disconnect on device 00:1d.7-5 address 4
May 23 18:18:00 mypc kernel: hub.c: new USB device 00:1d.7-5, assigned address 5
May 23 18:18:00 mypc kernel: USB.c: USB device 5 (vend/prod 0x59f/0x951) is not claimed by any active driver.
    
por fixer1234 23.05.2011 / 19:13

5 respostas

4

Obrigado a todos por suas respostas

O módulo usb-storage não foi carregado no kernel

modprobe usb-storage
    
por 25.08.2011 / 02:03
1

O dmesg é o lugar para encontrar essa informação.

Por exemplo, aqui está a saída de um 'dmesg | cauda 'depois de ligar um pendrive USB na minha caixa

verrall@granite:~$ dmesg | tail
[4296470.550538] sd 46:0:0:0: [sdg] Write Protect is off
[4296470.550538] sd 46:0:0:0: [sdg] Mode Sense: 00 00 00 00
[4296470.550538] sd 46:0:0:0: [sdg] Assuming drive cache: write through
[4296470.555971] sd 46:0:0:0: [sdg] 16058440 512-byte hardware sectors (8222 MB)
[4296470.555971] sd 46:0:0:0: [sdg] Write Protect is off
[4296470.555971] sd 46:0:0:0: [sdg] Mode Sense: 00 00 00 00
[4296470.555971] sd 46:0:0:0: [sdg] Assuming drive cache: write through
[4296470.555971] sdg: sdg1
[4296470.764472] sd 46:0:0:0: [sdg] Attached SCSI removable disk
[4296470.764509] sd 46:0:0:0: Attached scsi generic sg7 type 0

Daqui eu posso ver que meu dispositivo é / dev / sdg e que tem uma partição nele / dev / sdg1. Então, para montar isso em / mnt eu faria,

# sudo mount /dev/sdg1 /mnt

    
por 24.05.2011 / 17:28
0

Se você sabe o rótulo da partição que você deseja montar (digamos, o volume chamado "LaCie"), você pode fazer um

sudo findfs LABEL="LaCie"

imprimirá o nome do dispositivo correspondente a essa partição.

    
por 30.05.2011 / 21:36
0

O que eu costumo fazer é executar dmesg|tail , depois de desconectar e conectar o dispositivo usb.

Provavelmente existe um método melhor, mas isso funciona bem o suficiente para mim. : -)

    
por 24.05.2011 / 16:09
0

Eu fiz muita pesquisa no Google e a melhor solução que consegui encontrar foi usar o dmesg. No entanto, esta não é uma resposta satisfatória para o script. Eu poderia analisar a saída do dmesg, mas então alguém inocentemente ajustando uma mensagem de log quebraria meu script.

Eu encontrei uma resposta que funciona para uma distribuição Debian com um kernel 2.6.32-5-amd64. Parece que os arquivos envolvidos não são muito dependentes da distribuição, mas eu não verifiquei isso.

O segredo é lembrar que, no que diz respeito ao kernel do Linux, as unidades USB também são unidades SCSI. O comando 'ls-l / sys / bus / scsi / devices' mostrará o conteúdo do diretório como um conjunto de links simbólicos. Você descobrirá que todas as unidades USB serão vinculadas a um caminho que contenha a string 'usb', enquanto as unidades não USB não terão a string no caminho do link simbólico.

Existem três conjuntos de diretórios em / sys / bus / scsi / devices, o?:?:?:? diretório, o host? diretório e o alvo?:?:? diretório. Você descobrirá que o diretório apropriado / sys / bus / scsi / devices /?:?:?:? / Contém um diretório com o nome do arquivo de dispositivo que ele usa.

Aqui está um fragmento Perl que mostra como obter uma lista de arquivos do dispositivo, um para cada unidade USB:

opendir(DIR,"/sys/bus/scsi/devices") or die "Cannot enumerate SCSI devices\n";

while(my $file=readdir(DIR)) {
    next if($file eq '.');
    next if($file eq '..');
    next if(!(-l "/sys/bus/scsi/devices/$file"));
    next if(!($file=~/\d*:\d*:\d*:\d*/));
    if(readlink("/sys/bus/scsi/devices/$file")=~/usb/) {
        opendir(INNER_DIR,"/sys/bus/scsi/devices/$file/block") or die "Cannnot open $file/block\n";
        while(my $inner_file=readdir(INNER_DIR)) {
            next if($inner_file eq '.');
            next if($inner_file eq '..');
            push @dev_files, "/dev/$inner_file";
        }
        closedir INNER_DIR;
    }
}
closedir DIR;
die "No USB devices found\n" unless(scalar @dev_files);

for my $line (@dev_files) {
    print "$line\n";
}
    
por 19.06.2013 / 01:47