ath9k_htc 커널 드라이버를 로드하지 못했습니다.

ath9k_htc 커널 드라이버를 로드하지 못했습니다.

누군가 내 Xperia Neo(haida) 스마트폰에서 외부 무선 스틱(TL-WN722N)이 작동하도록 올바른 방향을 알려줄 수 있나요?

지금까지 나는 다음을 수행했습니다.

  1. LegacyXperia CM11.0 소스 코드를 다운로드하고 atheros 무선 모듈을 구축하도록 커널을 구성했습니다. LX ROM 빌드가 성공적이었고 ROM이 내 NEO에서 실행됩니다.
  2. Atheros 펌웨어(htc_9271.fw)를 /system/etc/firmware에 복사했습니다.
  3. atheros 커널 모듈(ath.ko, ath9k_hw.ko, ath9k_common.ko, ath9k_htc.ko)을 설치했습니다.
  4. Linux Deploy를 통해 Ubuntu Trusty를 설치하고 시작했습니다.
  5. 그런 다음 전원이 공급되는 USB OTG Y 케이블을 사용하여 무선 어댑터(TL-WN722N)를 휴대폰에 연결했습니다.
  6. dmesg(sudo su -c 'echo -n 1 > /sys/bus/usb/devices/1-1/bConfigurationValue')의 "사용 가능한 버스 전원 부족" 메시지를 극복하기 위해 USB 구성을 강제했습니다.
  7. 이로 인해 펌웨어 로딩이 시작되지만 불행하게도 장치가 초기화되지 않습니다. 아래 dmesg 출력을 참조하세요.

도움이 된다면 기쁘겠습니다. 매우 감사합니다!

이것은 dmesg 출력입니다:

[  588.347839] usb 1-1: ath9k_htc: Firmware htc_9271.fw requested
[  588.652984] usb 1-1: ath9k_htc: Transferred FW: htc_9271.fw, size: 51272
[  588.889007] ath9k_htc 1-1:1.0: ath9k_htc: HTC initialized with 33 credits
[  589.107238] ath9k_htc 1-1:1.0: ath9k_htc: FW Version: 1.3
[  589.107421] ath: EEPROM regdomain: 0x809c
[  589.107421] ath: EEPROM indicates we should expect a country code
[  589.107452] ath: doing EEPROM country->regdmn map search
[  589.107452] ath: country maps to regdmn code: 0x52
[  589.107452] ath: Country alpha2 being used: CN
[  589.107482] ath: Regpair used: 0x52
[  589.107482] ------------[ cut here ]------------
[  589.107604] WARNING: at /home/student/android/system/out/target/product/haida/obj/KERNEL_OBJ/modules/compat_wl12xx/net/wireless/reg.c:1279 wiphy_apply_custom_regulatory+0x130/0x188 [cfg80211]()
[  589.107879] Modules linked in: ath9k_htc ath9k_common ath9k_hw ath mac80211(O) cfg80211(O) compat(O) [last unloaded: wl12xx]
[  589.107940] [<c0012c18>] (unwind_backtrace+0x0/0xe0) from [<c0088b8c>] (warn_slowpath_common+0x4c/0x64)
[  589.107940] [<c0088b8c>] (warn_slowpath_common+0x4c/0x64) from [<c0088bbc>] (warn_slowpath_null+0x18/0x1c)
[  589.107971] [<c0088bbc>] (warn_slowpath_null+0x18/0x1c) from [<bf007ce8>] (wiphy_apply_custom_regulatory+0x130/0x188 [cfg80211])
[  589.108001] [<bf007ce8>] (wiphy_apply_custom_regulatory+0x130/0x188 [cfg80211]) from [<bf023654>] (ath_regd_init+0x110/0x14c [ath])
[  589.108032] [<bf023654>] (ath_regd_init+0x110/0x14c [ath]) from [<bf0f4374>] (ath9k_htc_probe_device+0x574/0x77c [ath9k_htc])
[  589.108062] [<bf0f4374>] (ath9k_htc_probe_device+0x574/0x77c [ath9k_htc]) from [<bf0ec710>] (ath9k_htc_hw_init+0x10/0x2c [ath9k_htc])
[  589.108093] [<bf0ec710>] (ath9k_htc_hw_init+0x10/0x2c [ath9k_htc]) from [<bf0ee110>] (ath9k_hif_usb_firmware_cb+0x17c/0x1a0 [ath9k_htc])
[  589.108123] [<bf0ee110>] (ath9k_hif_usb_firmware_cb+0x17c/0x1a0 [ath9k_htc]) from [<c0319e78>] (request_firmware_work_func+0x84/0xb8)
[  589.108154] [<c0319e78>] (request_firmware_work_func+0x84/0xb8) from [<c009cfe0>] (process_one_work+0x1ec/0x358)
[  589.108184] [<c009cfe0>] (process_one_work+0x1ec/0x358) from [<c009d340>] (worker_thread+0x1c8/0x30c)
[  589.108184] [<c009d340>] (worker_thread+0x1c8/0x30c) from [<c00a18ac>] (kthread+0x80/0x90)
[  589.108215] [<c00a18ac>] (kthread+0x80/0x90) from [<c000e5e0>] (kernel_thread_exit+0x0/0x8)
[  589.108215] ---[ end trace e688c0c28db86abf ]---
[  589.108398] ------------[ cut here ]------------
[  589.108612] WARNING: at /home/student/android/system/out/target/product/haida/obj/KERNEL_OBJ/modules/compat_wl12xx/net/wireless/core.c:579 wiphy_register+0x4a8/0x518 [cfg80211]()
[  589.108795] Modules linked in: ath9k_htc ath9k_common ath9k_hw ath mac80211(O) cfg80211(O) compat(O) [last unloaded: wl12xx]
[  589.108825] [<c0012c18>] (unwind_backtrace+0x0/0xe0) from [<c0088b8c>] (warn_slowpath_common+0x4c/0x64)
[  589.108856] [<c0088b8c>] (warn_slowpath_common+0x4c/0x64) from [<c0088bbc>] (warn_slowpath_null+0x18/0x1c)
[  589.108856] [<c0088bbc>] (warn_slowpath_null+0x18/0x1c) from [<bf005170>] (wiphy_register+0x4a8/0x518 [cfg80211])
[  589.108917] [<bf005170>] (wiphy_register+0x4a8/0x518 [cfg80211]) from [<bf0295cc>] (ieee80211_register_hw+0x430/0x654 [mac80211])
[  589.108978] [<bf0295cc>] (ieee80211_register_hw+0x430/0x654 [mac80211]) from [<bf0f43dc>] (ath9k_htc_probe_device+0x5dc/0x77c [ath9k_htc])
[  589.108978] [<bf0f43dc>] (ath9k_htc_probe_device+0x5dc/0x77c [ath9k_htc]) from [<bf0ec710>] (ath9k_htc_hw_init+0x10/0x2c [ath9k_htc])
[  589.109039] [<bf0ec710>] (ath9k_htc_hw_init+0x10/0x2c [ath9k_htc]) from [<bf0ee110>] (ath9k_hif_usb_firmware_cb+0x17c/0x1a0 [ath9k_htc])
[  589.109069] [<bf0ee110>] (ath9k_hif_usb_firmware_cb+0x17c/0x1a0 [ath9k_htc]) from [<c0319e78>] (request_firmware_work_func+0x84/0xb8)
[  589.109100] [<c0319e78>] (request_firmware_work_func+0x84/0xb8) from [<c009cfe0>] (process_one_work+0x1ec/0x358)
[  589.109130] [<c009cfe0>] (process_one_work+0x1ec/0x358) from [<c009d340>] (worker_thread+0x1c8/0x30c)
[  589.109130] [<c009d340>] (worker_thread+0x1c8/0x30c) from [<c00a18ac>] (kthread+0x80/0x90)
[  589.109161] [<c00a18ac>] (kthread+0x80/0x90) from [<c000e5e0>] (kernel_thread_exit+0x0/0x8)
[  589.109161] ---[ end trace e688c0c28db86ac0 ]---
[  589.110107] Failed to initialize the device

답변1

먼저 커널을 업그레이드해야 하며, Git 소스에서 업그레이드하지 않는 경우 패키지 관리자에서 "linux-firmware" 패키지를 검색하세요. Android OSE, Ubuntu x86 및 arm7hf에서도 비슷한 문제가 있었습니다. 모두 제가 언급한 작업을 수행하여 해결되었습니다.

관련 정보