mirror of https://github.com/pikvm/pikvm.git
				
				
				
			
		
			
				
	
	
		
			67 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
| ---
 | |
| title: USB Passthrough
 | |
| description: "How to set up USB Passthrough on PiKVM"
 | |
| ---
 | |
| 
 | |
| # USB Passthrough
 | |
| 
 | |
| For USB keyboards and mice connected to PiKVM directly, USB passthrough allows forwarding their input to the host system. This feature is available for all versions of PiKVM **except** the v4 Mini (no available USB ports) or a DIY version based on Pi Zero/Pi Zero 2 (using a USB hub prevents utilizing the OTG which the passthru expects to be available). It works best with [HDMI passthrough](pass.md) available on PiKVM V4 Plus.
 | |
| 
 | |
| Let's consider this setup:
 | |
| 
 | |
| - [PiKVM V4 Plus](v4.md) connected to [PiKVM switch](switch.md);
 | |
| - A keyboard and a mouse connected to USB A ports on the PiKVM;
 | |
| - An external display connected to the PiKVM directly using HDMI out.
 | |
| 
 | |
| { width="400" }
 | |
| 
 | |
| With both HDMI passthrough and USB passthrough enabled, you would be able to do this:
 | |
| 
 | |
| - Switch between Computer 1 and Computer 2 connected to PiKVM Switch;
 | |
| - Control them directly from this single keyboard/mouse pair (in addition to remote control);
 | |
| - See the video output from the selected host on the local display.
 | |
| 
 | |
| 
 | |
| -----
 | |
| ## Enabling USB passthrough
 | |
| 
 | |
| Follow these steps to enable USB passthrough on your PiKVM:
 | |
| 
 | |
| 1. [Log into your PiKVM](cheatsheet.md) as `root`, either via SSH, web console, or USB serial connection.
 | |
| 
 | |
| 2. You need KVMD 4.74+ to be able to use this feature. Update the PiKVM OS as `root`:
 | |
| 
 | |
|     ```
 | |
|     [root@pikvm ~]# pikvm-update
 | |
|     ```
 | |
| 
 | |
| 3. PiKVM will reboot, log in as `root` again.
 | |
| 
 | |
| 4. Run the following command to change acces to read-write, enable USB passthrough, and change acces to read-only again:
 | |
| 
 | |
|     ```
 | |
|     [root@pikvm ~]# rw; systemctl enable --now kvmd-localhid; ro
 | |
|     ```
 | |
| 
 | |
| Once you've done that, you should be able to use your USB keyboard and mouse connected directly to your PiKVM to control the host.
 | |
| 
 | |
| 
 | |
| -----
 | |
| ## Toggling USB passthrough
 | |
| 
 | |
| Every once in a while you may want using keyboard/mouse to control your PiKVM instead of controlling a host. Once USB passthrough is enabled in the system, you can switch it on and off with shortcuts:
 | |
| 
 | |
| - `LeftAlt, LeftAlt, K` (mnemonic **K**VM) disables keyboard/mouse grabbing and allows using the input devices with PiKVM locally, for example, for the console operating.
 | |
| 
 | |
| - `LeftAlt, LeftAlt, H` (mnemonic **H**ost) switches back to the passthrough mode and passes keyboard-mouse events to the host.
 | |
| 
 | |
| Press these keys **immediately** one after another: `LeftAlt`, then `LeftAlt` again, then the mnemonic key. 
 | |
| 
 | |
| 
 | |
| -----
 | |
| ## Switching the PiKVM Switch channels
 | |
| 
 | |
| If you have one or two PiKVM Switches, you can use `LeftAlt, LeftAlt, 1` (1-8) to switch between up to 8 channels.
 | |
| 
 | |
| For three or more PiKVM Switches, you need to use double numbers, e.g., `LeftAlt, LeftAlt, 3, 2` (unit 3, channel 2).
 |