imx28 bluetooth module insertion error

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

imx28 bluetooth module insertion error

Jump to solution
6,585 Views
ganeshh
Contributor III

Hello,

I compiled source of bluetooth drivers for Marvell SDIO bluetooth module. While inserting the module am getting some errors.I am using Linux BSP 2.6.35

root@freescale /home/user$ insmod mbt8xxx.ko

BT FW is active(0)

BT: FW already downloaded!

root@freescale /home/user$ insmod bt8xxx.ko

bt8xxx: Unknown symbol hci_suspend_dev (err 0)

bt8xxx: Unknown symbol hci_free_dev (err 0)

bt8xxx: Unknown symbol hci_resume_dev (err 0)

bt8xxx: Unknown symbol hci_alloc_dev (err 0)

bt8xxx: Unknown symbol hci_unregister_dev (err 0)

bt8xxx: Unknown symbol hci_recv_frame (err 0)

bt8xxx: Unknown symbol hci_register_dev (err 0)

insmod: can't insert 'bt8xxx.ko': unknown symbol in module, or unknown parameter

How can i fix the unknown symbol error.

Labels (2)
0 Kudos
1 Solution
2,751 Views
qiang_li-mpu_se
NXP Employee
NXP Employee

For the WiFi issue, please reference to this link: https://community.freescale.com/thread/323831

View solution in original post

0 Kudos
8 Replies
2,751 Views
qiang_li-mpu_se
NXP Employee
NXP Employee

For iMX28 EVK L2.6.35 Linux, I used followed kernel config to enable both wifi and bluetooth with sd8787 module:

Kernel config:

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_NET_TCPPROBE is not set
# CONFIG_HAMRADIO is not set
# CONFIG_CAN is not set
# CONFIG_IRDA is not set
CONFIG_BT=y
CONFIG_BT_L2CAP=y
CONFIG_BT_L2CAP_EXT_FEATURES=y
CONFIG_BT_SCO=y
CONFIG_BT_RFCOMM=y
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=y
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_HIDP=y

#
# Bluetooth device drivers
#
# CONFIG_BT_HCIBTUSB is not set
CONFIG_BT_HCIBTSDIO=y
# CONFIG_BT_HCIUART is not set
# CONFIG_BT_HCIBCM203X is not set
# CONFIG_BT_HCIBPA10X is not set
# CONFIG_BT_HCIBFUSB is not set
# CONFIG_BT_HCIVHCI is not set
# CONFIG_BT_MRVL is not set
# CONFIG_AF_RXRPC is not set
CONFIG_WIRELESS=y
CONFIG_WIRELESS_EXT=y
CONFIG_WEXT_CORE=y
CONFIG_WEXT_PROC=y
CONFIG_WEXT_SPY=y
CONFIG_WEXT_PRIV=y
CONFIG_CFG80211=m
# CONFIG_NL80211_TESTMODE is not set
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
# CONFIG_CFG80211_REG_DEBUG is not set
CONFIG_CFG80211_DEFAULT_PS=y
# CONFIG_CFG80211_DEBUGFS is not set
# CONFIG_CFG80211_INTERNAL_REGDB is not set
CONFIG_CFG80211_WEXT=y
CONFIG_WIRELESS_EXT_SYSFS=y
# CONFIG_LIB80211 is not set
# CONFIG_MAC80211 is not set

#
# Some wireless drivers require a rate control algorithm
#
# CONFIG_WIMAX is not set
CONFIG_RFKILL=y
CONFIG_RFKILL_INPUT=y
# CONFIG_NET_9P is not set
# CONFIG_CAIF is not set

Commands to load the wifi and bt:

$ insmod /cfg80211.ko
$ insmod /mlan.ko
$ insmod /sd8xxx.ko drv_mode=1
$ insmod /bt8xxx.ko
$ hciconfig hci0 reset

// Link wlan
$ iwconfig mlan0 essid test_ap

$ ifconfig mlan0 192.168.1.100 up

// Scan bluetooth device
$ hcdtool scan

0 Kudos
2,751 Views
qiang_li-mpu_se
NXP Employee
NXP Employee

By the way, you should the build your kernel first, then updated the Makefile for your sd8787 source code, change the kernel folder to the iMX28 Linux kernel, then build the sd8787 wifi and bt source code. mbt was not needed for 2.6.35 kernel.

2,751 Views
ganeshh
Contributor III

Hello Qiang_FSL raymondwang

i compiled the linux kernel first with the above mentioned config parameters, then compiled ltib again with the new kernel. After that compiled sd8787 source code, burned the new os to memory card and booted up while inserting the module am getting errors like this

root@freescale /home/user/mods$ insmod cfg80211.ko

cfg80211: disagrees about version of symbol wireless_send_event

cfg80211: Unknown symbol wireless_send_event (err -22)

insmod: can't insert 'cfg80211.ko': Invalid argument

root@freescale /home/user/mods$ insmod mlan.ko

mlan: module license 'Marvell Proprietary' taints kernel.

Disabling lock debugging due to kernel taint

root@freescale /home/user/mods$  insmod sd8xxx.ko drv_mode=1

sd8xxx: disagrees about version of symbol wireless_send_event

sd8xxx: Unknown symbol wireless_send_event (err -22)

insmod: can't insert 'sd8xxx.ko': Invalid argument

root@freescale /home/user/mods$

0 Kudos
2,752 Views
qiang_li-mpu_se
NXP Employee
NXP Employee

For the WiFi issue, please reference to this link: https://community.freescale.com/thread/323831

0 Kudos
2,751 Views
ganeshh
Contributor III

Qiang_FSL raymondwang

Still am getting errors i followed your config file in the thread..

root@freescale /home/user$ insmod cfg80211.ko

cfg80211: disagrees about version of symbol skb_copy_bits

cfg80211: Unknown symbol skb_copy_bits (err -22)

cfg80211: disagrees about version of symbol rfkill_unregister

cfg80211: Unknown symbol rfkill_unregister (err -22)

cfg80211: disagrees about version of symbol skb_put

cfg80211: Unknown symbol skb_put (err -22)

cfg80211: disagrees about version of symbol consume_skb

cfg80211: Unknown symbol consume_skb (err -22)

cfg80211: disagrees about version of symbol rfkill_blocked

cfg80211: Unknown symbol rfkill_blocked (err -22)

cfg80211: disagrees about version of symbol rfkill_destroy

cfg80211: Unknown symbol rfkill_destroy (err -22)

cfg80211: disagrees about version of symbol genlmsg_multicast_allns

cfg80211: Unknown symbol genlmsg_multicast_allns (err -22)

cfg80211: disagrees about version of symbol pskb_expand_head

cfg80211: Unknown symbol pskb_expand_head (err -22)

cfg80211: disagrees about version of symbol kfree_skb

cfg80211: Unknown symbol kfree_skb (err -22)

cfg80211: disagrees about version of symbol netlink_broadcast

cfg80211: Unknown symbol netlink_broadcast (err -22)

cfg80211: disagrees about version of symbol __alloc_skb

cfg80211: Unknown symbol __alloc_skb (err -22)

cfg80211: disagrees about version of symbol rfkill_resume_polling

cfg80211: Unknown symbol rfkill_resume_polling (err -22)

cfg80211: disagrees about version of symbol kobject_uevent_env

cfg80211: Unknown symbol kobject_uevent_env (err -22)

cfg80211: disagrees about version of symbol __dev_get_by_index

cfg80211: Unknown symbol __dev_get_by_index (err -22)

cfg80211: disagrees about version of symbol skb_pull

cfg80211: Unknown symbol skb_pull (err -22)

cfg80211: disagrees about version of symbol genl_register_family_with_ops

cfg80211: Unknown symbol genl_register_family_with_ops (err -22)

cfg80211: disagrees about version of symbol rfkill_pause_polling

cfg80211: Unknown symbol rfkill_pause_polling (err -22)

cfg80211: disagrees about version of symbol netlink_unicast

cfg80211: Unknown symbol netlink_unicast (err -22)

cfg80211: disagrees about version of symbol dev_get_by_index

cfg80211: Unknown symbol dev_get_by_index (err -22)

cfg80211: disagrees about version of symbol dev_close

cfg80211: Unknown symbol dev_close (err -22)

cfg80211: disagrees about version of symbol skb_push

cfg80211: Unknown symbol skb_push (err -22)

cfg80211: disagrees about version of symbol wireless_send_event

cfg80211: Unknown symbol wireless_send_event (err -22)

cfg80211: disagrees about version of symbol nla_put

cfg80211: Unknown symbol nla_put (err -22)

cfg80211: disagrees about version of symbol rfkill_set_hw_state

cfg80211: Unknown symbol rfkill_set_hw_state (err -22)

cfg80211: disagrees about version of symbol ethtool_op_get_link

cfg80211: Unknown symbol ethtool_op_get_link (err -22)

cfg80211: disagrees about version of symbol rfkill_alloc

cfg80211: Unknown symbol rfkill_alloc (err -22)

cfg80211: disagrees about version of symbol dev_alloc_skb

cfg80211: Unknown symbol dev_alloc_skb (err -22)

cfg80211: disagrees about version of symbol __pskb_pull_tail

cfg80211: Unknown symbol __pskb_pull_tail (err -22)

cfg80211: disagrees about version of symbol skb_trim

cfg80211: Unknown symbol skb_trim (err -22)

cfg80211: disagrees about version of symbol rfkill_register

cfg80211: Unknown symbol rfkill_register (err -22)

cfg80211: disagrees about version of symbol dev_change_net_namespace

cfg80211: Unknown symbol dev_change_net_namespace (err -22)

cfg80211: disagrees about version of symbol rfkill_set_sw_state

cfg80211: Unknown symbol rfkill_set_sw_state (err -22)

insmod: can't insert 'cfg80211.ko': Invalid argument

root@freescale /home/user$ insmod sd8xxx.ko drv_mode=1

sd8xxx: disagrees about version of symbol sdio_release_host

sd8xxx: Unknown symbol sdio_release_host (err -22)

sd8xxx: disagrees about version of symbol sdio_disable_func

sd8xxx: Unknown symbol sdio_disable_func (err -22)

sd8xxx: disagrees about version of symbol sdio_set_block_size

sd8xxx: Unknown symbol sdio_set_block_size (err -22)

sd8xxx: disagrees about version of symbol skb_put

sd8xxx: Unknown symbol skb_put (err -22)

sd8xxx: disagrees about version of symbol sdio_claim_host

sd8xxx: Unknown symbol sdio_claim_host (err -22)

sd8xxx: disagrees about version of symbol __netif_schedule

sd8xxx: Unknown symbol __netif_schedule (err -22)

sd8xxx: disagrees about version of symbol unregister_netdev

sd8xxx: Unknown symbol unregister_netdev (err -22)

sd8xxx: disagrees about version of symbol dev_alloc_name

sd8xxx: Unknown symbol dev_alloc_name (err -22)

sd8xxx: disagrees about version of symbol iw_handler_set_spy

sd8xxx: Unknown symbol iw_handler_set_spy (err -22)

sd8xxx: disagrees about version of symbol sdio_f0_readb

sd8xxx: Unknown symbol sdio_f0_readb (err -22)

sd8xxx: disagrees about version of symbol eth_type_trans

sd8xxx: Unknown symbol eth_type_trans (err -22)

sd8xxx: disagrees about version of symbol iw_handler_get_thrspy

sd8xxx: Unknown symbol iw_handler_get_thrspy (err -22)

sd8xxx: disagrees about version of symbol sdio_release_irq

sd8xxx: Unknown symbol sdio_release_irq (err -22)

sd8xxx: disagrees about version of symbol netlink_broadcast

sd8xxx: Unknown symbol netlink_broadcast (err -22)

sd8xxx: disagrees about version of symbol __alloc_skb

sd8xxx: Unknown symbol __alloc_skb (err -22)

sd8xxx: disagrees about version of symbol netif_device_detach

sd8xxx: Unknown symbol netif_device_detach (err -22)

sd8xxx: disagrees about version of symbol netif_device_attach

sd8xxx: Unknown symbol netif_device_attach (err -22)

sd8xxx: disagrees about version of symbol sdio_set_host_pm_flags

sd8xxx: Unknown symbol sdio_set_host_pm_flags (err -22)

sd8xxx: disagrees about version of symbol sdio_f0_writeb

sd8xxx: Unknown symbol sdio_f0_writeb (err -22)

sd8xxx: disagrees about version of symbol sdio_readsb

sd8xxx: Unknown symbol sdio_readsb (err -22)

sd8xxx: disagrees about version of symbol dev_kfree_skb_any

sd8xxx: Unknown symbol dev_kfree_skb_any (err -22)

sd8xxx: disagrees about version of symbol wireless_send_event

sd8xxx: Unknown symbol wireless_send_event (err -22)

sd8xxx: disagrees about version of symbol register_netdev

sd8xxx: Unknown symbol register_netdev (err -22)

sd8xxx: disagrees about version of symbol free_netdev

sd8xxx: Unknown symbol free_netdev (err -22)

sd8xxx: disagrees about version of symbol netlink_kernel_release

sd8xxx: Unknown symbol netlink_kernel_release (err -22)

sd8xxx: disagrees about version of symbol iw_handler_get_spy

sd8xxx: Unknown symbol iw_handler_get_spy (err -22)

sd8xxx: disagrees about version of symbol dev_alloc_skb

sd8xxx: Unknown symbol dev_alloc_skb (err -22)

sd8xxx: disagrees about version of symbol netif_rx_ni

sd8xxx: Unknown symbol netif_rx_ni (err -22)

sd8xxx: disagrees about version of symbol alloc_etherdev_mq

sd8xxx: Unknown symbol alloc_etherdev_mq (err -22)

sd8xxx: disagrees about version of symbol netlink_kernel_create

sd8xxx: Unknown symbol netlink_kernel_create (err -22)

sd8xxx: disagrees about version of symbol netif_rx

sd8xxx: Unknown symbol netif_rx (err -22)

sd8xxx: disagrees about version of symbol sdio_get_host_pm_caps

sd8xxx: Unknown symbol sdio_get_host_pm_caps (err -22)

sd8xxx: disagrees about version of symbol skb_realloc_headroom

sd8xxx: Unknown symbol skb_realloc_headroom (err -22)

sd8xxx: disagrees about version of symbol netif_carrier_off

sd8xxx: Unknown symbol netif_carrier_off (err -22)

sd8xxx: disagrees about version of symbol netif_carrier_on

sd8xxx: Unknown symbol netif_carrier_on (err -22)

sd8xxx: disagrees about version of symbol sdio_claim_irq

sd8xxx: Unknown symbol sdio_claim_irq (err -22)

sd8xxx: disagrees about version of symbol sdio_enable_func

sd8xxx: Unknown symbol sdio_enable_func (err -22)

sd8xxx: disagrees about version of symbol sdio_writesb

sd8xxx: Unknown symbol sdio_writesb (err -22)

sd8xxx: disagrees about version of symbol iw_handler_set_thrspy

sd8xxx: Unknown symbol iw_handler_set_thrspy (err -22)

sd8xxx: disagrees about version of symbol sdio_readb

sd8xxx: Unknown symbol sdio_readb (err -22)

sd8xxx: disagrees about version of symbol sdio_writeb

sd8xxx: Unknown symbol sdio_writeb (err -22)

insmod: can't insert 'sd8xxx.ko': Invalid argumen

0 Kudos
2,751 Views
raymondwang
Senior Contributor I

Please rebuild your ko file with current kernel config.

0 Kudos
2,751 Views
ganeshh
Contributor III

Hello,

raymondwang Qiang_FSL

After modifying the config am issuing these commands

make uImage

make modules

Then i generate the ltib stream files ones again using the command

./ltib -p boot_stream.spec -f

0 Kudos
2,751 Views
raymondwang
Senior Contributor I

mbt8xxx.ko driver has no sense on linux bluetooth stack on kernel (it only export a char device with HCI interface) ,you can loading it successfully;

bt8xxx.ko is a legacy linux bluetooth driver based on linux bluetooth stack. Make sure you enable kernel bluetooth and hci config and then loading it once again.

0 Kudos