Montar MP3 e pendrives USB automaticamente com Hotplug

Descreve-se como configurar o Hotplug para montar automaticamente dispositivos USB ao conectá-los. Útil principalmente aos que não têm Udev nem Hal. É continuação de outro artigo do autor: Slackware 10.2 com dois kernels na mesma instalação. Palavras-chave: USB, hotplug, pendrive, kernel 2.4, slackware.

[ Hits: 17.478 ]

Por: Elias Zoby em 08/01/2008 | Blog: http://concordancia.webs.com


Configurar o Hotplug e criar os scripts



Este seria inicialmente o Apêndice 3 do artigo anterior,
Mas achei melhor separar para ser útil a pessoas com problemas mais simples, tais como ter de ficar montando cada dispositivo USB só porque não tem Udev e Hal.

A solução, com as necessárias adaptações, serve para quaisquer dispositivos de armazenamento (Mp3, pendrives, câmeras etc). Com mais trabalho e pesquisa, servirá a outros hardwares também.

O sistema testado foi Slackware 10.2.

As configurações do Hotplug no Slackware, e provavelmente em muitas outras distros, são muito básicas e pouco é documentado em linguagem compreensível sobre esse sistema. Então este artigo visa suprir parte dessa lacuna.

Se rc.hotplug já está ativado (chmod +x /etc/rc.d/rc.hotplug), o trabalho é todo como root no diretório de configuração do Hotplug: /etc/hotplug.

Talvez seja possível colocar comandos "/sbin/mount" e "/sbin/umount" diretamente nos arquivos já existentes, mas não sei fazer. Então criei duas regras em /etc/hotplug/usb.usermap (se não existir: # touch /etc/hotplug/usb.usermap) e dois scripts - /etc/hotplug/usb/mp3 e /etc/hotplug/usb/pen - para os mesmos dispositivos citados no artigo anterior. A saber, um Mp3 Foston 256 Mb que sempre é localizado como /dev/sda e um pendrive Kingston de 2 Gb que pode ser /dev/sda1 ou /dev/sdb1 de acordo à porta em que for conectado.

Dei permissão de execução aos scripts mp3 e pen.

Basicamente o que eles farão é desmontar o diretório alvo, para o caso de haver algo lá, e remontar com os dispositivos indicados nas regras estabelecidas em usb.usermap.

Necessário saber quais os IDs. É só plugar todos os dispositivos USB e verificar a saída de lsusb.

# lsusb
Bus 002 Device 002: ID 10d6:1100 Actions Semiconductor Co., Ltd
Bus 001 Device 003: ID 0951:1603 Kingston Technology

Conteúdo do MEU usb.usermap:

# script match_flags idVendor idProduct bcdDevice_lo
bcdDevice_hi bDeviceClass bDeviceSubClass bDeviceProtocol
bInterfaceClass bInterfaceSubClass bInterfaceProtocol driver_info
# Primeiro campo é o script ou módulo. Segundo campo match_flags:
0x0003 = dispositivos que preencham ambos os ids. Terceiro e quarto campos referem-se aos ids, precedidos de 0x.
mp3          0x0003 0x10d6   0x1100    0x0000       0x0000          
0x00         0x00            0x00            0x00            0x00              
0x00            0x00000000    
pen          0x0003 0x0951   0x1603    0x0000       0x0000          
0x00         0x00            0x00            0x00            0x00              
0x00            0x00000000    

São quatro linhas somente, começando com #, #, mp3, pen. As linhas comentadas (#) servem apenas de ilustração. Não pode haver quebra de linha no lugar errado, na dúvida copie o padrão do usb.distmap.

Criei os diretórios /mnt/sda e /mnt/usb.

No /etc/fstab acrescentei três linhas:

/dev/sda /mnt/sda  auto  noauto,users,rw  0  0    
/dev/sda1 /mnt/usb  auto  noauto,users,rw  0  0    
/dev/sdb1 /mnt/usb auto noauto,users,rw 0 0

Conteúdo de MEU /etc/hotplug/usb/mp3:

#!/bin/sh
umount /mnt/sda; sleep 1 # Desmontar o diretório antes de montá-lo às cegas.
mount /mnt/sda

São três linhas: #, umount, mount.

Conteúdo de pen:

#!/bin/sh
umount /mnt/usb; sleep 1
mount /mnt/usb

Resultados e discussão

Reiniciei o sistema e os dispositivos foram montados automaticamente ao ser conectados. Teoricamente só precisaria reiniciar o rc.hotplug, mas na prática coisas estranhas acontecem (no meu caso o script pen só funcionou depois de reiniciar o micro).

Antes de desplugar os dispositivos, é bom desmontá-los, principalmente se acabou de gravar dados neles.

Quem não quisesse alterar o fstab, acho que poderia somente acrescentar os dispositivos (mount /dev/sda /mnt/sda) antes dos pontos de montagem. Embora, no meu caso, teria de resolver a questão do pendrive que ora é reconhecido como sda1, ora como sdb1.

Referência

MORIMOTO, Carlos E. Acessando dispositivos USB e escrevendo regras.
http://www.guiadohardware.net (Neste deve ser feita uma correção: ohci NÃO dá suporte aos controladores usados pela Via, mas sim ehci e uhci.) 2006.

   

Páginas do artigo
   1. Configurar o Hotplug e criar os scripts
Outros artigos deste autor

Autofs-4.1.4 para Slackware 12: Compilação, instalação, configuração

Por que e como referenciar artigos nos sites de informática

Softmodem em Linux com dois kernels

Caracteres especiais no teclado Linux: como adaptar às necessidades do escritor

Slackware 10.2 com dois kernels na mesma instalação

Leitura recomendada

VTUN e VELOX

Removendo dependências desnecessárias no Debian

Verificando a temperatura do HD no Slackware

Clonando HD no Linux

FTP com autenticação LDAP

  
Comentários
[1] Comentário enviado por sombriks em 08/01/2008 - 12:25h

ah, é admiro pessoas de coragem, que fazem o velho veneno render ainda mais!

parabéns pela inciativa,

[2] Comentário enviado por thyaguvinny em 08/01/2008 - 16:15h

Não gostei tanto... foi muito específico, como que para resolver um problema pessoal...
Seria mais uma dica do que um artigo!

[3] Comentário enviado por blackthigrez em 09/01/2008 - 10:52h

Admiro a iniciativa! Parabéns.
Quanto ao comentário supra citado, discordo. O "problema pessoal" pode ajudar a muitos outros usuários. A mim por exemplo, new user do slack.

Toda iniciativa como esta deve ser incentivada, pois demanda tempo e esforços de alguém.

Abraço,
tfa.

[4] Comentário enviado por zoby em 12/01/2008 - 02:31h

Esqueci de especificar q Hotplug aplica-se somente a kernel 2.4.xxx.
Como este era um apêndice do outro artigo, mesmo já tendo lá dito isso, ao separar, deveria repetir. Creio q Hotplug e Udev sejam capazes de fazer muito mais do q as configurações habituais os permitem, o problema é q mesmo coisas tão simples c/o as q coloquei não vêm descritas. No Slack 12 Udev-Hal estão bem configurados, mas foi perdida a possibilidade de usar kernel 2.4, o qual continua sendo desenvolvido.

[5] Comentário enviado por removido em 16/01/2008 - 09:12h

achei ótimo esse artigo, como novo usuário do slackware eu sempre gosto de aprender + truques e talz sobre esse maravilhoso sistema.

[6] Comentário enviado por k33p em 03/05/2008 - 07:33h

muito interessante^^ parabéns


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts