สามารถถ่ายโอนข้อมูลระหว่างเครื่อง Ubuntu 2 เครื่องผ่านสาย USB หรือไม่


20

ฉันมีสองเครื่องกับ Ubuntu 14.04 ติดกัน แต่ไม่มีเครือข่าย ((W) LAN) ฉันสามารถถ่ายโอนข้อมูลจากเครื่องหนึ่งไปอีกเครื่องหนึ่งผ่านสาย USB ได้หรือไม่? และถ้าเป็นเช่นนั้นได้อย่างไร


ไม่ฉันไม่คิดอย่างนั้น คุณต้องการสิ่งที่เรียกว่า "สายเคเบิลเชื่อมต่อ" สำหรับสิ่งนั้น
mikewhething

โดยทั่วไปไม่มี USB ถูกออกแบบมาให้ใช้แบบพีซีต่ออุปกรณ์ต่อพ่วง เราทำให้คำจำกัดความของอุปกรณ์ต่อพ่วงพร่ามัวกับแท็บเล็ตและโทรศัพท์ แต่คุณไม่สามารถเสียบสายเคเบิล USB A-to-A แบบเก่าจากพีซีกับพีซีได้ ฉันไม่เชื่อว่าฉันเคยเห็นสายเคเบิล A-to-A นอกเหนือจากสายเคเบิล Windows Easy Transfer
Christopher Hostage

2
สิ่งที่กล่าวมานั้นเป็นจริงสำหรับพีซีทั่วไป แต่การพูดอย่างเคร่งครัด "Ubuntu 14.04" ไม่ได้ระบุฮาร์ดแวร์และอาจมีการสร้างที่ทำงานบนแพลตฟอร์มหรือแท็บเล็ตเสมือนฝังตัวที่มีอุปกรณ์ USB หรืออินเตอร์เฟส OTG รวมถึง อินเตอร์เฟสโฮสต์ USB ทั่วไปบนพีซี
Chris Stratton

1
นี้ได้รับการตอบรับที่superuser.com/a/1165890/41259
chx

คำตอบ:


16

เมื่อคุณพูดว่าสาย USB ที่คุณอ้างถึงเป็นสายเคเบิล Windows Easy Transfer ใช่ไหม?

ป้อนคำอธิบายรูปภาพที่นี่

ในกรณีนี้วิธีที่ง่ายที่สุดในการทำเช่นนี้คือเพียงเชื่อมเครื่องจักรสองเครื่องเข้ากับสายเคเบิลอีเทอร์เน็ตโดยตรง นิคส์สมัยใหม่นั้นฉลาดพอที่คุณไม่จำเป็นต้องใช้สายเคเบิลแบบไขว้ พวกเขาจะครอสโอเวอร์อัตโนมัติเมื่อตรวจพบว่าคุณเชื่อมต่อคอมพิวเตอร์สองเครื่อง


2
จากสิ่งที่ฉันได้ยินมาสายเคเบิล USB ถ่ายโอนตามปกติจะถือว่าเป็นเครือข่ายประเภทหนึ่งใน Linux อย่างไรก็ตาม แล็ปท็อปที่มีน้ำหนักเบาบางเครื่องไม่มีแจ็คอีเธอร์เน็ตแบบผ่านสายดังนั้นจึงเป็นประโยชน์ - ตัวเลือกอาจเป็นอะแดปเตอร์ USB-Ethernet สองตัวและสายแพตช์ RJ45 (แต่ก็สามารถใช้เพื่อจุดประสงค์อื่น ๆ
Chris Stratton

@ChrisStratton ถูกต้องแล้ว สายเคเบิลเหล่านี้มี NIC สองตัว
David Schwartz

1
@DavidSchwartz ในแง่ที่ว่า Linux ปฏิบัติต่อพวกเขาอย่างไร แต่ Windows เห็นพวกเขาแตกต่างไปจากเดิมอย่างสิ้นเชิง (การถ่ายโอนข้ามแพลตฟอร์มไม่ทำงาน) และในทางสถาปัตยกรรมพวกเขาอาจเป็นคู่ของ FIFOs และตรรกะบางอย่างอยู่ระหว่างเครื่องยนต์อุปกรณ์ USB สองเครื่องหรือแม้แต่การประสานงานเชิงตรรกะเพื่อสร้าง
Chris Stratton

2
@ChrisStratton พวกมันค่อนข้างจะอิงกับ Prolific 2501 (2301, 25A1 อะไรก็ตาม) ในทางกายภาพมี FIFO สองตัวระหว่างตัวควบคุมแบ็กเอนด์สองตัวพร้อมไมโครคอนโทรลเลอร์สำหรับการจัดการ แต่นั่นก็เหมือนกับที่คุณจะได้รับหากคุณเชื่อมต่อ NIC สองตัวเข้าด้วยกัน แน่นอนว่าคนขับเลือกที่จะนำเสนอสิ่งนี้เป็นตัวเลือกของผู้ขับขี่อย่างไร ซอฟต์แวร์ Windows เดียวกันกับที่ใช้งานกับสายเคเบิลเหล่านี้มักจะทำงานผ่าน NIC แบบ back-to-back เว้นแต่ผู้ผลิตเลือกที่จะล็อคมันลง
David Schwartz

นี้ผมเชื่อว่าเป็นคำตอบที่ USB 2.0 ที่มีคำตอบที่ USB 3.0 เป็นที่superuser.com/a/1165890/41259
chx

3

หากคุณต้องทำสิ่งนี้เพื่อพิสูจน์แนวคิดคุณสามารถจำลองศิลปะโบราณของการถ่ายโอน "laplink" โดยจำลองพอร์ตอนุกรมในแต่ละเครื่อง

Usb ไปเป็นอนุกรมในที่หนึ่งและ usb ไปยังอนุกรม (โมเด็ม null) ในอื่น ๆ เรียงลำดับปัญหาทางเพศที่อยู่ตรงกลาง

มันจะไม่รวดเร็ว


8
"มันจะไม่รวดเร็ว"
Charlie


0

หากเครื่องของคุณมีทั้งประเภท-BหรือOn-the-Goเชื่อมต่อคุณสามารถใช้ไดร์เวอร์ USB Gadget เพื่อโหลดไดรเวอร์

# modprobe g_ether

คุณสามารถกำหนดค่าที่อยู่ MAC และรหัสผู้จำหน่ายและผลิตภัณฑ์:

# 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)

คุณสามารถตั้งค่าพารามิเตอร์ของโมดูลเมื่อโหลดไดรเวอร์โดยส่งต่อหลังจากชื่อโมดูล:

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

หากเครื่องของคุณไม่รองรับการทำงานในฐานะอุปกรณ์ USB วิธีนี้จะไม่ทำงาน

คำเตือน:อย่าพยายามเชื่อมต่อขั้วต่อ USB Type-A สองตัว ที่ดีที่สุดคุณอาจทำให้เมนบอร์ดของคุณเสียหาย ที่แย่ที่สุดคุณอาจก่อไฟได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.