Samsung SM-G360T/SM-G360T1용 커널을 컴파일하려고 하면 두 개의 서로 다른 커널 소스 저장소에서 동일한 문제가 발생합니다.
내가 사용하는 커널:
https://github.com/MSM8916-Samsung/android_kernel_samsung_coreprimeltexx(재고가 있어야 함)
https://github.com/ShinySide/SM-G360T1_kernel(심하게 편집됨)
첫 번째 호, 참고자료여기, 코드 한 줄을 교체하여 해결되었습니다.
존재하다 btusb.c
:
static int reset = 1;
~이 되다
static bool reset = true;
최종 결과와 관련이 있거나 다른 사람이 비슷한 문제를 겪을 경우에만 참조용으로 포함시켰습니다. 이 특정 전화기 모델에 대한 커널에 대한 문서는 많지 않지만 매우 인기 있는 모델입니다.여기이 문제에 대해 내가 시도하지 않은 또 다른 해결책을 나열합니다.
그 부분은 해결되었습니다. 실용적인 질문의 경우:
drivers/built-in.o: In function `btusb_probe':
/android_kernel_samsung_coreprimeltexx/drivers/bluetooth/btusb.c:1368:
undefined reference to `get_rome_version'
/android_kernel_samsung_coreprimeltexx/drivers/bluetooth/btusb.c:1373:
undefined reference to `rome_download'
/android_kernel_samsung_coreprimeltexx/Makefile:807: recipe for target
'vmlinux' failed
make[1]: *** [vmlinux] Error 1
Makefile:130: recipe for target 'sub-make' failed
make: *** [sub-make] Error 2
나는 이것이 중복된 질문으로 표시될 것이라고 확신하지만 그것은 다음과 같이 보이고 정의되어 rome_download
있습니다 get_rome_version
(또는 적어도 참조되어 있습니다. 용서해주세요. 끔찍합니다).include/net/bluetooth/bluetooth.h
drivers/bluetooth/ath3k.c
편집문 몇 줄을 주석 처리하면 version
함수 호출에 대한 변수 없이 코드를 컴파일 할 수 있습니다 btusb_probe
. 분명히 이로 인해 일부 기능이 중단되었지만 작동하는 것 같습니다.
귀하의 도움에 미리 감사의 말씀을 전하고 싶습니다. 이 특정 모델의 장치에는 다른 버전의 장치에 비해 고유한 제한된 정보/개발이 있기 때문에 평소보다 조금 더 장황하게 설명합니다.
답변1
얼마 전이지만 필요한 사람을 위해 커널에서 CONFIG_BT_ATH3K도 활성화하세요. "Atheros 펌웨어 다운로드 드라이버"는 -> 네트워크 지원(NET [=y]) -> Bluetooth 하위 시스템 지원(BT [=y]) -> Bluetooth 장치 드라이버에 있습니다.