oriolrius.cat

Des del 2000 compartiendo sobre…

Tag: usb-server

Servidor USB 1.1

Reading time: 2 – 3 minutes

Potser el concepte us sona una mica extrany, una altre forma de definir-ho seria: bridge USB RJ45/Ethernet. La idea és ben senzilla, vull poder connectar un cable de xarxa convencional amb un petit dispositiu que tingui 4 sortides USB. Després des del windows hi ha d’haver un driver virtual de HUB USB, perquè virtual? doncs perquè el HUB USB no esta físicament connectat al sistema ROOT USB del PC. Així doncs, el driver ha de simular que el realment hi esta connectat, fent de bridge a través de la xarxa ethernet. Doncs això tan extrany que demano existeix, com sempre als EUA i el seu preu és d’uns ~100€. L’única nota negativa que li he troba a part de que només esta disponible a l’altre punta del món és que només és compatible amb USB v1.1, o sigui, 12Mbps com a màxim. Obviament si fos compatible USB v2.0 no podria desenvolupar la potència de 480Mbps que és el que pot donar la v2 de USB, però almenys donaria molt més que els 12Mbps.

Què guanyem amb aquest invent:

  • connectar dispositius USB a més de 100m del PC
  • connectar un dispositiu USB a més d’un PC a la vegada
  • la resta de funcions ja són massa friquis per explicar aquí

Si ens posem a pensar en com funciona el ‘catxarrillo’ no és tan difícil d’implementar. Dins de la caixeta negra hi podriem fer correr un linux embedded i no seria excessivament difícil configurar-lo perquè envies tots els paquets de capa 2 USB per sobre d’IP a través de la xarxa ethernet. La part més pesada de programar seria la del driver windows, osx i/o linux fent la simulació de que el HUB USB esta connectat al ROOT USB com us comentava abans. Però si implementés això de ben segur que hi posaria una giga-ethernet per poder enviar els 480Mbps per sobre dels 1Gbps de la ethernet i així poder connectar-hi qualsevol dispositiu. Malgrat la teoria sempre és molt maca estic segur que alguna cosa faria que hi haguéssin mil problemes, però això fins que no s’intenta mai se sap.