88W8977-BT : could not insert module bt8977.ko: Unknown symbol in module

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

88W8977-BT : could not insert module bt8977.ko: Unknown symbol in module

1,527 Views
isyu
Contributor III

Hello, 

When I try to insall bt module on my PC(x86/ubuntu),  there comes below "Unknown symbol in module" error. 

Kindly refer to below log and let me have your advice on it. 

==================================================================

root@ThinkPad-X220:~/test/bin_sd8977_bt# insmod bt8977.ko
insmod: ERROR: could not insert module bt8977.ko: Unknown symbol in module
root@ThinkPad-X220:~/test/bin_sd8977_bt# dmesg

.............dmesg log..........

[21061.178850] bt8xxx: Unknown symbol hci_suspend_dev (err -2)
[21061.178929] bt8xxx: Unknown symbol hci_free_dev (err -2)
[21061.179170] bt8xxx: Unknown symbol hci_resume_dev (err -2)
[21061.179263] bt8xxx: Unknown symbol hci_alloc_dev (err -2)
[21061.179393] bt8xxx: Unknown symbol hci_unregister_dev (err -2)
[21061.179457] bt8xxx: Unknown symbol hci_recv_frame (err -2)
[21061.179544] bt8xxx: Unknown symbol hci_register_dev (err -2)

============================================================================

Regards/I.S

0 Kudos
Reply
4 Replies

1,503 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hi Isyu,

If it is ubuntu on the x86 platform, you only need to enter the mbt_src directory and run make build, without the configuration I mentioned earlier.
The following is my test on ubuntu 18.04:

weidong_sun_0-1629690002798.png

weidong_sun_2-1629690141074.png

It is recommended that you reinstall a ubuntu 16.04 system and test it again. Because the problem you are encountering seems to be that the running ubuntu 16.04 kernel is not compiled from the source code in its source path.

 

Try it, please!

Have a good day!

Regards,

weidong

 

 

 

0 Kudos
Reply

1,492 Views
isyu
Contributor III

Hello Weidong, 

Thank you for your help. 

I think that recently some drivers in my PC updated automatically, but I don't know which one had caused this module installation issue. 

I reinstalled My PC OS with Ubuntu18.04 and disable the automatic update function.

Finally, the bt module is installed without issue. 

[ 47.064494] mmc0: new high speed SDIO card at address 0001
[ 67.351353] mlan: loading out-of-tree module taints kernel.
[ 67.351362] mlan: module license 'NXP Proprietary' taints kernel.
[ 67.351364] Disabling lock debugging due to kernel taint
[ 67.351938] mlan: module verification failed: signature and/or required key missing - tainting kernel
[ 68.382497] wlan: Loading MWLAN driver
[ 68.382830] vendor=0x02DF device=0x9145 class=0 function=1
[ 68.382952] SDIO: max_segs=128 max_seg_size=65536
[ 68.382953] rx_work=1 cpu_num=8
[ 68.383512] wlan: Enable TX SG mode
[ 68.383513] wlan: Enable RX SG mode
[ 68.387947] Request firmware: mrvl/sdio8977_sdio_combo.bin
[ 68.807311] random: crng init done
[ 68.807313] random: 7 urandom warning(s) missed due to ratelimiting
[ 69.021656] Wlan: FW download over, firmwarelen=428808 downloaded 428808
[ 70.414121] WLAN FW is active
[ 70.415778] wlan: version = SD8977-0.0.0.p0-C4X16C679-GPL-(FP68)
[ 70.415860] wlan: Driver loaded successfully
[ 110.082430] BT: Loading driver
[ 110.089878] BT FW is active(0)
[ 110.089883] BT: FW already downloaded!
[ 110.101847] BT: Driver loaded successfully
uqk@uqk-ThinkPad-X220:~/test/bin_mfgbridge$

 

But another issue comes when I test the BT function with Labtool. 

I posted this issue with another ticket (title : 88W8977-BT labtool doesn't working with BT function)

I need your help again ^^;

Anyway, thank you for your great help so long. 

 

 

0 Kudos
Reply

1,514 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hi,

See below, please!

---------------------------

This problem is caused by the inconsistency between the kernel and the driver. You may need to do this:
1. Compile the linux kernel and get Image
2. Configure the cross-compilation environment and set:
--ARCH
--CROSS_COMPILE
--KERNELDIR
3. Enter the source directory of the bt driver
--make
4. Burn the Image compiled in step 1 to the CPU board, then copy bt8977.ko to the board, and load it.

In this way, your kernel Image is consistent with the bt driver.

-----------------------------

Have a good day!

Regards,

weidong

0 Kudos
Reply

1,509 Views
isyu
Contributor III

Hello Weidong,

Thank you for your advice.

As I mentioned, my host platform is general x86 PC with Ubuntu 16.04 LTS version.

Do you think I have to compile the Linux kernel source for x86 by myself and use it as OS for my PC?

Is there any other way, for example, just compile the 88W8977 source code to fix it?

Regards/I.S

Tags (1)
0 Kudos
Reply