티스토리 뷰
리눅스로 부팅 후, 휴대폰을 컴퓨터에 연결 하고 나서 dmesg 의 내용중 휴대폰 관련 부분을 볼 수 있습니다.
freecatz@freecatz-linux:~$ dmesg | tail
[ 290.445255] scsi6 : usb-storage 2-5:1.6
[ 290.446204] usbcore: registered new interface driver usb-storage
[ 290.446216] USB Mass Storage support registered.
[ 290.458458] cdc_acm 2-5:1.0: Zero length descriptor references
[ 290.458482] cdc_acm: probe of 2-5:1.0 failed with error -22
[ 290.458778] usbcore: registered new interface driver cdc_acm
[ 290.458789] cdc_acm: v0.26:USB Abstract Control Model driver for USB modems and ISDN adapters
[ 291.446094] scsi 6:0:0:0: Direct-Access SKY Mass storage ffff PQ: 0 ANSI: 2
[ 291.447739] sd 6:0:0:0: Attached scsi generic sg2 type 0
[ 291.453288] sd 6:0:0:0: [sdb] Attached SCSI removable disk
저는 SKY 의 IM-A690L 이라는 휴대폰(나오자 마자 보급용 폰이 된 비운의 폰) 을 사용중이라서 위와 같이 나왔습니다.
위의 메시지 중에서 자세히 보셔야 할 부분은 여러분의 안드로이드 폰이 어느 장치 설정이 되느냐 입니다. 저는 sdb 로 되었으나, 사용 하시는 운영
체제나 휴대폰에 따라 USB 등으로 잡히는 경우도 있습니다. 해당 휴대폰이 USB 로 잡히는 경우 usb 라고 기억해 두시면 됩니다.
이제 휴대폰과 컴퓨터 사이에 연결된 인터페이스인 USB 장치의 VID 와 PID 를 알아 내기 위해 lsusb 라는 명령을 실행 합니다.
freecatz@freecatz-linux:~$ lsusb
Bus 004 Device 002: ID 1241:1503 Belkin Keyboard
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 005: ID 0cf3:3002 Atheros Communications, Inc.
Bus 003 Device 003: ID 046d:08ad Logitech, Inc. QuickCam Communicate STX
Bus 003 Device 002: ID 192f:0416 Avago Technologies, Pte.
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 003: ID 10a9:1104 SK Teletech Co., Ltd
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
제 휴대폰은 LGU+ 를 하용하는데 왜 SK Teletech 로 나와 있는지는 모르겠으나, 일단 휴대폰과 관련된 USB 장치는 하나 뿐이라
Bus 002 Device 003: ID 10a9:1104 SK Teletech Co., Ltd 의 정보중 PID 는 10a9 으로 그리고 VID 는 1104 이라고 판단 하였습니다.
PID 와 VID 를 쉽게 알 수 있는 윈도즈용 유틸리티도 있습니다.
lsusb 명령으로 PID 와 VID 를 알아낼 수 없는 경우 윈도즈로 부팅 후, USB 의 PID 와 VID를 알아낼 수 있는 유틸리티 등을 이용 하여 PID 와 VID 를
알아내시고 다음 단계로 진행 하셔도 됩니다. 리눅스에서는 PID 나 VID 를 알아내는 다른 유틸리티를 몰라서 알아 보고 있는 중입니다.
udev 를 이용 하기위해 이제 root 의 권한으로 /etc/udev/rules.d/ 디렉터리 아래 파일을 하나 만들어 줍니다.
파일은 두자리의 숫자로 시작 되어야 합니다. 9x 번의 숫자를 사용 하시면 됩니다. 아니면, 저 처럼 그냥 99를 사용 하셔도 괜찮고요. 저는 파일
이름을 99-SKY-android.rules 로 정했습니다. SUBSYSTEM 의 장치명은 dmesg 에서 확인된 장치명을 기입하여 주세요.
root@freecatz-linux:~# vi /etc/udev/rules.d/99-SKY-android.rules
SUBSYSTEM=="sdb", SYSFS{idVendor}=="1104",MODE="0666", OWNER="freecatz"
SUBSYSTEM=="sdb", ATTR{idProduct}=="10a9", ATTR{idVendor}=="1104", SYMLINK+="android_adb"
위의 두 줄이 99-SKY-android.rules 파일의 내용 입니다.
이때 lsusb 명령으로 알아낸 USB 장치의 PID 와 VID 를 넣어 주서야 합니다.
idVendor 는 VID 를, idProduct 는 PID를 입력 하여 주시고, OWNER 는 여러분이 사용 하시는 일반 유저의 계정을 입력 하여 주시면 됩니다.
저는 제 시스템에서 freecatz 라는 계정을 사용 하므로 freecatz 라고 작성 하였습니다.
만약 개인 사용자가 아닌 그룹을 지정 하고 싶으시다면, OWNER 대신 GROUP 을 사용 할 수 있습니다.
root@freecatz-linux:~# restart udev
udev start/running, process 2180
이제 root 권한으로 udev 를 다시 실행 하여 변경된 rules 파일(위에서 만들었던 99-SKY-android.rules 파일) 의 내용을 적용 하여야 합니다.
(참고 : 앞의 두자리 숫자가 룰파일을 읽어 들이는 순서 입니다.)
root@freecatz-linux:~# cd /home/freecatz/eclipse/android-sdk-linux_x86/platform-tools/
udev 가 다시 실행 이 되고 나면, 안드로이드 SDK 의 압축이 풀려진 디렉터리 아래 adb 라는 도구가 있는 위치로 이동 합니다.
(참고 : 저는 나중에 귀찮아서 ADB_HOME 변수를 등록 하고 PATH 에 추가 했습니다.)
root@freecatz-linux:/home/freecatz/eclipse/android-sdk-linux_x86/platform-tools# adb kill-server
adb 명령을 이용 하여 서버를 중지 시킵니다.
root@freecatz-linux:/home/freecatz/eclipse/android-sdk-linux_x86/platform-tools# adb start-server
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
adb 명령을 이용 하여 서버를 시작 합니다.
root@freecatz-linux:/home/freecatz/eclipse/android-sdk-linux_x86/platform-tools# adb devices
List of devices attached
EF13L01110142016217 device
freecatz@freecatz-linux:~$ adb devices
List of devices attached
EF13L01110142016217 device
일반 유저의 계정으로(위에서 만든 rules 파일에 OWNER 의 사용자 이름) adb 명령을 이용하여 연결된 장치를 보니,
root 유저와 동일 하게 EF13L01110142016217 라는 이름의 장치가 연결 되어 있군요.
- Total
- Today
- Yesterday
- JavaScript
- MySQL
- Android
- Review
- food
- gpkiapi
- Java
- development
- TIP
- HTTP
- web
- Linux
- Spring
- devel
- 엘리스센터
- json parse
- Fun
- Mobile
- devtools
- samba
- ssh
- place
- kotlin
- Compile
- Flutter
- SSL
- dart
- Security
- 맛집
- springboot
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |