HID deskriptor - jak precist?

Jan Kasprzak kas na fi.muni.cz
Sobota Květen 6 21:04:40 CEST 2017


Vracim se k veci, kterou jsem tady pred casem resil:

Jiri Kosina wrote:
: On Tue, 28 Feb 2017, Jan Kasprzak wrote:
: 
: > je nejaka moznost, jak z nejakeho USB HID zarizeni precist jeho
: > HID deskriptory? Jako cteni specifikace je taky zabavne(*), ale rad bych
: > to porovnal s nejakymi existujicimi zarizenimi, nejlepe tak, ze je
: > pripojim k Linuxu a nejak vydumpuju, co o sobe pres ten HID deskriptor
: > rikaji. V sysfs jsem na prvni pohled mnoho detailu nenasel.
: 
: Je to v debugfs. /sys/kernel/debug/hid/<device>/rdesc

	Tohle pomohlo - pripojil jsem USB kontroler, vycetl z debugfs
deskriptor, zkopiroval do sveho projektu s ATmegou 32U4, a pouzil.
Fungovalo to.

	Jednalo se o sestikanalovy joystick, ktery mel kanaly oznacene
X, Y, Z, Rx, Ry, Rz, minimalni hodnota 0, maximalni hodnota 255. Pak jsem
to chtel vylepsit o to, ze ja mam zdroj dat s vetsim rozlisenim nez 8 bitu
(radove 10-11 bitu). Tak jsem zkusil nechat minimalni hodnotu 0 a maximum
jsem dal na 2048. Musel jsem zvetsit maximalni velikost packetu, aby to
nehlasilo tuto chybu:

[951127.597263] usb 3-11: input irq status -75 received

Mam snahu posilat na kazdy ze sesti kanalu dva bajty, nicmene mi to
nefunguje. Linuxova aplikace vidi na joysticku pohyb pouze prvnich ctyr
kanalu. Kdyz to vratim zpet do 8-bitovych dat, funguje vsech sest.

	Tusite nekdo kam se jeste podivat, pripadne co dalsiho
v HID deskriptoru nebo nekde upravit? Pripadne - nemate nekdo joystick
s vetsim rozlisenim nez 256 hodnot na kanal, ze byste mi poslali
jeho HID deskriptor?

	Diky,

-Y.

-- 
| Jan "Yenya" Kasprzak <kas at {fi.muni.cz - work | yenya.net - private}> |
| http://www.fi.muni.cz/~kas/                         GPG: 4096R/A45477D5 |
> That's why this kind of vulnerability is a concern: deploying stuff is  <
> often about collecting an obscene number of .jar files and pushing them <
> up to the application server.                          --pboddie at LWN <


Další informace o konferenci Linux