Dobrý nápad pro experiment komunity Arduinářů :-) Zkoušel jsem něco podobného, snifovat tok mezi externí USB čtečkou smartcard. Skoro nic jsem nevyčmuchal. Ale čistá data by byla stejně napytel, protože čtečka si šifruje uvnitř. Nehledě na šifrování uvnitř karty. S kýbordem by to mělo být průsvitnější. On vůbec kýbord je docela slabé místo na celém kompu. Otevřená komunikace, krásně pomalý seriový přenos. Možná ještě slabší místo, nežli data do VGA, nebo LAN....
Ono by vůbec bylo možností... Nejde jenom o datový linky, ale i třeba o napájení. Čtečka začne něco dělat, stoupne jí spotřeba o 10%, na společným kabelu, který napojí hub, to sestřelí napětí o 10mV... Ale změř to přesně a dej si to do souvislostí, když nevíš, co se děje, co je to za čtečku, jak je dlouhý kabel,... V labině jo, ale v praxi?
Čmuchání linek, no tak tam bude jenom šum, co uteče na čipu hubu. V kabelech je kroucená dvojlinka, na desce diferenciální pár, zem přede mnou, zem za mnou. Datový vodiče mají na straně hubu 15k pulldown, někdy i ~10p kondíky do země, takže pěkně utlumený. Hrát si s milivoltama na diferenciální lince na 48MHz a ještě řešit NRZI modulaci na fyzické vrstvě, formát dat, to takový normální ledkoblik s Arduinem nedá.
S KB jako nejslabším místem rozhodně souhlasím.
No samozřejmě spolu komunikovat můžou.
1. Prakticky vzato, každá periferie je vlastně počítač :)
2. Existuje USB OTG. Má navíc pin, který se určuje, jestli je zařízení master nebo slave. Na jednom konci kabelu se prostě uzemní, na druhým ne. Pak je jasný, kdo to řídí a stačí si vytvořit tunel na úrovni SW. (USB OTG se ale nedává do PC, ten najdeš mobilu nebo tabletu)
3. Existují převodníky na jiný rozhraní, třeba USB-COM, LAN,...
Jinak USB paradoxně není ani vstupní, ani výstupní, ani současně. JE to komunikační systém, probíhá tam nějaký management, několik typů datových přenosů,... Vstupní nebo výstupní z něho dělá to, co k němu připojím.
ehm, uz nekdy v roce 2001 uvedla MSI desku pro Socket A Athlony s chipsetem VIA KT266, ktera umoznovala spojit 2 pocitace skrz USB - podminkou bylo, aby to umely obe desky, pak se to chovalo jako sitovy adapter. Uz si nepamatuju, jestli slo spojit i vice pocitacu (ale myslim, ze ne). Ale fakt je, ze se to evidentne neujalo a je otazka proc. (Implementace komlikovanejsi/horsi/drazsi/pomalejsi nez eternet?)
Jojo. Proč se to neujalo, je myslím jasné. V té době tragická rychlost, žere to nesmyslně CPU (platí dodnes, viz ony slavné ovocné desky s tragickou sítí implementovanou přes USB), a navíc to byl proprietární nekompatibilní krám (a vzhledem k předchozímu ani nikdo netoužil to standardizovat).
Mozno sa v niecom mylim, nepoznam fyzicku vrstvu USB do detailov, budem vychadzat z vedomosti ktore mam.
USB kable su uzemnene na oboch stranach, tym padom cez USB nieje mozne spajat zariadenia napajane z roznych "elektrickych zastrciek (vetiev)" Lebo je tam rozdielny potencial. Tiez neviem ake max. napatie je povolene medzi signalom a uzemnenim, ale limit tam je. Mohlo by to fungovat ak by boli napajane z 1 rozvodky. Ale ludia su kreativny a urcite by takto niekomu napadlo pripojit aj susedov PC, pripadne do toho zamontovat aj USB Hub a pospajat rovno viacerych susedov... :), vtedy by mozno uz aj USB kable horeli...
Ethernet ma v sietovej karte malicke transformatory, tym padom je kabel galvanicky oddeleny od oboch PC, takze ak by aj nejaky dobrak preskrabal izolaciu na ethernet kabli a spojil ho s fazou, PC siet by to pravdepodobne zhodilo, ale teoreticky by sa nic ine nemalo pokazit. Tiez aj ak sa na 100m kabli nieco naindukuje zo vzduchu (vedeny blizko napajacich kablov, vzdialeny uder blesku...) Ethernet to prezije, USB porty, pravdepodobne aj so zvyzkom PC by uz boli odpalene.
USB je "elektricky" nevhodny na spajanie PC
Ne, je to jinak. Kdyby to s tím podélným přepětím platilo, tak nepřipojíš ani tiskárnu v jiné zásuvce. Příčný přepětí se řeší na úrovni ochran na desce, pokud je srovnaná zem, zase není větší problém, než připojení hubu v uzemněným monitoru. Divný, co?
Pokud na to ale fakt přijde, tak ti USB klidně elektricky oddělím, jenom 12Mbps nebude taková hitparáda jako gigová LAN.
Problémy jsou snad na všech úrovních (důvěrně znám verze 1,1 a 2.0, navrhovat něco s 3.x jsem zatím neměl tu čest).
1. Fyzicky se liší zapojení host a device. Device oznamuje připojení pullupem na jedné z linek (DM pro low speed, DP pro ostatní rychlosti), u hosta jsou pulldowny. Spojení host-host tak ani nezahájí inicializaci, protože se o sobě prostě ti dva nedozví.
2. Na úrovni protokolů linky počítej s MTU 64B (standardní velikost endpointu) + režie jako frame sync po 1ms. A to buďto jako bitbang (rychle a bez potvrzování, přenos s chybama), nebo bulk (zaručený data, ale pomalý kvůli čekání na ACK po max. stovkách B).
3. Přenos je trochu krkolomný, protahovalo by se to jako klasický tunelovaný TCP/IP s režií jako kráva.
Ano, viem ze existuju galvanicke oddelovace USB, ale je to opat dalsi HW a vyssia cena... A aby USB bolo blbovzdorne, museli by byt priamo na doskach PC (podobne ako to ma ethernet).
V starsich domoch je elektrika tahana k zastrckam 2 zilami. Faza, nulak, uzemnenie je spojene s nulakom priamo v zastrckach. Takze ak na niektorej z elektrickych vetiev je okrem PC techniky pripojeny al elektricky ohrievac, zehlicka, cirkularka.... prud kt. do nich tecie nulakom sa "rozdeli" a cast prudu pojde aj cez uzemnenie PC komponentov. Ak su v tom dome este aj zaoxidovane svorky s "velkym" prechodovym odporom, naozaj to bude robit bordel. Najdi si priestory s takto spravenou elektroinstalaciou a experimentuj.
Situacie ktore opisujes, bezproblemovo funguju iba v elektrickych rozvodoch kde je samostatne uzemnenie vedene mimo nulaku, idealne aj s prudovym chranicom. No ale ani to ta nespasi ak by si natiahol USB kabel do susedovho domu...