Mám čínskou herní myš USB ( 04d9: a070 ), která má 4 barevné režimy a 4 úrovně světla. Skutečně vím, že tato myš dokáže zobrazovat alespoň 5 různých barev, takže to musí být RGB led (4 nohy). Software je nejhorší, jaký jsem kdy viděl, a je neuvěřitelně těžké změnit barvu, jas a režim, aby fungoval a nejen se vypínal. Nyní plánuji výrobu vlastního ovládacího softwaru (nejprve pro Linux).
Začal jsem s jednoduchým průvodcem „Reverse Engineering a USB mouse (aktualizováno 3. května 2017)“ v Bytepunk (nelze přidejte odkaz, ale Google nebo DuckDuckGo by měli tuto příručku najít)
Už jsem čichal k většině věcí, které potřebuji. Použil jsem USBlyzer na Windows s hrozným ovládacím softwarem a dostal jsem několik hexadecimálních řetězců a přišel na to, jak změnit barvu, jas a režim v hexadecimálních řetězcích. Vložil jsem data, která jsem objevil zde (Pastebin)
Kliknutím zapnete světla z ovládacího softwaru Windows out: 07 07 01 00 00 00 00 00 < - Je to „Příkazy přicházející ve volání“? out: 07 09 01 02 00 00 00 00 <-- 07 09 01 0X, kde X je barevný odstín: 07 0C 01 04 00 00 00 00 <-- 07 0Y 01 0Z, kde Y je jas a Z je režim mimo: 07 13 04 00 00 00 00 00 < - Je to „Příkaz odeslán hovor“? X - VYPNUTO: 0 ČERVENÁ: 1 MODRÁ: 2 ZELENÁ: 3 RŮŽOVÁ: 4Y - NÍZKÁ: B MED: 9 VYSOKÁ: CZ - STATICKÁ: 1 POMALÁ PULZA: 2 MED PULZNÍ: 3 FAST PULSE: 4
Můj problém spočívá v tom, že když se pokusím na zařízení „napsat“ cokoli, prostě visí a zobrazí se chyba „[Errno2] Entita nebyla nalezena“ a myš potřebuje aby bylo možné znovu fungovat. Neodpojuje se, ale zůstává v lsusb
a v dmesg
se nic zvláštního neobjevuje.
Upravený skript v Pythonu jsem vložil do Pastebin
Také jsem použil vlastní udev pravidlo
SUBSYSTEM == "usb", ATTR {idVendor} == "04d9", ATTR {idProduct} == "a070", GROUP: = "plugdev", MODE = "0666"
Jsem v oblasti sériové komunikace a reverzního inženýrství nováčkem, takže nevím, co hledat. Myslím, že mohu do komentářů zveřejnit obrázky a další data z USBlyzeru. Toto je můj první příspěvek, takže nemám pověst dávat více odkazů.
Zdravím, Santeri