Last active
July 3, 2020 11:12
-
-
Save aslamanver/25427d814c0ae6d4da449f9195bcdeb2 to your computer and use it in GitHub Desktop.
Android udev rules for Linux and Ubuntu - https://wiki.archlinux.org/index.php/Android_Debug_Bridge | https://github.com/M0Rf30/android-udev-rules
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
sudo nano /etc/udev/rules.d/51-android.rules | |
sudo udevadm control --reload-rules |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# These rules refer: https://developer.android.com/studio/run/device.html | |
# and include many suggestions from Arch Linux, GitHub and other Communities. | |
# Latest version can be found at: https://github.com/M0Rf30/android-udev-rules | |
# | |
# This program is free software: you can redistribute it and/or modify | |
# it under the terms of the GNU General Public License as published by | |
# the Free Software Foundation, either version 3 of the License, or | |
# (at your option) any later version. | |
# | |
# This program is distributed in the hope that it will be useful, | |
# but WITHOUT ANY WARRANTY; without even the implied warranty of | |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
# GNU General Public License for more details. | |
# | |
# You should have received a copy of the GNU General Public License | |
# along with this program. If not, see <http://www.gnu.org/licenses/>. | |
# Skip this section below if this device is not connected by USB | |
SUBSYSTEM!="usb", GOTO="android_usb_rules_end" | |
# This is the universal rule suggested here: | |
# http://ktnr74.blogspot.com/2013/04/universal-udev-rule-for-all-android.html | |
# Commented as a reminder (we prefer a punctual device detection) | |
# LABEL="android_universal_rule" | |
# ENV{ID_USB_INTERFACES}!="*:ff420?:*", GOTO="android_usb_rules_begin" | |
# ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="*:ff420?:*", MODE="0660", GROUP="adbusers", SYMLINK+="android/$env{ID_SERIAL_SHORT}" | |
LABEL="android_usb_rules_begin" | |
# Devices listed here in android_usb_rules_{begin...end} are connected by USB | |
# Acer | |
ATTR{idVendor}!="0502", GOTO="not_Acer" | |
ENV{adb_user}="yes" | |
# Iconia Tab A1-830 | |
ATTR{idProduct}=="3604", ENV{adb_adbfast}="yes" | |
# Iconia Tab A500 | |
ATTR{idProduct}=="3325", ENV{adb_adbfast}="yes" | |
# Liquid (3202=normal,3203=debug) | |
ATTR{idProduct}=="3203", SYMLINK+="android_adb" | |
GOTO="android_usb_rule_match" | |
LABEL="not_Acer" | |
# Actions Semiconductor Co., Ltd | |
# Denver TAD 70111 | |
ATTR{idVendor}=="10d6", ATTR{idProduct}=="0c02", ENV{adb_adb}="yes" | |
# ADVANCE (Need product specific rules) | |
# S5 | |
ATTR{idVendor}=="0a5c", ATTR{idProduct}=="e681", ENV{adb_adb}="yes" | |
# Amazon Lab126 | |
# Amazon Kindle Fire | |
ATTR{idVendor}=="1949", ATTR{idProduct}=="0006", ENV{adb_adbfast}="yes" | |
# Archos | |
ATTR{idVendor}!="0e79", GOTO="not_Archos" | |
ENV{adb_user}="yes" | |
# 43 | |
ATTR{idProduct}=="1417", ENV{adb_adbfast}="yes" | |
# 101 | |
ATTR{idProduct}=="1411", ENV{adb_adbfast}="yes" | |
# 101 xs | |
ATTR{idProduct}=="1549", ENV{adb_adbfast}="yes" | |
GOTO="android_usb_rule_match" | |
LABEL="not_Archos" | |
# ASUSTeK | |
ATTR{idVendor}!="0b05", GOTO="not_Asus" | |
# False positive - accessory | |
ATTR{idProduct}=="1???", GOTO="android_usb_rules_end" | |
ENV{adb_user}="yes" | |
# Zenphone 2 (ZE500CL) (7770=adb 7773=mtp,adb 7777=ptp,adb 7775=rndis,adb,mass_storage 5F03=mtp,adb,pclink,mass_storage 5F07=ptp,adb,pclink 5F05=rndis,adb,pclink,mass_storage | |
ATTR{idProduct}=="7770", SYMLINK+="android_adb" | |
ATTR{idProduct}=="7773", SYMLINK+="android_adb" | |
ATTR{idProduct}=="7777", SYMLINK+="android_adb" | |
ATTR{idProduct}=="7775", SYMLINK+="android_adb" | |
ATTR{idProduct}=="5F03", SYMLINK+="android_adb" | |
ATTR{idProduct}=="5F07", SYMLINK+="android_adb" | |
ATTR{idProduct}=="5F05", SYMLINK+="android_adb" | |
# Zenphone 4 (581f=mtp,adb 583f=rndis,adb) | |
ATTR{idProduct}=="581f", SYMLINK+="android_adb" | |
ATTR{idProduct}=="583f", SYMLINK+="android_adb" | |
# Zenphone 5 (4c90=normal,4c91=debug,4daf=Fastboot) | |
ATTR{idProduct}=="4c91", SYMLINK+="android_adb" | |
ATTR{idProduct}=="4daf", SYMLINK+="android_fastboot" | |
# Tegra APX | |
ATTR{idProduct}=="7030", SYMLINK+="android_adb" | |
GOTO="android_usb_rule_match" | |
LABEL="not_Asus" | |
# Azpen Onda | |
ATTR{idVendor}=="1f3a", ENV{adb_user}="yes" | |
# BQ | |
ATTR{idVendor}!="2a47", GOTO="not_BQ" | |
ENV{adb_user}="yes" | |
# Aquaris 4.5 | |
ATTR{idProduct}=="0c02", ENV{adb_adbfast}="yes" | |
ATTR{idProduct}=="2008", ENV{adb_adbfast}="yes" | |
GOTO="android_usb_rule_match" | |
LABEL="not_BQ" | |
# Dell (Need product specific rules) | |
#ATTR{idVendor}=="413c", ENV{adb_user}="yes" | |
# Essential | |
ATTR{idVendor}!="2e17", GOTO="not_Essential" | |
ENV{adb_user}="yes" | |
# Essential PH-1 | |
ATTR{idProduct}=="c009", SYMLINK+="android_adb" | |
ATTR{idProduct}=="c03[02]", SYMLINK+="android_adb" | |
GOTO="android_usb_rule_match" | |
LABEL="not_Essential" | |
# Fairphone 2 | |
ATTR{idVendor}=="2ae5", ENV{adb_user}="yes" | |
# Foxconn | |
# Commtiva Z71, Geeksphone One | |
ATTR{idVendor}=="0489", ATTR{idProduct}=="c001", ENV{adb_adb}="yes" | |
# Fujitsu/Fujitsu Toshiba | |
ATTR{idVendor}=="04c5", ENV{adb_user}="yes" | |
# Fuzhou Rockchip Electronics | |
# Mediacom Smartpad 715i | |
ATTR{idVendor}=="2207", ATTR{idProduct}=="0000", ENV{adb_adb}="yes" | |
# Ubislate 7Ci | |
ATTR{idVendor}=="2207", ATTR{idProduct}=="0010", ENV{adb_adb}="yes" | |
# Garmin-Asus | |
ATTR{idVendor}=="091e", ENV{adb_user}="yes" | |
ATTR{idVendor}!="18d1", GOTO="not_Google" | |
ENV{adb_user}="yes" | |
# Nexus, Pixel, Pixel XL, Pixel 2, Pixel 2XL (4ee2=mtp,adb 4ee4=rndis,adb 4ee6=ptp,adb 4ee7=adb 4ee9=midi,adb 2d01=accessory,adb 2d03=audio_source,adb 2d05=accessory,audio_source,adb) | |
# See https://android.googlesource.com/device/google/wahoo/+/master/init.hardware.usb.rc | |
ATTR{idProduct}=="4ee2", SYMLINK+="android_adb" | |
ATTR{idProduct}=="4ee4", SYMLINK+="android_adb" | |
ATTR{idProduct}=="4ee6", SYMLINK+="android_adb" | |
ATTR{idProduct}=="4ee7", SYMLINK+="android_adb" | |
ATTR{idProduct}=="4ee9", SYMLINK+="android_adb" | |
ATTR{idProduct}=="2d01", SYMLINK+="android_adb" | |
ATTR{idProduct}=="2d03", SYMLINK+="android_adb" | |
ATTR{idProduct}=="2d05", SYMLINK+="android_adb" | |
ATTR{idProduct}=="4ee0", SYMLINK+="android_fastboot" | |
# Nexus 7 | |
ATTR{idProduct}=="4e42", SYMLINK+="android_adb" | |
ATTR{idProduct}=="4e40", SYMLINK+="android_fastboot" | |
# Nexus 5, Nexus 10 | |
ATTR{idProduct}=="4ee1", ENV{adb_adbfast}="yes" | |
# Nexus S (4e22=mass_storage,adb 4e24=rndis,adb) | |
# See https://android.googlesource.com/device/samsung/crespo/+/android-4.1.2_r2.1/init.herring.usb.rc | |
ATTR{idProduct}=="4e22", SYMLINK+="android_adb" | |
ATTR{idProduct}=="4e24", SYMLINK+="android_adb" | |
ATTR{idProduct}=="4e20", SYMLINK+="android_fastboot" | |
# Galaxy Nexus | |
ATTR{idProduct}=="4e30", ENV{adb_adbfast}="yes" | |
# Nexus One (4e11=normal,4e12=debug,0fff=debug) | |
ATTR{idProduct}=="4e12", SYMLINK+="android_adb" | |
ATTR{idProduct}=="0fff", SYMLINK+="android_fastboot" | |
# Generic and unspecified debug interface | |
ATTR{idProduct}=="d00d", SYMLINK+="android_fastboot" | |
# Pico i.MX7 Dual Development Board | |
ATTR{idProduct}=="4ee7", SYMLINK+="android_adb" | |
# Include: Samsung Galaxy Nexus (GSM) | |
ATTR{idProduct}=="4e30", SYMLINK+="android_fastboot" | |
# Recovery adb entry for Nexus Family (orig d001, OP3 has 18d1:d002) | |
ATTR{idProduct}=="d00?", SYMLINK+="android_adb" | |
GOTO="android_usb_rule_match" | |
LABEL="not_Google" | |
# Haier | |
ATTR{idVendor}=="201e", ENV{adb_user}="yes" | |
# Hisense | |
ATTR{idVendor}=="109b", ENV{adb_user}="yes" | |
# Honeywell/Foxconn | |
ATTR{idVendor}!="0c2e", GOTO="not_Honeywell" | |
ENV{adb_user}="yes" | |
# D70e | |
ATTR{idProduct}=="0ba3", SYMLINK+="android_adb" | |
GOTO="android_usb_rule_match" | |
LABEL="not_Honeywell" | |
# HTC | |
ATTR{idVendor}!="0bb4", GOTO="not_HTC" | |
ENV{adb_user}="yes" | |
# fastboot mode enabled | |
ATTR{idProduct}=="0fff", ENV{adb_adbfast}="yes", GOTO="android_usb_rule_match" | |
# ChaCha | |
ATTR{idProduct}=="0cb2", ENV{adb_adbfast}="yes" | |
# Desire (Bravo) | |
ATTR{idProduct}=="0c87", SYMLINK+="android_adb" | |
# Desire HD | |
ATTR{idProduct}=="0ca2", SYMLINK+="android_adb" | |
# Desire S (Saga) | |
ATTR{idProduct}=="0cab", SYMLINK+="android_adb" | |
# Desire Z | |
ATTR{idProduct}=="0c91", ENV{adb_adbfast}="yes" | |
# Evo Shift | |
ATTR{idProduct}=="0ca5", SYMLINK+="android_adb" | |
# G1 | |
ATTR{idProduct}=="0c01", ENV{adb_adbfast}="yes" | |
# HD2 | |
ATTR{idProduct}=="0c02", ENV{adb_adbfast}="yes" | |
# Hero H2000 | |
ATTR{idProduct}=="0001", ENV{adb_adbfast}="yes" | |
# Hero (GSM), Desire | |
ATTR{idProduct}=="0c99", SYMLINK+="android_adb" | |
# Hero (CDMA) | |
ATTR{idProduct}=="0c9a", SYMLINK+="android_adb" | |
# Incredible | |
ATTR{idProduct}=="0c9e", SYMLINK+="android_adb" | |
# Incredible rev 0002 | |
ATTR{idProduct}=="0c8d", SYMLINK+="android_adb" | |
# MyTouch 4G | |
ATTR{idProduct}=="0c96", SYMLINK+="android_adb" | |
# One (m7) && One (m8) | |
ATTR{idProduct}=="0c93", SYMLINK+="android_adb" | |
# Sensation | |
ATTR{idProduct}=="0f87", SYMLINK+="android_adb" | |
ATTR{idProduct}=="0ff0", SYMLINK+="android_fastboot" | |
# One V | |
ATTR{idProduct}=="0ce5", SYMLINK+="android_adb" | |
# One X | |
ATTR{idProduct}=="0cd6", SYMLINK+="android_adb" | |
# Slide | |
ATTR{idProduct}=="0e03", SYMLINK+="android_adb" | |
# Tatoo, Dream, ADP1, G1, Magic (0c01=mass_storage) | |
ATTR{idProduct}=="0c02", ENV{adb_adbfast}="yes" | |
# Vision | |
ATTR{idProduct}=="0c91", SYMLINK+="android_adb" | |
# Wildfire | |
ATTR{idProduct}=="0c8b", ENV{adb_adbfast}="yes" | |
# Wildfire S | |
ATTR{idProduct}=="0c86", ENV{adb_adbfast}="yes" | |
# Zopo ZP900, Fairphone | |
ATTR{idProduct}=="0c03", ENV{adb_adbfast}="yes" | |
# Zopo C2 | |
ATTR{idProduct}=="2008", SYMLINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1" | |
GOTO="android_usb_rule_match" | |
LABEL="not_HTC" | |
# Huawei | |
ATTR{idVendor}!="12d1", GOTO="not_Huawei" | |
ENV{adb_user}="yes" | |
# IDEOS | |
ATTR{idProduct}=="1038", ENV{adb_adbfast}="yes" | |
# U8850 Vision | |
ATTR{idProduct}=="1021", ENV{adb_adbfast}="yes" | |
# HiKey adb | |
ATTR{idProduct}=="1057", SYMLINK+="android_adb" | |
# HiKey usbnet | |
ATTR{idProduct}=="1050", SYMLINK+="android_adb" | |
# Honor 6 | |
ATTR{idProduct}=="103a", SYMLINK+="android_adb" | |
ATTR{idProduct}=="1051", SYMLINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1" | |
# MediaPad M2-A01L | |
ATTR{idProduct}=="1052", SYMLINK+="android_adb" | |
# MediaPad T3 | |
ATTR{idProduct}=="107d", SYMLINK+="android_adb" | |
# P10 Lite | |
ATTR{idProduct}=="107e", SYMLINK+="android_adb" | |
# Watch | |
ATTR{idProduct}=="1c2c", SYMLINK+="android_adb" | |
# Mate 9 | |
ATTR{idProduct}=="107e", SYMLINK+="android_adb" | |
GOTO="android_usb_rule_match" | |
LABEL="not_Huawei" | |
# Intel | |
# Geeksphone Revolution | |
ATTR{idVendor}=="8087", ATTR{idProduct}=="0a16", ENV{adb_adb}="yes" | |
# Chuwi Hi 10 Pro (HQ64) | |
ATTR{idVendor}=="8087", ATTR{idProduct}=="2a65", ENV{adb_adb}="yes" | |
ATTR{idVendor}=="8087", ATTR{idProduct}=="07ef", ENV{adb_adb}="yes" | |
# Reference Boards using kernelflinger | |
# See https://github.com/intel/kernelflinger/blob/master/libefiusb/usb.c#L56 | |
ATTR{idVendor}=="8087", ATTR{idProduct}=="09ef", ENV{adb_adbfast}="yes" | |
# IUNI | |
ATTR{idVendor}!="271d", GOTO="not_IUNI" | |
ENV{adb_user}="yes" | |
# U3 | |
ATTR{idProduct}=="bf39", SYMLINK+="android_adb" | |
GOTO="android_usb_rule_match" | |
LABEL="not_IUNI" | |
# K-Touch | |
ATTR{idVendor}=="24e3", ENV{adb_user}="yes" | |
# KT Tech | |
ATTR{idVendor}=="2116", ENV{adb_user}="yes" | |
# Kyocera | |
#ATTR{idVendor}=="0482", ENV{adb_user}="yes" | |
# Lenovo | |
ATTR{idVendor}=="17ef", ENV{adb_user}="yes" | |
# LeTv (LeECo) | |
ATTR{idVendor}!="2b0e", GOTO="not_letv" | |
ENV{adb_user}="yes" | |
# LEX720 LeEco Pro3 6GB (610c=normal,610d=debug, 610b=camera) | |
ATTR{idProduct}=="610d", ENV{adb_adbfast}="yes" | |
GOTO="android_usb_rule_match" | |
LABEL="not_letv" | |
# LG | |
ATTR{idVendor}!="1004", GOTO="not_LG" | |
ENV{adb_user}="yes" | |
# Ally, Vortex, P500, P500h (618f=mass_storage) | |
ATTR{idProduct}=="618e", SYMLINK+="android_adb" | |
# G2 D802 | |
ATTR{idProduct}=="61f1", SYMLINK+="android_adb" | |
# G2 D803 | |
ATTR{idProduct}=="618c", SYMLINK+="android_adb" | |
# G2 D803 rogers | |
ATTR{idProduct}=="631f", SYMLINK+="android_adb" | |
# G2 mini D620r (PTP) | |
ATTR{idProduct}=="631d", SYMLINK+="android_adb" | |
# G3 D855 | |
ATTR{idProduct}=="633e", SYMLINK+="android_adb" | |
# Optimus LTE | |
ATTR{idProduct}=="6315", SYMLINK+="android_adb" | |
ATTR{idProduct}=="61f9", SYMLINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1" | |
# Optimus One | |
ATTR{idProduct}=="61c5", SYMLINK+="android_adb" | |
# Swift GT540 | |
ATTR{idProduct}=="61b4", SYMLINK+="android_adb" | |
# P500 CM10 | |
ATTR{idProduct}=="61a6", SYMLINK+="android_adb" | |
# 4X HD P880 | |
ATTR{idProduct}=="61f9", SYMLINK+="android_adb" | |
# L90 D410 | |
ATTR{idProduct}=="6300", SYMLINK+="android_adb" | |
GOTO="android_usb_rule_match" | |
LABEL="not_LG" | |
# Meizu | |
ATTR{idVendor}!="2a45", GOTO="not_Meizu" | |
ENV{adb_user}="yes" | |
# MX6 | |
ATTR{idProduct}=="0c02", SYMLINK+="android_adb" | |
GOTO="android_usb_rule_match" | |
LABEL="not_Meizu" | |
# Micromax | |
ATTR{idVendor}!="2a96", GOTO="not_Micromax" | |
ENV{adb_user}="yes" | |
# P702 | |
ATTR{idProduct}=="201d", SYMLINK+="android_adb", SYMLINK+="android_fastboot" | |
GOTO="android_usb_rule_match" | |
LABEL="not_Micromax" | |
# Motorola | |
ATTR{idVendor}!="22b8", GOTO="not_Motorola" | |
ENV{adb_user}="yes" | |
# CLIQ XT/Quench | |
ATTR{idProduct}=="2d66", SYMLINK+="android_adb" | |
# Defy/MB525 | |
ATTR{idProduct}=="428c", SYMLINK+="android_adb" | |
# Droid | |
ATTR{idProduct}=="41db", SYMLINK+="android_adb" | |
# Xoom ID 1 | |
ATTR{idProduct}=="70a8", ENV{adb_adbfast}="yes" | |
# Xoom ID 2 | |
ATTR{idProduct}=="70a9", ENV{adb_adbfast}="yes" | |
# Razr XT912 | |
ATTR{idProduct}=="4362", ENV{adb_adbfast}="yes" | |
# Moto XT1052 | |
ATTR{idProduct}=="2e83", ENV{adb_adbfast}="yes" | |
# Moto E/G | |
ATTR{idProduct}=="2e76", ENV{adb_adbfast}="yes" | |
# Moto E/G (Dual SIM) | |
ATTR{idProduct}=="2e80", ENV{adb_adbfast}="yes" | |
# Moto E/G (Global GSM) | |
ATTR{idProduct}=="2e82", ENV{adb_adbfast}="yes" | |
# Moto x4 | |
ATTR{idProduct}=="2e81", ENV{adb_adbfast}="yes" | |
# Droid Turbo 2 | |
ATTR{idProduct}=="2ea4", ENV{adb_adbfast}="yes", SYMLINK+="android%n" | |
GOTO="android_usb_rule_match" | |
LABEL="not_Motorola" | |
# MTK (MediaTek Inc) | |
ATTR{idVendor}=="0e8d", ENV{adb_user}="yes" | |
# NEC | |
ATTR{idVendor}=="0409", ENV{adb_user}="yes" | |
# Nextbit | |
ATTR{idVendor}=="2c3f", ENV{adb_user}="yes" | |
# Nokia X | |
ATTR{idVendor}=="0421", ENV{adb_user}="yes" | |
# Nokia 3 | |
ATTR{idVendor}=="2e04", ENV{adb_user}="yes" | |
# Nook (Barnes & Noble) | |
ATTR{idVendor}=="2080", ENV{adb_user}="yes" | |
# Nvidia | |
ATTR{idVendor}!="0955", GOTO="not_Nvidia" | |
ENV{adb_user}="yes" | |
# Audi SDIS Rear Seat Entertainment Tablet | |
# Folio | |
ATTR{idProduct}=="7000", SYMLINK+="android_fastboot" | |
ATTR{idProduct}=="7100", ENV{adb_user}="yes" | |
# SHIELD Tablet (debug) | |
ATTR{idProduct}=="CF05", ENV{adb_adb}="yes" | |
# Shield TV | |
ATTR{idProduct}=="b442", SYMLINK+="android_fastboot" | |
GOTO="android_usb_rule_match" | |
LABEL="not_Nvidia" | |
# Oculus | |
ATTR{idVendor}=="2833", ENV{adb_user}="yes" | |
# OnePlus(Oreo) | |
ATTR{idVendor}!="2a70", GOTO="not_OnePlus" | |
ENV{adb_user}="yes" | |
# Charging mode | |
ATTR{idProduct}=="4ee7", SYMLINK+="android_adb" | |
# MTP mode | |
ATTR{idProduct}=="9011", SYMLINK+="android_adb" | |
# PTP mode | |
ATTR{idProduct}=="904e", SYMLINK+="android_adb" | |
GOTO="android_usb_rule_match" | |
LABEL="not_OnePlus" | |
# Oppo | |
ATTR{idVendor}!="22d9", GOTO="not_Oppo" | |
ENV{adb_adbuser}="yes" | |
# Find 5 (2767=debug) | |
ATTR{idProduct}=="2767", ENV{adb_adb}="yes" | |
ATTR{idProduct}=="2764", SYMLINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1" | |
GOTO="android_usb_rule_match" | |
LABEL="not_Oppo" | |
# OTGV | |
ATTR{idVendor}=="2257", ENV{adb_user}="yes" | |
# Pantech (SK Teletech Co, Ltd.) | |
ATTR{idVendor}=="10a9", ENV{adb_user}="yes" | |
# Parrot SA (Car HUD) | |
ATTR{idVendor}=="19cf", ENV{adb_user}="yes" | |
# Pegatron | |
ATTR{idVendor}=="1d4d", ENV{adb_user}="yes" | |
# Philips (and NXP) | |
ATTR{idVendor}=="0471", ENV{adb_user}="yes" | |
# Pico | |
ATTR{idVendor}=="2d40", ENV{adb_user}="yes" | |
# PMC-Sierra, (Panasonic Mobile communications, Matsushita) | |
ATTR{idVendor}=="04da", ENV{adb_user}="yes" | |
# Qualcomm | |
ATTR{idVendor}!="05c6", GOTO="not_Qualcomm" | |
ENV{adb_user}="yes" | |
# Geeksphone Zero | |
ATTR{idProduct}=="9025", SYMLINK+="android_adb" | |
# OnePlus One | |
ATTR{idProduct}=="676?", SYMLINK+="android_adb" | |
# OnePlus Two | |
ATTR{idProduct}=="9011", SYMLINK+="android_adb" | |
# OnePlus 3 | |
ATTR{idProduct}=="900e", SYMLINK+="android_adb" | |
# OnePlus 3T | |
ATTR{idProduct}=="676c", SYMLINK+="android_adb" | |
# OnePlus 3T w/ Oreo MIDI mode | |
ATTR{idProduct}=="90bb", SYMLINK+="android_adb" | |
# OnePlus 5 / 6 / 6T | |
ATTR{idProduct}=="9011", SYMLINK+="android_adb" | |
# OnePlus 6 / Asia | |
ATTR{idProduct}=="f003", SYMLINK+="android_adb" | |
# Xiaomi A1 (90bb=midi+adb) | |
ATTR{idProduct}=="90bb", SYMLINK+="android_adb" | |
GOTO="android_usb_rule_match" | |
LABEL="not_Qualcomm" | |
# Research In Motion, Ltd. | |
ATTR{idVendor}!="0fca", GOTO="not_RIM" | |
ENV{adb_user}="yes" | |
# BlackBerry DTEK60 | |
ATTR{idProduct}=="8042", ENV{adb_fastboot}="yes" | |
GOTO="android_usb_rule_match" | |
LABEL="not_RIM" | |
# Samsung | |
ATTR{idVendor}!="04e8", GOTO="not_Samsung" | |
# False positive printer | |
ATTR{idProduct}=="3???", GOTO="android_usb_rules_end" | |
ENV{adb_user}="yes" | |
# Galaxy i5700 | |
ATTR{idProduct}=="681c", ENV{adb_adbfast}="yes" | |
# Galaxy i5800 (681c=debug,6601=fastboot,68a0=mediaplayer) | |
ATTR{idProduct}=="681c", SYMLINK+="android_adb" | |
ATTR{idProduct}=="6601", SYMLINK+="android_fastboot" | |
ATTR{idProduct}=="68a9", SYMLINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1" | |
# Galaxy i7500 | |
ATTR{idProduct}=="6640", ENV{adb_adbfast}="yes" | |
# Galaxy i9000 S, i9300 S3 | |
ATTR{idProduct}=="6601", SYMLINK+="android_adb" | |
ATTR{idProduct}=="685d", MODE="0660" | |
ATTR{idProduct}=="68c3", MODE="0660" | |
# Galaxy Ace (S5830) "Cooper" | |
ATTR{idProduct}=="689e", ENV{adb_adbfast}="yes" | |
# Galaxy Tab | |
ATTR{idProduct}=="6877", ENV{adb_adbfast}="yes" | |
# Galaxy Nexus (GSM) (6860=mtp,adb 6864=rndis,adb 6866=ptp,adb) | |
ATTR{idProduct}=="6860", SYMLINK+="android_adb" | |
ATTR{idProduct}=="6864", SYMLINK+="android_adb" | |
ATTR{idProduct}=="6866", SYMLINK+="android_adb" | |
# Galaxy Core, Tab 10.1, i9100 S2, i9300 S3, N5100 Note (8.0), Galaxy S3 SHW-M440S 3G (Korea only) | |
ATTR{idProduct}=="6860", SYMLINK+="android_adb" | |
ATTR{idProduct}=="685e", ENV{adb_adbfast}="yes" | |
# Galaxy i9300 S3 | |
ATTR{idProduct}=="6866", SYMLINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1" | |
# Galaxy S4 GT-I9500 | |
ATTR{idProduct}=="685d", SYMLINK+="android_adb" | |
GOTO="android_usb_rule_match" | |
LABEL="not_Samsung" | |
# Sharp | |
ATTR{idVendor}=="04dd", ENV{adb_user}="yes" | |
# SK Telesys | |
ATTR{idVendor}=="1f53", ENV{adb_user}="yes" | |
# Sonim | |
ATTR{idVendor}=="1d9c", ENV{adb_user}="yes" | |
# Sony | |
ATTR{idVendor}=="054c", ENV{adb_user}="yes" | |
# Sony Ericsson | |
ATTR{idVendor}!="0fce", GOTO="not_Sony_Ericsson" | |
ENV{adb_user}="yes" | |
# Xperia X10 mini (3137=mass_storage) | |
ATTR{idProduct}=="2137", SYMLINK+="android_adb" | |
# Xperia X10 mini pro (3138=mass_storage) | |
ATTR{idProduct}=="2138", SYMLINK+="android_adb" | |
# Xperia X8 (3149=mass_storage) | |
ATTR{idProduct}=="2149", SYMLINK+="android_adb" | |
# Xperia X12 (e14f=mass_storage) | |
ATTR{idProduct}=="614f", SYMLINK+="android_adb" | |
# Xperia Arc S | |
ATTR{idProduct}=="414f", ENV{adb_adbfast}="yes" | |
# Xperia Neo V (6156=debug,0dde=fastboot) | |
ATTR{idProduct}=="6156", SYMLINK+="android_adb" | |
ATTR{idProduct}=="0dde", SYMLINK+="android_fastboot" | |
# Xperia S | |
ATTR{idProduct}=="5169", ENV{adb_adbfast}="yes" | |
# Xperia SP | |
ATTR{idProduct}=="6195", ENV{adb_adbfast}="yes" | |
# Xperia L | |
ATTR{idProduct}=="5192", ENV{adb_adbfast}="yes" | |
# Xperia Mini Pro | |
ATTR{idProduct}=="0166", ENV{adb_adbfast}="yes" | |
# Xperia V | |
ATTR{idProduct}=="0186", ENV{adb_adbfast}="yes" | |
# Xperia Acro S | |
ATTR{idProduct}=="5176", ENV{adb_adbfast}="yes" | |
# Xperia Z1 Compact | |
ATTR{idProduct}=="51a7", ENV{adb_adbfast}="yes" | |
# Xperia Z2 | |
ATTR{idProduct}=="51ba", ENV{adb_adbfast}="yes" | |
# Xperia Z3 | |
ATTR{idProduct}=="01af", ENV{adb_adbfast}="yes" | |
# Xperia Z3 Compact | |
ATTR{idProduct}=="01bb", ENV{adb_adbfast}="yes" | |
# Xperia Z3+ Dual | |
ATTR{idProduct}=="51c9", ENV{adb_adbfast}="yes" | |
# Xperia XZ | |
ATTR{idProduct}=="51e7", ENV{adb_adbfast}="yes" | |
GOTO="android_usb_rule_match" | |
LABEL="not_Sony_Ericsson" | |
# Spectralink | |
ATTR{idVendor}=="1973", ENV{adb_user}="yes" | |
# Spreadtrum | |
ATTR{idVendor}=="1782", ENV{adb_user}="yes" | |
# T & A Mobile Phones | |
# Alcatel OT991D | |
ATTR{idVendor}=="1bbb", ATTR{idProduct}=="00f2", ENV{adb_adb}="yes" | |
# Alcatel OT6012A | |
ATTR{idVendor}=="1bbb", ATTR{idProduct}=="0167", ENV{adb_adb}="yes" | |
# Teleepoch | |
ATTR{idVendor}=="2340", ENV{adb_user}="yes" | |
# Texas Instruments UsbBoot | |
ATTR{idVendor}=="0451", ATTR{idProduct}=="d00f", ENV{adb_user}="yes" | |
ATTR{idVendor}=="0451", ATTR{idProduct}=="d010", ENV{adb_user}="yes" | |
# Toshiba | |
ATTR{idVendor}=="0930", ENV{adb_user}="yes" | |
# Wileyfox | |
ATTR{idVendor}=="2970", ENV{adb_user}="yes" | |
# XiaoMi | |
ATTR{idVendor}!="2717", GOTO="not_XiaoMi" | |
ENV{adb_user}="yes" | |
# Mi2A | |
ATTR{idProduct}=="904e", SYMLINK+="android_adb" | |
ATTR{idProduct}=="9039", SYMLINK+="android_adb" | |
# Mi3 | |
ATTR{idProduct}=="0368", SYMLINK+="android_adb" | |
# RedMi 1S WCDMA (MTP+Debug) | |
ATTR{idProduct}=="1268", SYMLINK+="android_adb" | |
# RedMi / RedMi Note WCDMA (MTP+Debug) | |
ATTR{idProduct}=="1248", SYMLINK+="android_adb" | |
# RedMi 1S / RedMi / RedMi Note WCDMA (PTP+Debug) | |
ATTR{idProduct}=="1218", SYMLINK+="android_adb" | |
# RedMi 1S /RedMi / RedMi Note WCDMA (Usb+Debug) | |
ATTR{idProduct}=="1228", SYMLINK+="android_adb" | |
# RedMi / RedMi Note 4G WCDMA (MTP+Debug) | |
ATTR{idProduct}=="1368", SYMLINK+="android_adb" | |
# RedMi / RedMi Note 4G WCDMA (PTP+Debug) | |
ATTR{idProduct}=="1318", SYMLINK+="android_adb" | |
# RedMi / RedMi Note 4G WCDMA (Usb+Debug) | |
ATTR{idProduct}=="1328", SYMLINK+="android_adb" | |
# Mi Mix / A1 (ff88=rndis+adb, ff18=ptp+adb, ff48=mtp+adb, ff28=storage+adb) | |
ATTR{idProduct}=="ff88", SYMLINK+="android_adb" | |
ATTR{idProduct}=="ff18", SYMLINK+="android_adb" | |
ATTR{idProduct}=="ff48", SYMLINK+="android_adb" | |
ATTR{idProduct}=="ff28", SYMLINK+="android_adb" | |
# RedMi / RedMi Note 4G CDMA (Usb+Debug) / Mi4c / Mi5 | |
ATTR{idProduct}=="ff68", SYMLINK+="android_adb" | |
# RedMi 7 | |
ATTR{idProduct}=="ff40", SYMLINK+="android_adb" | |
GOTO="android_usb_rule_match" | |
LABEL="not_XiaoMi" | |
# Yota | |
ATTR{idVendor}!="2916", GOTO="not_Yota" | |
ENV{adb_user}="yes" | |
# YotaPhone2 (f003=normal,9139=debug) | |
ATTR{idProduct}=="9139", ENV{adb_adb}="yes" | |
GOTO="android_usb_rule_match" | |
LABEL="not_Yota" | |
# YU | |
ATTR{idVendor}=="1ebf", ENV{adb_user}="yes" | |
# Zebra | |
ATTR{idVendor}!="05e0", GOTO="not_Zebra" | |
ENV{adb_user}="yes" | |
# TC55 | |
ATTR{idProduct}=="2101", ENV{adb_adb}="yes" | |
GOTO="android_usb_rule_match" | |
LABEL="not_Zebra" | |
# ZTE | |
ATTR{idVendor}!="19d2", GOTO="not_ZTE" | |
ENV{adb_user}="yes" | |
# Blade (1353=normal,1351=debug) | |
ATTR{idProduct}=="1351", SYMLINK+="android_adb" | |
# Blade S (Crescent, Orange San Francisco 2) (1355=normal,1354=debug) | |
ATTR{idProduct}=="1354", SYMLINK+="android_adb" | |
GOTO="android_usb_rule_match" | |
LABEL="not_ZTE" | |
# ZUK | |
ATTR{idVendor}=="2b4c", ENV{adb_user}="yes" | |
# Skip other vendor tests | |
LABEL="android_usb_rule_match" | |
# Symlink shortcuts to reduce code in tests above | |
ENV{adb_adbfast}=="yes", ENV{adb_adb}="yes", ENV{adb_fast}="yes" | |
ENV{adb_adb}=="yes", ENV{adb_user}="yes", SYMLINK+="android_adb" | |
ENV{adb_fast}=="yes", SYMLINK+="android_fastboot" | |
# Enable device as a user device if found (add an "android" SYMLINK) | |
ENV{adb_user}=="yes", MODE="0660", GROUP="adbusers", TAG+="uaccess", SYMLINK+="android" | |
# Devices listed here {begin...end} are connected by USB | |
LABEL="android_usb_rules_end" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment