Como acessar dispositivos USB no Linux

Por:
Como acessar dispositivos USB no Linux

Hoje em dia a maior parte dos dispositivos de armazenamento USB, como cartões de memória, câmeras e também CD-ROMs USB são compatíveis com um protocolo padrão, o USB-Storage. Não são necessários drivers separados para cada modelo.

A detecção é feita pelo hotplug, um serviço de sistema que fica habilitado por padrão em quase todas as distribuições atuais, até mesmo no Slackware, a partir da versão 9.1.

A tarefa dele é detectar novos dispositivos USB ou PCMCIA assim que são plugados, carregando os módulos apropriados. Não é preciso plugar os dispositivos antes de ligar o micro, eles são detectados “on the fly”, poucos segundos depois de serem ligados. Isto é geralmente suficiente para colocar o dispositivo para funcionar, mais ainda fica faltando o ultimo passo que é montá-lo, para finalmente acessar os dados.

Muitas distribuições, como o Mandrake 9.2 em diante incluem utilitários que cuidam desta última milha, detectando o dispositivo e criando um ícone para ele no desktop. O Kurumin consegue detectar CD-ROMS e gravadores USB e inclui ícones mágicos para acessar cartões de memória, câmeras e HDs USB.

Mas, o objetivo deste artigo é ensiná-lo a acessar estes dispositivos manualmente, quando as ferramentas de detecção automáticas falharem, para que você possa entender os passos envolvidos no processo de ativação, então vamos lá 🙂

Os memory-keys, cartões de memória ligados através da porta USB e HDs USB são detectados pelo sistema como se fossem dispositivos SCSI. A localização mais comum é /dev/sda. Se por acaso você tiver mais de um, o segundo será detectado como /dev/sdb. Existem no mercado vários formatos de cartões de memória, como os compact flash, memory stick e smart media. Existem vários tipos de adaptadores, tanto USB quanto PCMCIA para ligá-los no PC. Usando estes adaptadores, o cartão de memória é reconhecido da mesma forma que um memory-key.

gdh1
Para todos os efeitos, os memory-keys e cartões de memória são vistos como se fossem HDs externos. Eles são inclusive particionados. Se você rodar o comando “cfdisk /dev/sda” (ou abrir o /dev/sda em outro particionador de sua preferência) vai ver as partições:

gdh2
O padrão é que eles venham de fábrica com uma única partição FAT 16, usada pelos fabricantes por ter pouco overhead e ser compatível com todas as versões do Windows e Linux. Mas, é possível dividir em várias particoes e até mesmo usar outros sistemas de arquivos.

Caso exista uma única partição ela aparece sempre como /dev/sda1, você precisa apenas montá-la em uma pasta qualquer para acessar os arquivos, como em:

# mkdir /mnt/usb

(para criar a pasta)

# mount /dev/sda1 /mnt/usb

(para montar)

Depois é só abrir o gerenciador de arquivos para visualizar os arquivos através da pasta. Ele será sempre montado com permissão de escrita, mas dependendo da distribuição você pode precisar primeiro acessar a pasta como root e alterar as permissões de acesso para que seu login de usuário passa ter acesso completo. Para abrir o konqueror como root, use o comando: kdesu konqueror

Caso você esteja usando um adaptador PCMCIA para acessar o cartão ele será detectado pelo sistema como um disco IDE e não SCSI. Neste caso o dispositivo será /dev/hde1 e você poderá acessá-lo com o comando:

# mount /dev/hde1 /mnt/usb

A maioria das câmeras digitais vendidas hoje em dia também sao compatíveis com o USB Stograge e graças a isso são acessadas da mesma forma que os cartões de memória.

Você precisa apenas “montar” a câmera para ter acesso às fotos armazenadas no cartão de memória. A partir daí você pode baixar as fotos, deletá-las ou até mesmo usar a câmera como meio de transporte para outros tipos de arquivos, como se fosse uma memory key USB.

Para isso basta rodar os comandos:

# mkdir /mnt/camera

(cria a pasta)

# mount /dev/sda1 /mnt/camera

(monta)

Na hora de desplugar o cabo, rode um:

# umount /mnt/camera

Para ter certeza que o sistema atualizou corretamente os arquivos no cartão.

Para câmeras que não são compatíveis com este sistema ainda resta o libgphoto, usado através de programas como o gtkan e o baixar-fotos do Kurumin. Ele é um conjunto de drivers para vários modelos de câmeras, principalmente modelos antigos. Você pode ler um pouco mais sobre ele aqui:

https://www.hardware.com.br/analises/analise-kodak/

Os CD-ROMs USB também são detectados como dispositivos SCSI, mas o dispositivo criado pelo sistema é diferente.

Caso você tenha apenas o CD-ROM USB ele será sempre o /dev/sr0, caso você tenha também um gravador IDE então o gravador IDE será o /dev/sr0 e o USB será o /dev/sr1

Para acessar usamos novamente o bom e velho mount, como em:

# mkdir /mnt/cdrom1

(cria a pasta)

# mount /dev/sr0 /mnt/cdrom1

(monta)

Antes de trocar o CD ou desplugar o memory key você deve primeiro desmontar a pasta, como em:

# umount /dev/usb
# umount /dev/cdrom1

Para checar se o gravador USB foi reconhecido, rode o comando:

# cdrecord -scanbus

Ele mostra a lista dos gravadores disponíveis, como em:

scsibus0:
0,0,0 0) ‘MATSHITA’ ‘UJDA750 DVD/CDRW’ ‘1.51’ Removable CD-ROM
0,1,0 1) *
0,2,0 2) *
0,3,0 3) *
0,4,0 4) *
0,5,0 5) *
0,6,0 6) *
0,7,0 7) *

scsibus1:
1,0,0 100) ‘IMATION ‘ ‘RIPGO! ‘ ‘1.08’ Removable CD-ROM
1,1,0 101) *
1,2,0 102) *
1,3,0 103) *
1,4,0 104) *
1,5,0 105) *
1,6,0 106) *
1,7,0 107) *

Neste caso tenho dois gravadores. Um IDE que foi reconhecido pelo sistema como o dispositivo “0,0,0” e um RipGo, um gravador USB que apareceu como unidade “1,0,0”. Isto indica que ele está pronto para ser usado.

Caso o gravador não tenha sido reconhecido automáticamente, você pode experimentar carregar os módulos e restartar o hotplug manualmente, usando os comandos:

# /etc/init.d/hotplug stop
# modprobe usbcore
# modprobe usb-storage
# /etc/init.d/hotplug start

A partir do momento em que o gravador aparece na lista do cdrecord -scanbus, ele já estará disponivel no programa de gravação, seja o K3B ou o xcdroast. Algumas versões antigas do K3B tinham problemas para conversar com alguns gravadores USB, mas as atuais estão bem melhores neste quesito.

gdh3
Em último caso, caso o programa realmente não consiga encontrar o gravador, mesmo após este ter sido ativado pelo sistema, você pode ainda gravar o CD manualmente, usando o CD record, como em:

# cdrecord speed=4 dev=1,0,0 -data kurumin.iso

(onde o dev=1,0,0 é o código de identificação do dispositivo no cdrecord -scanbus e o 4 é a velocidade de gravação)

Este comando serve para gravar um arquivo ISO já previamente criado. Você pode criar o ISO usando o K3B, basta criar uma nova seção para gravar um CD de dados e na hora de gravar marcar a opção “somente criar imagem”.

gdh4
Lembre-se que os gravadores USB 1.x estão limitados a 4X por causa da interface. Você pode arriscar gravar a 6X, mas este é o limite extremo. É possivel gravar em velocidades mais altas apenas em gravadores que usam portas USB 2.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X