Có thể truyền dữ liệu giữa 2 máy Ubuntu qua cáp USB không?


20

Tôi có hai máy với Ubuntu 14.04, ngay cạnh nhau. Nhưng không có mạng ((W) LAN). Tôi có thể chuyển dữ liệu từ máy này sang máy khác qua cáp usb không? Và nếu vậy thì thế nào?


Không, tôi không nghĩ vậy. Bạn sẽ cần một cái gì đó gọi là "cáp bắc cầu" cho điều đó.
mikewhthing

Nói chung, không. USB được thiết kế để PC-ngoại vi. Chúng tôi đã làm mờ định nghĩa của thiết bị ngoại vi với máy tính bảng và điện thoại, nhưng bạn không thể cắm cáp USB A-to-A cũ đơn giản từ PC sang PC. Tôi không tin rằng tôi đã từng thấy cáp A-to-A ngoài Cáp chuyển dễ dàng của Windows.
Con tin Christopher

2
Những gì đã nói là đúng với PC thông thường, mặc dù nói đúng "Ubuntu 14.04" không xác định phần cứng và cũng có thể có các bản dựng chạy trên nhiều nền tảng hoặc máy tính bảng khác nhau có giao diện USB hoặc giao diện OTG, cũng như Giao diện máy chủ USB phổ biến trên PC.
Chris Stratton

1
Điều này đã được trả lời tại superuser.com/a/1165890/41259 .
chx

Câu trả lời:


16

Khi bạn nói, cáp USB bạn đang đề cập đến Cáp chuyển dễ dàng của Windows, phải không?

nhập mô tả hình ảnh ở đây

Trong trường hợp đó, cách dễ nhất để làm điều này là chỉ cần nối hai máy trực tiếp với nhau bằng cáp Ethernet. Các NIC hiện đại đủ thông minh để bạn thậm chí không cần cáp chéo; họ chỉ tự động giao nhau khi họ phát hiện ra rằng bạn đã kết nối hai máy tính.


2
Từ những gì tôi đã nghe, cáp chuyển USB như trong hình thường được coi là một loại mạng trong Linux. Một số máy tính xách tay siêu nhẹ không có giắc cắm ethernet có dây, vì vậy điều này có thể thuận lợi - tùy chọn có thể là hai bộ điều hợp USB-Ethernet và dây vá RJ45 (nhưng mặc dù chúng cũng có thể được sử dụng cho các mục đích kết nối mạng khác).
Chris Stratton

@ChrisStratton Đúng vậy. Các cáp này về cơ bản là hai NIC.
David Schwartz

1
@DavidSchwartz về cách Linux truyền thống đối xử với họ, vâng. Nhưng Windows thấy chúng hoàn toàn khác nhau (theo báo cáo chuyển giao đa nền tảng không hoạt động) và về mặt kiến ​​trúc, chúng có thể là một cặp FIFO và một số logic nằm giữa hai công cụ thiết bị USB hoặc thậm chí chỉ phối hợp logic để tạo ra các bộ đệm ảo trong bộ nhớ đệm chung.
Chris Stratton

2
@ChrisStratton Chúng khá nhiều dựa trên một số biến thể của Prolific 2501 (2301, 25A1, bất cứ điều gì). Về mặt vật lý, có hai FIFO giữa hai bộ điều khiển phụ trợ với bộ vi điều khiển để quản lý. Nhưng về cơ bản giống như những gì bạn nhận được nếu bạn kết nối hai NIC với nhau. Tất nhiên, cách người lái xe chọn trình bày nó là sự lựa chọn của người lái xe. Phần mềm Windows tương tự hoạt động trên các loại cáp này thường cũng hoạt động trên các NIC back-to-back trừ khi nhà sản xuất chọn khóa nó.
David Schwartz

Tôi tin rằng đây là câu trả lời USB 2.0 với câu trả lời USB 3.0 có tại superuser.com/a/1165890/41259 .
chx

3

Nếu bạn hoàn toàn phải làm điều này để chứng minh khái niệm, bạn có thể mô phỏng nghệ thuật chuyển giao "laplink" cổ đại bằng cách mô phỏng một cổng nối tiếp trên mỗi máy.

USB nối tiếp trên một, và usb sang nối tiếp (modem null) ở bên kia, sắp xếp các vấn đề về giới ở giữa.

Nó sẽ không nhanh chóng.


8
"Sẽ không nhanh đâu."
Charlie


0

Nếu máy của bạn có đầu nối Type-B hoặc On-the-Go , bạn có thể sử dụng Trình điều khiển tiện ích USB . Để tải trình điều khiển

# modprobe g_ether

Bạn có thể định cấu hình địa chỉ MAC và ID nhà cung cấp và sản phẩm:

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

Bạn có thể đặt tham số mô-đun khi tải trình điều khiển bằng cách chuyển chúng sau tên mô-đun:

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

Nếu cả hai máy của bạn không hỗ trợ hoạt động như một thiết bị USB, phương pháp này sẽ không hoạt động.

Cảnh báo: KHÔNG cố gắng kết nối hai đầu nối USB Type-A. Tốt nhất, bạn có thể làm hỏng bo mạch chủ của bạn. Tệ nhất, bạn có thể bắt đầu một đám cháy.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.