Hello!
Trying to integrate a new peripheral (along with its SW stack), which requires kernel >=4.9.x, in our custom automotive grade hardware platform, I came across with some issues bringing up the WL1835MOD BT interface. Our old kernel was v4.4.163, thus we were using the TI provided patches for the ST BT drivers. However, when booting the new, v4.9.11, kernel (sources have been downloaded from linux-imx repo, since our board is based on the i.MX6Q processor) the aforementioned patches make the kernel crash.
Hence, I have been diving on this forum/google for a while and, as far as I understand, those patches are not needed anymore; instead we should use the Linux mainline HCI UART drivers and hciattach to load the driver on the specified UART. So far, so good. I reversed the patches, disabled TI ST from defconfig, enabled the, supposedly, required drivers and removed "kim" and "btwilink" from the device tree (the BT_EN gpio is still initialised in hoggrp). Bluez5 is installed and the bt-fw is in the specified folder. Wifi is working as ever. Nevertheless, I haven't been able to make the BT work as it used to. It seems that hciattach can't find the BT over the UART (using: hciattach /dev/ttymxc2 texas 3000000), it returns a timeout error.
So, the question is: Which are all the required steps I should follow in order to bring up the BT interface in the v4.9.x kernel?
This is the current kernel BT configuration
root@imx6qboard:~# zcat /proc/config.gz | grep BT # CONFIG_NFT_SET_RBTREE is not set CONFIG_BT=y CONFIG_BT_BREDR=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 CONFIG_BT_HS=y CONFIG_BT_LE=y # CONFIG_BT_LEDS is not set # CONFIG_BT_SELFTEST is not set CONFIG_BT_DEBUGFS=y CONFIG_BT_INTEL=y CONFIG_BT_BCM=y CONFIG_BT_RTL=y CONFIG_BT_HCIBTUSB=y CONFIG_BT_HCIBTUSB_BCM=y CONFIG_BT_HCIBTUSB_RTL=y # CONFIG_BT_HCIBTSDIO is not set CONFIG_BT_HCIUART=y CONFIG_BT_HCIUART_H4=y CONFIG_BT_HCIUART_BCSP=y CONFIG_BT_HCIUART_ATH3K=y CONFIG_BT_HCIUART_LL=y # CONFIG_BT_HCIUART_3WIRE is not set # CONFIG_BT_HCIUART_INTEL is not set # CONFIG_BT_HCIUART_BCM is not set # CONFIG_BT_HCIUART_QCA is not set # CONFIG_BT_HCIUART_AG6XX is not set # CONFIG_BT_HCIUART_MRVL is not set CONFIG_BT_HCIBCM203X=y # CONFIG_BT_HCIBPA10X is not set # CONFIG_BT_HCIBFUSB is not set # CONFIG_BT_HCIDTL1 is not set # CONFIG_BT_HCIBT3C is not set # CONFIG_BT_HCIBLUECARD is not set # CONFIG_BT_HCIBTUART is not set # CONFIG_BT_HCIVHCI is not set # CONFIG_BT_MRVL is not set CONFIG_BT_ATH3K=y # CONFIG_GPIO_BT8XX is not set # CONFIG_VIDEO_USBTV is not set # CONFIG_SND_BT87X is not set # CONFIG_SND_SOC_BT_SCO is not set # CONFIG_BTRFS_FS is not set # CONFIG_RBTREE_TEST is not set
Thank you in advance!
Best Regards,
Daniel Rodríguez