Encontro DebianDayPT 2008 - Inscreve-te! | Visite também o Planeta DebianPT.org

HAL e dispositivos de storage USB

Submetido por Américo Monteiro a Sábado, 2008-08-02 15:50.

Ois...

Recentemente vi no sistema Mandriva 2008.1 uma situação que queria meter também no meu Debian Sid.
Trata-se da maneira como se acede a dispositivos de bloco USB em linux, os quais quando são usados um de cada vez é fácil ter um ponto de montagem para eles mas quando se ligam vários em simultâneo as coisas complicam-se, e quando se lida com leitores de cartões com várias slots então é mesmo necessário entrar em configurações especiais.
Pois no Mandriva 2008.1 é ideal é não criar nenhum ponto de montagem sequer, que o HAL juntamente com uma applet chamada "dispositivos de armazenamento" fornecem a solução ideal para se lidar com múltiplos dispositivos usb-storage em simultâneo sem necessitar de configurações prévias.

Então, removi a entrada para volumes usb da fstab, habilitei o HAL e adicionei a applet ao meu painel do kde, mas está a acontecer algo ridículo:
O HAL parece estar a ignorar completamente todos os dispositivos que eu já usava quando tinha isto em montagem manual, mas só esses:
tenho 3 canetas usb, um mp3 player, e uma camera fotográfica... todos são ignorados pelo HAL:
ligo o dispositivo, os /dev/sdxx são criados, em /sys/block aparecem os dispositivos mas o HAL não reage... não aparece o icon de dispositivo na applet, não dispara a janela de media detectada e o novo volume não aparece em system:/media (no konqueror).
No entanto, ontem comprei mais uma caneta usb e consegui emprestado 2 leitores de mp3 que nunca tinham estado ligados a este sistema, e é incrível como o HAL funciona com eles...

Quando ligo estes novos dispositivos, o HAL funciona e não preciso de ponto de montagem para aceder a eles, apesar de eles serem também montados automaticamente em /media/disk, /media/disk1, etc...
Mas quando ligo os aparelhos que já usava nada acontece para além da criação dos /dev pelo udev.

Já me foi dito que a Mandriva tem essa solução implementada em
/usr/share/hal/fdi/information/10freedesktop/10-usb-card-readers.fdi
e que se pode adicionar um ficheiro em /etc/hal/fdi/policy/ para que o sistema passe a reconhecer os nossos dispositivos USB como volumes genéricos, e tenho estado a tentar isso sem sucesso, na verdade até parece que em Debian, modificações nesses ficheiros são ignoradas mesmo reiniciando o HAL e até mesmo o sistema todo.
Deram-me a explicação que o HAL apenas lida com aparelhos que conhece e que é preciso adicionar alguns, mas parece-me muita coincidência ter 5 aparelhos que não funcionam e agora estes 3 novos funcionarem.

Parece-me sim que houve aqui uma adaptação do sistema aos aparelhos que já ligava e agora estão a ser ignorados por isso, mas não me recordo de ter regulado mais nada para eles além da linha na fstab e do ponto de montagem, e que ambos foram já apagados.

Preciso de ajuda para tentar perceber se existe alguma aprendizagem do sistema a estes aparelhos e como apagá-la caso exista. Ou qualquer outra dica que me ajude a perceber onde está o mal, pois queria por o meu sistema a funcionar como o Mandriva 2008.1 neste pormenor.

Agradecido.
Américo Monteiro

Comentários

Opções de visualização dos comentários

Seleccione a sua forma preferida de visualização de comentários e clique "Gravar configuração" para activar as suas alterações.

isso cheira-me a rules do

isso cheira-me a rules do udev... investiga no /etc/udev/rules.d/

::-------------------------------------
"Manage complexity, achieve agility"

ah, by the way... reiniciar

ah, by the way... reiniciar a HAL não é boa ideia... dá uma olhada no site do projecto, acho que está no faq...

::-------------------------------------
"Manage complexity, achieve agility"

Mandriva ganha...

Não consigo.

Se lá o que for que a Mandriva fez, eu não consigo replicar aqui... tenho andado a comparar ficheiros de configuração do udev e do HAL de Pc da minha filha e não consigo fazer Debian Sid comportar-se da mesma maneira. Também não há problema, consigo usar todos os que não accionam o HAL com apenas um ponto de montagem (desde que use um de cada vez).

No entanto a minha suspeita de que na Debian ficou guardado informação dos aparelhos mais antigos caiu por terra, quando liguei um telefone Nokia que nunca aqui tinha estado e também não activou o HAL, tendo-o feito instantaneamente quando ligado no Pc da miuda.

De qualquer maneira estou contente: Claro que nunca testei todas as distros que existem, mas testei algumas e acabei por decidir-me por Debian Sid para mim e Mandriva para os Pcs que preparo para outras pessoas... Mandriva tem um painel de controle excelente onde se configura facilmente todo o hardware, além disso foi a 1ª distro que vi a permitir abrir um leitor de cd's mesmo montado e ocupado, e isso é muito bom se pensarmos que no caso duma aplicação encravar a ler o cd (devido a sujidade deste talvez), um utilizador sem conhecimentos avançados não vê saida a não ser um reset forçado à torre, mas se a gaveta do leitor abrir carregando no botão dela, e que é a reacção normal de cada um, o sistema desiste de ler o cd e o programa termina libertando todo o encravamento em que o sistema estava (esta situação já foi testada por mim diversas vezes).
No entanto havia este "rabo" dos usb-storage para resolver, a maioria dos dispositivos tem uma partição e geram /dev/sda1 mas nem todos e alguns acende-se a eles por /dev/sda, logo aqui estava um problema, e quando se lida com mais do que um ao mesmo tempo então a situação piorava terrivelmente requerendo mesmo pré-configurações o que era inadmissível apenas porque alguém comprou um leitor de mp3 novo ter que pedir para lhe configurar o novo aparelho... e muitas vezes o amigo que está lá em casa pede para porem musicas no mp3 dele que nunca ali tinha sido ligado e iria ser ligado apenas uma vez. A mesma situação atinge níveis absurdos quando se liga um leitor de cartões com várias slots, pois não se sabe se o cartão de memória vai aparecer em sda1 ou sdb1 ou sdc1...
Esta era uma situação em que o Windows XP ganhava de caras, e que eu já batalhava com ela há imenso tempo.
Resta-me tirar o chapéu à equipa Mandriva, pois conseguiram resolver um problema chato de todas as distros linux que conheço, e que estava a tornar-se cada vez mais chato pois hoje em dia recorre-se cada vez mais a aparelhos destes, e esta solução está até mais fácil de usar que a do Windows, pois não há drives vazias e não é preciso ir clicando drive a drive à procura de onde estão os ficheiros.

À equipa Mandriva: seja lá o que for que fizeram, ficou muito bom :)
Clap Clap Clap Clap

Back to top