두 Linux OS간에 USB-USB 데이터 전송이 가능합니까?


26

Linux에서 USB-to-USB 데이터 전송 시스템 (바람직하게는 Ubuntu)을 만들고 싶습니다. 이를 위해 외부 하드웨어 나 스위치를 사용하지 않으려합니다 ( 이 케이블 제외 ). USB 드라이브를 시스템에 마운트하는 것과 같지만이 시나리오에서는 Linux 시스템 중 하나가 다른 시스템에 마운트됩니다. 어떻게 만들 수 있습니까?

커널 프로그래밍에 대한 나의 경험이 매우 기본적이라는 것을 감안할 때 사용 가능한 커널 모듈이 있습니까?


6
"이를 위해 외부 하드웨어 나 스위치를 사용하고 싶지 않습니다." 일반 USB 케이블을 사용하여 연결하려는 경우 시스템 기간 동안이 작업을 수행 할 수 없습니다. USB는 대칭 관계가 아닙니다. 실제로 전압이 관련되어 있으므로 이러한 방식으로 연결하면 물리적으로 손상 될 수 있습니다 .
goldilocks

2
그러나 특별한 호스트-호스트 케이블을 사용할 수 있습니다.이 경우 커널 드라이버가 있습니다. 따라서 구매할 경우 특정 케이블에 대한 드라이버가 있는지 확인하십시오.
goldilocks

4
그것은 확실히 작동하지 않을 것이며, 컴퓨터를 다른 컴퓨터에 직접 연결하면 컴퓨터를 튀길 수있는 종류의 케이블입니다.
zhongfu

2
@Thorongil 아니요, 그건 제 말이 아닙니다. 내가 찾을 수있는 아마존 사이트에는없는 것 같습니다. 여기 하나 있습니다. 이것을 훨씬 더 일반적인 OTG ( "on-the-go") 케이블과 혼동하지 마십시오. 기본적으로 이것은 추구 할 가치가 없습니다 .2.0 케이블이므로 이더넷 케이블을 사용하는 경우 기가비트 이더넷이 있고 일반 소프트웨어를 사용할 수 있으면 이더넷 케이블을 사용하여 더 빨리 전송할 수 있습니다.
goldilocks

2
난 그냥 네트워킹 ... 내 컴퓨터 그래서 내가 이미 알고 ... LAN-over-USB to LAN-over-USB 내가 원하는 것
Skaperen

답변:


24

예이 가능하지만은 하지 (일반적으로 마더 보드의 USB에 무슨 일이 일어나고 있는지) 및 데이터 케이블을 연결 교차 USB-A 커넥터가있는 두 개의 USB 케이블을 절단 가능. 자체 제작 된 케이블에 USB 전원 라인을 연결하면 온보드 USB 처리 칩이 튀어 나올 수 있습니다 . 집에서 이것을 시도하지 마십시오!

대부분의 컴퓨터 보드에서 USB를 처리하는 칩은 호스트 전용입니다. 뿐만 아니라 많은 저수준 통신을 처리하여 속도를 높이고 CPU의 부하를 줄입니다. 마치 호스트가 아닌 것처럼 작동하도록 USB 포트의 핀을 처리하도록 컴퓨터를 프로그래밍 할 수있는 것은 아닙니다. 칩 수준에서 호스트 역할과 호스트 연결을 전환 할 수있는 장치는 훨씬 비쌉니다. 칩이 훨씬 비쌉니다 ¹. 예를 들어 스마트 폰, GPS 및 ebook과 같은 지능형 장치는 모두 Linux 또는 이와 유사한 장치를 실행하지만 ssh일반 USB 케이블을 통해 연결할 때 통신하는 데 사용할 수없는 이유 입니다.

이러한 장치는 연결되면 호스트 (내 데스크탑 시스템)가 USB 디스크로 스토리지를 사용할 수있는 일부 바보 모드로 들어갑니다. 장치를 분리 한 후 호스트와 동일한 인터페이스를 사용하여 데이터를 가져옵니다 (케이블 연결이 필요하지는 않지만 내부적으로 발생 함). Linux가 두 가지 모두에서 실행 되더라도 이러한 종류의 장치를 사용하면 시스템, 즉 linuxes 사이에 통신이 없습니다 . 이것은 일반 마이크로 또는 미니 USB 케이블과는 별개로 데스크탑에 연결합니다.

두 대의 데스크탑 PC 사이에서는 USB-A-USB-A 케이블이 필요하므로 일반적으로 위와 같은 방법은 불가능합니다.

내가 본 두 개의 USB-A 커넥터로 USB-USB를 수행하는 모든 솔루션은 사이에 일부 전자 장치가있는 케이블을 기반으로합니다. (USB → 직렬이 직렬 → USB 케이블에 꽂혀 있지만 모두 한 조각에 꽂혀있는 것처럼). "일반적인"직렬 포트를 사용하는 것처럼 UUCP 또는 케이블을 통해 다른 케이블을 사용할 수 있지만 일반적으로 전송을 위해서는 드라이버가 필요합니다. 다른 컴퓨터에서도 로그인하려면 inetd 및 적절한 구성이 필요할 수 있습니다.

¹ 이런 방식으로 소프트웨어를 변경할 수있는 유일한 장치는 바로 그러한 특별한 칩을 가진 Arduino 보드입니다. 이 칩 만으로도 일반 Arduino 보드 보다 보드를 두 배나 비쌉니다.


" ssh정상적인 USB 케이블을 통해 연결될 때 통신하는 데 사용하지 마십시오 " 나는 당신을 오해 할 수도 있지만, 탈옥 된 iPhone에 들어갈 수 있습니다 ssh
Cole Johnson

@ColeJohnson 나는 아이폰에 익숙하지 않습니다. USB가있는 호스트 컴퓨터에서 내부 메모리를 USB 드라이브로 볼 수 있습니까? 가능한 경우 호스트가 아닌 쪽의 전체 에뮬레이션을 실행해야합니다. 만약 그것이 불가능하다면 아마도 전화로 데이터를로드하기위한 전용 프로그램이 필요할 것입니다.
Anthon

openssh장치에 설치 하면 ssh(Wi-Fi를 통해), afc2장치에 (Apple File Conduit)을 설치 하면 USB를 통해 파일 시스템을 찾아 볼 수 있어야합니다./var/mobile
Cole Johnson

1
이것은 전화에 관한 내용을 제외하고는 모두 괜찮습니다. 많은 장치가 수행 할 수있는 작업을 제한한다는 사실은 소수의 장치를 제외한 모든 장치에 사용되는 USB 칩이 클라이언트 모드에서 실행될 수 있고 일부는 호스트 모드에서 실행될 수 있다는 사실을 부정하지 않습니다.
Caleb

6

예, USB 3.0은 3.0 케이블 링으로 전이중 데이터 전송을 가능하게합니다. 사양은 USB 사양의 섹션 5.5.2에 있습니다. 이러한 사양에 대한 링크는 다른 답변에서 앞서 제공됩니다. http://www.gaw.ru/pdf/interface/usb/USB%203%200_english.pdf

케이블을보다 쉽게 ​​찾을 수있게되었습니다. 예를 들어 아마존에서 8.00 달러 미만으로 구입할 수 있습니다. 데이터 전송, 수 A-수 A 케이블을 구입하십시오. 최신 버전의 Linux가 전송을 지원합니다.

나는 그것이 누군가를 도울 수 있기를 바랍니다. 나는 대답을 꽤 오랫동안 찾았습니다.


이 케이블이 작동하는 데 필요한 설정은 무엇입니까? 마운트 또는 네트워크 시뮬레이션입니까?
mpapis

흥미롭게도, 간단한 USB 3.0 케이블 (남성 끝과 간단한 케이블 사이)이 있는데 데스크탑 USB 3.0 포트에 연결하여 USB 2.0 노트북 포트를 튀기지 않을지 궁금합니다. 나는 몇 초 동안 연결했지만 dmesg에서 아무 일도 일어나지 않았으므로 일반적으로 즉시 작동하지 않는 모든 작업과 마찬가지로 즉시 연결이 끊어졌습니다.
물병 자리 힘

2
사양의 5.5.2 절 "USB 3.0 표준 -A-USB 3.0 표준 -A 케이블 어셈블리"는 케이블 만 정의하고 "케이블 어셈블리는 운영 체제 디버깅 및 기타 호스트-호스트 연결 응용 프로그램을 위해 정의됩니다"라고 말합니다. usb3 a-to-a 케이블로 디버깅 할 수있을뿐 아니라 ( kernel.org/doc/html/v4.16/driver-api/usb/usb3-debug-port.html) xHCI 디버그 기능 DbC가 필요합니다. xHCI usb3 호스트 컨트롤러 옵션), 파일 전송? 파일 전송을 위해 활성 케이블 (중간에 컨트롤러 포함)이 있으며, 일부는 ghisler.com/cables
osgx

나는 이것으로 작동하는 것을 본 적이 없다. 세부 사항을 공유하고 싶으십니까?
dirkt

3

다음과 같은 케이블 폼 팩터로 제공되는 USB 브리지 장치를 사용할 수 있습니다 ... http://www.usbgear.com/link/ (자동 재생 비디오 경고)


3
USB 포트를 직접 연결 하지 마십시오
Skaperen

Windows에만 해당 될 수 있습니다.
Skaperen

3
나는 "드라이버 필요 없음"비트에 대해 매우 조심할 것입니다. AFAIK는 실제로 운전자가 필요합니다. linux-usb.org/usbnet/#t-host
금발 미녀

@goldilocks 네, 보드에는 아마도 일종의 윈도우 코드가있을 것입니다. 사용자가 CD로 드라이버를 설치할 필요가 없습니다
Skaperen

1

장치 중 하나가 USB OTG를 지원하는 경우 기술적으로 가능합니다 . 여기서 포트는 마스터 또는 슬레이브로 작동 할 수 있습니다. OTG 장치를 슬레이브로 설정하고 USB 하드 디스크 드라이브로 작동하게 할 수 있습니다 (따라서 마스터에 특수 드라이버가 필요하지 않음).

이것이 많은 전화와 일부 카메라의 기능입니다. 프린터에 연결하면 마스터가됩니다. PC에 연결되면 슬레이브가됩니다.


1
USB OTG는 USB 호스트와 USB 장치 모드 사이를 전환합니다. 전화에는 일반적이지만이 기능을 갖춘 PC는 없습니다. 이 PC들이 실제로 존재합니까?
Lekensteyn

@Lekensteyn : 태블릿에서는 드문 일이 아니며 일부 태블릿은 실제로 풀 PC입니다. 그러나 호스트 전용 USB 포트와 전체 PC 간에는 높은 상관 관계가있을 수 있습니다.
벤 Voigt

@lekensteyn은 두 장치 중 하나로 만 답변을 편집 했으므로 발신자 또는 수신자에게 중요하지 않습니다. 여전히 PC쪽에 otg가 부족하다고 생각합니다. 부끄러운 일입니다.
Lesto

나는 이것이 이중 역할 데이터 라고도 믿습니다 . 일부 최신 마더 보드는이 기능을 지원합니다 (예 : 이 페이지 참조) . 칩셋 데이터 시트에 문서화되어 있지만 모든 마더 보드에서 반드시 활성화되어야합니다.
Luciano

0

내가하는 방법은 2 개의 USB 직렬 케이블과 null 연결을 사용하는 것입니다. 그런 다음 u는 xmodem, zmodem, kermit 등을 사용하여 파일을 전송하거나 두 시스템 간의 네트워크에 대해 ppp 또는 slip을 사용할 수 있습니다. 구식이지만 작동합니다.

타드


1
"USB 직렬 케이블"이란 USB에서 DE-9를 통한 RS232와 같은 직렬 플러그 및 표준으로 변환하는 케이블을 의미합니까? 기본적으로 두 개의 변환기와 직렬 통신용 케이블입니까? 또한,이 프로토콜을 사용하는 방법이나 유용한 도움을 얻을 수있는 곳에 대한 정보가 조금 더 있으면 좋을 것입니다.
phk

phk가 정확하면 널 연결이 무엇인지 설명해야합니다. 답은 자 급식이어야한다. 또한 "u"대신 "you"를 사용하십시오. 다시 대답은 포럼 게시물이 아닌 자체 포함 된 예 여야합니다.
grochmal

USB 3 전송 속도 (5-10Gbps)를 사용하여 표준 기가비트 이더넷보다 약 1000 배 느린 0.001Gbps로 줄입니다. 노력할 가치가 거의 없습니다! 특히 OP와 같은 경우 연결을 통해 디스크를 공유하려고합니다.
Malvineous
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.