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.

Murata LBEH1Z9UWC WL1273L BT+BLE Linux

Hi all,

I'm working on BT+BLE functionality on my custom board with Linux running on it. The kernel version is 3.0.35 (compiling the source using LTIB). I've take the uim utility from the http://gitorious.org/uim/uim, and compiled it using our toolchain. The firmware file I'm using is TIInit_7.2.31.bts. The UART is working fine, I've verified the Tx and CTS toggling with echo command using CRO.

But still I'm getting issues with the firmware. The logs are:

Bluetooth: HCI UART driver ver 2.2
Bluetooth: HCI H4 protocol initialized
Bluetooth: HCILL protocol initialized
Bluetooth: Generic Bluetooth USB driver ver 0.6
usbcore: registered new interface driver btusb
Bluetooth: Bluetooth Driver for TI WiLink - Version 1.0
(stc): st_register(2)
(stc):  chnl_id list empty :2
(stk) : st_kim_start
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM ver 1.11
Bluetooth: BNEP (Ethernet Emulation) ver 1.3
(stk) :ldisc_install = 1
Bluetooth: BNEP filters: protocol multicast
Bluetooth: HIDP (Human Interface Emulation) ver 1.2
(stk) :line disc installation timed out
(stk) :ldisc_install = 0
(stk) :ldisc_install = 1
(stk) :line disc installation timed out
(stk) :ldisc_install = 0
(stk) :ldisc_install = 1
(stk) :line disc installation timed out
(stk) :ldisc_install = 0
(stk) :ldisc_install = 1
(stk) :line disc installation timed out
(stk) :ldisc_install = 0
(stk) :ldisc_install = 1
(stk) :line disc installation timed out
(stk) :ldisc_install = 0
ti_st_open: st_register failed -22

I've the ti-st driver files st_core, st_kim, st_ll and st_drv. Also I have the btwilink driver and the hci driver files.

The configs are as follows:

CONFIG_BT=y
CONFIG_BT_L2CAP=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=y
# CONFIG_BT_HCIBTSDIO is not set
CONFIG_BT_HCIUART=y
CONFIG_BT_HCIUART_H4=y
# CONFIG_BT_HCIUART_BCSP is not set
# CONFIG_BT_HCIUART_ATH3K is not set
CONFIG_BT_HCIUART_LL=y
# 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_BT_ATH3K is not set
CONFIG_BT_WILINK=y
CONFIG_RFKILL=y

1. Please suggest me for the error logs. Also let me know the files and their version that i'm using will be compatible or not.

2. For BT and BLE, the BlueZ stack is needed. With the ltib i'm using, I have the bluez-hcidump, bluez-libs and bluez-utils packages

bluez-hcidump-1.29.tar.gz                                               
bluez-libs-2.25-limits_h.patch                                          
bluez-libs-2.25.tar.gz                                              
bluez-utils-2.25-gcc-4.3.patch                                                
bluez-utils-2.25.tar.gz                                             

Will these be enough for BLE working (with this I don't get the bluetoothd)? Or I need to cross-compile the latest blueZ package and integrate?

Please help me to proceed further.

Thanks

  • Hi Sundeep,

    Thanks for the reply. Now the issue is with the firmware file to be downloaded. I have the TIInit_7.2.31.bts file in my /lib/firmware/ti-connectivity directory as specified on http://processors.wiki.ti.com/index.php/Bluetooth_BTS_files_overview for Murata WL1273L chip. But the logs I'm getting are as follows:

    uim:@ main
    uim:install set previously...
    uim:@ st_uart_config
    uim: signal received, opening /dev/ttymxc1
    uim:@ set_baud_rate
    uim:set_baud_rate() done
    uim:Setting speed to 3000000
    uim:@ read_command_complete
    uim: Command complete started
    uim:@ read_hci_event
    uim: read_hci_event
    mount: mounting /dev/mtdblock2
    Compat-wireless backport release: ol_R5.SP4.01
     on /mnt failed: Device or resourBackport based on unknown
    ce busy
    Loading Wireless Modules
    uim:Command complete done(stc): st_tty_open
    uim:Speed changing to 3000000,
    (stk) : line discipline installed 255
    uim:@ set_custom_baud_rate
    uim:Installed N_TI_WL Line displine
    uim:begin polling...
    uim:po
    cfg80211: Calling CRDA to update world regulatory domain
    lling with  event 0(PRI:2/ERR:8)

    (stk) :TIInit_7.6.15.bts
    (stk) : request_firmware failed(errno -2) for TIInit_7.6.15.bts
    (stk) :download firmware failed
    (stk) :ldisc_install = 0uim:poll broke due to event 10(PRI:2/ERR:8)

    (stc): st_tty_close ...

    uim:read 0 from install

    uim:@ st_uart_config
    uim:Un-Installed N_TI_WL Line displine
    uim:begin polling...
    uim:polling with  event 0(PRI:2/ERR:8)


    wl12xx: driver version: ol_R5.SP4.01
    add wake up source irq 98
     wl12xx_sdio_power_on : function
    arch/arm/mach-mx6/board-mx6sl_evk.c:mxc_wlan_set_power: set power(1)
    (stk) :ldisc_install = 1uim:poll broke due to event 10(PRI:2/ERR:8)

    uim:read 1 from install

    uim:@ st_uart_config
    uim: signal received, openi
    arch/arm/mach-mx6/board-mx6sl_evk.c:mxc_wlan_set_power: set power(1)
    ng /dev/ttymxc1
    uim:@ set_baud_r(stc): st_tty_open ate
    uim:set_baud_rate() done
    ui
    (stk) : line discipline installed m:Setting speed to 3000000
    uim:@
    (stk) :TIInit_7.6.15.bts read_command_complete
    uim: Command complete started
    uim:@ read_hci_event
    uim: read_hci_event
    uim:Command complete done
    uim:
    (stk) : request_firmware failed(errno -2) for TIInit_7.6.15.btsSpeed changing to 3000000, 255
    u
    arch/arm/mach-mx6/board-mx6sl_evk.c:mxc_wlan_set_power: set power(1)
    im:@ set_custom_baud_rate
    uim:Installed N_TI_WL Line displine
    u(stk) :download firmware failedim:begin polling...
    uim:polling
    (stk) :ldisc_install = 0with  event 0(PRI:2/ERR:8)


    (stc): st_tty_close uim:poll broke due to event 10(PRI:2/ERR:8)

    uim:read 0 from install

    uim:@ st_uart_config
    uim:Un-Installed N_TI_WL Line displine
    uim:begin polling...
    uim:polling with  event 0(PRI:2/ERR:8)


    arch/arm/mach-mx6/board-mx6sl_evk.c:mxc_wlan_set_power: set power(1)
    (stk) :ldisc_install = 1uim:poll broke due to event 10(PRI:2/ERR:8)

    arch/arm/mach-mx6/board-mx6sl_evk.c:mxc_wlan_set_power: set power(1)
    ..

    uim:read 1 from install

    (stk) : line discipline installed
    uim:@ st_uart_config
    (stk) :TIInit_7.6.15.btsuim: signal received, opening /dev/ttymxc1
    uim:@ set_baud_rate
    uim:set_baud_rate() done
    uim:Setting speed to 3000000
    uim:@ re
    arch/arm/mach-mx6/board-mx6sl_evk.c:mxc_wlan_set_power: set power(1)
    ad_command_complete
    uim: Command(stk) : request_firmware failed(errno -2) for TIInit_7.6.15.bts complete started
    uim:@ read_hci_event
    uim: read_hci_event
    uim:Command complete done
    uim:Spee
    (stk) :download firmware failedd changing to 3000000, 255
    uim:@
    (stk) :ldisc_install = 0 set_custom_baud_rate
    uim:Instal
    (stc): st_tty_close led N_TI_WL Line displine
    uim:be
    ti_st_open: st_register failed -22

    Here it seems to be looking for TIInit_7.6.15.bts, that is specified for WL1271 as per the link above. Then I copied this file in the ti-connectivity directory, but still the same issue is there

    uim
    (stk) :TIInit_7.6.15.bts:Setting speed to 3000000
    uim:@ read_command_complete
    uim: Command complete started
    uim:@ read_hci_event
    uim: read_hci_event
    (stk) : request_firmware failed(errno -2) for TIInit_7.6.15.bts
    uim:Command complete done
    uim:Speed changing to 3000000, 255
    uim:@ set_custom_baud_rate
    uim:In(stk) :download firmware failedstalled N_TI_WL Line displine

    The GPIO for BT_EN is toggling, checked with CRO, but not getting the prints of plat_kim_chip_enable function.

    Please help.

  • Hi,

    Can you please move the TIInit_7.2.31.bts file in /lib/firmware/ folder and try.

  • Hi Sundeep,

    Thanks for the response. As per your inputs I put both the firmware files in the /lib/firmware directory and got the hci0 up. But its picking up the TIInit_7.6.15.bts file instead of TIInit_7.2.31.bts. Here are the logs

    root@linux ~$ hciconfig -a
    hci0:    Type: UART
        BD Address: 00:00:00:00:00:00 ACL MTU: 0:0 SCO MTU: 0:0
        DOWN SECMGR
        RX bytes:0 acl:0 sco:0 events:0 errors:0
        TX bytes:0 acl:0 sco:0 commands:0 errors:0

    root@linux ~$ hciconfig hci0 up
    (stc): st_register(2)
    (stc):  chnl_id list empty :2
    (stk) : st_kim_start
    (stk) :ldisc_install = 1
    uim:poll broke due to event 10(PRI:2/ERR:8)
    uim:read 1 from install
    uim:@ st_uart_config
    uim: signal received, opening /dev/ttymxc1
    uim:@ set_baud_rate
    uim:set_baud_rate() done
    uim:Setting speed to 3000000
    uim:@ read_command_complete
    uim: Command complete started
    uim:@ read_hci_event
    uim: read_hci_event
    uim:Command complete done
    (stc): st_tty_open
    uim:Speed changing to 3000000,
    (stk) : line discipline installed 1
    uim:@ set_custom_baud_rate
    uim:@ read_firmware_version
    uim:firmware requesting TIInit_7.6.15.bts
    uim:Installed N_TI_WL Line displine
    uim:begin polling...
    uim:polling with  event 0(PRI:2/ERR:8)
    (stc): add_channel_to_table: id 2
    (stc): st_register(3)
    (stc): add_channel_to_table: id 3
    (stc): st_register(4)
    (stc): add_channel_to_table: id 4

    root@linux ~$ hciconfig -a
    hci0:    Type: UART
        BD Address: 84:DD:20:2C:72:0C ACL MTU: 1021:4 SCO MTU: 180:4
        UP RUNNING PSCAN ISCAN SECMGR
        RX bytes:466 acl:0 sco:0 events:19 errors:0
        TX bytes:99 acl:0 sco:0 commands:19 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: ''
        Class: 0x001f00
        Service Classes: Unspecified
        Device Class: Invalid Device Class!
        HCI Ver:  (0x6) HCI Rev: 0x0 LMP Ver:  (0x6) LMP Subver: 0x1f5d
        Manufacturer: Texas Instruments Inc. (13)

    1) Here I have configured the baudrate as 3000000 and the refrence clock as 38.4MHz. Can this be the reason for firmware file? Because these configurations are given for the WL1271L as per http://processors.wiki.ti.com/index.php/Bluetooth_BTS_files_overview

    2) What's the difference among the files?

    3) From st_kim.c, what I suspect is that it writes some command on the node and then read back the response. From the response it does some calculation for reading the version info. So that response is predefined for the WL1271L and WL1273L or it still depends on the configuration of baud rate, flow control and refrence clock?

    4) The links for blueZ that u have provided are machine dependent, based on the TI processor's. But I have i.Mx6 sololite as my target. Can you help me out for that.

    Thanks

  • Hi,

    The the Initscript(service pack) depends on the version of the chip you are using.

    First we do a read local version information from the chip and then based on this information, the calucation I done and find what is the Service pack that is need to be used.

    I have just provide you a reference, using which you can do it for any of the processor you are using. 

  • Hi Sundeep,

    Thanks for the cooperation.

    I'm following the link for the bluez cross-compilation. Manually doing all the steps for my target board. I have successfully cross-compiled the following packages:

    expat, dbus, libiconv, zlib and gettext

    Now I'm running into errors for compiling glib. I have created the arm-linux.cache file as given, and then ran the command to configure as

    a) sudo ./configure --host=arm-linux --cache-file=arm-linux.cache --with-libiconv=gnu CC=<path to my toolchain>
              This gave the error for zlib headers and libs not found

    b) Then I added the CFLAGS and LDFLAGS containing the path to the zlib headers and library
              This gave error for "configure: error: C compiler cannot create executables glib cross compile"

    So, then we continued with the part (a) commenting out the following lines in the configure script
    #if test "x$found_zlib" = "xno" ; then
      # as_fn_error "*** Working zlib library and headers not found ***" "$LINENO" 5
    #fi
    #ZLIB_LIBS='-lz'

    With this we got the configure successfull, but not the 'make'

    c) When we did 'make' then we got the errors

    bluez-ti/glib-2.24.1/glib/.libs/libglib-2.0.so -lresolv

    ./.libs/libgio-2.0.so: undefined reference to `inflate'
    ./.libs/libgio-2.0.so: undefined reference to `deflateReset'
    ./.libs/libgio-2.0.so: undefined reference to `deflate'
    ./.libs/libgio-2.0.so: undefined reference to `deflateInit2_'
    ./.libs/libgio-2.0.so: undefined reference to `deflateInit_'
    ./.libs/libgio-2.0.so: undefined reference to `inflateEnd'
    ./.libs/libgio-2.0.so: undefined reference to `deflateEnd'
    ./.libs/libgio-2.0.so: undefined reference to `inflateInit_'
    ./.libs/libgio-2.0.so: undefined reference to `inflateInit2_'
    ./.libs/libgio-2.0.so: undefined reference to `inflateReset'
    collect2: ld returned 1 exit status
    make[4]: *** [gio-querymodules] Error 1
    make[4]: Leaving directory `/home/sumit/bluez-ti/glib-2.24.1/gio'
    make[3]: *** [all-recursive] Error 1
    make[3]: Leaving directory `/home/sumit/bluez-ti/glib-2.24.1/gio'
    make[2]: *** [all] Error 2
    make[2]: Leaving directory `/home/sumit/bluez-ti/glib-2.24.1/gio'
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/home/sumit/bluez-ti/glib-2.24.1'
    make: *** [all] Error 2

     This also seems to be linked to zlib. Please suggest.
    d) Also please let me know if I need to do some modification in my configs and the package versions to get BLE working. If 'yes' then please share.
    Thanks
  • Hi,

    Can you try it on Ubuntu 12.04?

  • Hi Sundeep,

    I'm trying on the Ubuntu 12.04 itself. Though I went through the errors for the C compiler but still with the specified option for --with-libiconv=gnu its not able to pickup the headers and the libraries, with this the error comes up as

     No iconv() implementation found in C library or libiconv

    and if i don't specify the option for libiconv, then it configures well but ultimately gives the error for the undefined refrence as i specified in the previous post.

    Thanks

  • Hi,

    That is strange you should not face the Glib error on Ubuntu 12.04.

    what is the SDK you are using?

    you can compare the "wl18xx_build_ble.sh" and "wl18xx_build_bt.sh" to see what is required for BLE(like GATT)

  • Hi Sundeep,

    1) I have the SDK from Freescale, but here I'm compiling all the packages manually, getting the source from the download path specified in the build script and then following the steps for configure and make.

    After that I do the 'make install' to my rootfs and specify the same in CFLAGS and LDFLAGS, for usr/local/include and usr/local/lib respectively.

    2) As per the changes in the build scripts of BT and BLE, the sorce for the bluez is diferent. So, do we also need to change the source to get the BLE working? And are the patches available fro WL1273L?

  • Hi,

    I have tried with both Linaro and Arago cross-compilers and I did not face any issue on Ubuntu 12.04

    If you have compared the scripts you would have understood. how they are enabling the Gatt and what are the patchs required for Gatt that needs to be applied.

  • Hi Sundeep,

    Still I'm not clear at this point that now we have the bluez-4.98, but not all the required binaries for pairing the device.

    Is that supported by WL1273L with BLE?

    As earlier you have pointed to the script for BLE separately, but that is for WL18xx, can we use that bluez source and apply patches to get BLE working on WL1273L too?

    Now we are trying to connect the devices through hcitool cc command, but not able to do that, though scanning is working. Enabling the logs we got that that it creates up the connection but instantly disconnect it.

    What are we missing? Can you point me out?

    Thanks

    Sumit

  • Hi,

    You can get the latest TIInit_7.6.15.bts from https://github.com/TI-ECS/bt-firmware

    as chip WL1273L supports BLE. and the init script (Service pack) mentioned above includes BLE initialization as well.

    Mind that this just from the chip side, you need to make sure your stack can handle it. 

  • Hi Sundeep,

    Thanks for the support so far. Now I'm able to scan and pair the BT devices. But file transfer is still an issue. I have the required binaries for that as i have cross-compiled the obexd and bt-obex package. But now when I try to run the obexd with "obexd -n -d -r /mnt/ -o -f -a" command, the error shown is

    obexd[2400]: OBEX daemon 0.34
    obexd[2400]: src/main.c:main() Entering main loop
    obexd[2400]: src/manager.c:manager_init()
    /usr/local/bin/dbus-launch terminated abnormally with the following error: Autolaunch requested, but X11 support not compiled in.
    Cannot continue.

    obexd[2400]: manager_init failed

    For this I tried to cross-compile the X11 package and the the dbus again with the option "--with-x=yes" while configure. But on the last output lines of configure it shows "Build X11 binaries     no"

    How can it be resolved?

    And what's the correct sequence of running other binaries( like dbus-launch, blluetoothd etc.) to get it working?

    Thanks

  • Hi,

    As it looks like more related to BlueZ, can you please check it on BlueZ forum.

    Please see the below link which I found  for testing, may be this might help

    http://processors.wiki.ti.com/index.php/AM37x_Wireless_Connectivity_NLCP_Bluetooth_Terminal_linux

  • Hi Sundeep,

    Now I'm able to do the file sharing with Android mobile and the Linux PC as well. Thanks for your support.

    However I would more likely to know more about the BLE functionality. As through the 'hcitool lescan' it can be make sure that BLE is supportable, but how could we actually send out the ibeacon advertising data?

    Is it device or module specific?

    What command should I run to advertise the data and to listen to other devices?

    Thanks

    Sumit Sharma

  • Hi,

    I don't remember trying BLE on BlueZ, can you please check it on BlueZ forum.

  • Hi Sundeep,

    Now I'm able to advertise the data. But with the bluez4.98 stack we don't have the option to enable GATT. It has only the option enable gatt example.

    1) So to enable the Gatt do we need to upgrade the bluez version?

    This question is again much related to bluez but I want to know

    Will that be compatible with WL1273L and the new firmware file, from the link you sent me?

    Thanks

  • Hi Sundeep,

    Also adding one more question

    Can we use the BLE Stack v1.4 from TI itself with the WL1273L?

    Thanks

  • Hi,

    Yes it will be compatible with any version of blueZ.

  • Hi Sundeep,

    That's fine. So we can upgrade the bluez but I want to know if we can have the Generic Access Profile for WL1273L.

    And how we can configure it to support the device name and serial number?

    How is it done? Through some configure file or through xml file?

    Thanks

  • Hi Sundeep,

    One more question, back to the initialization. Now I'm getting the crash dumps whenever I try to do the hci0 interface up. The crash occurs 95% of the times after a reboot, i.e only sometimes it works.

    I'm running uim before that. I have added the prints, the following are the logs

    $ /usr/local/sbin/hciconfig hci0 up
    (stc): st_register(2)
    (stc):  chnl_id list empty :2
    (stk) : st_kim_start
    (stk) :ldisc_install = 1uim:poll broke due to event 10(PRI:2/ERR:8)

    uim:****** exiting...

    uim:***** /kim/install opened

    uim:read 1 from install

    uim:******* uart configuration function

    uim:@ st_uart_config
    uim: signal received, opening /dev/ttymxc1
    uim:@ set_baud_rate
    uim:set_baud_rate() done
    uim:Setting speed to 3000000
    uim:@ read_command_complete
    uim: Command complete started
    uim:@ read_hci_event
    uim: read_hci_event
    uim:Command complete done
    (stc): st_tty_open
    uim:Speed changing to 3000000,
    (stk) : line discipline installed 1
    uim:@ set_custom_baud_rate
    ui
    (stk) :kim: ******* version=7951
    m:@ read_firmware_version
    uim:**(stk) :kim: ******* version=7951
    **** writing commands to read ver(stk) :TIInit_7.6.15.btssion

    uim: wrote 4 bytes
    uim:*
    ######## function=_request_firmware
    ######## got the memory e buffer


    uim: reading -1 bytes
    uim: 0 ######## after builtin fw function

    uim: 0
    uim: 0
    uim: 0
    uim:######## firmware requesting TIInit_7.6.15.bts
     0
    uim: 0
    uim: 0
    uim: 0
    u######## if uevent
    im: 0
    uim: 0
    uim: 0
    uim: 0
    uim: 0
    uim: 0
    uim: 0

    uim:Installed N_TI_WL Line displine
    uim:begin polling...
    uim:polling with  event 0(PRI:2/ERR:8)

    ######## before mutex lock
    (stc): add_channel_to_table: id 2
    (stc): st_register(3)                                                                                    

    ------------kernel dump here----------------

    While in case of success, I get the following logs after the above logs:

    (stc): add_channel_to_table: id 3
    (stc): st_register(4)
    (stc): add_channel_to_table: id 4

    Is it related to some conf file or library or something else?

    Thanks

  • Hi Sundeep,

    Here are the crash logs:

    /usr/local/sbin/hciconfig hci0 up
    (stc): st_register(2)
    (stc):  chnl_id list empty :2
    (stk) : st_kim_start
    (stk) :ldisc_install = 1uim:poll broke due to event 10(PRI:2/ERR:8)

    uim:****** exiting...

    uim:***** /kim/install opened

    uim:read 1 from install

    uim:******* uart configuration function

    uim:@ st_uart_config
    uim: signal received, opening /dev/ttymxc1
    uim:@ set_baud_rate
    uim:set_baud_rate() done
    uim:Setting speed to 3000000
    uim:@ read_command_complete
    uim: Command complete started
    uim:@ read_hci_event
    uim: read_hci_event
    uim:Command complete done
    (stc): st_tty_open
    uim:Speed changing to 3000000,
    (stk) : line discipline installed 1
    uim:@ set_custom_baud_rate
    ui
    (stk) :TIInit_7.6.15.btsm:@ read_firmware_version
    uim:****** writing commands to read version

    uim: wrote 4 bytes
    uim:****** reading in response buffer

    uim: reading -1 bytes
    uim: 0
    uim: 0
    uim: 0
    uim: 0
    uim: 0
    uim: 0
    uim: 0
    uim: 0
    uim: 0
    uim: 0
    uim: 0
    uim: 0
    uim: 0
    uim: 0
    uim: 0

    uim:Installed N_TI_WL Line displine
    uim:begin polling...
    uim:polling with  event 0(PRI:2/ERR:8)


    (stc): add_channel_to_table: id 2
    (stc): st_register(3)
    Unable to handle kernel NULL pointer dereference at virtual address 0000001a
    pgd = 80004000
    [0000001a] *pgd=00000000
    Internal error: Oops: 5 [#1] PREEMPT
    Modules linked in:
    CPU: 0    Not tainted  (3.0.35-2508-g54750ff-svn3 #297)
    PC is at st_int_recv+0x80/0x3c0
    LR is at st_int_recv+0x38/0x3c0
    pc : [<8026b344>]    lr : [<8026b2fc>]    psr: 80000193
    sp : 8fc33f08  ip : 8059e2b4  fp : 8fc32000
    r10: a0000113  r9 : 8c1b9018  r8 : 00000004
    r7 : 8c1b906c  r6 : 8d380038  r5 : 00000006  r4 : 8c1b9000
    r3 : ffffffff  r2 : 00000000  r1 : 00000020  r0 : 00000000
    Flags: Nzcv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
    Control: 10c53c7d  Table: 8d370059  DAC: 00000015
    Process kworker/0:1 (pid: 326, stack limit = 0x8fc322e8)
    Stack: (0x8fc33f08 to 0x8fc34000)
    3f00:                   8ffc414c 00000000 8ffc414c 8bacd4a8 a0000113 8fc32000
    3f20: 8d233aa0 8bacd400 8d380138 00000007 8d380000 8026a7c8 00000007 80248744
    3f40: 8ffc414c 8d380038 8025ac4c 8ff5d540 8fc32000 8ffca400 00000000 802485b8
    3f60: 8bacd4a8 8ffca405 8055c390 8007bcf8 8ff5d550 8fc32000 00000000 8ff5d540
    3f80: 8055c390 8fc32000 8055c38c 8058aaac 00000009 8ff5d550 8055c390 8007c950
    3fa0: 8ff5d540 8007c7fc 00000013 8ffd9f20 8ff5d540 8007c7fc 00000013 00000000
    3fc0: 00000000 00000000 00000000 80080114 00000000 00000000 8ff5d540 00000000
    3fe0: 8fc33fe0 8fc33fe0 8ffd9f20 80080094 8003a560 8003a560 ffffffff ffffffff
    [<8026b344>] (st_int_recv+0x80/0x3c0) from [<8026a7c8>] (st_tty_receive+0x1c/0x20)
    [<8026a7c8>] (st_tty_receive+0x1c/0x20) from [<80248744>] (flush_to_ldisc+0x18c/0x214)
    [<80248744>] (flush_to_ldisc+0x18c/0x214) from [<8007bcf8>] (process_one_work+0x120/0x378)
    [<8007bcf8>] (process_one_work+0x120/0x378) from [<8007c950>] (worker_thread+0x154/0x384)
    [<8007c950>] (worker_thread+0x154/0x384) from [<80080114>] (kthread+0x80/0x88)
    [<80080114>] (kthread+0x80/0x88) from [<8003a560>] (kernel_thread_exit+0x0/0x8)
    Code: e3a02000 e0849109 e0855003 e5990004 (e1d001ba)
    ---[ end trace 9420f6c24676d768 ]---
    note: kworker/0:1[326] exited with preempt_count 1
    Unable to handle kernel paging request at virtual address fffffffc
    pgd = 80004000
    [fffffffc] *pgd=8fffe821, *pte=00000000, *ppte=00000000
    Internal error: Oops: 17 [#2] PREEMPT
    Modules linked in:
    CPU: 0    Tainted: G      D      (3.0.35-2508-g54750ff-svn3 #297)
    PC is at kthread_data+0x4/0xc
    LR is at wq_worker_sleeping+0xc/0xa0
    pc : [<80080284>]    lr : [<8007cbd8>]    psr: 00000193
    sp : 8fc33c48  ip : ffffffff  fp : 8fc33cd4
    r10: 8054d15c  r9 : 8fea4450  r8 : 8fea44cc
    r7 : 00000000  r6 : 8fc32000  r5 : 8055a958  r4 : 00000000
    r3 : 00000000  r2 : 00000000  r1 : 00000000  r0 : 8fea4360
    Flags: nzcv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment user
    Control: 10c53c7d  Table: 8d370059  DAC: 00000015
    Process kworker/0:1 (pid: 326, stack limit = 0x8fc322e8)
    Stack: (0x8fc33c48 to 0x8fc34000)
    3c40:                   8fea4360 80403f98 804b8f08 800d7048 00000002 8b9f8880
    3c60: 804b8f08 804019a8 8b97ac80 8b800000 80584fb8 00000f90 8fc32000 800d9014

    Please suggest.

    Thanks

  • Hi Sandeep,

    Any inputs?

    I have tried to run the uim at boot time through the rcS file but still I am getting the crash sometimes at the boot time as well.

    There are no changes done in the driver.

    I have probed the UART pins. The BT_EN pin in the working stage the pin is initially low, it goes high and then again goes low but in case of crash after being high it doesn't goes low again, remains high there.

    The Tx and Rx pins have same behaviour in both cases. while the RTS and the CTS initially are high, toggles, and then again comes high in case it works fine, but remains low in case of crash.

    Please give your suggestions.

    Thanks

  • Hi,

    I see that "Unable to handle kernel NULL pointer dereference" from what you provided. But not sure what caused it.

    See the below link on bringing up blueZ on android and make sure you have not missed any of it.

    http://e2e.ti.com/support/wireless_connectivity/f/307/p/329091/1146911.aspx#1146911

    if you are using Linux

    see the below posts on bringing up BlueZ on Linux

    http://processors.wiki.ti.com/index.php/Open_Source_Wireless_Connectivity_WiLink8_Build_scripts
    http://processors.wiki.ti.com/index.php/WL12xx_Bluetooth_Build_Instructions

     

  • Hi Sandeep,

    Thanks for the inputs, but i think I don't miss any one of them. The problem can be while integrating the bluetooth with the working wi-fi.

    The wi-fi is working in both AP and client modes and for the wifi we are using the wl127x-fw-5-mr.bin firmware file. During the first bringup of the wireless on board, we calibrated the wifi module with the ini file TQS_D_1.7.ini and wl12x-fw-5-plt.bin firmware and save the wl127x-nvs.bin in ti-connectivity folder.

    And for the bluetooth now I'm using the TIInit_7.6.15.bts firmware file from the git link given by you.

    So are these compatible with each other??

    Also when there is no crash sometimes it gives the following logs when we do hciconfig up:

    /usr/local/sbin/hciconfig hci0 up
    (stc): st_register(2)
    (stc):  chnl_id list empty :2
    (stk) : st_kim_start
    (stk) :ldisc_install = 1
    (stk) :line disc installation timed out
    (stk) :ldisc_install = 0
    (stk) :ldisc_install = 1
    (stk) :line disc installation timed out
    (stk) :ldisc_install = 0
    (stk) :ldisc_install = 1
    (stk) :line disc installation timed out
    (stk) :ldisc_install = 0
    (stk) :ldisc_install = 1
    (stk) :line disc installation timed out
    (stk) :ldisc_install = 0
    (stk) :ldisc_install = 1
    (stk) :line disc installation timed out
    (stk) :ldisc_install = 0
    (stk) :ldisc_install = 1
    (stk) :line disc installation timed out
    (stk) :ldisc_install = 0
    ti_st_open: st_register failed -22
    Can't init device hci0: Input/output error (5)

    Although I have already asked about this but that time it was the issue with the firmware file location, but now it's not that as sometimes it works too.

    Please provide your suggestions.

    Thanks

  • Hi Sundeep,

    Coming back for your help again, I would like to know how can we know the channel number and the rssi value from the advertised packet in linux as it is found using the BLE Sniffer Tool?

    How does sniffer get it known, as there seems to be no such field in the advertised packet and data packet??

    Thanks