Como faço para impedir que o linux tente montar o telefone android como armazenamento usb?

2

Quando eu conecto meu Motorola Triumph à minha porta USB fedora 17 linux box, recebo uma série interminável de erros na caixa linux enquanto ela tenta desesperadamente montar o telefone como uma unidade USB. Coisas assim:

Jun 23 10:26:00 zooty kernel: [528926.714884] end_request: critical target error, dev sdg, sector 4
Jun 23 10:26:00 zooty kernel: [528926.715865] sd 16:0:0:1: [sdg]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
Jun 23 10:26:00 zooty kernel: [528926.715869] sd 16:0:0:1: [sdg]  Sense Key : Illegal Request [current] 
Jun 23 10:26:00 zooty kernel: [528926.715872] sd 16:0:0:1: [sdg]  Add. Sense: Invalid field in cdb
Jun 23 10:26:00 zooty kernel: [528926.715876] sd 16:0:0:1: [sdg] CDB: Read(10): 28 20 00 00 00 00 00 00 04 00

Se eu for em frente e dizer ao telefone para permitir que o linux monte o armazenamento USB, as mensagens parem e eu recebo uma unidade montada, mas se tudo que eu quero fazer é usar a ponte de depuração, meu log no linux continuará para preencher com esse lixo. Existe alguma mágica do udev que eu possa fazer para fazer o sistema ignorar esse dispositivo em particular no que diz respeito ao armazenamento usb?

Eu notei que, se eu disser ao telefone para habilitar o armazenamento USB, deixar o linux reconhecer o novo disco e dizer ao telefone para desativar o armazenamento USB novamente, recebo uma mensagem de log adicional sobre a capacidade de mudar para zero, mas o spew interminável de mensagens para, então eu acho que um trabalho é ativar e desativar o USB imediatamente.

    
por user1160711 23.06.2012 / 16:37

1 resposta

0

Você pode dizer ao módulo usb-storage para ignorar uma combinação VID / PID

Crie um arquivo como /etc/modprobe.d/android.conf com o conteúdo do formulário

opções usb-quirks = vid ##: pid ##: i

Onde o vid / pid é dado em hexadecimal sem prefixo

Uma séria limitação desta técnica é que algumas instalações carregarão o driver usb-storage durante o estágio initread antes que o / etc esteja presente e seja respeitado, assim ele pode ser carregado sem a peculiaridade de ignorar. Para contornar isso você pode modificar o arquivo inittread, ou você pode descarregar e recarregar o módulo usb-storage (se nada mais em seu sistema estiver usando).

Outra desvantagem é que, se você decidir montá-lo, precisará recarregar o driver sem o capricho (por exemplo, usando insmod).

Talvez alguém tenha uma maneira melhor?

    
por 23.06.2012 / 20:36