O CentOS não vê dispositivo USB

1

Estou rodando o CentOS 6.3 dentro do VirtualBox e estou tendo problemas para ver meu pen drive USB 2.0. No VirtualBox eu vou para dispositivos, drives USB e posso capturar meu pen drive conectado. Eu criei um ponto de montagem no CentOS, mas o fdisk não mostra a unidade (espero ver o SDC) lá. O que estou perdendo?

    
por Joe 19.03.2013 / 20:03

2 respostas

2

Um pendrive USB deve aparecer em sysfs em /sys/block/ e deve ser denominado sd* . Aqui está um pequeno script que verifica cada dispositivo em /sys/block se for um drive USB:

#!/bin/bash

function is_usb_disk()
{
        device=$1
        is_usb_attached=$(udevadm info --query=property --path="/sys/block/$device" | grep -i "^ID_BUS=usb$")
        is_disk=$(udevadm info --query=property --path="/sys/block/$device" | grep -i "^ID_TYPE=disk$")
        if [[ -n $is_usb_attached && -n $is_disk ]]; then
                return 0
        else
                return 1
        fi
}

for block_device in $(ls /sys/block); do
        is_usb_disk $block_device
        if [[ $? -eq 0 ]]; then
                serial=$(udevadm info --query=property --path="/sys/block/$block_device" | grep "^ID_SERIAL=" | cut -d "=" -f 2)
                echo "/dev/$block_device ($serial) is an USB disk."
        fi
done

Este script verifica cada dispositivo de bloco se ele estiver conectado ao barramento USB (via propriedade ID_BUS) e se for um disco (via propriedade ID_TYPE). Se encontrar um dispositivo, ambos são verdadeiros e imprime o nó do dispositivo com o serial do dispositivo correspondente.

Você pode copiar isso para um arquivo, por exemplo %código%. Dê permissão de execução via find_usb_disks.sh e execute-a. A saída ficará assim:

/dev/sdb (0204_Flash_Disk_19250701EF6B1E05-0:0) is an USB disk.

Se ele não retornar nada, é provável que o seu pen drive não esteja "inserido" corretamente. Verifique via chmod u+x find_usb_disks.sh se módulos como lsmod estiverem carregados. Se usb_storage não estiver carregado, desconecte seu dispositivo, execute

modprobe usb_storage

conecte-o novamente e veja se o seu pen drive aparece. Uma boa maneira de monitorar se o seu dispositivo é reconhecido pelo kernel é

udevadm monitor

Desconecte seu dispositivo USB, execute esse comando, conecte seu dispositivo novamente. Assim que você conectar o seu dispositivo usb, você verá o kernel (e o udev) "adicionar" ações.

Lembre-se de que, se o disco tiver partições, um número de partição será anexado ao nome do nó do dispositivo (por exemplo, usb_storage ). Meu script não encontraria a partição, apenas verifica se um dispositivo foi adicionado corretamente.

    
por 19.03.2013 / 23:51
0

você precisa instalar o pacote de extensão para isso. Leia isso link

    
por 21.03.2013 / 14:38