연결되는 기기가 어떤 기기인지 인식을 정확하게 하지 못해서 일어나는 증상으로 udev 가 접속될 때 vendorId, productId등을 명시해서 접속한 장비가 어떤 회사의 제품인지 알려주면 됩니다. 안드로이드 개발에 있어서 필수입니다.
안드로이드 개발환경을 구성하는 글은
ioriy2k 라는 블로그를 운영하시는 분의 글로 대신합니다.
http://ioriy2k.pe.kr/archives/6147
위 글을 보시면 trouble shooting 글중에 하나가 제목과 관련된 해결방안을 제시한 것인데 제품항목이 다양하지 않아서 검색해보았습니다.
git 허브에 잘 정리해놓은 분이 이미 계서서 git 사이트도 링크를 걸어둡니다.
https://github.com/M0Rf30/android-udev-rules/blob/master/51-android.rules
얼마전까지 안드로이드 개발 사이트(http://developer.android.com/tools/device.html)를 참조해서 하나하나 수작업으로 해놓았었는데 공유정신은 참 위대한 것 같습니다. ^^
글작성일 기준으로 올라온 최신버전의 51-android.rules 에 대한 정보를 올려둡니다.
# Skip this section below if this device is not connected by USB
SUBSYSTEM!="usb", GOTO="android_usb_rules_end"
LABEL="android_usb_rules_begin"
# Devices listed here in android_usb_rules_{begin...end} are connected by USB
# Acer
ATTR{idVendor}=="0502", ENV{adb_user}="yes"
# Iconia Tab A500
ATTR{idVendor}=="0502", ATTR{idProduct}=="3325", SYMLINK+="android_adb"
ATTR{idVendor}=="0502", ATTR{idProduct}=="3325", SYMLINK+="android_fastboot"
# Liquid
ATTR{idVendor}=="0502", ATTR{idProduct}=="3202"
ATTR{idVendor}=="0502", ATTR{idProduct}=="3203", SYMLINK+="android_adb"
# ADVANCE
ATTR{idVendor}=="0a5c", ENV{adb_user}="yes"
# S5
ATTR{idVendor}=="0a5c", ATTR{idProduct}=="e681", SYMLINK+="android_adb"
# Archos
ATTR{idVendor}=="0e79", ENV{adb_user}="yes"
# 43
ATTR{idVendor}=="0e79", ATTR{idProduct}=="1417", SYMLINK+="android_adb"
ATTR{idVendor}=="0e79", ATTR{idProduct}=="1417", SYMLINK+="android_fastboot"
# 101
ATTR{idVendor}=="0e79", ATTR{idProduct}=="1411", SYMLINK+="android_adb"
ATTR{idVendor}=="0e79", ATTR{idProduct}=="1411", SYMLINK+="android_fastboot"
# 101 xs
ATTR{idVendor}=="0e79", ATTR{idProduct}=="1549", SYMLINK+="android_adb"
ATTR{idVendor}=="0e79", ATTR{idProduct}=="1549", SYMLINK+="android_fastboot"
# Asus
ATTR{idVendor}=="0b05", ENV{adb_user}="yes"
# Dell
ATTR{idVendor}=="413c", ENV{adb_user}="yes"
# Foxconn
ATTR{idVendor}=="0489", ENV{adb_user}="yes"
# Fujitsu/Fujitsu Toshiba
ATTR{idVendor}=="04c5", ENV{adb_user}="yes"
# Fuzhou Rockchip Electronics
ATTR{idVendor}=="2207", ENV{adb_user}="yes"
# Mediacom Smartpad 715i
ATTR{idVendor}=="2207", ATTR{idProduct}=="0000", SYMLINK+="android_adb"
# Garmin-Asus
ATTR{idVendor}=="091e", ENV{adb_user}="yes"
# Google
ATTR{idVendor}=="18d1", ENV{adb_user}="yes"
# Nexus 4
ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee2", SYMLINK+="android_adb"
ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee0", SYMLINK+="android_fastboot"
# Nexus 7
ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e42", SYMLINK+="android_adb"
ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e40", SYMLINK+="android_fastboot"
# Nexus 10
ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee1", SYMLINK+="android_adb"
ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee1", SYMLINK+="android_fastboot"
# Nexus S
ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e21"
ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e22", SYMLINK+="android_adb"
ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e20", SYMLINK+="android_fastboot"
# Galaxy Nexus
ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e30", SYMLINK+="android_adb"
ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e30", SYMLINK+="android_fastboot"
# Nexus One
ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e11"
ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e12", SYMLINK+="android_adb"
ATTR{idVendor}=="18d1", ATTR{idProduct}=="0fff", SYMLINK+="android_fastboot"
# Generic and unspecified debug interface
ATTR{idVendor}=="18d1", ATTR{idProduct}=="d00d", SYMLINK+="android_fastboot"
# Haier
ATTR{idVendor}=="201e", ENV{adb_user}="yes"
# Hisense
ATTR{idVendor}=="109b", ENV{adb_user}="yes"
# HTC
ATTR{idVendor}=="0bb4", MODE="0660", GROUP="adbusers"
# ChaCha
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0cb2", SYMLINK+="android_adb"
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0cb2", SYMLINK+="android_fastboot"
# Desire (Bravo)
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9"
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c87", SYMLINK+="android_adb"
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", SYMLINK+="android_fastboot"
# Desire HD
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ca2", SYMLINK+="android_adb"
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", SYMLINK+="android_fastboot"
# Desire S (Saga)
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0cab", SYMLINK+="android_adb"
# Desire Z
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c91", SYMLINK+="android_adb"
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c91", SYMLINK+="android_fastboot"
# Evo Shift
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9"
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ca5", SYMLINK+="android_adb"
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", SYMLINK+="android_fastboot"
# HD2
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c02", SYMLINK+="android_adb"
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c02", SYMLINK+="android_fastboot"
# Hero H2000
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0001", SYMLINK+="android_adb"
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0001", SYMLINK+="android_fastboot"
# Hero (GSM), Desire
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9"
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c99", SYMLINK+="android_adb"
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", SYMLINK+="android_fastboot"
# Hero (CDMA)
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9"
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c9a", SYMLINK+="android_adb"
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", SYMLINK+="android_fastboot"
# Incredible
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9"
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c9e", SYMLINK+="android_adb"
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", SYMLINK+="android_fastboot"
# Incredible rev 0002
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9"
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c8d", SYMLINK+="android_adb"
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", SYMLINK+="android_fastboot"
# MyTouch 4G
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9"
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c96", SYMLINK+="android_adb"
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", SYMLINK+="android_fastboot"
# One (m7)
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c93"
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0f87", SYMLINK+="android_adb"
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff0", SYMLINK+="android_fastboot"
# Slide
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9"
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0e03", SYMLINK+="android_adb"
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", SYMLINK+="android_fastboot"
# Tatoo, Dream, ADP1, G1, Magic
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c01"
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c02", SYMLINK+="android_adb"
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c02", SYMLINK+="android_fastboot"
# Vision
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9"
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c91", SYMLINK+="android_adb"
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", SYMLINK+="android_fastboot"
# Wildfire
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c8b", SYMLINK+="android_adb"
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c8b", SYMLINK+="android_fastboot"
# Wildfire S
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c86", SYMLINK+="android_adb"
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c86", SYMLINK+="android_fastboot"
# Zopo ZP900
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c03", SYMLINK+="android_adb"
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c03", SYMLINK+="android_fastboot"
# Zopo C2
ATTR{idVendor}=="0bb4", ATTR{idProduct}=="2008", SYMLINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"
# Huawei
ATTR{idVendor}=="12d1", ENV{adb_user}="yes"
ATTR{idVendor}=="12d1", ATTR{idProduct}=="1038", SYMLINK+="android_adb"
ATTR{idVendor}=="12d1", ATTR{idProduct}=="1038", SYMLINK+="android_fastboot"
# U8850 Vision
ATTR{idVendor}=="12d1", ATTR{idProduct}=="1021", SYMLINK+="android_adb"
ATTR{idVendor}=="12d1", ATTR{idProduct}=="1021", SYMLINK+="android_fastboot"
# 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"
# Lab126
ATTR{idVendor}=="1949", ENV{adb_user}="yes"
# Amazon Kindle Fire
ATTR{idVendor}=="1949", ATTR{idProduct}=="0006", SYMLINK+="android_adb"
ATTR{idVendor}=="1949", ATTR{idProduct}=="0006", SYMLINK+="android_fastboot"
# Lenovo
ATTR{idVendor}=="17ef", ENV{adb_user}="yes"
# LG
ATTR{idVendor}=="1004", ENV{adb_user}="yes"
# Ally, Vortex, P500
ATTR{idVendor}=="1004", ATTR{idProduct}=="618f"
ATTR{idVendor}=="1004", ATTR{idProduct}=="618e", SYMLINK+="android_adb"
# Optimus LTE
ATTR{idVendor}=="1004", ATTR{idProduct}=="6315", SYMLINK+="android_adb"
ATTR{idVendor}=="1004", ATTR{idProduct}=="61f9", SYMLINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"
# Optimus One
ATTR{idVendor}=="1004", ATTR{idProduct}=="61c5", SYMLINK+="android_adb"
# Swift GT540
ATTR{idVendor}=="1004", ATTR{idProduct}=="61b4", SYMLINK+="android_adb"
# P500 CM10
ATTR{idVendor}=="1004", ATTR{idProduct}=="61a6", SYMLINK+="android_adb"
# 4X HD P880
ATTR{idVendor}=="1004", ATTR{idProduct}=="61f9", SYMLINK+="android_adb"
# Motorola
ATTR{idVendor}=="22b8", ENV{adb_user}="yes"
# CLIQ XT/Quench
ATTR{idVendor}=="22b8", ATTR{idProduct}=="2d66"
# Defy/MB525
ATTR{idVendor}=="22b8", ATTR{idProduct}=="428c"
# Droid
ATTR{idVendor}=="22b8", ATTR{idProduct}=="41db"
# Xoom ID 1
ATTR{idVendor}=="22b8", ATTR{idProduct}=="70a8", SYMLINK+="android_adb"
ATTR{idVendor}=="22b8", ATTR{idProduct}=="70a8", SYMLINK+="android_fastboot"
# Xoom ID 2
ATTR{idVendor}=="22b8", ATTR{idProduct}=="70a9", SYMLINK+="android_adb"
ATTR{idVendor}=="22b8", ATTR{idProduct}=="70a9", SYMLINK+="android_fastboot"
# Razr XT912
ATTR{idVendor}=="22b8", ATTR{idProduct}=="4362", SYMLINK+="android_adb"
ATTR{idVendor}=="22b8", ATTR{idProduct}=="4362", SYMLINK+="android_fastboot"
# MTK
ATTR{idVendor}=="0e8d", ENV{adb_user}="yes"
# NEC
ATTR{idVendor}=="0409", ENV{adb_user}="yes"
# Nook
ATTR{idVendor}=="2080", ENV{adb_user}="yes"
# Nvidia
ATTR{idVendor}=="0955", ENV{adb_user}="yes"
# Oppo
ATTR{idVendor}=="22d9", ENV{adb_user}="yes"
# Find 5
ATTR{idVendor}=="22d9", ATTR{idProduct}=="2767", SYMLINK+="android_adb"
ATTR{idVendor}=="22d9", ATTR{idProduct}=="2764", SYMLINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"
# OTGV
ATTR{idVendor}=="2257", ENV{adb_user}="yes"
# Pantech
ATTR{idVendor}=="10a9", ENV{adb_user}="yes"
# Pegatron
ATTR{idVendor}=="1d4d", ENV{adb_user}="yes"
# Philips
ATTR{idVendor}=="0471", ENV{adb_user}="yes"
# PMC-Sierra
ATTR{idVendor}=="04da", ENV{adb_user}="yes"
# Qualcomm
ATTR{idVendor}=="05c6", ENV{adb_user}="yes"
# SK Telesys
ATTR{idVendor}=="1f53", ENV{adb_user}="yes"
# Samsung
ATTR{idVendor}=="04e8", ENV{adb_user}="yes"
# Galaxy i5700
ATTR{idVendor}=="04e8", ATTR{idProduct}=="681c", SYMLINK+="android_adb"
ATTR{idVendor}=="04e8", ATTR{idProduct}=="681c", SYMLINK+="android_fastboot"
# Galaxy i5800
ATTR{idVendor}=="04e8", ATTR{idProduct}=="681c", SYMLINK+="android_adb"
ATTR{idVendor}=="04e8", ATTR{idProduct}=="6601", SYMLINK+="android_fastboot"
ATTR{idVendor}=="04e8", ATTR{idProduct}=="68a9", SYMLINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"
# Galaxy i7500
ATTR{idVendor}=="04e8", ATTR{idProduct}=="6640", SYMLINK+="android_adb"
ATTR{idVendor}=="04e8", ATTR{idProduct}=="6640", SYMLINK+="android_fastboot"
# Galaxy i9000 S, i9300 S3
ATTR{idVendor}=="04e8", ATTR{idProduct}=="6601", SYMLINK+="android_adb"
ATTR{idVendor}=="04e8", ATTR{idProduct}=="685d", MODE="0660"
ATTR{idVendor}=="04e8", ATTR{idProduct}=="68c3", MODE="0660"
# Galaxy Ace (S5830) "Cooper"
ATTR{idVendor}=="04e8", ATTR{idProduct}=="689e", SYMLINK+="android_adb"
ATTR{idVendor}=="04e8", ATTR{idProduct}=="689e", SYMLINK+="android_fastboot"
# Galaxy Tab
ATTR{idVendor}=="04e8", ATTR{idProduct}=="6877", SYMLINK+="android_adb"
ATTR{idVendor}=="04e8", ATTR{idProduct}=="6877", SYMLINK+="android_fastboot"
# Galaxy Nexus (GSM)
ATTR{idVendor}=="04e8", ATTR{idProduct}=="685c"
ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", SYMLINK+="android_adb"
ATTR{idVendor}=="18d1", ATTR{idProduct}=="d001"
ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e30", SYMLINK+="android_fastboot"
# Galaxy Tab 10.1, i9100 S2, i9300 S3
ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860"
ATTR{idVendor}=="04e8", ATTR{idProduct}=="685e", SYMLINK+="android_adb"
ATTR{idVendor}=="04e8", ATTR{idProduct}=="685e", SYMLINK+="android_fastboot"
ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", SYMLINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"
# Galaxy i9300 S3
ATTR{idVendor}=="04e8", ATTR{idProduct}=="6866", SYMLINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"
# Galaxy S4 GT-I9500
ATTR{idVendor}=="04e8", ATTR{idProduct}=="685d", SYMLINK+="android_adb"
# Sharp
ATTR{idVendor}=="04dd", ENV{adb_user}="yes"
# Sony
ATTR{idVendor}=="054c", ENV{adb_user}="yes"
# Sony Ericsson
ATTR{idVendor}=="0fce", ENV{adb_user}="yes"
# Xperia X10 mini
ATTR{idVendor}=="0fce", ATTR{idProduct}=="3137"
ATTR{idVendor}=="0fce", ATTR{idProduct}=="2137", SYMLINK+="android_adb"
# Xperia X10 mini pro
ATTR{idVendor}=="0fce", ATTR{idProduct}=="3138"
ATTR{idVendor}=="0fce", ATTR{idProduct}=="2138", SYMLINK+="android_adb"
# Xperia X8
ATTR{idVendor}=="0fce", ATTR{idProduct}=="3149"
ATTR{idVendor}=="0fce", ATTR{idProduct}=="2149", SYMLINK+="android_adb"
# Xperia X12
ATTR{idVendor}=="0fce", ATTR{idProduct}=="e14f"
ATTR{idVendor}=="0fce", ATTR{idProduct}=="614f", SYMLINK+="android_adb"
# Xperia Arc S
ATTR{idVendor}=="0fce", ATTR{idProduct}=="414f", SYMLINK+="android_adb"
ATTR{idVendor}=="0fce", ATTR{idProduct}=="414f", SYMLINK+="android_fastboot"
# Xperia Neo V
ATTR{idVendor}=="0fce", ATTR{idProduct}=="6156", SYMLINK+="android_adb"
ATTR{idVendor}=="0fce", ATTR{idProduct}=="0dde", SYMLINK+="android_fastboot"
# Xperia S
ATTR{idVendor}=="0fce", ATTR{idProduct}=="5169", SYMLINK+="android_adb"
ATTR{idVendor}=="0fce", ATTR{idProduct}=="5169", SYMLINK+="android_fastboot"
# Xperia L
ATTR{idVendor}=="0fce", ATTR{idProduct}=="5192", SYMLINK+="android_adb"
ATTR{idVendor}=="0fce", ATTR{idProduct}=="5192", SYMLINK+="android_fastboot"
# T & A Mobile Phones
ATTR{idVendor}=="1bbb", ENV{adb_user}="yes"
# Alcatel OT991D
ATTR{idVendor}=="1bbb", ATTR{idProduct}=="00f2", SYMLINK+="android_adb"
# Teleepoch
ATTR{idVendor}=="2340", ENV{adb_user}="yes"
# Texas Instruments UsbBoot
ATTR{idVendor}=="0451", ATTR{idProduct}=="d00f"
ATTR{idVendor}=="0451", ATTR{idProduct}=="d010"
# Toshiba
ATTR{idVendor}=="0930", ENV{adb_user}="yes"
# WEARNERS
ATTR{idVendor}=="05c6", ENV{adb_user}="yes"
# ZTE
ATTR{idVendor}=="19d2", ENV{adb_user}="yes"
# Blade
ATTR{idVendor}=="19d2", ATTR{idProduct}=="1353"
ATTR{idVendor}=="19d2", ATTR{idProduct}=="1351", SYMLINK+="android_adb"
# Blade S (Crescent, Orange San Francisco 2)
ATTR{idVendor}=="19d2", ATTR{idProduct}=="1355"
ATTR{idVendor}=="19d2", ATTR{idProduct}=="1354", SYMLINK+="android_adb"
# XiaoMi
ATTR{idVendor}=="2717", ENV{adb_user}="yes"
# Mi2A
ATTR{idVendor}=="2717", ATTR{idProduct}=="904e", SYMLINK+="android_adb"
ATTR{idVendor}=="2717", ATTR{idProduct}=="9039", SYMLINK+="android_adb"
# Enable device as a user device if found
ENV{adb_user}=="yes", MODE="0660", GROUP="adbusers", TAG+="uaccess"
# Devices listed here {begin...end} are connected by USB
LABEL="android_usb_rules_end"
끝.