답변:
나는 이것이 놀랍도록 힘든 것을 발견했다. Nexus 5와 KDE (을 사용하여 libmtp
생각합니다)가 Nexus 5로 표시됩니다. 첫 번째 본능은 KDE가 단순히 하드웨어 데이터베이스를보고 있다는 것입니다. 이는 USB 장치의 공급 업체 및 제품 문자열을 알려진 이름으로 매핑합니다. 문제는 다음과 같습니다.
$ lsusb
Bus 002 Device 011: ID 18d1:4ee1 Google Inc. Nexus 4
Nexus 5가 다운 그레이드되었습니다. 그래서 KDE는 거기에서 그것을 얻지 못했습니다.
udevadm
장치를 쿼리 하는 데 사용할 수 있습니다 . 이 경우 장치에 대한 참조를 전달해야합니다. 위에서 버스 / 장치 번호를 사용하려고합니다 ( %03d
포맷 해야 하므로 1은 001이되고 20은 020이됩니다) :
$ udevadm info --name=/dev/bus/usb/002/011
...
E: ID_MODEL=Nexus_5
E: ID_MODEL_ENC=Nexus\x205
E: ID_MODEL_FROM_DATABASE=Nexus 4
...
거기에 다른 쓰레기가 많이 있지만 ID_MODEL
우리가 원하는 것 같습니다. 추가 추출 및 처리가 필요한 경우이를 awk
정리하거나 밑줄을 바꾸려면 (또는 다른 방법으로) 실행할 수 있습니다 .
$ ... | awk -F'=' '/ID_MODEL=/{gsub("_"," ");print $2}'
Nexus 5
의 출력을 구문 분석 할 수 있습니다 mtp-detect
.
첫 설치 mtp-tools
:
sudo apt-get install mtp-tools
그리고 다음을 실행하십시오.
$ mtp-detect 2>/dev/null | grep Model:
Model: Nexus 7 (2013) Wi-Fi
mtp-detect
보았지만 심각하게 느리다는 것을 알았습니다 . 여기에서 완료하는 데 40 초가 걸렸습니다.