This guide summarizes how to bridge an Android device from Windows over to WSL2 using usbipd-win and fix permission issues inside Ubuntu.
If you see the error usbipd: warning: The service is currently not running, start the service in an Administrator PowerShell:
# Start the USBIPD service manually
Start-Service usbipd
# Verify it is running (Status should say 'Running')
Get-Service usbipdEvery time you unplug your phone or restart your computer, you must attach it again using an Administrator PowerShell:
# 1. Find your phone's BUSID (e.g., 1-1)
usbipd list
# 2. Bind the device (Only needed the very first time)
usbipd bind --busid 1-1
# 3. Share the device into WSL2
usbipd attach --wsl --busid 1-1Note: Your phone will temporarily disappear from Windows and move into WSL2.
To avoid the slow 60-second warning caused by sudo service udev start, use the direct daemon method instead.
# 1. Check if WSL physically sees the phone hardware
lsusb
# 2. Create the Android permission rule file
sudo touch /etc/udev/rules.d/51-android.rules
# 3. Add your device rule (Replace '18d1' with your Vendor ID from lsusb)
echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0666", GROUP="plugdev"' | sudo tee /etc/udev/rules.d/51-android.rules# Start the udev daemon cleanly without warnings
sudo /lib/systemd/systemd-udevd --daemonTo stop typing the daemon command manually, add it to your terminal startup profile:
- Open your profile:
nano ~/.bashrc - Paste this at the bottom:
sudo /lib/systemd/systemd-udevd --daemon > /dev/null 2>&1 - Save and exit (
Ctrl + O,Enter, thenCtrl + X).
Finally, restart the ADB server inside WSL2 with root privileges to force it to look for the device:
# Force ADB to restart cleanly
sudo adb kill-server
sudo adb devices- Phone Screen: Unlock your phone and tap "Allow USB Debugging" when the popup appears.
- USB Mode: Swipe down your phone notification shade and change the USB mode to File Transfer or PTP if it still isn't showing up.
- Windows ADB Conflict: If Windows Android Studio is stealing the phone, run
adb kill-serverin Windows PowerShell first.