HID deskriptor - jak precist?

Jan Kasprzak kas na fi.muni.cz
Středa Březen 1 09:27:12 CET 2017


Jaroslav Lukesh wrote:
: Zábavné je to až tak, že HID myš nebo klávesnice simulovaná
: jednočipem za použití nějaké standardně dostupné knihovny, je vidět
: v linuxu i windowsech bez problému, ale funguje to jenom v linuxu
: (ve všech kam jsem to strčil - zastrčím a jede to), windows hlásí
: neznámé zařízení.

	Zajímavé. Já mám pocit, že Windows nějak víc dají na Vendor ID
a Product ID - proto se tam musí instalovat "ovladače" pro kdeco, zatímco
v Linuxu jsou některé ovladače pro celou třídu zařízení, bez ohledu na
identifikaci.

	Já jsem se díval do různých implementací USB HID
zařízení pro Atmely, a jsou tam taky docela podivné věci, třeba toto:

// USB devices are supposed to implment a halt feature, which is
// rarely (if ever) used.  If you comment this line out, the halt
// code will be removed, saving 116 bytes of space (gcc 4.3.0).
// This is not strictly USB compliant, but works with all major
// operating systems.
#define SUPPORT_ENDPOINT_HALT

Kdyby to bylo o před třiceti lety, tak bych řekl, že to navrhoval
někdo z vývojového týmu Systemu V :-)
: 
: Takže ikdyž si uděláte něco co splňuje normu, tak není 100% jistota,
: že to bude fungovat  ve všech OS.
: 
: Ty koberce, to bude něco podobného, jako TCP/IP přes poštovní holuby.

	Tam je rozdíl, že to TCP/IP bez těch holubů docela funguje.
Zatímco třeba USB joystick je věc, kdy každá hra musí mít svoje vlastní
menu na kalibraci joysticku (koncové body, střední bod) a na přeskládání
jejich kanálů, i když jak je vidět joystick sám si může kanály pojmenovat
podle sebe (dokonce pro letadla jsou tam nejen kanály pro křidlélka a směrovky,
ale navíc může být ke každému z nich trim na samostatném kanálu), jsou tam ty
rozsahy, a tak podobně. Ale v reálu je to tak košatá specifikace, že to stejně
výrobci dělají různě, a tak vlastně ten celý košatý popis je k ničemu,
a jen to všechno zesložiťuje.

No ale zpátky k tématu - jak vyčíst HID deskriptor ze zařízení připojeného
k Linuxu?

-Y.

-- 
| Jan "Yenya" Kasprzak <kas at {fi.muni.cz - work | yenya.net - private}> |
| http://www.fi.muni.cz/~kas/                         GPG: 4096R/A45477D5 |
Assuming that OpenSSL is written as carefully as Wietse's own code,
every 1000 lines introduce one additional bug into Postfix."   --TLS_README


Další informace o konferenci Linux