Jeg har en kinesisk USB-gamingmus ( 04d9: a070 ), som har 4 farvetilstande og 4 lysniveauer. Jeg ved med sikkerhed, at denne mus er i stand til at vise mindst 5 forskellige farver, så det skal være en RGB-ledet (4 ben). Softwaren er den værste, jeg nogensinde har set, og det er utroligt svært at ændre farve, lysstyrke og tilstand, så den fungerer og ikke bare slukker. Nu planlægger jeg at lave min egen kontrolsoftware (til Linux først).
Jeg er startet med en simpel guide "Reverse Engineering en USB-mus (Opdateret 3. maj 2017)" hos Bytepunk (kan ikke skriv et link, men Google eller DuckDuckGo skal finde den vejledning)
Jeg har allerede snuset de fleste af de ting, jeg har brug for. Jeg brugte USBlyzer på Windows med den forfærdelige kontrolsoftware og fik et par sekskantstrenge og fandt ud af, hvordan jeg kunne ændre farve, lysstyrke og tilstand i hexstrengene. Jeg indsatte de data, jeg opdagede her (Pastebin)
Klik på tænder lys fra Windows kontrolsoftwareout: 07 07 01 00 00 00 00 00 < - Er dette en "Kommandoer, der kommer i opkald"? ud: 07 09 01 02 00 00 00 00 < - 07 09 01 0X hvor X er farvestrålingen: 07 0C 01 04 00 00 00 < - 07 0Y 01 0Z hvor Y er lysstyrken og Z er mode ud: 07 13 04 00 00 00 00 00 < - Er dette et "kommandoer sendt opkald"? X - FRA: 0 RØD: 1 BLÅ: 2 GRØN: 3 ROSE: 4Y - LAV: B MED: 9 HØJ: CZ - STATIK: 1 SLOW PULSE: 2 MED PULSE: 3 HURTIG PULSE: 4
Mit problem er, at når jeg prøver at "skrive" noget til enheden, hænger det bare, og jeg får en "[Errno2] Enhed ikke fundet" fejl, og musen har brug for at blive tilsluttet for at få det til at fungere igen. Det "frakobles" ikke, men det forbliver i lsusb
, og intet særligt vises i dmesg
.
Jeg har indsat mit modificerede python-script til Pastebin
Jeg anvendte også en brugerdefineret udev-regel
SUBSYSTEM == "usb", ATTR {idVendor} == "04d9", ATTR {idProduct} == "a070", GROUP: = "plugdev", MODE = "0666"
Jeg er ny inden for seriel kommunikation og reverse engineering, så jeg ved ikke, hvad jeg skal søge efter. Jeg tror, jeg kan sende billeder og flere data fra USBlyzer i kommentarerne. Dette er mit første indlæg her, så jeg har ikke ry for at give flere links.
Hilsen, Santeri