Apakah transfer data USB-ke-USB antara dua OS Linux dimungkinkan?

26

Saya ingin membuat sistem transfer data USB-ke-USB di Linux (terutama Ubuntu). Untuk ini saya ingin tidak menggunakan perangkat keras atau saklar eksternal ( kecuali kabel ini ). Ini akan seperti memasang drive USB ke suatu sistem, tetapi dalam skenario ini salah satu sistem Linux akan dipasang di yang lain. Bagaimana saya bisa membuat ini?

Apakah ada modul kernel yang tersedia, mengingat pengalaman saya dengan pemrograman kernel sangat mendasar?

the_Strider
sumber
6
"Untuk ini saya tidak ingin menggunakan perangkat keras atau saklar eksternal." Anda tidak dapat melakukan ini pada periode sistem apa pun, jika Anda ingin menggunakan kabel USB biasa untuk koneksi. USB bukan hubungan yang simetris. Anda sebenarnya dapat secara fisik merusak mesin dengan menghubungkan mereka dengan cara ini, karena ada tegangan yang terlibat.
goldilocks
2
Namun, Anda dapat menggunakan kabel host-to-host khusus, dalam hal ini, ya ada driver kernel, jadi jika Anda akan membelinya, pastikan Anda memeriksa apakah ada driver untuk kabel tertentu.
goldilocks
4
Itu pasti tidak akan berfungsi, dan merupakan jenis kabel yang dapat menggoreng komputer Anda jika Anda menghubungkannya ke komputer lain secara langsung.
zhongfu
2
@ Talongil Tidak, bukan itu yang saya maksud. Sepertinya tidak ada di situs Amazon yang bisa saya temukan - itu adalah hal yang tidak biasa. Ini satu . Jangan bingung dengan kabel OTG ("saat bepergian"), yang jauh lebih umum. Pada dasarnya ini tidak layak dikejar - perhatikan itu adalah kabel 2.0 yang berarti Anda akan memiliki transfer lebih cepat menggunakan kabel ethernet jika keduanya memiliki gigabit ethernet (dan Anda dapat menggunakan perangkat lunak normal).
goldilocks
2
saya hanya melakukan networking ... komputer saya jadi saya tahu saya sudah memilikinya ... LAN-over-USB ke LAN-over-USB akan seperti apa yang saya cari
Skaperen

Jawaban:

24

Ya ini mungkin, tetapi tidak mungkin dengan memotong dua kabel USB dengan konektor USB-A (apa yang biasanya masuk ke USB pada motherboard Anda) dan menghubungkan kabel data secara silang. Jika Anda menghubungkan kabel daya USB pada kabel buatan sendiri, Anda mungkin akan menggoreng chip penanganan USB on-board Anda . Jangan coba ini di rumah!

Pada kebanyakan papan komputer, chip yang menangani USB hanya untuk host. Tidak hanya itu tetapi, ia juga menangani banyak komunikasi tingkat rendah untuk mempercepat dan mengurangi beban pada CPU. Ini bukan seolah-olah Anda dapat memprogram komputer Anda untuk menangani pin pada port USB untuk bertindak seolah-olah bukan host. Perangkat yang mampu, pada tingkat chip, beralih antara bertindak sebagai tuan rumah dan menghubungkan ke tuan rumah sedikit, karena ini membutuhkan chip yang jauh lebih mahal expensive. Inilah sebabnya mengapa perangkat cerdas seperti ponsel pintar, GPS, dan ebook saya, meskipun semuanya menjalankan Linux atau yang serupa, tidak memungkinkan saya sshuntuk berkomunikasi ketika terhubung melalui kabel USB normal.

Perangkat-perangkat itu masuk ke mode bodoh ketika terhubung, di mana host (sistem desktop saya) dapat menggunakan penyimpanannya sebagai disk USB. Setelah melepas perangkat menggunakan antarmuka yang sama dengan host untuk mendapatkan data (meskipun tidak diperlukan koneksi kabel, ini terjadi secara internal). Dengan perangkat semacam itu bahkan jika Linux berjalan di keduanya, tidak ada komunikasi antara sistem, yaitu linuxes . Ini terlepas dari kabel micro atau mini USB normal yang menghubungkan mereka ke desktop saya.

Antara dua PC desktop di atas biasanya tidak mungkin dilakukan karena Anda akan memerlukan kabel USB-A ke USB-A, yang tidak umum (karena tidak akan bekerja dengan chip normal yang menggerakkan koneksi tetap).

Solusi apa pun yang melakukan USB ke USB dengan dua konektor USB-A yang saya lihat, didasarkan pada kabel yang memiliki beberapa elektronik di antaranya. (mirip seperti USB → Serial dicolokkan ke Serial → kabel USB, tapi kemudian semuanya utuh). Ini biasanya memerlukan driver untuk melakukan transfer, meskipun Anda mungkin dapat menggunakan UUCP atau sesuatu yang lain melalui kabel seperti itu, seperti Anda akan menggunakan port serial "normal". Ini mungkin memerlukan konfigurasi inetd dan benar untuk login di komputer lain juga.

¹ Satu-satunya perangkat yang saya miliki adalah perangkat lunak yang dapat diubah dengan cara ini adalah papan Arduino dengan chip khusus yang persis seperti itu. Hanya chip ini yang membuat papan dua kali lebih mahal dari papan Arduino normal.

Anthon
sumber
"jangan izinkan saya menggunakan sshuntuk berkomunikasi saat terhubung melalui kabel USB normal" Saya mungkin salah paham, tapi saya bisa ssh masuk ke iPhone saya yang sudah di-jailbreak
Cole Johnson
@ColeJohnson Saya tidak terbiasa dengan iphone. Apakah itu memungkinkan Anda untuk melihat memori internal sebagai drive USB pada komputer host dengan USB? Jika bisa, ia harus menjalankan emulasi penuh dari sisi non-host. Jika tidak, maka mungkin memerlukan program khusus untuk memuat data ke telepon.
Anthon
Jika Anda menginstal opensshpada perangkat, Anda dapat sshdalam (melalui Wi-Fi), dan jika Anda menginstal afc2(Apple File Conduit) pada perangkat, Anda harus dapat menelusuri sistem file melalui USB (tanpa itu, Anda "dipenjara" "to /var/mobile)
Cole Johnson
1
Ini semua baik-baik saja kecuali sedikit tentang ponsel. Fakta bahwa banyak perangkat membatasi apa yang dapat dilakukan tidak meniadakan fakta bahwa chip USB yang digunakan pada semua perangkat kecuali beberapa perangkat dapat berjalan dalam mode klien, beberapa juga dapat berjalan dalam mode host.
Caleb
6

Ya, USB 3.0 memungkinkan transfer data dupleks penuh, dengan pemasangan kabel 3.0. Spesifikasi ada di bagian 5.5.2 dari spesifikasi USB. Tautan ke spesifikasi tersebut diberikan sebelumnya dalam jawaban lain. http://www.gaw.ru/pdf/interface/usb/USB%203%200_english.pdf

Kabel menjadi lebih mudah ditemukan - mereka dapat dibeli di Amazon, misalnya, dengan harga di bawah $ 8,00. pastikan untuk membeli DATA TRANSFER, kabel A ke male A. Versi Linux yang lebih baru mendukung transfer.

Saya harap itu membantu seseorang - saya sendiri mencari jawabannya untuk sementara waktu.

Wayne Wright
sumber
pengaturan apa pun yang diperlukan agar kabel ini berfungsi? apakah itu pemasangan atau simulasi jaringan?
mpapis
menarik, saya memiliki kabel usb 3.0 sederhana (hanya ujung jantan dan kabel sederhana di antara), dan saya bertanya-tanya apakah saya tidak akan menggoreng port notebook usb 2.0 saya dengan menghubungkannya ke port usb 3.0 desktop saya? Saya terhubung selama beberapa detik dan tidak ada yang terjadi pada dmesg, jadi saya segera memutus hubungan seperti yang biasanya saya lakukan dengan apa pun yang tidak segera berfungsi.
Aquarius Power
2
Bagian 5.5.2 "Rakitan Kabel USB 3.0 Standar-A ke USB 3.0 Standar-A" dari Spesifikasi hanya menentukan kabel dan mengatakan "rakitan kabel ditentukan untuk debugging sistem operasi dan aplikasi koneksi host-ke-host lainnya". Apakah Anda yakin bahwa kabel USB3 a-to-a memungkinkan tidak hanya debugging ( kernel.org/doc/html/v4.16/driver-api/usb/usb3-debug-port.html - membutuhkan kemampuan debug xHCI DbC, yang merupakan opsional untuk pengendali host xHCI usb3), tetapi juga transfer file? Untuk transfer file ada kabel aktif (dengan pengontrol di tengah), beberapa tercantum di: ghisler.com/cables
osgx
Saya belum pernah melihat pengaturan yang berfungsi dengan ini. Ingin membagikan detail?
dirkt
3

Anda dapat menggunakan perangkat jembatan USB yang tersedia dalam faktor bentuk kabel seperti ini ... http://www.usbgear.com/link/ (peringatan video putar otomatis)

Skaperen
sumber
3
jangan tidak menghubungkan port USB secara langsung
Skaperen
ini mungkin khusus untuk Windows
Skaperen
3
Saya akan sangat berhati-hati dengan bit "no driver needed". AFAIK yang mereka lakukan, pada kenyataannya, membutuhkan driver. linux-usb.org/usbnet/#t-host
goldilocks
@goldilocks ya board itu mungkin memiliki beberapa jenis kode windows ... tidak ada driver yang perlu diinstal dari cd oleh pengguna
Skaperen
1

Secara teknis dimungkinkan jika salah satu perangkat mendukung USB OTG , di mana port dapat bertindak sebagai master atau sebagai slave. Anda dapat mengatur perangkat OTG sebagai slave, dan membiarkannya bertindak sebagai drive hard disk USB (sehingga Anda bahkan tidak memerlukan driver khusus pada master).

Inilah yang dilakukan banyak telepon dan beberapa kamera. Jika Anda menghubungkannya ke printer, mereka menjadi master; jika terhubung ke PC mereka menjadi budak.

Lesto
sumber
1
USB OTG hanya beralih antara host USB dan mode perangkat USB. Sementara umum untuk ponsel, saya tidak tahu PC dengan fitur ini. Apakah PC ini benar-benar ada?
Lekensteyn
@Lekensteyn: Ini tidak biasa untuk tablet, dan beberapa tablet benar-benar PC penuh. Mungkin ada korelasi yang tinggi antara port USB khusus host dan PC lengkap.
Ben Voigt
@lekensteyn mengedit jawaban hanya sebagai salah satu dari dua perangkat, tidak penting jika pengirim atau penerima. Masih kurang otg di sisi PC, saya pikir. Itu memalukan.
Lesto
Saya percaya ini juga disebut Data Peran Ganda . Beberapa motherboard yang lebih baru memiliki dukungan untuk fungsi ini - lihat misalnya halaman ini . Ini didokumentasikan dalam lembar data chipset, tetapi harus diaktifkan pada semua motherboard.
Luciano
0

Cara saya akan melakukannya adalah menggunakan 2 kabel usb-serial dan koneksi nol antara. Kemudian Anda dapat menggunakan xmodem, zmodem, kermit dll untuk mentransfer file, atau menggunakan ppp atau slip untuk jaringan antara dua mesin. Kuno tapi akan berhasil.

Ini

Ini
sumber
1
Dengan "kabel serial usb" yang Anda maksud adalah kabel yang mengkonversi dari USB ke beberapa konektor serial dan standar seperti RS232 melalui DE-9? Jadi pada dasarnya dua konverter dan kabel untuk komunikasi serial? Juga, akan lebih baik dengan sedikit informasi lebih lanjut tentang cara menggunakan protokol ini atau di mana mencari bantuan yang baik.
phk
phk benar, Anda harus menjelaskan apa itu koneksi null. Sebuah jawaban harus lengkap. Selain itu, silakan gunakan "Anda" alih-alih "u", sekali lagi jawaban harus berupa contoh yang lengkap bukan forum post
grochmal
Ini akan mengambil kecepatan transfer USB 3 Anda (5-10Gbps) dan menguranginya hingga 0,001Gbps, sekitar 1000 kali lebih lambat dari Ethernet gigabit standar. Hampir tidak sepadan dengan usaha! Terutama jika seperti OP yang ingin Anda bagikan disk melalui koneksi.
Malvineous