Why udev rules are needed
Linux restricts raw USB access by default. Without the correct udev rules your user account cannot communicate with the device over ADB or put it into EDL mode without sudo.
Automatic setup (recommended)
Run the single command below. It writes both the EDL-mode and ADB-mode rules in one shot:
printf 'SUBSYSTEMS=="usb", ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="9008", MODE="0666", GROUP="plugdev"\nSUBSYSTEMS=="usb", ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="9135", MODE="0666", GROUP="plugdev"\n' \
| sudo tee /etc/udev/rules.d/51-qcom-usb.rules
Then restart udev:
sudo systemctl restart udev
If your device is already connected, unplug and replug the USB cable.
Manual setup
Step-by-step — create the rules file manually
Navigate to the udev rules directory:
Check whether the file already exists:
Create or open the file:
sudo vi 51-qcom-usb.rules
Add (or verify) the following content:
# Qualcomm EDL mode
SUBSYSTEMS = ="usb", ATTRS {idVendor}== "05c6" , ATTRS{idProduct}=="9008", MODE="0666", GROUP="plugdev"
# Qualcomm ADB mode
SUBSYSTEMS = ="usb", ATTRS {idVendor}== "05c6" , ATTRS{idProduct}=="9135", MODE="0666", GROUP="plugdev"
Restart udev:
sudo systemctl restart udev
Confirm plugdev membership
If your user account is not in the plugdev group, device access will fail even with correct udev rules.
Check your groups:
If plugdev is missing, add yourself:
sudo usermod -aG plugdev $USER
Log out and back in (or reboot) for the change to take effect.
Reference: Android developer guide — hardware set up .