# VirtualHere USB Server

Alle USB-Geräte mit Virtualhere übers Netzwerk nutzen  
Für den Netzwerkzugriff auf einen lokal angeschlossenen Drucker gibt es mehrere Möglichkeiten, allen voran die Druckerfreigabe von Windows. Das kleine Tool Virtualhere bietet das Gleiche an, erweitert die Freigabe jedoch ganz allgemein auf alle Geräte, die an den USB-Ports eines Computers hängen und lässt zudem auch Verbindungen übers Internet zu.

# Installation des Servers

Hier werden verschiedene Installationswege für verschiedene Plattformen dargestellt

# Linux installtion / Deinstallation

Virtual Here bietet ein Installationsscript an  
  
[https://github.com/virtualhere/script](https://github.com/virtualhere/script)

### Installation

Vorraussetzungen:

Ein LinuxSystem mit systemd  
bei Raspberry die 32 Bit variante von Rasbian OS Lite wählen.  
Nicht vergessen in der boot Partition die leere Datei mit dem namen ssh anzulegen  
  
Standard also nicht CPU Optimiert Demo Version. Für CPU optimiert braucht man eine Lizenz

```
curl https://raw.githubusercontent.com/virtualhere/script/main/install_server | sudo sh
```

  
CPU Optimiert, beispiel für pi4. es muss am ende nur die Architektur übegeben werden  
  
Liste der Architektur

<details id="bkmrk-die-architekturen-ar"><summary>Die Architekturen</summary>

ARM 32-bit

- [VirtualHere USB Server Optimized for Pi](https://www.virtualhere.com/sites/default/files/usbserver/vhusbdarmpi) (arm1176jzf-s hardware floating point) &lt; -- Raspberry pi 0/Model B
- [VirtualHere USB Server Optimized for Pi2](https://www.virtualhere.com/sites/default/files/usbserver/vhusbdarmpi2) (Cortex-A7 hardware floating with NEON SIMD instruction support)
- [VirtualHere USB Server Optimized for Pi3 and Pi3B+](https://www.virtualhere.com/sites/default/files/usbserver/vhusbdarmpi3) (Cortex-A53 hardware floating with NEON SIMD ARM8 instruction support)
- [VirtualHere USB Server Optimized for Pi4](https://www.virtualhere.com/sites/default/files/usbserver/vhusbdarmpi4) (Cortex-A72 hardware floating with NEON SIMD ARM8 instruction support, Raspbian 32-bit)
- [VirtualHere USB Server Optimized for BeagleBone &amp; AllWinner A1x ](https://www.virtualhere.com/sites/default/files/usbserver/vhusbdarmbb) (Cortex-A8 hardware floating point (NEON + vfpv3))
- [VirtualHere USB Server Optimized for odroid-C1/C1+](https://www.virtualhere.com/sites/default/files/usbserver/vhusbdarmc1) (Cortex-A5 hardware floating point (NEON + vfpv4))
- [VirtualHere USB Server Optimized for Netgear R7000](https://www.virtualhere.com/sites/default/files/usbserver/vhusbdarma9s) (Cortex-A9 without hardware floating point)
- [VirtualHere USB Server Optimized for Odroid XU3/XU4](https://www.virtualhere.com/sites/default/files/usbserver/vhusbdarma15a7) (Samsung Exynos5422 big.LITTLE Cortex-A15/A7 Octacore hardware fp)
- [VirtualHere USB Server Optimized for Odroid U2/U3 Synology RT1900AC](https://www.virtualhere.com/sites/default/files/usbserver/vhusbdarma9h) (Cortex-A9 with hardware floating point (neon-vfpv3))
- [VirtualHere USB Server Optimized for RK3288](https://www.virtualhere.com/sites/default/files/usbserver/vhusbdarma17) (Cortex-A17 with hardware floating point (neon-vfpv4))
- [VirtualHere USB Server Optimized for NetGear R7800](https://www.virtualhere.com/sites/default/files/usbserver/vhusbdarma15) (Cortex-A15 with neon-vfpv4)

ARM 64-bit

- [VirtualHere USB Server Optimized for Cortex A53](https://www.virtualhere.com/sites/default/files/usbserver/vhusbdarm64a53) (aarch64 (armv8a with crc,fpv4,asimd))
- [VirtualHere USB Server Optimized for Cortex A57](https://www.virtualhere.com/sites/default/files/usbserver/vhusbdarm64a57) (aarch64 (armv8a with crc,fpv4,asimd)) (E.g Jetson Nano)
- [VirtualHere USB Server Optimized for Cortex A72](https://www.virtualhere.com/sites/default/files/usbserver/vhusbdarm64a72) (aarch64 (armv8a with crc,fpv4,asimd)) (E.g Pi4 64-bit raspbian)
- [VirtualHere USB Server Optimized for Cortex A72/A53](https://www.virtualhere.com/sites/default/files/usbserver/vhusbdarm64a72a53) (E.g Rockchip RK3399)

MIPS Big Endian

- [VirtualHere USB Server Optimized for MIPS](https://www.virtualhere.com/sites/default/files/usbserver/vhusbdmips24kc) (24Kc Big-Endian software floating point)
- [VirtualHere USB Server Optimized for MIPS](https://www.virtualhere.com/sites/default/files/usbserver/vhusbdmips74kc) (74Kc Big-Endian software floating point)
- [VirtualHere USB Server Optimized for MIPS](https://www.virtualhere.com/sites/default/files/usbserver/vhusbdmips74kf1_1) (74Kf Big-Endian hardware floating point)

MIPS Little Endian

- [VirtualHere USB Server Optimized for MIPS](https://www.virtualhere.com/sites/default/files/usbserver/vhusbdmipsel24kec) (24KEc Little-Endian software floating point)
- [VirtualHere USB Server Optimized for MIPS](https://www.virtualhere.com/sites/default/files/usbserver/vhusbdmipsel74kc) (74Kc Little-Endian software floating point)
- [VirtualHere USB Server Optimized for MIPS](https://www.virtualhere.com/sites/default/files/usbserver/vhusbdmipsel1004Kc) (1004Kc Little-Endian)

x86\_64

- [VirtualHere USB Server Optimized for Intel Core2](https://www.virtualhere.com/sites/default/files/usbserver/vhusbdx86_64c2) (x86\_64 Intel [Core2](https://en.wikipedia.org/wiki/Intel_Core_2) processors)
- [VirtualHere USB Server Optimized for Intel Westmere](https://www.virtualhere.com/sites/default/files/usbserver/vhusbdx86_64wm) (x86\_64 Intel [Westmere](https://en.wikipedia.org/wiki/Westmere_(microarchitecture)) processors)
- [VirtualHere USB Server Optimized for Intel Sandy-Bridge](https://www.virtualhere.com/sites/default/files/usbserver/vhusbdx86_64sb) (x86\_64 Intel [Sandy-Bridge](https://en.wikipedia.org/wiki/Sandy_Bridge_(microarchitecture)) processors)
- [VirtualHere USB Server Optimized for Intel Ivy-Bridge](https://www.virtualhere.com/sites/default/files/usbserver/vhusbdx86_64ib) (x86\_64 Intel [Ivy-Bridge](https://en.wikipedia.org/wiki/Ivy_Bridge_(microarchitecture)) processors)
- [VirtualHere USB Server Optimized for Intel Haswell](https://www.virtualhere.com/sites/default/files/usbserver/vhusbdx86_64hw) (x86\_64 Intel [Haswell](https://en.wikipedia.org/wiki/Haswell_(microarchitecture)) processors)
- [VirtualHere USB Server Optimized for Intel Broadwell](https://www.virtualhere.com/sites/default/files/usbserver/vhusbdx86_64bw) (x86\_64 Intel [Broadwell](https://en.wikipedia.org/wiki/Broadwell_(microarchitecture)) processors)
- [VirtualHere USB Server Optimized for Intel Silvermont](https://www.virtualhere.com/sites/default/files/usbserver/vhusbdx86_64sm) (x86\_64 Intel [Silvermont](https://en.wikipedia.org/wiki/Silvermont) processors)
- [VirtualHere USB Server Optimized for Intel Skylake](https://www.virtualhere.com/sites/default/files/usbserver/vhusbdx86_64sl) (x86\_64 Intel [Skylake](https://en.wikipedia.org/wiki/Skylake_(microarchitecture)) processors)
- [VirtualHere USB Server Optimized for Intel Goldmont Plus](https://www.virtualhere.com/sites/default/files/usbserver/vhusbdx86_64gmp) (x86\_64 Intel [Goldmont Plus](https://en.wikipedia.org/wiki/Goldmont_Plus) processors)

</details>  
Für uns aber überwiegend Pi 3 und PI4

PI3

```
curl https://raw.githubusercontent.com/virtualhere/script/main/install_server | sudo sh -s - vhusbdarmpi3
```

PI4

```
curl https://raw.githubusercontent.com/virtualhere/script/main/install_server | sudo sh -s - vhusbdarmpi4
```

###   
Deinstallation  


Ein Befehl, ferig

```
curl https://raw.githubusercontent.com/virtualhere/script/main/uninstall_server | sudo sh
```

# Backup / Restore config

Die config Datei für VirtualHere liegt unter /usr/sbin wenn sie ohne installer gestartet wurde  
Mit installer liegt die conf unter

/usr/local/etc/virtualhere/config.ini

  
Die einfach vom alten system sichern  
Neuinstallieren, config zurück kopieren  
Gerät neustarten  
Fertig

# Installation des Clients

# Client unter Windows

Unter [https://www.virtualhere.com/usb\_client\_software](https://www.virtualhere.com/usb_client_software)

kannd er client downgeloaded werden.  
Der Client ist eine Datei und es ist kein Setup nötig  
Wir erstellen ein neues Verzeichnis VirtualHere unter c:\\Program Files

und kopieren die Datei dort hin

[![Bildschirmfoto vom 2022-10-31 13-26-05.png](https://wiki.hacker-net.de/uploads/images/gallery/2022-10/scaled-1680-/tIycOEZlnZmY4LHg-bildschirmfoto-vom-2022-10-31-13-26-05.png)](https://wiki.hacker-net.de/uploads/images/gallery/2022-10/tIycOEZlnZmY4LHg-bildschirmfoto-vom-2022-10-31-13-26-05.png)

Nun die Datei mit doppelklick ausführen  
[![Bildschirmfoto vom 2022-10-31 13-35-09.png](https://wiki.hacker-net.de/uploads/images/gallery/2022-10/scaled-1680-/vi8liaQYTCyJ7cEw-bildschirmfoto-vom-2022-10-31-13-35-09.png)](https://wiki.hacker-net.de/uploads/images/gallery/2022-10/vi8liaQYTCyJ7cEw-bildschirmfoto-vom-2022-10-31-13-35-09.png)

### Client als Systemdienst

Rechtsklick auf USB Hubs  
Dann Install Client as Service

[![Bildschirmfoto vom 2022-10-31 13-54-19.png](https://wiki.hacker-net.de/uploads/images/gallery/2022-10/scaled-1680-/02Kp61scYDtm94RL-bildschirmfoto-vom-2022-10-31-13-54-19.png)](https://wiki.hacker-net.de/uploads/images/gallery/2022-10/02Kp61scYDtm94RL-bildschirmfoto-vom-2022-10-31-13-54-19.png)  
Danach schließt sich das VirtualHere Programm und Ihr müsst es nochmals starten.  
Der Client kann nun immer mit x oben geschlossen werden, denn der Dienst läuft ja im Hintergrund weiter.  
Denn nun verbindet sich die Oberfläche mit dem Dienst. Fertig nun können Geräte verbunden werden oder noch Lizenzen eingespielt werden. Siehe nächste Abschnitte

###   
Geräte einbinden

Bei einem Server werden alle Geräte aufgelistet.  
Möchte man nur ein gerät verbinden doppel klick drauf.  
Möchte man immer nur dieses Gerät Automatsich verbunden haben (Geht nur mit Lizenz)  
Dann Rechtsklick drauf und auswählen was man möchte:

AutoUse device -&gt; Immer dieses Gerät verwenden egal in welchem USB Port das ding steckt  
AutoUSe Port -&gt; Immer diesen ort verwenden, egal was fürn Gerät drin ist  
Auto-USe Device/Port -&gt; Immer das Gerät verwenden, wenn angesteckt egal wo und gleichzeitig den Port verwenden falls das Gerät woanders dran ist, das dieser Prot zusätzlich auch zur Verfügung steht.  
  
[![Bildschirmfoto vom 2022-10-31 14-00-15.png](https://wiki.hacker-net.de/uploads/images/gallery/2022-10/scaled-1680-/J2CYpgoYhYax6nIK-bildschirmfoto-vom-2022-10-31-14-00-15.png)](https://wiki.hacker-net.de/uploads/images/gallery/2022-10/J2CYpgoYhYax6nIK-bildschirmfoto-vom-2022-10-31-14-00-15.png)

Möchte man generell alle Ports des Servers verbinden dann, rechtsklick auf den Server und  
Auto-Use all from this hub.  
Fertig  
[![Bildschirmfoto vom 2022-10-31 14-03-38.png](https://wiki.hacker-net.de/uploads/images/gallery/2022-10/scaled-1680-/aRy2qKmzkXX8jDCw-bildschirmfoto-vom-2022-10-31-14-03-38.png)](https://wiki.hacker-net.de/uploads/images/gallery/2022-10/aRy2qKmzkXX8jDCw-bildschirmfoto-vom-2022-10-31-14-03-38.png)

### Server Lizenzsieren

  
Die Lizenz liget auf dem Server, hat man keine Backup config zurück gespielt, dann rechtsklick auf USB Hubs und dann License...  
klicken.  
Eine Lizenz kann unter [https://www.virtualhere.com](https://www.virtualhere.com) erworben werden bzw. über den purchase button.  
Diese natürlcih nur wenn Ihr einen Server vorher aufgestet habt. Nur um einen weiteren Client zu installieren kann die Lizenz Geschichte übersprungen werden.

[![Bildschirmfoto vom 2022-10-31 13-40-50.png](https://wiki.hacker-net.de/uploads/images/gallery/2022-10/scaled-1680-/9Fal2t7u2342f8jF-bildschirmfoto-vom-2022-10-31-13-40-50.png)](https://wiki.hacker-net.de/uploads/images/gallery/2022-10/9Fal2t7u2342f8jF-bildschirmfoto-vom-2022-10-31-13-40-50.png)  
Nun aus der Liste den Server auswählen den man Lizensieren möchte.  
Es steht auch in Klammern hinter ob Lizensiert oder nicht (Lizenz bedeutet unlimited Devices)  
  
Nun über Purchase oder LIzenz eintargen eine Lizenz erwerben oder Lizenz eintragen  
  
Bei purchase wird ein Server übertragen der nur 1 device hat auf die website.  
in diesem Fall der OSCAM. Sollten mehre noch nicht Lizensiert sein, diesen vorgang wiederholen bis keineUnlizensierten Geräte mehr vorhanden sind  
[![Bildschirmfoto vom 2022-10-31 13-46-35.png](https://wiki.hacker-net.de/uploads/images/gallery/2022-10/scaled-1680-/JdvzkRfRXMPXM88e-bildschirmfoto-vom-2022-10-31-13-46-35.png)](https://wiki.hacker-net.de/uploads/images/gallery/2022-10/JdvzkRfRXMPXM88e-bildschirmfoto-vom-2022-10-31-13-46-35.png)  
  
So sieht der Kauf aus. DIe ID wird automatsich übermittelt  
[![Bildschirmfoto vom 2022-10-31 13-46-50.png](https://wiki.hacker-net.de/uploads/images/gallery/2022-10/scaled-1680-/mNPNZ6QQ6cqdf9el-bildschirmfoto-vom-2022-10-31-13-46-50.png)](https://wiki.hacker-net.de/uploads/images/gallery/2022-10/mNPNZ6QQ6cqdf9el-bildschirmfoto-vom-2022-10-31-13-46-50.png)  
  
Nach Kauf gibts den Schlüssel, oder man hat den Schlüssel ncoh gepseichert, falls man kein Backup der Config hatte und trägt den dann über den Button Enter License ein.  
Der key ist ein Beispiel.  
Lizenzen lassen sich nicht übertragen und sind an die Hardware gebunden. Geht die Hardware kaputt muss auch eine neue Lizenz gekauft werden.

[![Bildschirmfoto vom 2022-10-31 13-51-44.png](https://wiki.hacker-net.de/uploads/images/gallery/2022-10/scaled-1680-/lHirmfVCNej0hZKI-bildschirmfoto-vom-2022-10-31-13-51-44.png)](https://wiki.hacker-net.de/uploads/images/gallery/2022-10/lHirmfVCNej0hZKI-bildschirmfoto-vom-2022-10-31-13-51-44.png)

Nach dem OK. Ist der Server Lizensiert und Autoconnect CPU verbesserung ist möglich, vorrausgesetzt es wurde virtaulhere mit Architektur und nicht standard installiert