abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

včera 14:33 | Zajímavý projekt

Blender Animation Studio zveřejnilo první epizodu z připravovaného animovaného seriálu The Daily Dweebs o domácím mazlíčkovi jménem Dixey. Ke zhlédnutí také ve 3D s rozlišením 8K.

Ladislav Hagara | Komentářů: 0
včera 12:34 | Komunita

Aktualizovanou počítačovou hru Warhammer 40,000: Dawn of War III v ceně 39,99 eur běžící také na Linuxu lze o víkendu na Steamu hrát zdarma a případně ještě v pondělí koupit s 50% slevou. Do soboty 19:00 lze na Humble Bundle získat zdarma Steam klíč k počítačové hře Sid Meier's Civilization® III v ceně 4,99 eur běžící také ve Wine.

Ladislav Hagara | Komentářů: 0
včera 00:22 | Nasazení Linuxu

Společnost Samsung oznámila, že skrze dokovací stanici DeX a aplikaci Linux on Galaxy bude možno na Samsung Galaxy S8 a S8+ a Galaxy Note 8 provozovat Linux. Distribuce nebyly blíže upřesněny.

Phantom Alien | Komentářů: 10
19.10. 23:55 | Komunita

Společnost Purism na svém blogu oznámila, že její notebooky Librem jsou nově dodávány se zrušeným (neutralized and disabled) Intel Management Engine (ME). Aktualizací corebootu na již prodaných noteboocích lze Management Engine také zrušit. Více v podrobném článku.

Ladislav Hagara | Komentářů: 0
19.10. 21:44 | Nová verze

Organizace Apache Software Foundation (ASF) na svém blogu slaví páté výročí kancelářského balíku Apache OpenOffice jako jejího Top-Level projektu. Při této příležitosti byl vydán Apache OpenOffice 4.1.4 (AOO 4.1.4). Podrobnosti v poznámkách k vydání. Dlouhé čekání na novou verzi tak skončilo.

Ladislav Hagara | Komentářů: 6
19.10. 19:22 | Pozvánky

Již příští týden - 26. a 27. října se v Praze v hotelu Olšanka odehraje OpenWRT Summit. Na webu konference naleznete program a možnost zakoupení lístků - ty stojí 55 dolarů. Čtvrtek bude přednáškový a v pátek se budou odehrávat převážně workshopy a meetingy.

Miška | Komentářů: 1
19.10. 13:44 | Nová verze

Bylo vydáno Ubuntu 17.10 s kódovým názvem Artful Aardvark. Ke stažení jsou Ubuntu Desktop a Server, Ubuntu Cloud Images, Ubuntu Netboot, Kubuntu, Lubuntu a Lubuntu Alternate, Lubuntu Next, Ubuntu Budgie, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio a Xubuntu. Podrobnosti v poznámkách k vydání.

Ladislav Hagara | Komentářů: 22
19.10. 13:00 | Komunita

MojeFedora.cz informuje, že Fedora 27 dostane podporu pro AAC. Podpora multimediálních formátů je ve výchozí instalaci Fedory tradičně limitovaná kvůli softwarovým patentům, ale desktopový tým Red Hatu se ji i tak snaží v poslední době co nejvíce rozšířit. Už nějaký čas obsahuje kodeky pro MP3, H.264, AC3 a nyní byl přidán také kodek pro další velmi rozšířený zvukový formát – AAC.

Ladislav Hagara | Komentářů: 2
18.10. 23:55 | Pozvánky

Spolek OpenAlt zve příznivce otevřených technologií a otevřeného přístupu na 145. brněnský sraz, který proběhne v pátek 20. října od 18:00 hodin v restauraci Time Out na adrese Novoměstská 2 v Řečkovicích. Jedná se o poslední sraz před konferencí OpenAlt 2017, jež proběhne o víkendu 4. a 5. listopadu 2017 na FIT VUT v Brně. Běží registrace účastníků.

Ladislav Hagara | Komentářů: 0
18.10. 21:44 | Nová verze

Byla vydána verze 5.2.0 multiplatformního virtualizačního nástroje Oracle VM VirtualBox. Jedná se o první stabilní verzi z nové větve 5.2. Z novinek lze zmínit například možnost exportování VM do Oracle Cloudu, bezobslužnou instalaci hostovaného systému nebo vylepšené GUI. Podrobnosti v seznamu změn. Aktualizována byla také dokumentace.

Ladislav Hagara | Komentářů: 2
Jak se vás potenciálně dotkne trend odstraňování analogového audio konektoru typu 3,5mm jack z „chytrých telefonů“?
 (10%)
 (1%)
 (1%)
 (1%)
 (75%)
 (12%)
Celkem 144 hlasů
 Komentářů: 7, poslední 19.10. 23:06
    Rozcestník

    Reverzujeme ovladače pro USB HID zařízení

    18. 6. 2013 | Přemysl Janouch | Programování | 9133×

    Naučte se základy reverzování proprietárních ovladačů herních a jiných rozšířených USB HID zařízení a jak z nich sestavit vlastní konfigurační nástroje.

    Obsah

    Úvod

    link

    Možná také máte nějakou tu svítící blikající USB myš, klávesnici či dokonce tablet. A možná nejen že svítí, ale dají se u ní nastavit parametry typu rozlišení snímání v DPI. A možná, možná vás, stejně jako mě, trochu rozmrzelo, že se tato rozšíření prakticky nedají konfigurovat z Linuxu.

    Jestliže patříte do této skupiny lidí, mám pro vás dobrou zprávu. S trochou odposlouchávání, zkoumání a programování lze obvykle relativně snadno řídící příkazy rozluštit za pomoci reverzního inženýrství ovládacích nástrojů pro Windows.

    V tomto článku se pokusím vás provést vším, co je zapotřebí k tomu, abyste si nějaký ten vlastní ovládací nástroj dokázali, pokud umíte programovat, napsat sami. Spoustu věcí kvůli rozsahu budu muset opomenout; doufám, že budete stíhat. A i když nebudete, snad si přece jen z článku něco odnesete. Tak hurá do toho!

    USB protokol

    link

    Nejdříve vám povím něco málo o USB. V základě je to protokol vzdáleně podobný například Ethernetu — data putují po kabelu v takzvaných rámcích. Tyto rámce mají specifikací určenou strukturu a API v operačních systémech vám, podobně jako tomu je u regulérních síťových protokolů, umožňují snadno tuto komunikaci řídit.

    Není k tomu tedy nutně potřeba psát ani všelijaké ovladače běžící v režimu jádra. Čemu se však už pravděpodobně nevyhnete, jsou administrátorská oprávnění. To by tak hrálo, aby se kdejaký uživatel mohl hrabat v zařízeních.

    Pokud máte zájem se podívat na USB trochu blíže, můžu doporučit například tento dokument (anglicky).

    Nás nyní bude zajímat hlavně specifikace USB HIDHuman Interface Devices, tedy zařízení zprostředkující komunikaci s uživatelem. Ta standardizuje rozhraní pro veškeré myši, klávesnice… no, obecně pro všechno, na co saháte, aby ten váš počítač dělal, co po něm zrovna chcete.

    Odposloucháváme

    link

    Abychom mohli odposlouchávat, musíme v první řadě mít co odposlouchávat, to jest nějaký virtualizovaný operační systém, do kterého můžeme pomocí USB passthrough připojit zkoumané zařízení. Já pro virtualizaci používám VirtualBox, nicméně zrovna tak by mělo fungovat i takové QEMU.

    Jako první krok tedy připojte své zařízení do hostovaného operačního systému a nainstalujte pro ně ovladače od výrobce, ze kterých chcete vymámit řídící příkazy.

    Reverzujeme ovladače pro USB HID zařízení

    Abychom mohli provoz probíhající na USB sběrnici monitorovat, je nutné zavést modul usbmon:

    $ sudo modprobe usbmon

    A nyní už můžeme spustit Wireshark a vesele začít s monitoringem. Takhle přímočaré to je. Jediný háček může nastat ohledně oprávnění — Wireshark je nutné spustit pod uživatelem root, což se mu příliš nelíbí:

    $ gksu wireshark

    Pokud se to dá nějak obejít, můžete se svěřit v komentářích, já jsem na to nepřišel.

    Nyní vyvstává otázka, na které z oněch X sběrnic leží vaše zařízení. To lze zjistit z výstupu lsusb:

    Bus 001 Device 002: ID 064e:a101 Suyin Corp. Acer CrystalEye Webcam
    Bus 006 Device 005: ID 1038:1369 Ideazon, Inc.
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    ...
    

    Ideazon je zde alias pro SteelSeries, což je právě moje myška. Kdybyste si u sebe nebyli jistí, můžete zkusit spustit lsusb pod rootem s přepínačem -v a pobrodit se ve výsledném výpisu. Bus 006 vypovídá o tom, na jaké sběrnici je zařízení umístěné; odpovídající rozhraní pro odposlech se nazývá usbmon6. Druhé číslo přijde na řadu do filtru, pokud máte na dané sběrnici více zařízení a rámce by se vám pletly mezi sebou — do příslušného vstupního pole stačí zadat něco jako usb.device_address == 5.

    Na následujícím obrázku je zachycený začátek inicializace zařízení ve Windows XP:

    Reverzujeme ovladače pro USB HID zařízení

    Reverzujeme

    link

    Jak si můžete povšimnout, teče těch dat spousta a spousta. Wireshark je naštěstí docela šikovný nástroj a umí podle filtrů dokonce i podbarvovat, takže se v tom nemusíte zas až tak ztrácet. Vyzkoušíme si to v praxi. Spusťte ovládací utilitu pro zařízení a něco v ní změňte tak, aby se změna projevila na zařízení, nejlépe nějak viditelně. Poté se podívejte zpět do Wiresharku. V mém případě tato akce vyprodukuje kopu SET_REPORT requestů.

    To není náhoda. Požadavky SET_REPORT a GET_REPORT tvoří mechanismus, jakým se rozšíření specifická pro výrobce v USB HID ovládají. V seznamu rámců je podbarvíte například tak, že si jeden z těchto rámců vyberete, v sekci URB setup kliknete pravým tlačítkem na pole bRequest a pomocí nabídky, kterou mám u sebe pojmenovanou Colorize with Filter, přiřadíte tomuto požadavku některou z barviček.

    Reverzujeme ovladače pro USB HID zařízení

    Takhle už je to lepší — tohle nás skutečně zajímá. Když si nyní prohlédnu, co dané rámce obsahují, dozvím se kromě jiných nepříliš zajímavých informací například to, že wLength, tedy délka přenášených dat, je u mě vždy 32 bajtů.

    v URB setup
     > bmRequestType: 0x21
       bRequest: SET_REPORT (0x09)
     > wValue: 0x0200
       wIndex: 0
       wLength: 32
    

    A když si prohlédnu těch 32 krát N bajtů připojených na konec všech těch rámců, co se odesílají v rámci jedné „dávky“… ono by to mohlo i dávat nějaký smysl, že?

    0040   07 01 01 00 00 00 00 00 00 00 00 00 00 00 00 00
    0050   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    
    0040   05 01 01 00 00 00 00 00 00 00 00 00 00 00 00 00
    0050   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    
    0040   03 01 13 00 00 00 00 00 00 00 00 00 00 00 00 00
    0050   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    
    < A dalších asi 5 rámců… >
    

    Přichází na řadu detektivní práce specifická pro to či ono zařízení: v závislosti na různých parametrech nastavovaných zařízení zjistit, co se mění a v reakci na co. S tím už vám příliš neporadím. Jen bych rád poznamenal, že se mnoho věcí neřeší v hardwaru, ale spíše v ovladačích — u této myši třeba cokoliv spojeného s mapováním tlačítek. Zrovna tak si často ovladače při inicializaci přepínají zařízení do jiného režimu. V závislosti na tom, jak se chování zařízení změní, se tak může hodit vytvořit si na závěr udev event, který pro vás totéž zařídí v Linuxu.

    Testujeme

    link

    Dejme tomu, že jsem zjistil, že 05 01 XX pravděpodobně mění intenzitu podsvícení myši — co teď s tím? Nyní je přece nejvhodnější chvíle si to ověřit!

    Pozor, ve vlastním zájmu nikdy neposílejte nic jiného, než co zařízení skutečně dostává během běžného provozu! Někteří výrobci (jako třeba Razer) vyrábí produkty, které se dají velmi snadno bricknout! Všechno děláte na vlastní riziko.

    Nejschůdnější způsob, jak si se zařízením pokecat, je skrze multiplatformní knihovnu libusb. Nejlepší to bude ukázat na příkladu. Následuje jednoduchý, extrémně osekaný céčkový program, ve kterém si přes ni svůj jediný příkaz zkusím poslat. Budu zde předpokládat, že jste programátoři a detaily si případně dohledáte v dokumentaci příslušné knihovny. Tučně zvýrazněné části jsou přímo závislé na tom, co a kam se má poslat.

    Raději si dopište ošetření chyb, nebo to obšlehněte z mého kódu, na který je uveden odkaz na konci. Pokud Céčko nemáte zrovna dvakrát v lásce, nezoufejte — libusb má podporu i pro spoustu dalších jazyků.

    #include <stdio.h>
    #include <stdlib.h>
    #include <stdbool.h>
    #include <libusb.h>
    
    libusb_device_handle *find_device (int vendor, int product) {
    	libusb_device **list, *found = NULL;
    	libusb_device_handle *handle = NULL;
    	int err = 0;
    
    	ssize_t cnt = libusb_get_device_list (NULL, &list);
    	if (cnt < 0) goto out;
    
    	ssize_t i = 0;
    	for (i = 0; i < cnt; i++) {
    		struct libusb_device_descriptor desc;
    		if (libusb_get_device_descriptor (list[i], &desc))
    			continue;
    		if (desc.idVendor == vendor && desc.idProduct == product) {
    			found = list[i];
    			break;
    		}
    	}
    
    	if (found)
    		err = libusb_open (found, &handle);
    
    	libusb_free_device_list (list, 1);
    out:
    	if (err != 0)
    		fprintf (stderr, "%s\n", libusb_error_name (err));
    	return handle;
    }
    
    int main (int argc, char *argv[]) {
    	libusb_init (NULL);
    	libusb_device_handle *device = find_device (0x1038, 0x1369);
    	if (!device) exit (EXIT_FAILURE);
    
    	bool reattach_driver = false;
    	if (libusb_kernel_driver_active (device, 0) == 1) {
    		reattach_driver = true;
    		libusb_detach_kernel_driver (device, 0);
    	}
    
    	libusb_claim_interface (device, 0);
    
    	unsigned char data[32] = { 0x05, 0x01, 0x04 };
    	libusb_control_transfer (device,
    		0x21, 0x09, 0x0200, 0x0000, data, sizeof data, 0);
    
    	libusb_release_interface (device, 0);
    
    	if (reattach_driver)
    		libusb_attach_kernel_driver (device, 0);
    
    	libusb_close (device);
    	libusb_exit (NULL);
    	return 0;
    }
    

    Program zkompilujete následujícím způsobem (je nutné mít nainstalované vývojové balíčky pro libusb 1.0 a kompilátor jazyka C — na Debianu jsou to balíčky build-essential a libusb-1.0-0-dev):

    $ cc soubor.c -o binárka $(pkg-config --libs --cflags libusb-1.0)

    Z pochopitelných důvodů jej pak spouštějte s oprávněním uživatele root:

    $ sudo ./binárka

    Kdyby vám nebylo jasné, co se to tam vlastně postupně děje:

    1. najdu si svou myš podle ID výrobce a zařízení z výpisu lsusb,
    2. pokud je zařízení pod správou nějakého jaderného ovladače, tak ho dočasně od toho ovladače odpojím,
    3. přivlastním si interface nula (který je ten řídící),
    4. odešlu řídící rámec s daty, která jsem obšlehl z Windows — konkrétně nastavím jas diod na nejvyšší úroveň,
    5. uvolním interface, připojím případný ovladač zpátky a uvolním zařízení.

    Pokud jste vše přepsali správně, měla by se na zařízení projevit kýžená změna.

    A co dál?

    link

    Jakmile skončíme s reverzním inženýrstvím, zbývá už jen postavit kolem všech těch příkazů program. V tomhle ohledu vás odkážu na své dva projekty, které vám mohou posloužit jako startovní bod:

    • razer-bw-te-ctl je jednoduchý nástroj (i když použitý protokol je o něco složitější) pro nastavení svítidýlek na Razer BlackWidow Tournament Edition. Bohužel jsem si ji v průběhu zkoušení příkazů bricknul a veškeré rady od podpory Razeru, jak do ní nahrát zpět firmware, se míjejí účinkem.

    • Se sensei-raw-ctl jsem si vyloženě vyhrál. Dokonce jsem náhodou zjistil, že se v odpovědích na požadavek GET_REPORT, co myši posílá Linux, vyskytuje aktuální nastavení myši.

      Nad konfiguračním programem do příkazové řádky je pak postavené GTK+ GUI, které na Ubuntu (GNOME upstream tu možnost s argumentem ve stylu byl tam bordel odstranil) mohu snadno spustit ze System Settings.

    Doufám, že se mi povedlo alespoň někoho z vás pošťouchnout k tvorbě vlastního ovládacího nástroje. Případně se mě nebojte kontaktovat (p.janouch gmail com) nebo zeptat v komentářích.

           

    Hodnocení: 100 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    18.6.2013 10:07 finn | skóre: 42 | blog: finnlandia | 49° 44´/13° 22´
    Rozbalit Rozbalit vše Re: Reverzujeme ovladače pro USB HID zařízení
    Obrázky nejdou rozkliknout (zvětšit) - aspoň u mne.
    Užívej dne – možná je tvůj poslední.
    Luboš Doležel (Doli) avatar 18.6.2013 10:09 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Reverzujeme ovladače pro USB HID zařízení
    Opraveno, díky.
    Bystroushaak avatar 18.6.2013 10:47 Bystroushaak | skóre: 32 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Reverzujeme ovladače pro USB HID zařízení
    Pěkné, pěkné, jsem rád, že jsi to nakonec napsal. Jen mi tam chybí nějaká lepší integrace se systémem, než jen spouštění binárky. Něco víc uživatelsky příjemného..
    18.6.2013 11:00 victor8 | skóre: 24 | blog: blog | Košice
    Rozbalit Rozbalit vše Re: Reverzujeme ovladače pro USB HID zařízení
    Ci to nebude tymto:
    Nad konfiguračním programem do příkazové řádky je pak postavené GTK+ GUI, které na Ubuntu (GNOME upstream tu možnost s argumentem ve stylu "byl tam bordel" odstranil) mohu snadno spustit ze System Settings.
    Bystroushaak avatar 18.6.2013 11:25 Bystroushaak | skóre: 32 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Reverzujeme ovladače pro USB HID zařízení
    Huh, to jsem nějak přehlédl O.o
    18.6.2013 11:46 petr b
    Rozbalit Rozbalit vše Nemusíme virtualizovat
    Když už ty windowsy máte, tak pro ně existuje nativní nástroj - usb sniffer - který poslouchá a ukládá vše, co na to vybrané zařízení jde. S jeho pomocí jsem před mnoha a mnoha lety napsal ovladač na cayman netopia dsl modem.

    USB Snoop nebo tak nějak se to jmenovalo.
    18.6.2013 13:44 BFU
    Rozbalit Rozbalit vše Re: Nemusíme virtualizovat
    Lepsi je to sniffovat kdyz to opusti wokna (tedy na tom prechodu QEMU<->hardware , nebot pak jednak nezasirate ty virtualizovane wokna (usbsnoop si instaluje nejake hooky do jejich usb subsystemu) a mate jistotu, ze nedochazi k zadne interferenci.
    18.6.2013 15:09 R
    Rozbalit Rozbalit vše Re: Nemusíme virtualizovat
    USB snoop je dobry hlavne v tedy, ked ziadne virtualizovane Windows nemas. Spustis, nainstalujes odchytavaci driver, odchytis, odinstalujes a hotovo.
    18.6.2013 11:48 Milan Straka
    Rozbalit Rozbalit vše Spouštení Wiresharku bez roota
    Pokud vím, wireshark jako takový nepotřebuje roota, pouze binárka na zachytávání komunikace /usr/bin/dumpcap.

    Já wireshark spouštím skriptem, který vypadá takto:
    sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap
    /usr/bin/wireshark
    
    Ale jestli to bude fungovat i s USB, to nevím.
    18.6.2013 11:59 P. J.
    Rozbalit Rozbalit vše Re: Spouštení Wiresharku bez roota
    Právě s tím USB je problém, jinak je to otázka dpkg-reconfigure a usermod.

    Zkoušel jsem chmod -R o+rwx na debug adresář v sysfs, ale nebylo to ono.
    18.6.2013 12:05 jesta.net | skóre: 6 | blog: Linux, Open Source a velke firmy... | Plzen
    Rozbalit Rozbalit vše Re: Spouštení Wiresharku bez roota
    ja to delam nasledovne:
    ssh -X root@localhost
    
    xwireshark
    neni to idealni ale funguje to :-)
    You have to place another order in GORDON
    hw avatar 18.6.2013 12:47 hw | skóre: 22 | blog: Digital Design
    Rozbalit Rozbalit vše Re: Spouštení Wiresharku bez roota

    Skoro. Aby fungovalo i USB, je třeba tohle:

    setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip CAP_DAC_OVERRIDE+eip' /usr/local/bin/dumpcap
    19.6.2013 09:13 v.barney | blog: Automaticke zobudenie servera routerom | LH
    Rozbalit Rozbalit vše Re: Spouštení Wiresharku bez roota
    na Ubuntu a malo by aj pre Debian fungovat:

    sudo dpkg-reconfigure wireshark-common

    a vybrat "yes" povolenie aj pre "non root" uzivatelov
    19.6.2013 14:44 P. J.
    Rozbalit Rozbalit vše Re: Spouštení Wiresharku bez roota
    Což nefunguje s USB, viz výše.
    18.6.2013 11:56 HouBa
    Rozbalit Rozbalit vše Re: Reverzujeme ovladače pro USB HID zařízení
    Skvělý článek. Pro mě jako člověka neschopného pochopit programování je to sice španělká vesnice, nicméně to fakt obdivuju a je to pro mě poutavé čtení.
    18.6.2013 19:48 sdrfawerqwr
    Rozbalit Rozbalit vše Re: Reverzujeme ovladače pro USB HID zařízení
    pokud to je pro tebe poutave tak jsi mozna aspon neco pochytil. proc jsi neschopny pochopit programovani? do jiste miry je toho schopen kazdy :-) spis to chce trenink.
    Bystroushaak avatar 18.6.2013 20:34 Bystroushaak | skóre: 32 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Reverzujeme ovladače pro USB HID zařízení
    18.6.2013 13:56 BFU
    Rozbalit Rozbalit vše Re: Reverzujeme ovladače pro USB HID zařízení
    Tady je to popsany pro QEMU + usbmon ... je to trochu vic spartanske

    Link: http://twilight.ponies.cz/mxsldr.pdf
    18.6.2013 15:45 David Jaša | skóre: 44 | blog: Dejvův blog
    Rozbalit Rozbalit vše Re: Reverzujeme ovladače pro USB HID zařízení
    Zkus použít usbredir. Ve fedoře 19 to znamená jedno zaškrtávátko v gnome boxes. ;-)
    18.6.2013 16:30 BFU
    Rozbalit Rozbalit vše Re: Reverzujeme ovladače pro USB HID zařízení
    Nepouzivam ani jedno z toho ;-) Tohle by melo byt pomerne host-system-agnostic.
    18.6.2013 16:54 David Jaša | skóre: 44 | blog: Dejvův blog
    Rozbalit Rozbalit vše Re: Reverzujeme ovladače pro USB HID zařízení
    Tak usbredir můžeš použít úplně samostatně (usbredirserver), můžeš si ho nastavit na qemu cli, v libvirtím xml, ve virt-manager nebo v těch krabicích. Škatule jsem uvedl proto, že je to v nich nejlíp zaintegrované.
    18.6.2013 14:48 Martin
    Rozbalit Rozbalit vše Re: Reverzujeme ovladače pro USB HID zařízení
    Jde to udělat bez odpojení ovladače? Cca před rokem jsem zkoušel ovládat vibrační joystick. Potřebné hodnoty pro ovládání joysticku jsem postupem podobným popsanému zjistil a napsal prográmek, který fungoval. Problém byl, že po odpojení ovladače libusb_detach_kernel_driver() s joystickem přestal spolupracovat program Flightgear. Znovupřipojení ovladače libusb_attach_kernel_driver() nepomohlo. Flightgear se musel restartovat (nebo znovu načíst Input zařízení v menu), takže pro reálné použití to bylo k ničemu.

    Pak by mě ještě zajímalo, zda je nějaký větší rozdíl meli libusb 0.1 a 1.0 (zkoušel jsem oboje).
    18.6.2013 15:11 R
    Rozbalit Rozbalit vše Re: Reverzujeme ovladače pro USB HID zařízení
    Nepouzivat libusb pre HID zariadenia, ale hiddev.
    18.6.2013 19:33 Kvakor
    Rozbalit Rozbalit vše Re: Reverzujeme ovladače pro USB HID zařízení
    Ale pokud to není plnohodnotné HID, ale jen něco, co používá řídící sekcenve, tak musí být v jádře podpora pro "syrová data" přes /dev/hidraw (mělo by být normálně zapnuté).
    21.6.2013 22:05 Matus
    Rozbalit Rozbalit vše Re: Reverzujeme ovladače pro USB HID zařízení
    Pre niekoho kto by chcel este jednoduchsi sposob komunikacie odporucam hidpai:

    http://www.signal11.us/oss/hidapi/

    alebo python wrapper:

    https://github.com/gbishop/cython-hidapi

    Funguje spolahlivo ;) Otestovane ;)

    Prajem vela zdaru.
    24.6.2013 12:01 R
    Rozbalit Rozbalit vše Re: Reverzujeme ovladače pro USB HID zařízení
    To funguje bud cez hidraw alebo cez libusb (default). Cez libusb to fungovat nebude, kedze to nefunguje ani priamo.
    18.6.2013 15:17 Tomas
    Rozbalit Rozbalit vše Re: Reverzujeme ovladače pro USB HID zařízení
    Není to úplně k tématu, ale možná mi dovedete poradit. Mám usb 2.0 zařízení které by mělo přes USB posílat přesně jeden balík dat za milisekundu. Na windowsu to funguje, ale na linuxu se dostanu na maximálně 1.62 ms, i když použiju velmi rychlý počítač a dám tomu realtime prioritu, FIFO. Je USB na linuxu řešené nějak jinak než na windowsu? Není nějaká volba třeba v jádře co by povolila rychlejší komunikaci?
    19.6.2013 14:50 gogol
    Rozbalit Rozbalit vše Re: Reverzujeme ovladače pro USB HID zařízení
    USB je zbernica. To, co tadial prudi sem a tam chytaju este ovladace zariadeni. Napriklad ovladac pre USB wifi karty, ma v sebe obsiahnuty protokol pre USB zbernicu. Pre PCI karty to ma zase protokol pre PCI, ktory je znacne jednoduchsi. Zariadenie o trosku zlozitejsie ako 6 tlacitok maju vlastne procesory, ktore robia hodne prace. Napriklad sa posle prikaz cez zbernicu na zapnutie podpory hw sifrovania/desifrovania na wifi karte cim sa moze rapidne znizit zataz systemu, hlavne na embeded zariadeniach.
    19.6.2013 17:39 P. J.
    Rozbalit Rozbalit vše Re: Reverzujeme ovladače pro USB HID zařízení
    Jo, je to v první řadě sběrnice, to jsem tam napsal nešťastně.
    Rezza avatar 20.6.2013 14:22 Rezza | skóre: 25 | blog: rezza | Brno
    Rozbalit Rozbalit vše Re: Reverzujeme ovladače pro USB HID zařízení
    A co HW, ktery nema ani ovladace na Windows :) Ale strka se do Playstationu... HW chnapky dat jsou pekne drahe...
    20.6.2013 15:42 David Jaša | skóre: 44 | blog: Dejvův blog
    Rozbalit Rozbalit vše Re: Reverzujeme ovladače pro USB HID zařízení
    Zvirtualizovat nějak systém z PS? :-)
    20.6.2013 22:07 R
    Rozbalit Rozbalit vše Re: Reverzujeme ovladače pro USB HID zařízení
    S nejakym zariadenim, co ma aspon jeden USB host port a jeden USB device port by sa dal urobit SW USB HUB (vyrobit USB HUB gadget pre Linux?). A ten by okrem preposielania dat ich aj ukladal. Len neviem, ci Playstation podporuje HUBy.
    Jendа avatar 20.6.2013 22:23 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Reverzujeme ovladače pro USB HID zařízení
    To možná bude pomalé. Tohle by chtělo rychlý logický analyzér nebo něco custom s FPGA.
    21.6.2013 09:54 R
    Rozbalit Rozbalit vše Re: Reverzujeme ovladače pro USB HID zařízení
    Preco by to malo byt pomale? Existuje napr. MCS9990, co je PCI-E USB 2.0 interface s podporou OTG a daju sa kupit karty s nim. Ked to vrazis do lubovolneho PC, tak to nemoze byt pomale. Je to takmer zadarmo.
    Jendа avatar 21.6.2013 13:30 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Reverzujeme ovladače pro USB HID zařízení
    vlastikroot avatar 21.6.2013 17:55 vlastikroot | skóre: 24 | blog: vlastikovo | Milevsko
    Rozbalit Rozbalit vše Re: Reverzujeme ovladače pro USB HID zařízení
    Mame v praci osciloskop a ten s pomoci hardwaroveho klice (I2C pamet s textem oznacujici option, stavel jsem hack na to :-D) dokaze odchytavat a zaznamenavat i USB komunikaci. Pouzivame to na reverse ingeneering I2C a SPI.
    Sg1-game | We will destroys the Christian's legion ... and the cross, will be inverted | IP 80.188.182.6
    24.6.2013 12:03 R
    Rozbalit Rozbalit vše Re: Reverzujeme ovladače pro USB HID zařízení
    I2C sa da chytat aj paralelnym portom: http://tfla-01.berlios.de/ Nie je to uplne spolahlive (neviem, ci je to SW alebo HW problem), ale na TV kartu to stacilo.
    Rezza avatar 24.6.2013 17:43 Rezza | skóre: 25 | blog: rezza | Brno
    Rozbalit Rozbalit vše Re: Reverzujeme ovladače pro USB HID zařízení
    No zrovna u tohohle asi ani rychlost, ani propustnost nebude hrat roli. Moc dat se tam neprenasi.
    Jendа avatar 24.6.2013 20:28 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Reverzujeme ovladače pro USB HID zařízení
    Moc dat se tam neprenasi.
    Nemusí to přestat fungovat kvůli latenci?
    Rezza avatar 24.6.2013 20:59 Rezza | skóre: 25 | blog: rezza | Brno
    Rozbalit Rozbalit vše Re: Reverzujeme ovladače pro USB HID zařízení
    To je otazka - jedna se o snimace k EA Sports Active 2. Jako vec se mi to libi, ale na to kolik to stalo penez, tak tomu utnulo EA podporu a servery brzy. Chtel jsem zkusit vlastni verzi :D

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.