로드된 모듈이 장치의 드라이버가 아닌 이유는 무엇입니까?

로드된 모듈이 장치의 드라이버가 아닌 이유는 무엇입니까?

스마트폰용 TP-Link TL-WN722N USB Wi-Fi 카드용 드라이버를 포함하기 위해 Android 8 커널을 컴파일하려고 하면 커널이 성공적으로 플래시되지만 OTG를 통해 Wi-Fi 카드를 휴대폰에 삽입하면 소프트웨어에서 인식할 수 없습니다.

내가 수행한 디버깅은 다음과 같습니다.

Wi-Fi 카드가 lsusb -t출력에 표시되지만 함께 제공되는 드라이버가 없습니다.

모듈이 로드된 것을 볼 수 있으며 다음 /proc/moduleslsmod같습니다.

wlan 5801121 0 - Live 0x00000000000000 (O)

컴파일하기 전에 사용하기로 선택한 드라이버는 make menuconfig다음과 같습니다.ATH9K그리고ATH9K_HTC, 왜 이런 일이 발생하는지 잘 모르겠습니다.wlan여기서 오프셋이 모두 0이라는 점이 조금 이상합니다. 또한 이것은 출력의 유일한 항목입니다. 다른 모든 기본 모듈은 외부가 아닌 커널에 직접 컴파일되는 것 같습니다.

정확하지 않은 부분이 많이 있지만 정확히 문제가 어디에 있는지 잘 모르겠습니다. 어떤 조언이라도 주시면 감사하겠습니다.

답변1

마침내 작동하게 되었고 Atheros 장치가 작동하려면 .fw 펌웨어 파일이 올바른 디렉토리에 배치되어야 한다는 것이 밝혀졌습니다. Wi-Fi 카드를 연결할 때마다 dmesg에 오류가 표시되었기 때문에 이 사실을 알았습니다. 펌웨어 로드에 실패했습니다.라는 메시지가 나타납니다. 또한 @nobody가 제안한 대로 드라이버를 장치에 바인딩하려고 시도했지만 이것이 작동하는지 확실하지 않으며 바인딩 후 드라이버가 장치 폴더에 표시되지 않습니다.

관련 정보