저는 DVB 튜너, USB 튜너를 사용하고 있습니다. 커널에 드라이버를 추가했고 등록 중입니다. 그러나 장치가 연결되면 프로브 기능이 호출되지 않습니다.
제가 추가해야 할 것이 있나요? 장치 드라이버를 장치 등에 매핑해야 합니까? USB 장치 유형에 따라 드라이버를 로드하는 방법을 설명해주세요. 제가 사용하는 커널은 리눅스 3.5입니다.
답변1
귀하의 장치가 드라이버와 함께 작동하는지 확실히 알고 계십니까? 그렇다면:
펌웨어
일부 장치에는 추가 펌웨어도 필요합니다. 안타깝게도 펌웨어를 추출하고 설치하는 데 필요한 방법은 장치에 따라 다릅니다. 일부에서는 Windows 드라이버 사본을 다운로드하고 도구를 사용하여 펌웨어를 추출해야 합니다. Google이 여기서 도움을 드릴 것입니다.
변경된 공급업체 및 제품 ID
때때로 공급업체는 드라이버가 호환 장치를 인식하는 데 사용하는 방법인 공급업체 및 제품 ID를 변경합니다.
이러한 ID는 드라이버에 하드 코딩되어 있습니다. 다행히 최신 장치 드라이버에는 런타임에 공급업체 및 제품 ID를 임시로 추가하는 방법이 있습니다.
lsusb
장치의 ID를 가져오는 데 사용합니다 .
# lsusb
Bus 002 Device 001: ID 1234:abcd Acme Corp DVB Tuner
장치를 분리하고 드라이버를 언로드합니다(새로운 시작점을 얻으려면).
# rmmod acme_dvb
다음으로 드라이버를 로드합니다.
# modprobe acme_dvb
마지막으로 드라이버에게 새 USB ID에 대해 알려주세요.
# echo 1234 abcd > sys/bus/usb/drivers/acme_dvb/new_id
정확한 경로는 다를 수 있습니다.
장치를 연결하고 인식되었는지 확인하세요.
# dmesg
이것이 작동하면 드라이버에 대한 버그로 보고하여 관리자가 새 ID를 추가할 수 있도록 하는 것이 올바른 방법입니다.