Bachelor's Thesis

Modification of a USB HID Device Driver and Its Application in Robot Control

Final Thesis 817.48 kB Appendix 1.81 MB

Author of thesis: Bc. Jakub Polák

Acad. year: 2025/2026

Supervisor: Ing. Marcela Zachariášová, Ph.D.

Reviewer: doc. Ing. Michal Bidlo, Ph.D.

Abstract:

This thesis deals with the design and implementation of a tool for working with Human
Interface Device (HID) communication in an educational environment. The thesis addresses
the problem that HID reports and report descriptors are difficult to observe during tea-
ching, while developing a kernel driver would introduce unnecessarily high implementation
complexity for students. The aim of the thesis is to enable practical work with HID com-
munication in laboratory exercises without requiring modifications to the operating system
kernel. The solution also includes a reference HID device used as a controlled source of
input data. Based on the implemented tool, laboratory exercises were prepared in which
students work with HID reports, modify a report descriptor, and observe the effect of these
changes on input processing.

Keywords:

Human Interface Device, HID, report descriptor, HID report, Linux, hidraw, uinput, evdev,
Raspberry Pi Pico, educational tool

Date of defence

19.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaBznamka

Grading

B

Process of defence

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky přítomných, např. ohledně detailů k použitému operačnímu systému či způsobu přístupu k HID zprávám. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm B - velmi dobře.

Language of thesis

Slovak

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

doc. Dr. Ing. Otto Fučík (předseda)
doc. Mgr. Kamil Malinka, Ph.D. (místopředseda)
Ing. Marta Jaroš, Ph.D. (člen)
Ing. Vladimír Veselý, Ph.D. (člen)
Ing. David Bařina, Ph.D. (člen)

Výstupom práce sú 2 laboratórne cvičenia do predmetu IPZ: zadanie laboratórnych úloh, príslušiaci HW (vybrané súčiastky pre prácu s USB HID), SW (HID ovládač, testy, analyzátor HID komunikácie). Výstupy sú veľmi kvalitné a študent ich zvládol začleniť do aktívnej výuky a spracovať dotazník od študentov. Študenti hodnotili cvičenia ako veľmi prínosné.

Evaluation criteria Verbal classification
Information about assignment

Prácu hodnotím ako stredne náročnú, zahŕňa v sebe programovanie HW, prípravu SW HID ovládača a zároveň adaptáciu pre výuku. S výsledkom som spokojná, študent splnil všetky body zadania a implementoval niekoľko rozšírení. Za najprínosnejšie rozšírenie považujem sadu testov, pomocou ktorých si mohli študenti overovať výstupy laboratórnej úlohy. 

Work with literature

Študent vyhľadával zdroje sám, jednalo sa HID špecifikácie, datasheety a návody k súčiastkam. 

Activity during solution, consultations, communication

Študent bol vždy pripravený, aktívne prácu konzultoval.

Activity during completion

Práca bola dokončená včas, finálny obsah bol konzultovaný.

Publication activity, awards

Bez publikačnej činnosti, ale zaradenie do aktívnej výuky IPZ na FIT VUT.

Points proposed by supervisor: 92

Grade proposed by supervisor: A

Reviewer’s report
doc. Ing. Michal Bidlo, Ph.D.

Celkově se jedná a zdařilou práci vyšší náročnosti, s dobrým zpracováním, ovšem postrádající některé výše zmíněné důležité prvky. S ohledem na tyto skutečnosti navrhuji výslednou známku B.

Evaluation criteria Verbal classification Points
The difficulty of the assignment

Evaluation level: more difficult assignment

Zadání považuji za náročné, po studentovi vyžadovalo detailní seznámení se s principy USB, způsoby komunikace s periferními zařízeními a prostředky obsluhy USB periferií na straně operačního systému.

Presentation level of the technical report

Práce sice popisuje potřebné základy fungování navrženého ovladače a pomocného vybavení, ovšem pouze spíš v obecnější rovině. Chybí celkové schéma aplikace s ilustrací provázání periferie a hostitele, chybí též sdělení o návaznosti na konkrétní zdrojové soubory a vzhledem k výukovému zaměření práce bych také očekával úryvky kódu s klíčovými funkcemi popisovanými v textu. Bez toho čtenář těžko porozumí potřebným principům USB komunikace. Jediný obrázek snažící se o ilustraci celku je obr. 3.1 v sekci 3.1, chybí v něm však návaznost na jednotlivé prvky implementace a bez předchozích znalostí USB není jasné, co je součástí hostitelského OS a co je na straně periferie.

Přestože laboratorní cvičení byla na základě připravených úloh dobře zvládnuta, nebyl tam čas na vysvětlování podrobností a tyto tedy přirozeně měly být objasněny v textu BP (včetně podstatných souvislostí a ilustrací).

70
Formal preparation of a technical report

Práce je psaná slovensky, takže jazykovou úroveň nedokážu posoudit v celém rozsahu, nicméně subjektivně je text na vysoké úrovni a svědčí o poctivém přístupu studenta ke zpracování textové části práce. Zjevně na škodu je pouze menší množství drobných překlepů a opomíjení názvů objektů při odkazování na ně v první části práce (např. ...v 2.5 namísto v sekci 2.5, ...v 2.1 namísto na obr. 2.1). Jinak ale k formální stránce práce nemám vážnějších výhrad.

88
Realisation output

Implementovaný systém je plně funkční v podmínkách, pro které byl navržen. Největší slabinu implementace však představuje skutečnost, že většina zdrojových souborů téměř nebo zcela postrádá komentáře, které považuji u díla pro výuku za velmi podstatné.

72
Usability of results

Výsledky práce jsou v plném rozsahu využitelné pro výukové účely, student toto již dokonce prokázal před finálním odevzdáním práce - za jeho účasti úspěšně proběhla dvě laboratorní cvičení na FIT v předmětu IPZ. K plnému využití pro pochopení principů USB na bakalářském stupni studia však brání nedostatky zmíněné v prezentační části hodnocení.

The extent to which the requirements of the assignment have been met

Evaluation level: assignment fulfilled

Extent of the technical report

Evaluation level: is within the usual extent

Work with literature

Literatura čítá 14 čistě online zdrojů, jejich volba je adekvátní řešenému tématu. Postrádám však zařazení jakýchkoli zdrojů týkajících se platformy Raspberry Pi Pico, která byla použita pro realizaci výukového zařízení a provázání textu BP s odpovídajícími detaily fungování této platformy ve vztahu k USB by čtenáři usnadnilo orientaci v problematice.

80
Points proposed by reviewer: 88

Grade proposed by reviewer: B

Responsibility: Mgr. et Mgr. Hana Odstrčilová