To understand something... start being knowing of it.
Ok, primeiro de tudo, vamos ver o que hidraw
significa e o que é composto por:
- hid (Dispositivo de Interface Humana): Um dispositivo de interface humana ou HID é um tipo de dispositivo de computador que interage diretamente e, na maioria das vezes, recebe dados de humanos e pode fornecer resultados para humanos. wikipedia fonte
- raw: Isso é feito como bruto , mas no ambiente do Linux também significa direto.
A partir disso, podemos inferir que hidraw
é um método bruto / direto para acessar o hid . Agora vamos ver o que nossos sistemas pensam sobre isso:
$ ls -l /dev/hidraw*
crw------- 1 root root 251, 0 Aug 3 2013 /dev/hidraw0
crw------- 1 root root 251, 1 Aug 3 2013 /dev/hidraw1
crw------- 1 root root 251, 2 Aug 3 2013 /dev/hidraw2
$ file /dev/hidraw*
/dev/hidraw0: character special
/dev/hidraw1: character special
/dev/hidraw2: character special
Então, o que significa character special
? Os arquivos especiais de caractere ou os dispositivos de caractere referem-se a dispositivos por meio dos quais o sistema transmite dados de um caractere por vez, por exemplo, getchar
. novamente a Wikipedia é nossa amiga O mesmo segue o c
no início do ls -l
command.
What do I need to do to have read permissions on /dev/hidraw*?
Então, como isso resolve sua pergunta? Para acessar o /dev/hidraw*
, você deve usar a implementação C para ler / gravar neste arquivo. Mas, se o que você quer é informação sobre os HIDs conectados, você deve procurar em /sys/class/hidraw/hidraw*/
. Exemplo:
$ cat /sys/class/hidraw/hidraw2/device/uevent
DRIVER=hid-generic
HID_ID=0003:000015D9:00000A4C
HID_NAME= USB OPTICAL MOUSE
HID_PHYS=usb-0000:00:1d.1-2/input0
HID_UNIQ=
MODALIAS=hid:b0003g0001v000015D9p00000A4C
Tenha em conta que apenas o kernel tem acesso direto na maioria dos casos aos dispositivos, e você só deve usar as chamadas fornecidas no espaço do usuário para se comunicar com esses dispositivos.
I'm seeing stuff about udev rules and saw this on the net, but the world of udev is like a foreign land to me
A menos que você esteja desenvolvendo um novo driver / dispositivo, você não deve jogar muito em torno de udev
, você pode ter seu cérebro permanentemente danificado.