This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/WL1835MOD: This module integrating on IMX6: kim_probe - ---- Unable to handle kernel NULL pointer dereference at virtual address 00000000

Part Number: WL1835MOD
Other Parts Discussed in Thread: WL1835,

Tool/software: Linux

1.   My dtsi as follows: This one created the segmentation fault in kim_prove

&uart4 {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_tcs_uart4>;
    uart-has-rtscts;
    status = "disabled";

    bluetooth {
        compatible = "ti,wl1835";
                //compatible = "ti,wl1837-st";
        //clocks = <&clk_ti_wifi>;
        clock-names = "ext_clock";
        enable-gpios = <&gpio4 30 GPIO_ACTIVE_HIGH>;
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_imx_ti_bt>;
    };
}; /* bluetooth */

kim {
                 compatible = "kim";
                 nshutdown_gpio = <126>;  // GPIO_2
                 dev_name = "/dev/ttymxc4";
                 flow_cntrl = <1>;
                 baud_rate = <3000000>;
       };

         btwilink {
                 compatible = "btwilink";
         };

pinctrl_imx_ti_bt: imx-ti-bt {
            fsl,pins = <
                                MX6QDL_PAD_DISP0_DAT9__GPIO4_IO30         0x130b1
               >;
        };

CONFIG_CFG80211=m
CONFIG_CFG80211_DEFAULT_PS=y
CONFIG_CFG80211_DEBUGFS=y
CONFIG_MAC80211=m
CONFIG_MAC80211_DEBUGFS=y
CONFIG_MAC80211_MESSAGE_TRACING=y
CONFIG_NL80211_TESTMODE=y

CONFIG_WLAN=y
CONFIG_WL_TI=y
CONFIG_WL12XX=m
CONFIG_WL18XX=m
CONFIG_WLCORE=m
CONFIG_WLCORE_SDIO=m

CONFIG_BT_WILINK=y
CONFIG_BT_HCIUART_LL=y    
CONFIG_TI_ST=y
CONFIG_ST_HCI=y

2.  By following one link in this site, I have removed kim and btwilink from dtsi and removed  CONFIG_BT_WILINK=y, CONFIG_TI_ST=y, CONFIG_ST_HCI=y from deficonfig and added below stuff in defconfig..

Not seeing kernel crash but hcitool and hciattach not showing any outout

  • Followed below link and Added below configuration. i.e removed Shared Transport driver .  Not seeing any crash but hcitool and hciattach not showing any output

    http://e2e.ti.com/support/wireless-connectivity/wifi/f/968/t/715685

    CONFIG_BT_WILINK=y
    CONFIG_BT_HCIUART_LL=y    
    #CONFIG_TI_ST=y
    #CONFIG_ST_HCI=y
    CONFIG_BT_HCIUART=y
    CONFIG_BT_HCIUART_SERDEV=y
    CONFIG_BT_HCIUART_H4=y

  • Did you toggle the BT_EN GPIO, before hci attach.. Also, can you share the console log with hci_attach?

    Thanks

  • Hi Hari,

    WIFI module on WL1835MOD is working fine with wpa_supplicant.. But , we are unable to enable BT

    We are able to toggle the BT_EN_GPIO using : echo 1 > /sys/class/gpio/gpio83/value.

    ------ The log for hciattach follows.. ----------------

    hciattach /dev/ttymxc3 texas 3000000

    Can't open serial port: No such file or directory
    Can't initialize device: No such file or directory

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

    Here is my platform data for the BT on uart..

    1. How to create this /dev/ttymx3?

    2. We are using hci_uart driver and disabled the TI-ST in deficonfig and kim in dtsi. Pls check my defconfig and platform data and let me know where i am doing the mistake?

    3. The hci_uart driver not getting loaded while booting up the board and "modprobe hci_uart" command able to load the UART driver but not able to create "hci0" interface.

    &uart4 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_tcs_uart4>;
        //uart-has-rtscts;
        status = "ok";

        bluetooth {
            compatible = "ti,wl1835-st";
                    //compatible = "ti,wl1837-st";
            //clocks = <&clk_ti_wifi>;
            clock-names = "ext_clock";
             enable-gpios = <&gpio3 19 1>;
            //pinctrl-names = "default";
            //pinctrl-0 = <&pinctrl_tcs_ti_bt>;
        };
    }; /* bluetooth */

    pinctrl_tcs_uart4: tcs-uart4 {
                fsl,pins = <
                    MX6QDL_PAD_KEY_COL0__UART4_TX_DATA     0x17069
                    MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA     0x17069
                    MX6QDL_PAD_CSI0_DAT16__UART4_RTS_B     0x17069
                    MX6QDL_PAD_CSI0_DAT17__UART4_CTS_B     0x17069
                    MX6QDL_PAD_EIM_D19__GPIO3_IO19        0x17069   //BT_EN : 83
                >;
            };

    CONFIG_OF=y
    CONFIG_PROC_DEVICETREE=y
    CONFIG_CFG80211=m
    CONFIG_CFG80211_DEFAULT_PS=y
    CONFIG_CFG80211_DEBUGFS=y
    CONFIG_MAC80211=m
    CONFIG_MAC80211_DEBUGFS=y
    CONFIG_MAC80211_MESSAGE_TRACING=y
    CONFIG_NL80211_TESTMODE=y

    CONFIG_WLAN=y
    CONFIG_WL_TI=y
    CONFIG_WL12XX=m
    CONFIG_WL18XX=m
    CONFIG_WLCORE=m
    CONFIG_WLCORE_SDIO=m

    CONFIG_BT=y
    CONFIG_BT_WILINK=y
    CONFIG_BT_HCIUART=m
    CONFIG_BT_HCIUART_BCM=y
    CONFIG_BT_HCIUART_LL=m
    CONFIG_BT_RFCOMM=y
    CONFIG_BT_HCIUART_3WIRE=y
    CONFIG_BT_HCIUART_SERDEV=y
    CONFIG_BT_HCIUART_H4=y
    #CONFIG_TI_ST=y
    #CONFIG_ST_HCI=y

    CONFIG_CRYPTO_SEQIV=y   

  • I suggest to consult your base port team for the failures in getting the tty device creation. It is some thing the kernel and the fileystem init porcess have to create the tty nodes with mknod etc.. 

    Thanks

  • Kernel able to load the Driver hci_uart. Command "hcitool hci0 up" able to bring up the hci0 interface. But facing below issues.

    1.hciattach throwing error for 115200 and 3000000.

    hciattach /dev/ttymxc4 texas 115200                                                                                                                                             
    Initialization timed out.

    2. I tried connecting WL1835MOD (IMX6 board) with my phone.. Its able to connect for 5 sec and its getting disconnected.

    [CHG] Device F4:8B:32:7B:E6:E2 Modalias: bluetooth:v001Dp1200d1436
    [CHG] Device F4:8B:32:7B:E6:E2 UUIDs: 00001105-0000-1000-8000-00805f9b34fb
    [CHG] Device F4:8B:32:7B:E6:E2 UUIDs: 0000110a-0000-1000-8000-00805f9b34fb
    [CHG] Device F4:8B:32:7B:E6:E2 UUIDs: 0000110c-0000-1000-8000-00805f9b34fb
    [CHG] Device F4:8B:32:7B:E6:E2 UUIDs: 0000110e-0000-1000-8000-00805f9b34fb
    [CHG] Device F4:8B:32:7B:E6:E2 UUIDs: 00001112-0000-1000-8000-00805f9b34fb
    [CHG] Device F4:8B:32:7B:E6:E2 UUIDs: 00001116-0000-1000-8000-00805f9b34fb
    [CHG] Device F4:8B:32:7B:E6:E2 UUIDs: 0000111f-0000-1000-8000-00805f9b34fb
    [CHG] Device F4:8B:32:7B:E6:E2 UUIDs: 0000112f-0000-1000-8000-00805f9b34fb
    [CHG] Device F4:8B:32:7B:E6:E2 UUIDs: 00001132-0000-1000-8000-00805f9b34fb
    [CHG] Device F4:8B:32:7B:E6:E2 UUIDs: 00001200-0000-1000-8000-00805f9b34fb
    [CHG] Device F4:8B:32:7B:E6:E2 UUIDs: 00001800-0000-1000-8000-00805f9b34fb
    [CHG] Device F4:8B:32:7B:E6:E2 UUIDs: 00001801-0000-1000-8000-00805f9b34fb
    [CHG] Device F4:8B:32:7B:E6:E2 ServicesResolved: yes
    [CHG] Device F4:8B:32:7B:E6:E2 Paired: yes
    [CHG] Device F4:8B:32:7B:E6:E2 ServicesResolved: no
    [CHG] Device F4:8B:32:7B:E6:E2 Connected: no

      But from 2nd time connection on wards

    [bluetooth]# connect F4:8B:32:7B:E6:E2
    Attempting to connect to F4:8B:32:7B:E6:E2
    Failed to connect: org.bluez.Error.Failed

    While booting UART throwing below logs as well

     Bluetooth:BTS Name:ti-connectivity/TIInit_11.8.32.bts
    [   14.124772] Bluetooth: hci0: change remote baud rate command in firmware
    [   23.328738] Bluetooth: hci0: command 0xfd06 tx timeout
    [   31.888916] Bluetooth: hci0: send command failed
    [   31.892443] Bluetooth: hci0: download firmware failed, retrying...
    [   32.067603] Bluetooth:BTS Name:ti-connectivity/TIInit_11.8.32.bts
    [   32.072968] Bluetooth: hci0: change remote baud rate command in firmware

  • I tried with K14.9 kernel with TI processor SDK6.0  (BlueZ 5.50) and it worked ok. Some observations though -

    - If, you have the 'bluetooth' child binded to the serial port node in the DTB file, then the serdev driver loads the firmware etc, so you do not need to issue 'hciattach'.

    am335x-evm login: root
    root@am335x-evm:~#
    root@am335x-evm:~# hciconfig
    hci0:   Type: Primary  Bus: UART
            BD Address: 5C:31:3E:E1:DE:CB  ACL MTU: 1021:6  SCO MTU: 180:4
            DOWN
            RX bytes:2735 acl:0 sco:0 events:332 errors:0
            TX bytes:63472 acl:0 sco:0 commands:332 errors:0

    root@am335x-evm:~# hciconfig hci0 up
    root@am335x-evm:~# hcitool scan
    Scanning ...
            E8:91:20:14:3F:DC       XT1064
    root@am335x-evm:~# sdptool [  128.520848] NET: Registered protocol family 15
    [  128.729683] Initializing XFRM netlink socket
    ^C
    root@am335x-evm:~#
    root@am335x-evm:~# sdptool browse E8:91:20:14:3F:DC
    Browsing E8:91:20:14:3F:DC ...
    Service RecHandle: 0x10000
    Service Class ID List:
      "Generic Attribute" (0x1801)
    Protocol Descriptor List:
      "L2CAP" (0x0100)
        PSM: 31
      "ATT" (0x0007)
        uint16: 0x0001
        uint16: 0x0005

    Service RecHandle: 0x10001
    Service Class ID List:
      "Generic Access" (0x1800)
    Protocol Descriptor List:
      "L2CAP" (0x0100)
        PSM: 31
      "ATT" (0x0007)
        uint16: 0x0014
        uint16: 0x001c

    Service Name: Headset Gateway
    Service RecHandle: 0x10003
    Service Class ID List:
      "Headset Audio Gateway" (0x1112)
      "Generic Audio" (0x1203)
    Protocol Descriptor List:
      "L2CAP" (0x0100)
      "RFCOMM" (0x0003)
        Channel: 2
    Profile Descriptor List:
      "Headset" (0x1108)
        Version: 0x0102

    Service Name: Handsfree Gateway
    Service RecHandle: 0x10004
    Service Class ID List:
      "Handsfree Audio Gateway" (0x111f)
      "Generic Audio" (0x1203)
    Protocol Descriptor List:
      "L2CAP" (0x0100)
      "RFCOMM" (0x0003)
        Channel: 3
    Profile Descriptor List:
      "Handsfree" (0x111e)
        Version: 0x0106

    Service Name: AV Remote Control Target
    Service RecHandle: 0x10005
    Service Class ID List:
      "AV Remote Target" (0x110c)
    Protocol Descriptor List:
      "L2CAP" (0x0100)
        PSM: 23
      "AVCTP" (0x0017)
        uint16: 0x0104
    Profile Descriptor List:
      "AV Remote" (0x110e)
        Version: 0x0103

    Service Name: Advanced Audio
    Service RecHandle: 0x10006
    Service Class ID List:
      "Audio Source" (0x110a)
    Protocol Descriptor List:
      "L2CAP" (0x0100)
        PSM: 25
      "AVDTP" (0x0019)
        uint16: 0x0102
    Profile Descriptor List:
      "Advanced Audio" (0x110d)
        Version: 0x0102

    Service RecHandle: 0x10007
    Service Class ID List:
      "AV Remote" (0x110e)
      "AV Remote Controller" (0x110f)
    Protocol Descriptor List:
      "L2CAP" (0x0100)
        PSM: 23
      "AVCTP" (0x0017)
        uint16: 0x0104
    Profile Descriptor List:
      "AV Remote" (0x110e)
        Version: 0x0103

    Service Name: Android Network Access Point
    Service Description: NAP
    Service RecHandle: 0x10008
    Service Class ID List:
      "Network Access Point" (0x1116)
    Protocol Descriptor List:
      "L2CAP" (0x0100)
        PSM: 15
      "BNEP" (0x000f)
        Version: 0x0100
        SEQ8: 0 6
    Language Base Attr List:
      code_ISO639: 0x656e
      encoding:    0x6a
      base_offset: 0x100
    Profile Descriptor List:
      "Network Access Point" (0x1116)
        Version: 0x0100

    Service Name: Android Network User
    Service Description: PANU
    Service RecHandle: 0x10009
    Service Class ID List:
      "PAN User" (0x1115)
    Protocol Descriptor List:
      "L2CAP" (0x0100)
        PSM: 15
      "BNEP" (0x000f)
        Version: 0x0100
        SEQ8: 0 6
    Language Base Attr List:
      code_ISO639: 0x656e
      encoding:    0x6a
      base_offset: 0x100
    Profile Descriptor List:
      "PAN User" (0x1115)
        Version: 0x0100

    Service Name: SMS/MMS
    Service RecHandle: 0x1000a
    Service Class ID List:
      "Message Access - MAS" (0x1132)
    Protocol Descriptor List:
      "L2CAP" (0x0100)
      "RFCOMM" (0x0003)
        Channel: 4
      "OBEX" (0x0008)
    Profile Descriptor List:
      "Message Access" (0x1134)
        Version: 0x0102

    Browsing E8:91:20:14:3F:DC ...
    Service Search failed: Invalid argument
    Service Name: OBEX Phonebook Access Server
    Service RecHandle: 0x1000b
    Service Class ID List:
      "Phonebook Access - PSE" (0x112f)
    Protocol Descriptor List:
      "L2CAP" (0x0100)
      "RFCOMM" (0x0003)
        Channel: 19
      "OBEX" (0x0008)
    Profile Descriptor List:
      "Phonebook Access" (0x1130)
        Version: 0x0101

    Service Name: OBEX Object Push
    Service RecHandle: 0x1000c
    Service Class ID List:
      "OBEX Object Push" (0x1105)
    Protocol Descriptor List:
      "L2CAP" (0x0100)
      "RFCOMM" (0x0003)
        Channel: 12
      "OBEX" (0x0008)
    Profile Descriptor List:
      "OBEX Object Push" (0x1105)
        Version: 0x0100

    root@am335x-evm:~# rfcomm connect hci0 E8:91:20:14:3F:DC 2
    [  184.417746] Bluetooth: RFCOMM TTY layer initialized
    [  184.422746] Bluetooth: RFCOMM socket layer initialized
    [  184.437594] Bluetooth: RFCOMM ver 1.11
    Connected /dev/rfcomm0 to E8:91:20:14:3F:DC on channel 2
    Press CTRL-C for hangup


  • Hi Hari,

    My Kernel : 4.9.16 Yocto Linux

    Board : ImX6

    Below one is my dtsi file and the node is getting created for uart4 (/dev/ttymxc4) even though it is disabled below ( //dev_name = "/dev/ttymxc3"). I think parent node &uart4 is creating this.  

    1. As you said above and as I have binded "bluetooth" child node to uart, So I understood that no need to use hciattach.

    &uart4 {
        pinctrl-names = "default";
               pinctrl-0 = <&pinctrl_uart4>;
        //dev_name = "/dev/ttymxc3";
        uart-has-rtscts;
            nshutdown_gpio = <126>;
        //dte-mode;
        status = "okay";
            //flow_cntrl = <0>;
            baud_rate = <115200>;
            //baud_rate = <3000000>;
            bluetooth {
            compatible = "ti,wl1835-st";
                    //clocks = <&clk_ti_wifi>;
            //clock-names = "ext_clock";
                    //pinctrl-names = "default";
            //pinctrl-0 = <&pinctrl_ti_bt>;
                    enable-gpios = <&gpio4 30 GPIO_ACTIVE_HIGH>;
        };
    }; /* bluetooth */


    2. Now , I have tried with sdptool and rfcomm commands as below. I will try more options today.. But as of now , rfcomm command throwing below errors.





    hciconfig                                                                                                                                                                        
    hci0:   Type: Primary  Bus: UART
            BD Address: 50:65:83:2B:99:72  ACL MTU: 1021:6  SCO MTU: 180:4
            UP RUNNING PSCAN
            RX bytes:41959 acl:635 sco:0 events:1773 errors:0
            TX bytes:148338 acl:635 sco:0 commands:1033 errors:0

    root@imx6:~# hciconfig scan
    hci0:   Type: Primary  Bus: UART
            BD Address: 50:65:83:2B:99:72  ACL MTU: 1021:6  SCO MTU: 180:4
            UP RUNNING PSCAN
            RX bytes:41959 acl:635 sco:0 events:1773 errors:0
            TX bytes:148338 acl:635 sco:0 commands:1033 errors:0

    root@imx6:~# hcitool scan  
    Scanning ...
            F4:8B:32:7B:E6:E2       Ram  mi
    root@imx6:~# sdptool browse F4:8B:32:7B:E6:E2
    Browsing F4:8B:32:7B:E6:E2 ...
    Service RecHandle: 0x10000
    Service Class ID List:
      "Generic Attribute" (0x1801)
    Protocol Descriptor List:
      "L2CAP" (0x0100)
        PSM: 31
      "ATT" (0x0007)
        uint16: 0x0001
        uint16: 0x0005

    Service RecHandle: 0x10001
    Service Class ID List:
      "Generic Access" (0x1800)
    Protocol Descriptor List:
      "L2CAP" (0x0100)
        PSM: 31
      "ATT" (0x0007)
        uint16: 0x0014
        uint16: 0x001e

    Service Name: Headset Gateway
    Service RecHandle: 0x10002
    Service Class ID List:
      "Headset Audio Gateway" (0x1112)
      "Generic Audio" (0x1203)
    Protocol Descriptor List:
      "L2CAP" (0x0100)
      "RFCOMM" (0x0003)
        Channel: 2
    Profile Descriptor List:
      "Headset" (0x1108)
        Version: 0x0102

    Service Name: Handsfree Gateway
    Service RecHandle: 0x10003
    Service Class ID List:
      "Handsfree Audio Gateway" (0x111f)
      "Generic Audio" (0x1203)
    Protocol Descriptor List:
      "L2CAP" (0x0100)
      "RFCOMM" (0x0003)
        Channel: 3
    Profile Descriptor List:
      "Handsfree" (0x111e)
        Version: 0x0106

    Service Name: AV Remote Control Target
    Service RecHandle: 0x10004
    Service Class ID List:
      "AV Remote Target" (0x110c)
    Protocol Descriptor List:
      "L2CAP" (0x0100)
        PSM: 23
      "AVCTP" (0x0017)
        uint16: 0x0104
    Profile Descriptor List:
      "AV Remote" (0x110e)
        Version: 0x0105

    Service Name: Advanced Audio
    Service RecHandle: 0x10005
    Service Class ID List:
      "Audio Source" (0x110a)
    Protocol Descriptor List:
      "L2CAP" (0x0100)
        PSM: 25
      "AVDTP" (0x0019)
        uint16: 0x0102
    Profile Descriptor List:
      "Advanced Audio" (0x110d)
        Version: 0x0102

    Service RecHandle: 0x10006
    Service Class ID List:
      "AV Remote" (0x110e)
      "AV Remote Controller" (0x110f)
    Protocol Descriptor List:
      "L2CAP" (0x0100)
        PSM: 23
      "AVCTP" (0x0017)
        uint16: 0x0104
    Profile Descriptor List:
      "AV Remote" (0x110e)
        Version: 0x0105

    Service Name: Android Network Access Point
    Service Description: NAP
    Service RecHandle: 0x10007
    Service Class ID List:
      "Network Access Point" (0x1116)
    Protocol Descriptor List:
      "L2CAP" (0x0100)
        PSM: 15
      "BNEP" (0x000f)
        Version: 0x0100
        SEQ8: 0 6
    Language Base Attr List:
      code_ISO639: 0x656e
      encoding:    0x6a
      base_offset: 0x100
    Profile Descriptor List:
      "Network Access Point" (0x1116)
        Version: 0x0100

    Service Name: OBEX Phonebook Access Server
    Service RecHandle: 0x10009
    Service Class ID List:
      "Phonebook Access - PSE" (0x112f)
    Protocol Descriptor List:
      "L2CAP" (0x0100)
      "RFCOMM" (0x0003)
        Channel: 19
      "OBEX" (0x0008)
    Profile Descriptor List:
      "Phonebook Access" (0x1130)
        Version: 0x0101

    Service Name: OBEX Object Push
    Service RecHandle: 0x1000a
    Service Class ID List:
      "OBEX Object Push" (0x1105)
    Protocol Descriptor List:
      "L2CAP" (0x0100)
      "RFCOMM" (0x0003)
        Channel: 12
      "OBEX" (0x0008)
    Profile Descriptor List:
      "OBEX Object Push" (0x1105)
        Version: 0x0102

    Browsing F4:8B:32:7B:E6:E2 ...
    Service Search failed: Invalid argument
    Service Name: MAP SMS/MMS
    Service RecHandle: 0x1000b
    Service Class ID List:
      "Message Access - MAS" (0x1132)
    Protocol Descriptor List:
      "L2CAP" (0x0100)
      "RFCOMM" (0x0003)
        Channel: 4
      "OBEX" (0x0008)
    Profile Descriptor List:
      "Message Access" (0x1134)
        Version: 0x0101

    root@imx6:~# rfcomm connect hci0 F4:8B:32:7B:E6:E2 2
    Can't create RFCOMM TTY: Operation not supported

    root@imx6:~# rfcomm connect hci0 F4:8B:32:7B:E6:E2 3
    Can't create RFCOMM TTY: Operation not supported


    3. I think I need to create RFCOMM TTY device for rfcomm to work.

    4. But my device(1835) able to able to connect to my phone using blutoothctl , But getting disconnected with in 5 to 6 sec..  This issue exist when i connected from my phone as well

    [CHG] Device F4:8B:32:7B:E6:E2 Modalias: bluetooth:v001Dp1200d1436
    [CHG] Device F4:8B:32:7B:E6:E2 UUIDs: 00001105-0000-1000-8000-00805f9b34fb
    [CHG] Device F4:8B:32:7B:E6:E2 UUIDs: 0000110a-0000-1000-8000-00805f9b34fb
    [CHG] Device F4:8B:32:7B:E6:E2 UUIDs: 0000110c-0000-1000-8000-00805f9b34fb
    [CHG] Device F4:8B:32:7B:E6:E2 UUIDs: 0000110e-0000-1000-8000-00805f9b34fb
    [CHG] Device F4:8B:32:7B:E6:E2 UUIDs: 00001112-0000-1000-8000-00805f9b34fb
    [CHG] Device F4:8B:32:7B:E6:E2 UUIDs: 00001116-0000-1000-8000-00805f9b34fb
    [CHG] Device F4:8B:32:7B:E6:E2 UUIDs: 0000111f-0000-1000-8000-00805f9b34fb
    [CHG] Device F4:8B:32:7B:E6:E2 UUIDs: 0000112f-0000-1000-8000-00805f9b34fb
    [CHG] Device F4:8B:32:7B:E6:E2 UUIDs: 00001132-0000-1000-8000-00805f9b34fb
    [CHG] Device F4:8B:32:7B:E6:E2 UUIDs: 00001200-0000-1000-8000-00805f9b34fb
    [CHG] Device F4:8B:32:7B:E6:E2 UUIDs: 00001800-0000-1000-8000-00805f9b34fb
    [CHG] Device F4:8B:32:7B:E6:E2 UUIDs: 00001801-0000-1000-8000-00805f9b34fb
    [CHG] Device F4:8B:32:7B:E6:E2 ServicesResolved: yes
    [CHG] Device F4:8B:32:7B:E6:E2 Paired: yes
    [CHG] Device F4:8B:32:7B:E6:E2 ServicesResolved: no
    [CHG] Device F4:8B:32:7B:E6:E2 Connected: no






  • I suggest enabling the RFCOM module as well in the kernel. I believe, your issue is with BlueZ/host configuration, and is not a WL18xx BT controller issues. Please, check in BlueZ forums for configuration related issues..

    You can also take BTMON hci logs (bluez side) and FW logs to identify your issue..

    http://www.ti.com/lit/ug/swau058d/swau058d.pdf

    Thanks

  • Thanks Hari... I have added CONFIG_BT_RFCOMM_TTY=y in my defconfig and now WL1835 able to connect to my phone over channel 2 and I see the below log from the device using rfcomm

    rfcomm connect hci0 F4:8B:32:7B:E6:E2 12
    Connected /dev/rfcomm0 to F4:8B:32:7B:E6:E2 on channel 12
    Press CTRL-C for hangup
    Bluetooth: TIOCGSERIAL is not supported

    I see my device got connected to my phone in phone. But unable to transfer anything. 

    I see below logs for connecting on some other channels.

    Can't connect RFCOMM socket: Invalid exchange.

    I need to transfer some files between 1835 and any other BT devices like phone and laptop. I have been trying with hciconfig, hcitool, rfcomm and bluetoothctl.

    Only rfcomm able to connect to other BT devices on 2 channels. DO you know any cmds to send and receive files?

    I will post in BlueZ forum.

  • From the SDP browser it looks like RFCOMM channel 2 is associated with HS gateway. So, you may not able be able to use for file transfer. I believe, you may need to open some SPP (serial port profile) level applications on both ends to transfer files/serial data.. Again, this is upper profile level usage.. So, please check in Bluez forums..

    Thanks 

  • Just FYI

    Yes, Channel 2 was associated with Headset. I am wrongly used. But I have used the correct RFCOMM channel 12 for OBEX PUSH as well with below command. This command worked well on my laptop with connecting to my mobile. But not worked on my 1835 device and throwing "disconnected errors"

    #OPUSH is using channel 12

    obexftp -b 21:4E:27:00:91:EA -B 12 -U none -H -S -p Image_2391.jpg

    *** Logs after connecting with mobile **

    Sending "sep.txt"...       RFCOMM(d): UIH: cr 1 dlci 24 pf 1 ilen 0 fcs 0x12 credits 33
    < ACL data: handle 1 flags 0x00 dlen 15
        L2CAP(d): cid 0x0042 len 11 [psm 3]
          RFCOMM(d): UIH: cr 1 dlci 24 pf 0 ilen 7 fcs 0xe
            OBEX: Connect cmd(f): len 7 version 1.0 flags 0 mtu 1024
    > HCI Event: Number of Completed Packets (0x13) plen 5
        handle 1 packets 2
    > HCI Event: Number of Completed Packets (0x13) plen 5
        handle 1 packets 1
    > ACL data: handle 1 flags 0x02 dlen 21
        L2CAP(d): cid 0x0040 len 17 [psm 3]
          RFCOMM(d): UIH: cr 0 dlci 24 pf 1 ilen 12 fcs 0xc8 credits 4
            OBEX: Connect rsp(f): status 200 len 12 version 1.0 flags 0 mtu 1024
            Status 200 = Success
            Connection ID (0xcb) = 1
    |< ACL data: handle 1 flags 0x00 dlen 29
        L2CAP(d): cid 0x0042 len 25 [psm 3]
          RFCOMM(d): UIH: cr 1 dlci 24 pf 0 ilen 21 fcs 0xe
            OBEX: Put cmd(c): len 21
            Length (0xc3) = 10
            Body (0x48) = Sequence length 10
    > HCI Event: Number of Completed Packets (0x13) plen 5
        handle 1 packets 1
    > ACL data: handle 1 flags 0x02 dlen 17
        L2CAP(d): cid 0x0040 len 13 [psm 3]
          RFCOMM(d): UIH: cr 0 dlci 24 pf 1 ilen 8 fcs 0xc8 credits 1
            OBEX: Put rsp(f): status 400 len 8
            Status 400 = Bad request
            Connection ID (0xcb) = 1
    failed: sep.txt
    The operation failed with return code 64

    Note 1: 1835 is showing below UUIDs only ... Do you see any issue because we dont see OBEX push profile in below..??

    show
    Controller 50:65:83:2B:99:72
            Name: imx6
            Alias: imx6
            Class: 0x000000
            Powered: yes
            Discoverable: yes
            Pairable: yes
            UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
            UUID: A/V Remote Control        (0000110e-0000-1000-8000-00805f9b34fb)
            UUID: PnP Information           (00001200-0000-1000-8000-00805f9b34fb)
            UUID: Generic Access Profile    (00001800-0000-1000-8000-00805f9b34fb)
            UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)
            Modalias: usb:v1D6Bp0246d052E
            Discovering: yes
    So to add other profiles like Obex file transfer , Obex Push is it part of adding these in application packaging or need to add any drivers / firmware changes required?

    Note @: I dont see any ID for class below..

    hciconfig hci0 -a
    hci0:   Type: Primary  Bus: UART
            BD Address: 50:65:83:2B:99:72  ACL MTU: 1021:6  SCO MTU: 180:4
            UP RUNNING
            RX bytes:13129 acl:59 sco:0 events:808 errors:0
            TX bytes:128945 acl:61 sco:0 commands:713 errors:0
            Features: 0xff 0xfe 0x2d 0xfe 0xdb 0xff 0x7b 0x87
            Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
            Link policy: RSWITCH HOLD SNIFF
            Link mode: SLAVE ACCEPT
            Name: 'imx6'
            Class: 0x000000
            Service Classes: Unspecified
            Device Class: Miscellaneous,
            HCI Version: 4.2 (0x8)  Revision: 0x0
            LMP Version: 4.2 (0x8)  Subversion: 0xac0d
            Manufacturer: Texas Instruments Inc. (13)

  • All profile levels are implemented at the host BT stack level. Please, check BlueZ profile plugins..

    http://www.bluez.org/bluez-architecture-overview/

    Thanks