공급 업체 / 제품 ID로만 장치를 청구해야하는 모듈을 식별하는 방법은 무엇입니까?


14

내가 가지고 있지 않은 하드웨어의 숫자 제품 / 공급 업체 ID를 알고 커널에서 나를 지원하는지 알고 싶다면이 작업을 수행 할 수 있습니다 (USB 블루투스 수신기 예).

modinfo btusb
filename:       /lib/modules/3.7.5-030705-generic/kernel/drivers/bluetooth/btusb.ko
[...]
alias:          usb:v0A5Cp*d*dc*dsc*dp*icFFisc01ip01in*
alias:          usb:v0489p*d*dc*dsc*dp*icFFisc01ip01in*
alias:          usb:v413Cp8197d*dc*dsc*dp*ic*isc*ip*in*
[...]

이것으로부터 나는 어떤 장치가 청구 btusb되어야하는지 알 수 있으며, 미리 모듈 이름을 알아야합니다. 그러나 어떤 경우에는 그러한 장치를 지원하는 모듈 이름에 대한 실마리가 없습니다.

네트워킹 하드웨어는 찾아보기 매우 어려운 범주 중 하나입니다. 또한 lspcilsusb이름이 결정적이지 않거나 단순히 잘못되었습니다. 나는 현재 전체 커널 소스 트리를 훑어보고 있습니다.

  • 일치하는 것을 찾을 수 있도록 모든 모듈 (커널에 내장 된 것을 포함하여) 의 모든 modaliases 를 한 번에 나열하는 방법이 있습니까?
  • 또는 실제로 내가 소유하지 않은 장치를 주장하는 커널 모듈을 제공하기 위해 커널을 쿼리하는 방법이 있습니까?

사용 사례:

  • 사용자가 실제로 "업그레이드 할 경우 지원합니다 ..."또는 "rmmod module1을 시도하십시오.
  • ID에 대한 사전 지식이있는 하드웨어를 구입하기 전에 지원을 확인하십시오. ID를 검색하는 것 외에도 커널 모듈 자체에서 버그 보고서를 찾을 수 있습니다.

이 정보를 얻는 쉬운 방법은 없습니다. 모든 USB 장치가 ID를 기준으로 청구되는 것은 아닙니다. 클래스 기반 장치 (스토리지, HID 및 많은 직렬 및 네트워킹 장치)는 제공하는 인터페이스에 따라 식별됩니다.
Alistair Buxton

아마도 usb-modeswitch가 도움이 될 것입니다. 당신이 그것을하지 않은 경우 :sudo apt-get install usb-modeswitch
Dimitris Theodoridis

lsusb를 입력하면 ID
Dimitris Theodoridis가

귀하의 질문에서 나는 단지 당신이 ID를보고 그것을 바꾸고 싶다는 것을 보았습니다.
Dimitris Theodoridis

지금은 정말 당신을 이해하지 않습니다. 내가 더 잘 이해할 수있는 것보다 질문을 설명하고 내가 실제로 당신을 도울 수 있는지 확인하십시오
Dimitris Theodoridis

답변:


3

" modinfo모든 (또는 일부) 모듈에서 어떻게 실행 하고 추가 사용을 위해 출력을 선택할 수 있습니까?" 최종 결과로) :

ls /lib/modules
ls /lib/modules/$(uname -r)
ls /lib/modules/$(uname -r)/kernel
find  /lib/modules/$(uname -r)/kernel -type f -name '*.ko' -print
for i in $( !! ) ; do
for i in $( find  /lib/modules/$(uname -r)/kernel -type f -name '*.ko' -print ) ; do
   j=${i##.*/}
   j=${j%%.ko}
   echo $j
   modinfo $i | egrep 'filename:|alias:'
   echo ""
   done

이 트릭은 다른 곳에서 사용할 수 있으며 재미있게 보내십시오!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.