Az USB interfész első specifikációja 1996-ban látott napvilágot – és az IBM, az Intel és a Microsoft együttműködéséről volt szó, amelynek célja az volt, hogy egységesítse és javítsa a perifériák PC-hez való csatlakoztatását. Hogy világos legyen: a PC-nek volt egy tökéletesen kiforrott portkészlete, amely mindenféle célra szolgált: párhuzamos port nyomtatókhoz, ráadásul több verzióban is, köztük az EPP (Enhanced Parallel Port) és az ECP (Enhanced Capability Port), amelyeket kétirányú kommunikációra is lehetett használni.
Az RS-232 soros port, amely lehetővé tette az egér, a fényceruza – de akár a modem – csatlakoztatását is. A gameport, amely lehetővé tette az analóg joystickok csatlakoztatását. A PS/2 portok, amelyeket kifejezetten billentyűzetek és egerek csatlakoztatására terveztek, és amelyek nagyobb sebességet, ezáltal pontosabb felhasználói reakcióérzékelést kínáltak. És így tovább, és így tovább. Rengeteg problémát kellett megoldani – a legnyilvánvalóbb mellett, vagyis hogy már túl sok port volt.
Először is, a kábelezés minősége eltérő volt, amit a port nem tudott felismerni, így használhattál drága és precízen elkészített kábelt, amin keresztül minden működött – de amint egy másik kábel került a rendszerbe, az összes igényesebb adatátvitel összeomlott.
Másodszor, még ha volt is esély arra, hogy a számítógép túléli a kábel működés közbeni kihúzását vagy bedugását, erre egyáltalán nem volt garancia. A kábel bedugása vagy kihúzása áramlökést generálhat az érzékeny vezérlőáramkörökön, amelyek ezt egyáltalán nem biztos, hogy túlélik. Akkoriban több mint megszokott volt, hogy a PC-ken főleg a soros portok és a PS/2 portok hibásodtak meg egyszerűen azért, mert az emberek újra meg újra bedugták és kihúzták a kábeleket.
Már a 8 bites gépek korszakában megoldották a működés közbeni csatlakoztatás (hot plug) kérdését, és a PC-k egy sor portja elméletileg támogatta ezt, a gyakorlat azonban az volt, hogy az ilyen csatlakoztatástól óvtak, és a kézikönyvek azt kérték, hogy előbb kapcsold ki a számítógépet, csatlakoztasd az eszközt, majd kapcsold vissza. Ez nagyon kényelmetlen volt.
Harmadszor, a ki- és bekapcsolás azért is kívánatos volt, hogy az operációs rendszer megfelelően reagáljon a változásokra. Az MS DOS-os PC-knél megszokott volt, hogy az eszközillesztők csak indításkor töltődtek be – és ha később csatlakoztattad az eszközt, a rendszer egyszerűen nem tudta, mit kezdjen vele. Ezt kellett volna felváltania a Plug and Play módszernek, amikor az operációs rendszer érzékeli a változást – és maga telepíti a szükséges illesztőprogramokat, valahányszor erre szükség van.
Hasonló technológiát a Microsoft már használt az MSX (MicroSoft eXtended, 1984) 8 bites szabványnál is, de hot pluggal, vagyis bármikori bedugással kombinálva ez újdonság volt. És bonyolult is: maga Bill Gates okozta a Windows 98 összeomlását a Comdexen 1998-ban, miután bedugott egy új eszközt!
Ahogy már említettem az USB elődjeiről szóló cikkben, azok rendelkeztek láncba kapcsolási funkcióval, amikor az új eszközt az előzőhöz csatlakoztatták a láncban. Ez a rendszer elméletileg egyetlen porttal is beérte volna a számítógépen, és lehetővé tette volna tucatnyi más eszköz csatlakoztatását, de nem volt tökéletes. Először is – ha a lánc közepéről akartál volna lecsatlakoztatni egy eszközt, valójában az utána következő teljes eszközláncot is lecsatlakoztattad volna. Nem túl praktikus a felhasználónak – és még nem is beszélek arról a rendszerről, amelynek előbb az egész leválasztott ág elvesztését kellett volna feldolgoznia, majd visszaállítani, amikor visszadugod a kábelt.
Másodszor, a láncba kapcsolás meglehetősen összetett technológia, amely egy kicsit a számítógépes hálózatokra hasonlít. Az USB ezzel szemben lényegesen egyszerűbb host–eszköz rendszert használ, ahol minden eszköz pontosan egy saját vezérlőhöz kapcsolódik. Ezzel megszűnik a változások újratárgyalásának szükségessége minden egyes csatlakoztatási módosításnál, viszont az USB-eszköz bedugása vagy kihúzása után a megfelelő vezérlő eseményt generál, amelyet a kommunikációs fán keresztül elküld a gyökérvezérlőig (root controller), amely értesíti az operációs rendszert arról, hogy ilyen és ilyen változás történt.
Ennek a tervezési döntésnek az ára az, hogy az USB-nek elosztókat (hubokat) kell használnia. Minden gyökérvezérlő legfeljebb 127 eszközt támogat – elég bedugni az elosztókat, és ő maga megbirkózik vele. Érdemes megjegyezni, hogy a számítógépben nem minden port feltétlenül gyökérport. Az USB hibáival kapcsolatos tanácsok többsége azt mondja, hogy „dugd a kábelt közvetlenül a számítógépbe”, de ez valójában csak a külső USB hubokkal kapcsolatos problémákat kerüli meg. A legtöbb számítógépnek csak néhány, esetleg csak egy gyökérvezérlője van, és már azok a portok is, amelyeket a gépen látsz, az első elosztón keresztül vannak bekötve. Ez viszont jellemzően lényegesen jobb minőségű és alaposabban tesztelt, mint az olcsó külső hubok, így vele nem lesz gond.
A vezérlő típusától függően a ténylegesen csatlakoztatható eszközök száma nagyjából száz körülire korlátozódik, ami a gyakorlatban több mint elég. Ha több eszközre van szükséged, beszerezhetsz külön USB-vezérlővel rendelkező kártyákat, de ezzel valószínűleg komoly fejtörést okozol az operációs rendszernek: elfogyhatnak a lemezek jelölésére szolgáló betűk, túl sok nyomtatója lesz, és így tovább. Az USB lehetővé teszi, hogy akár öt billentyűzetet és három egeret csatlakoztass egyszerre – de tényleg szükséged van rájuk?
Az USB-nek egész sor problémája van, amelyek gyakran abból fakadnak, hogy olcsón tervezték, és főleg kezdetben viszonylag alacsony követelményeket támasztott a kábelezés minőségével és hasonlókkal szemben. Az USB-vel kapcsolatos legtöbb gyakorlati probléma abból adódik, hogy a komponensek, kábelek és hubok minősége nagyon változó, és nehéz egy bonyolult csatlakozási rendszert minimális hibával működésben tartani.
Összességében azonban elmondhatjuk, hogy az USB tervezése sikeres volt, kezdettől fogva jó volt, és megfelelt a legtöbb követelménynek, amelyet a 90-es évek első felében támasztottak vele szemben – ma már aligha tudná bárki elképzelni, hogy egy USB flash meghajtó bedugása után kötelezően újra kelljen indítania a számítógépet!
USB-C Laptopok