USB Networking between two computers

Hi there,

First a big hello from myself - I’m Matthias, 20yrs old and from Germany :stuck_out_tongue:

I was a silent participant here - just reading stuff. But now I need to source some information - I am planning on using the home directory on my notebook on my desktop computer. My Notebook is connected via Thunderbolt3 to a Dockingstation which is on the same wired network as my desktop computer. Sharing the homedirectory is absolutely no problem, however I am looking forward to go beyond the 1Gbps transfer speed. As both my Dockingstation and my Desktop have a USB-C Port on Hand (Desktop 10Gbit, Dockingstation also 10Gbit), I was thinking about using the USB Interface to build a local network between these two machines. Has anybody done something like this before? I am wondering whether that is even possible! I know there are USB “bridging” cables for USB2 and possibly USB3, but my plan was to grab a USB-C to USB-C cable and establish a connection.

Has anyone dones something like this on Linux before (Arch Linux ot be specific, but that’s not a distro problem at all!). If it helps, the Desktop Side is powered by an ASMedia Controller on my X99 Taichi board!

Hope to hear from you! And get some input

Cheers,
Matthias

PS: This thread should also be in the Linux subsection, but I assume it is more likely to fit into the networking section

1 Like

My guess is that this can be done through virtual NICs and a host-to-host cable, but I have never tried this before. I would connect them together and see what happens. Interesting idea and excited to see how this works out.

Cable is arriving tomorrow.
At least, I won’t kill my hardware!! :wink:

Thats what I found on the apple website: https://support.apple.com/en-us/HT201462
No technical information unfortunately, but at least it works!
Apart from that I found an anchient post about usbnet http://www.linux-usb.org/usbnet/ - litteraly a decate ago :smiley:

Coming back here tomorrow! Maybe someone else has some links!

1 Like

While I’m in a similar boat to DigitalBytes in that I’ve never tried to set up a persistent local network over USB before, some 7 years ago I did try to extract files over USB between two machines by using a VM and spoofing the USB connection as an Ethernet connection (I remember using a software package to resolve the conflicting protocols, but unfortunately the name escapes me). While it did work, USB 1.1 was pitifully slow compared to 100Mb/s true Ethernet, but please keep us posted on your progress, USB 3.1 gen 2 is an exciting technology and I’d love to see this become an “everyman’s LAN” solution.

Yeah, USB 3.1 Gen2 and Thunderbolt 3 are awesome Technologies. If I can get it working it would be a great alternative for 10GBE!

Let’s just hope there is no intermediate chip needed.

Apple’s Target Disk mode isn’t a network at all. What each mac has is basically a built-in firmware in the SMC and UEFI that allows the computer to behave like a glorified external HDD controller, not a network card. It only loads the necessary drivers for either Firewire, Thunderbolt, or USB-C, whichever your machine has. It doesnt actually have support for this feature over the network and it doesn’t load in the network stack at all.

This feature is really just a way to mount an HDD without the need to remove it from the machine and use an enclosure. It won’t ever provide any LAN type features.

As far as USB-based networking on Windows or Linux, I think what @Synchronus said is the closest thing to it. USB in and of itself doesnt support actual networking as far as i know. Closest you can do is get one machine to stay on as a persistent external storage device but thats still not a true LAN. You could probably get it to work on linux with some fancy wizardry thats beyond my scope of knowledge, but i honestly dont believe itll work on anything outside linux machines.

Cheapest and easiest solution is to get 2x USB to Gigabit Ethernet adapters and a cheapo network cable.

I know Apples Target Disk Mode is not working like a network - it was just to be sure that the wiring is correct!

I already have GIgabit Ethernet - but that’s only 1Gigabit - USB 3.1 gen 2 is much faster!

And apart from that - I hate Windows so Linux would be sufficient! :slight_smile:

Cheers,
Matthias

you can fairly cheaply implement 40gbps infiniband peer to peer type network

On a notebook? Not really.

Ah ok fair enough

Well, 10gbit Ethernet over infiniband (ipoib)
On mellanox connect X2 cards.
Windows does not know any normal software that can use infiniband or RDMA*

I don’t remember if windows iscsi can RDMA. (Iser)

  • SMB direct can RDMA, but samba can not, making it a windows only solution.

Afaik InfiniBand was never designed to work with the regular Windows Workstations. The regular 10gig ethernet cards from hp/mellanox work just fine in windows10!

1 Like

++ Update ++

Unfortunately, I only had time to plug everything in - here’s the log:

On my Notebook (ThinkPad Carbon X1 Gen5):

Okt 10 20:43:56 lola kernel: pci 0000:07:04.0:   bridge window [mem 0xd4000000-0xe9ffffff]
Okt 10 20:43:56 lola kernel: pci 0000:07:04.0:   bridge window [mem 0x90000000-0xb9ffffff 64bit pref]
Okt 10 20:43:56 lola kernel: pci 0000:06:00.0: PCI bridge to [bus 07-70]
Okt 10 20:43:56 lola kernel: pci 0000:06:00.0:   bridge window [mem 0xbc000000-0xea0fffff]
Okt 10 20:43:56 lola kernel: pci 0000:06:00.0:   bridge window [mem 0x70000000-0xb9ffffff 64bit pref]
Okt 10 20:43:56 lola kernel: xhci_hcd 0000:3c:00.0: xHCI Host Controller
Okt 10 20:43:56 lola kernel: xhci_hcd 0000:3c:00.0: new USB bus registered, assigned bus number 3
Okt 10 20:43:56 lola kernel: xhci_hcd 0000:3c:00.0: hcc params 0x200077c1 hci version 0x110 quirks 0x00009810
Okt 10 20:43:56 lola kernel: hub 3-0:1.0: USB hub found
Okt 10 20:43:56 lola kernel: hub 3-0:1.0: 2 ports detected
Okt 10 20:43:56 lola kernel: xhci_hcd 0000:3c:00.0: xHCI Host Controller
Okt 10 20:43:56 lola kernel: xhci_hcd 0000:3c:00.0: new USB bus registered, assigned bus number 4
Okt 10 20:43:56 lola kernel: hub 4-0:1.0: USB hub found
Okt 10 20:43:56 lola kernel: hub 4-0:1.0: 2 ports detected
Okt 10 20:44:46 lola kernel: xhci_hcd 0000:3c:00.0: xHCI host controller not responding, assume dead
Okt 10 20:44:46 lola kernel: xhci_hcd 0000:3c:00.0: HC died; cleaning up
Okt 10 20:44:47 lola kernel: xhci_hcd 0000:3c:00.0: remove, state 1
Okt 10 20:44:47 lola kernel: usb usb4: USB disconnect, device number 1
Okt 10 20:44:47 lola kernel: xhci_hcd 0000:3c:00.0: USB bus 4 deregistered
Okt 10 20:44:47 lola kernel: xhci_hcd 0000:3c:00.0: remove, state 4
Okt 10 20:44:47 lola kernel: usb usb3: USB disconnect, device number 1
Okt 10 20:44:47 lola kernel: xhci_hcd 0000:3c:00.0: Host halt failed, -19
Okt 10 20:44:47 lola kernel: xhci_hcd 0000:3c:00.0: Host not accessible, reset failed.
Okt 10 20:44:47 lola kernel: xhci_hcd 0000:3c:00.0: USB bus 3 deregistered
Okt 10 20:44:47 lola kernel: pcieport 0000:07:00.0: Refused to change power state, currently in D3
Okt 10 20:44:47 lola kernel: pci_bus 0000:08: busn_res: [bus 08] is released
Okt 10 20:44:47 lola kernel: iommu: Removing device 0000:07:00.0 from group 6
Okt 10 20:44:47 lola kernel: pci_bus 0000:09: busn_res: [bus 09-3b] is released
Okt 10 20:44:47 lola kernel: iommu: Removing device 0000:07:01.0 from group 6
Okt 10 20:44:47 lola kernel: iommu: Removing device 0000:3c:00.0 from group 6
Okt 10 20:44:47 lola kernel: pci_bus 0000:3c: busn_res: [bus 3c] is released
Okt 10 20:44:47 lola kernel: iommu: Removing device 0000:07:02.0 from group 6
Okt 10 20:44:47 lola kernel: pci_bus 0000:3d: busn_res: [bus 3d-70] is released
Okt 10 20:44:47 lola kernel: iommu: Removing device 0000:07:04.0 from group 6
Okt 10 20:44:47 lola kernel: pci_bus 0000:07: busn_res: [bus 07-70] is released
Okt 10 20:44:47 lola kernel: iommu: Removing device 0000:06:00.0 from group 6

On my desktop :

Okt 10 20:40:01 tesla CROND[2657]: (root) CMD (/usr/libexec/dataleech/newshortsnap --keep 5)
Okt 10 20:43:35 tesla kernel: xhci_hcd 0000:08:00.0: Cannot set link state.
Okt 10 20:43:35 tesla kernel: usb usb6-port1: cannot disable (err = -32)
Okt 10 20:43:35 tesla kernel: usb 6-1: USB disconnect, device number 2
Okt 10 20:43:35 tesla kernel: sd 10:0:0:0: [sdc] Synchronizing SCSI cache
Okt 10 20:43:35 tesla kernel: sd 10:0:0:0: [sdc] Synchronize Cache(10) failed: Result: hostbyte=0x07 driverbyte=0x00
Okt 10 20:43:51 tesla kernel: usb 5-1: new low-speed USB device number 2 using xhci_hcd
Okt 10 20:43:52 tesla kernel: usb 5-1: No LPM exit latency info found, disabling LPM.
Okt 10 20:44:47 tesla kernel: usb 5-1: USB disconnect, device number 2