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.
解決済! 解決策の投稿を見る。
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
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.
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$
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
Please rebuild your ko file with current kernel config.
Hello,
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
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.