Suporte para o cabo USB host-to-host Prolific (PL-25A1) no Linux
[Warning: This post is a backup recovery from my previous Wordpress blog. All content was automatically converted accessing a MySQL database using a Python script (details). Mostly are in Portuguese but if you are interest I can translate to English. If you found any problem dont’t hesitate to contact me in comments.]
O protocolo USB estabelece um padro mestre-escravo de comunicao, de modo que uma comunicao entre dois hosts (ex.: computadores PC) atravs de um cabo ponto-a-ponto no funcionar. Para resolver, existem cabos conversores (comercialmente j encontrei nomes como uplink, netlink, etc) que fazem esta adaptao.
Um dos controladores encontrados nestes cabos o PL-25A1 da Prolific que est presente em diversos modelos. Nos sistemas GNU/Linux h um mdulo (plusb.ko) que ainda no d suporte, mas j existe o patch (se quiser o arquivo j alterado clique aqui). Com o cabo conectado a porta USB veja qual o fabricante.
# lsusb Bus 001 Device 002: ID 067b:25a1 Prolific Technology, Inc. PL25A1 Host-Host Bridge
Meus testes foram usando o Linux 2.6.29.6-217.2.3.fc11.i586 (Fedora 11). Para instalar o novo mdulo, o primeiro passo renomear o antigo:
# cd /lib/modules/`uname -r`/kernel/drivers/net/usb/ # mv plusb.ko plusb.ko.orig
Na pasta onde est o cdigo-fonte (plusb.c) compile e carrege o mdulo no sistema.
# make -C /lib/modules/`uname -r`/build M=`pwd` modules # insmod plusb.ko
Uma vez que o mdulo esteja funcionando, voc ter uma nova interface de rede usbX (para ver utilize ifconfig -a). Para enviar e recever pacotes, escolha um endereo de IP para os endpoints e comece a utilizar normalmente.
usb0 Link encap:Ethernet HWaddr EE:08:2C:4C:79:5B inet addr:192.168.0.10 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::ec08:2cff:fe4c:795b/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:94 errors:0 dropped:0 overruns:0 frame:0 TX packets:63 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:12458 (12.1 KiB) TX bytes:11304 (11.0 KiB)
Acredito que as prximas verses do kernel fornecido pelas distribuies j iro trazer este suporte (quem ver o patch constatar que mnima as alteraes necessrias).
Este cabo custa em mdia R$ 70,00 bem til para transferir dados entre dois computadores quando no h interface de rede disponvel. Ainda no pesquisei os tipos de transferncias que o cabo permite, especialmente a transferncia iscrona.