usb vendor를 파싱하려고 합니다
꽂혀있는 usb vendor를 알아내고 싶은데요
cat /proc/scsi/scsi 을 하면 다음과 같이 눈으로 확인이 가능합니다:
~ # cat /proc/scsi/scsi
Attached devices:
Host: scsi1 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: WDC WD800AAJS-00 Rev: 05.0
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi7 Channel: 00 Id: 00 Lun: 00
Vendor: IOCELL Model: KeyDisk Rev: 1.00
Type: Direct-Access ANSI SCSI revision: 02
보시다시피 usb뿐만 아니라 HDD 등의 다른 정보들도 같이 나옵니다.
해당 줄이 usb인지 확인해야 하는데
다음과 같이 /proc/scsi/usb-storage에 파일이름이 생기더라구요:
~ # cat /proc/scsi/usb-storage/
cat: Read error: Is a directory
~ # cat /proc/scsi/usb-storage/7
Host scsi7: usb-storage
Vendor: Unknown
Product: Unknown
Serial Number: None
Protocol: Transparent SCSI
Transport: Bulk
Quirks:
물론 이 파일에서도 vendor를 확인할 수가 있는데
위 경우처럼 어떤 usb는 unknown으로 나오네요
그래서, usb의 vendor를 알기 위해 생각한 방법이
1. /proc/scsi/usb-storage의 파일 이름을 얻어낸다
2. 1의 파일이름으로 /proc/scsi/scsi에서 "host#"를 파싱해 찾은뒤
vendor의 문자열을 얻어낸다.
이렇게 할까 하는데 너무 복잡한데요
보니까 proc api같은 것도 있고 하던데
혹시 간단하게 usb의 모델명(벤더명)을 알아내는 방법이 있을까요?
lsusb
lsusb로 확인하면 되지 않나요??
[유유자적 바람따라 흘러가고 싶다]
[유유자적 바람따라 흘러가고 싶다]
lsusb
lsusb 명령어가 없어욤..
"I'm convinced that the only thing that kept me going was that I loved what I did." - Steve Jobs 1955-2011
sysfs
cat /sys/bus/usb/devices/*/{idVendor,idProduct}
해봤는데 idVendor나
해봤는데 idVendor나 idProduct가 문자열이 아니고 숫자값 0000으로 나옵니다만..
"I'm convinced that the only thing that kept me going was that I loved what I did." - Steve Jobs 1955-2011
댓글 달기