Il trasferimento dati tra 2 macchine Ubuntu è possibile tramite cavo USB?


20

Ho due macchine con Ubuntu 14.04, una accanto all'altra. Ma nessuna rete ((W) LAN). Posso trasferire i dati da una macchina all'altra tramite cavo USB? E se sì, come?


No, non la penso così. Avresti bisogno di qualcosa chiamato "cavo a ponte" per questo.
mikewhatever,

In generale, no. USB è stato progettato per essere da PC a periferica. Abbiamo offuscato la definizione di periferica con tablet e telefoni, ma non è possibile collegare un semplice cavo USB da A a A da PC a PC. Non credo di aver mai visto un cavo A-A-A oltre al cavo Easy Transfer di Windows.
Christopher Hostage,

2
Ciò che è stato detto è vero per i PC ordinari, sebbene "Ubuntu 14.04" non identifichi l'hardware e potrebbero esserci build che girano su varie piattaforme o tablet quasi incorporati che hanno dispositivi USB o interfacce OTG, così come il Interfacce host USB comuni sui PC.
Chris Stratton,

1
Questa è stata risolta su superuser.com/a/1165890/41259 .
chx,

Risposte:


16

Quando dici, cavo USB ti riferisci a un cavo Easy Transfer di Windows, giusto?

inserisci qui la descrizione dell'immagine

In tal caso, il modo più semplice per farlo è agganciare le due macchine direttamente insieme con un cavo Ethernet. Le schede NIC moderne sono abbastanza intelligenti da non aver nemmeno bisogno di un cavo crossover; si incrociano automaticamente quando rilevano che hai collegato due computer.


2
Da quello che ho sentito, i cavi di trasferimento USB come nella foto sono in genere trattati come un tipo di rete in Linux. Alcuni laptop ultraleggeri non dispongono di prese Ethernet cablate, quindi questo potrebbe essere vantaggioso: l'opzione potrebbe essere due adattatori USB-Ethernet e un cavo patch RJ45 (ma anche se questi potrebbero essere utilizzati anche per altri scopi di rete).
Chris Stratton,

@ChrisStratton È corretto. Questi cavi sono essenzialmente due schede NIC.
David Schwartz,

1
@DavidSchwartz in termini di come Linux li tratta tradizionalmente, sì. Ma Windows li vede in modo completamente diverso (secondo quanto riferito il trasferimento multipiattaforma non funziona) e dal punto di vista architettonico sono probabilmente una coppia di FIFO e una logica che si colloca tra due motori di dispositivi USB, o anche solo coordinando la logica per creare quind virtuali da una memoria buffer comune.
Chris Stratton,

2
@ChrisStratton Sono praticamente tutti basati su una variante del Prolific 2501 (2301, 25A1, qualunque cosa). Fisicamente, ci sono due FIFO tra due controller di back-end con un microcontrollore per la gestione. Ma è essenzialmente lo stesso di quello che otterresti se collegassi due schede di rete tra loro. Il modo in cui il conducente sceglie di presentarlo è, ovviamente, la scelta del conducente. Lo stesso software Windows che funziona su questi cavi in ​​genere funziona anche su schede NIC back-to-back a meno che il produttore non abbia scelto di bloccarlo.
David Schwartz,

Questa, credo, è la risposta USB 2.0 con la risposta USB 3.0 su superuser.com/a/1165890/41259 .
chx,

3

Se fosse assolutamente necessario farlo per una dimostrazione del concetto, è possibile simulare l'arte antica dei trasferimenti "laplink" emulando una porta seriale su ogni macchina.

Usb a seriale su uno e usb a seriale (null modem) nell'altro, risolvendo i problemi di genere nel mezzo.

Non sarebbe veloce.


8
"Non sarebbe veloce."
Charlie,


0

Se i tuoi computer dispongono di un connettore di tipo B o On-the-Go , puoi utilizzare il driver del gadget USB . Per caricare il driver

# modprobe g_ether

È possibile configurare gli indirizzi MAC e gli ID fornitore e prodotto:

# modinfo g_ether
filename:       /lib/modules/version/kernel/drivers/usb/gadget/legacy/g_ether.ko
license:        GPL
author:         David Brownell, Benedikt Spanger
description:    RNDIS/Ethernet Gadget
srcversion:     5E4C828D24F6E477C9CB5EE
depends:        libcomposite,u_ether,usb_f_rndis
intree:         Y
vermagic:       version SMP mod_unload modversions 
parm:           idVendor:USB Vendor ID (ushort)
parm:           idProduct:USB Product ID (ushort)
parm:           bcdDevice:USB Device version (BCD) (ushort)
parm:           iSerialNumber:SerialNumber string (charp)
parm:           iManufacturer:USB Manufacturer string (charp)
parm:           iProduct:USB Product string (charp)
parm:           qmult:queue length multiplier at high/super speed (uint)
parm:           dev_addr:Device Ethernet Address (charp)
parm:           host_addr:Host Ethernet Address (charp)
parm:           use_eem:use CDC EEM mode (bool)

È possibile impostare i parametri del modulo durante il caricamento del driver passandoli dopo il nome del modulo:

# modprobe g_ether host_addr=00:dc:c8:f7:75:05 dev_addr=00:dd:dc:eb:6d:f1

Se nessuna delle macchine supporta il funzionamento come dispositivo USB, questo approccio non funzionerà.

Avvertenza: NON tentare di collegare due connettori USB di tipo A. Nella migliore delle ipotesi, potresti danneggiare le tue schede madri. Nel peggiore dei casi, potresti accendere un fuoco.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.