Onde meu teclado, mouse e outros dispositivos HCI estão montados no linux?

4

Ouvi dizer que tudo no linux é tratado como arquivos ... Eu estava curioso para saber onde iria encontrar para explorar o usb montado na minha máquina (HCI dev)

    
por juggernaut1996 24.01.2016 / 17:52

2 respostas

3

Você pode obter uma lista de dispositivos USB conectados à sua máquina através do comando:

lsusb

Você pode monitorar eventos de entrada de USB e outros dispositivos via:

evtest

que também informará o caminho do dispositivo (por exemplo, mouse e teclado, bem como o botão liga / desliga, etc.) em /dev/input/event* . Você pode precisar instalar o pacote evtest para isso.

Este é um script (extraído de esta resposta no Unix SE) que procura /sys procurando dispositivos USB (ou seja, aqueles com um atributo ID_SERIAL):

#!/bin/bash

for sysdevpath in $(find /sys/bus/usb/devices/usb*/ -name dev); do
    (
        syspath="${sysdevpath%/dev}"
        devname="$(udevadm info -q name -p $syspath)"
        [[ "$devname" == "bus/"* ]] && continue
        eval "$(udevadm info -q property --export -p $syspath)"
        [[ -z "$ID_SERIAL" ]] && continue
        echo "/dev/$devname - $ID_SERIAL"
    )
done
    
por dr01 24.01.2016 / 18:08
1

Suponho que você conecte dispositivos usb. Quando você digita:

lsusb  

você tem dispositivos USB conectados à lista. Você pode ler o número do barramento e do dispositivo. Então quando você digita:

lsusb -t   

(bus e número do dispositivo são conhecidos de lsusb) você pode ler o número da porta do dispositivo que está verificando. por exemplo, meu mouse está no barramento 001, dispositivo 004 e este pertence à porta 14.

Agora, quando você vai para:

/sys/bus/usb/drivers/usb   

você pode ver que existe, por exemplo, o link simbólico 1-14, que é responsável pelo meu mouse (barramento 1, porta 14). Você pode usar o comando realpath 1-14 para ver onde esse link simbólico leva. (Você pode desativar esta porta digitando: echo '1-14' | sudo tee unbind )

    
por EdiD 24.01.2016 / 18:29

Tags