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.

Information for building TI Bluetooth Stack for WL1831 on ti sdk 8 & ti sdk 1

Other Parts Discussed in Thread: WL1831, WL1831MOD

Dear Ti e2E Community,

As am new to Bluetopia and using w1831, For SDK 8. am following the below link for bulding buletooth stack, But am stuck up with few steps as described below

http://processors.wiki.ti.com/index.php/TI_Bluetooth_Stack_for_WL18xx_-_Getting_Started_Guide.

1. Could you please let me know the kernel menuconfigurations & the required services with detailed steps to be run in the rootfs for for w1831 BT module in
ti sdk 8

2. I have downloaded the AM335xBluetopiaLinuxProduction-4.0.1.4.2U-linux-x64-installer.run (as my ubuntu host machine is 64 bit) & I have installed, & it is listing the following items

srinivasan@tata-HP-Elite-7100-Microtower-PC:~/Platform/BT$ ls
AM335xBluetopiaLinuxProduction-4.0.1.4.2U-linux-x64-installer.run ReleaseNotes.pdf
BluetopiaPM SRAS_1084-298648-v1-WL8_Bluetooth_SLA.pdf
Documentation uninstall
install.sh uninstall.dat
PICSSupportedFeatures.pdf Uninstall WL18xx+AM335x Bluetoouth Source and Object Code - Production.desktop
README.pdf
srinivasan@tata-HP-Elite-7100-Microtower-PC:~/Platform/BT$

3. And I have copied the firmware file  (TIInit_11.8.32.bts) /lib/firmware of my Rootfs

4. But I need to build, the bluetooth stack

.

But I am unable to find the build folder, setup-bt.sample file, & source configure.sh inside the installation folder as shown in the above listing

4. Could you please let me know, can this hcitools can be used for verifiying the bluetooth operations like as shown below, could you please help me in providing the link with detaled steps  for cross_Compiling & installing hci tools in ti sdk 8??

hciconfig -a

>    hciconfig hci0 up

>    hcitool scan

5. If hcitools cannot be used in ti sdk 8, could you please let me know how the above operations can be performed using ti custom bluetopia applications ie., interface lisitng, & making the interface to be up scanning  & file transfer

6. For time being inorder to validate bluetooth on hardware, I builded SDK 1 (ti-processor-sdk-linux-am335x-evm-01.00.00.03 kernel & used ./build_wl18xx.sh) by downloading from ti website & used arago-base-tisdk-image-am335x-evm_SDK1 rootfs & am seeing the following errors as shown in the logs & dts as attached above

Could you please let me know why am seeing the above errors, as am I doing anything wrong??

Kindly do the needful as early as possible, am trying to build the Bt stack, but am unabel to build it from yesterday

Many Thanks in advance

dts_logs.zip

  • Hi,

    The best place to start is from: processors.wiki.ti.com/.../WiLink8_Linux_Getting_Started_Guide
    The stack binaries are only provided along with sample apps. This can be copied to the target. Please see the above page.

    "hcitool" is available. The TI Bluetooth Stack also provides "SS1Tool" which gives similar functionality as hcitool.

    Regards,
    Gigi Joseph.
  • Dear Gigi,

    Thanks a lot for your quick responses & would really appreciate the same

    In the above attached logs, could you please let me know why am I seeing the below highlighted error messages,

    And am using USB1-UART3 as Tx- RX (USB-DP & USB-DM) lines. 

    Since we are not using CTS/RTS we have set flow_cntrl to <0> in kim & Comment out line 208 in src/uim/uim.c (ti.c_cflag |= CRTSCTS) & baud rate is set to 115200

    Logs:

    ===

    Starting uim-sysfs daemon.
    uim:@ main
    uim:install = /sys/./devices/kim/install
    uim:dev_name = /sys/./devices/kim/dev_name
    uim:baud_rate = /sys/./devices/kim/baud_rate
    uim:flow_cntrl = /sys/./devices/kim/flow_cntrl
    uim:begin polling...
    Starting udev
    [ 6.130236] udevd[896]: starting version 182
    [ 6.199867] random: nonblocking pool is initialized
    [ 7.724173] 47401300.usb-phy supply vcc not found, using dummy regulator
    [ 7.858749] 47401b00.usb-phy supply vcc not found, using dummy regulator
    [ 8.670425] lm75 0-0048: hwmon0: sensor 'tcn75'
    [ 8.750177] remoteproc0: powering up wkup_m3
    [ 8.910574] remoteproc0: Booting fw image am335x-pm-firmware.elf, size 154412
    [ 8.954122] PM: CM3 Firmware Version = 0x190
    [ 9.057897] remoteproc0: remote processor wkup_m3 is now up
    [ 10.089749] Loading modules backported from Linux version R8.6-0-g3f5b34f
    [ 10.096710] Backport generated by backports.git R8.6SP1-0-g4677dc3
    Starting Bootlog daemon:
    udevadm settle - timeout of 3 seconds reached, the event queue contains:
    [ 11.028782] Bluetooth: Core ver 2.18
    [ 11.032557] NET: Registered protocol family 31
    [ 11.037111] Bluetooth: HCI device and connection manager initialized
    /sys/devices/btwilink (799)
    /sys/devices/ocp/44e0b000.i2c/i2c-0/0-0024/tps65217-bl (839)
    /sys/devices/ocp/44e0b000.i2c/i2c-0/0-0024/tps65217-pmic (840)
    /sys/devices/ocp/44e0d000.tscadc/TI-am335x-adc (844)
    /sys/devices/ocp/47400000.usb (849)
    /sys/devices/ocp/48060000.mmc/mmc_host/mmc0/mmc0:0001/mmc0:0001:1 (861)
    /sys/devices/ocp/48060000.mmc/mmc_host/mmc0/mmc0:0001/mmc0:0001:2 (862)
    /sys/devices/ocp/481d8000.mmc/mmc_host/mmc1/mmc1:0001 (875)
    /sys/devices/ocp/481d8000.mmc/mmc_host/mmc1/mmc1:0001/block/mmcblk0 (876)
    /sys/devices/ocp/481d8000.mmc/mmc_host/mmc1/mmc1:0001/block/mmcblk0/mmcblk0boot0 (877)
    /sys/devices/ocp/481d8000.mmc/mmc_host/mmc1/mmc1:0001/block/mmcblk0/mmcblk0boot1 (878)
    /sys/devices/ocp/481d8000.mmc/mmc_host/mmc1/mmc1:0001/block/mmcblk0/mmcblk0p1 (879)
    /sys/devices/ocp/481d8000.mmc/mmc_host/mmc1/mm[ 11.120682] Bluetooth: HCI socket layer initialized
    c1:0001/block/mmcblk0/mmcblk0p2 (880)
    /sys/devices/ocp/481d8000.mmc/mmc_host/mmc1/mmc1:0001/block/mmcblk0/mmcblk0p3 (881)
    /sys/devices/ocp/481d8000.mmc/mmc_host/mmc1/mmc1:0001/block/mmcblk0/mmcblk0p4 (882)
    /sys/devices/ocp/481d8000.mmc/mmc_host/mmc1/mmc1:0001/block/mmcblk0/mmcblk0p5 (883)
    /sys/devices/ocp/481d8000.mmc/mmc_host/mmc1/mmc1:0001/block/mmcblk0/mmcblk0p6 (884)
    /sys/devices/ocp/481d8000.mmc/mmc_host/mmc1/mmc1:0001/block/mmcblk0/mmcblk0p7 (885)
    /sys/devices/ocp/48302000.epwmss/483[ 11.170106] Bluetooth: L2CAP socket layer initialized
    02200.ehrpwm (888)
    /sys/devices/ocp/48302000.epwmss/48302200.ehrpwm/pwm/pwmchip0 (889)
    /sys/devices/ocp/4a100000.ethernet/44e10650.cpsw-phy-sel (893)
    /sys/devices/ocp/4a100000.ethernet/4a101000.mdio (894)
    /sys/devices/ocp/4a100000.ethernet/4a101000.mdio/4a101000.mdio:01 (895)
    /sys/devices/ocp/4a100000.ethernet/4a101000.mdio/mdio_bus/4a101000.mdio (896)
    /sys/devices/ocp/4a100000.ethernet/net/eth0 (897)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan0 (907)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan1 (908)
    /sys/devices/platform/ed[ 11.224349] Bluetooth: SCO socket layer initialized
    ma-dma-engine.0/dma/dma0chan10 (909)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan11 (910)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan12 (911)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan13 (912)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan14 (913)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan15 (914)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan16 (915)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan17 (916)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan18 (917)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan19 (918)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan2 (919)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan20 (920)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan21 (921)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan22 (922)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan23 (923)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan24 (924)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan25 (925)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan26 (926)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan27 (927)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan28 (928)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan29 (929)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan3 (930)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan30 (931)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan31 (932)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan32 (933)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan33 (934)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan34 (935)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan35 (936)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan36 (937)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan37 (938)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan38 (939)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan39 (940)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan4 (941)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan40 (942)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan41 (943)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan42 (944)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan43 (945)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan44 (946)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan45 (947)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan46 (948)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan47 (949)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan48 (950)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan49 (951)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan5 (952)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan50 (953)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan51 (954)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan52 (955)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan53 (956)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan54 (957)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan55 (958)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan56 (959)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan57 (960)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan58 (961)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan59 (962)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan6 (963)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan60 (964)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan61 (965)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan62 (966)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan63 (967)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan7 (968)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan8 (969)
    /sys/devices/platform/edma-dma-engine.0/dma/dma0chan9 (970)
    /sys/devices/platform/reg-dummy/regulator/regulator.0 (974)
    /sys/devices/power_enable (978)
    /sys/devices/smartrf (979)
    /sys/devices/soc (980)
    /sys/devices/soc/soc:mpu (981)
    /sys/devices/sound (984)
    /sys/devices/uda134x (988)
    /sys/devices/usb0_ocn (989)
    /sys/devices/vampc (990)
    /sys/devices/virtual/bdi/1:11 (998)
    bootlogd: cannot allocate pseudo tty: No such file or directory
    bootlogd.
    [ 11.643555] (stc): chnl_id list empty :4
    [ 11.647776] (stk) : st_kim_start(stk) :ldisc_install = 1uim:poll broke due to event 10(PRI:2/ERR:8)
    [ 11.731659] (stc): st_tty_open

    uim:read 1 from install

    uim:@ st_uart_config
    uim: signa(stk) :line discipline installedl received, opening /dev/ttyS3
    uim:@ set_baud_rate
    COMMENTED OUT ti.c_cflag |= CRTSCTs
    uim:set_baud_rate() done
    uim:Installed N_TI_WL Line displine
    uim:begin polling...

    [ 12.536255] (stk) : waiting for ver info- timed out or received signal(stk) :kim: failed to read local ver
    [ 12.546022] (stk) :download firmware failed(stk) :ldisc_install = 0uim:poll broke due to event 10(PRI:2/ERR:8)
    [ 12.553034] (stc): st_tty_close

    uim:read 0 from install

    uim:@ st_uart_config
    uim:Un-Installed N_TI_WL Line displine
    (stk) :ldisc_install = 1uim:begin polling...
    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/ttyS3
    uim:@ set_baud_rate
    COMMENTED OUT ti.c_cflag |= C
    [ 12.946875] (stc): st_tty_open RTSCTs
    uim:set_baud_rate() done
    (stk) :line discipline installeduim:Installed N_TI_WL Line displine
    uim:begin polling...

    [ 13.906412] (stk) : waiting for ver info- timed out or received signal(stk) :kim: failed to read local ver
    [ 13.916443] (stk) :download firmware failed(stk) :ldisc_install = 0uim:poll broke due to event 10(PRI:2/ERR:8)
    [ 13.923443] (stc): st_tty_close

    uim:read 0 from install

    uim:@ st_uart_config
    uim:Un-Installed N_TI_WL Line displine
    (stk) :ldisc_install = 1uim:begin polling...
    [ 14.081448] (stc): st_tty_open
    uim:poll broke due to event 10(PRI:2/ERR:8)

    uim:read 1 from(stk) :line discipline installed install

    uim:@ st_uart_config
    uim: signal received, opening /dev/ttyS3
    uim:@ set_baud_rate
    COMMENTED OUT ti.c_cflag |= CRTSCTs
    uim:set_baud_rate() done
    uim:Installed N_TI_WL Line displine
    uim:begin polling...

    [ 14.886245] (stk) : waiting for ver info- timed out or received signal(stk) :kim: failed to read local ver
    [ 14.896017] (stk) :download firmware failed(stk) :ldisc_install = 0uim:poll broke due to event 10(PRI:2/ERR:8)
    [ 14.903060] (stc): st_tty_close

    uim:read 0 from install

    uim:@ st_uart_config
    uim:Un-Installed N_TI_WL Line displine
    (stk) :ldisc_install = 1uim:begin polling...
    [ 15.185496] (stc): st_tty_open
    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/ttyS3
    uim:@ set_baud_rate
    COMMENTED OUT ti.c_cflag |= CRTSCTs
    uim:set_baud_rate() done
    (stk) :line discipline installeduim:Installed N_TI_WL Line displine
    uim:begin polling...

    [ 16.186472] (stk) : waiting for ver info- timed out or received signal(stk) :kim: failed to read local ver
    [ 16.196292] (stk) :download firmware failed(stk) :ldisc_install = 0uim:poll broke due to event 10(PRI:2/ERR:8)
    [ 16.203325] (stc): st_tty_close

    uim:read 0 from install

    uim:@ st_uart_config
    uim:Un-Installed N_TI_WL Line displine
    (stk) :ldisc_install = 1uim:begin polling...
    [ 16.380648] (stc): st_tty_open
    uim:poll broke due to event 10(PRI:2/ERR:8)

    uim:read 1 from(stk) :line discipline installed install

    uim:@ st_uart_config
    uim: signal received, opening /dev/ttyS3
    uim:@ set_baud_rate
    COMMENTED OUT ti.c_cflag |= CRTSCTs
    uim:set_baud_rate() done
    uim:Installed N_TI_WL Line displine
    uim:begin polling...

    [ 16.458109] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
    [ 16.556601] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 1
    [ 16.627265] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
    [ 16.634138] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [ 16.641495] usb usb1: Product: MUSB HDRC host driver
    [ 16.646533] usb usb1: Manufacturer: Linux 3.14.43-g875c69b musb-hcd
    [ 16.652847] usb usb1: SerialNumber: musb-hdrc.1.auto
    [ 16.767785] hub 1-0:1.0: USB hub found
    [ 16.836607] hub 1-0:1.0: 1 port detected
    [ 16.882353] Enabling USB[1] to UART mode in phy control usb
    [ 16.972417] musb-hdrc musb-hdrc.2.auto: MUSB HDRC host driver
    [ 17.071541] musb-hdrc musb-hdrc.2.auto: new USB bus registered, assigned bus number 2
    [ 17.184780] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
    [ 17.191790] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [ 17.199112] usb usb2: Product: MUSB HDRC host driver
    [ 17.204122] usb usb2: Manufacturer: Linux 3.14.43-g875c69b musb-hcd
    [ 17.210463] usb usb2: SerialNumber: musb-hdrc.2.auto
    [ 17.215509] (stk) : waiting for ver info- timed out or received signal
    [ 17.221936] (stk) :kim: failed to read local ver(stk) :download firmware failed
    [ 17.229366] (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

    [ 17.315859] (stk) :ldisc_install = 1uim:begin polling...
    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/ttyS3
    uim:@ set_baud_rate
    COMMENTED OUT ti.c_cflag |= CRTSCTs
    uim:set_baud_rate() done
    (stc): st_tty_open
    [ 17.378075] (stk) :line discipline installeduim:Installed N_TI_WL Line displine
    uim:begin polling...
    [ 17.402144] hub 2-0:1.0: USB hub found
    [ 17.427492] hub 2-0:1.0: 1 port detected
    [ 18.057126] (stk) :unknown packet
    [ 18.060694] (stk) :unknown packet(stk) :unknown packet
    [ 18.065898] (stk) :unknown packet(stk) :TIInit_11.8.32.bts
    [ 18.071604] musb-hdrc musb-hdrc.2.auto: VBUS_ERROR in a_wait_vrise (80, <SessEnd), retry #3, port1 00080108
    [ 18.087400] (stk) :unknown packet
    [ 18.225472] (stk) :unknown packet[ 18.306368] hub 2-0:1.0: over-current condition on port 1
    [ 18.348983] musb-hdrc musb-hdrc.2.auto: VBUS_ERROR in a_wait_vrise (80, <SessEnd), retry #3, port1 0008010c
    [ 18.362639] (stk) :unknown packet
    [ 18.691673] cfg80211: Calling CRDA to update world regulatory domain
    [ 19.166242] (stk) :response timeout/signaled during fw download
    [ 19.172208] (stk) :download firmware failed(stk) :ldisc_install = 0uim:poll broke due to event 10(PRI:2/ERR:8)
    [ 19.179253] (stc): st_tty_close

    uim:read 0 from install

    uim:@ st_uart_config
    uim:Un-Ins[ 19.187401] Bluetooth: st_register failed -22
    talled N_TI_WL Line displine
    uim:begin polling...
    [ 20.145852] cfg80211: World regulatory domain updated:
    [ 20.151161] cfg80211: DFS Master region: unset
    [ 20.155554] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
    [ 20.165402] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
    [ 20.173487] cfg80211: (2457000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
    [ 20.181570] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 mBm), (N/A)
    [ 20.189659] cfg80211: (5170000 KHz - 5250000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (N/A)
    [ 20.199230] cfg80211: (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (0 s)
    [ 20.208796] cfg80211: (5490000 KHz - 5730000 KHz @ 160000 KHz), (N/A, 2000 mBm), (0 s)
    [ 20.216965] cfg80211: (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A)
    [ 20.225022] cfg80211: (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 0 mBm), (N/A)
    [ 20.366377] wlcore: Time Sync: gpio requested
    [ 20.757735] wlcore: wl18xx HW: 183x or 180x, PG 2.2 (ROM 0x11)
    [ 20.793191] EXT4-fs (mmcblk0boot0): mounted filesystem without journal. Opts: (null)
    [ 21.182230] EXT4-fs (mmcblk0p2): recovery complete
    [ 21.195659] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
    [ 21.219984] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    [ 21.294761] EXT4-fs (mmcblk0p3): recovery complete
    [ 21.312479] EXT4-fs (mmcblk0p7): recovery complete
    [ 21.317682] EXT4-fs (mmcblk0p3): mounted filesystem with ordered data mode. Opts: (null)
    [ 21.338337] EXT4-fs (mmcblk0p7): mounted filesystem with ordered data mode. Opts: (null)
    [ 21.372078] wlcore: loaded
    [ 21.374911] wlcore: driver version: R8.6-dirty
    [ 21.379489] wlcore: compilation time: Mon Dec 14 11:58:58 2015
    [ 21.467617] EXT4-fs (mmcblk0p5): recovery complete
    [ 21.472501] EXT4-fs (mmcblk0p5): mounted filesystem with ordered data mode. Opts: (null)
    [ 21.507277] EXT4-fs (mmcblk0p6): recovery complete
    [ 21.512153] EXT4-fs (mmcblk0p6): mounted filesystem with ordered data mode. Opts: (null)
    ALSA: Restoring mixer settings...
    /usr/sbin/alsactl: load_state:1729: No soundcards found...
    Mon Jul 6 20:55:00 UTC 2015
    INIT: Entering runlevel: 5
    NOT configuring network interfaces: / is an NFS mount
    Starting system message bus: dbus.
    Starting telnet daemon.
    Starting rpcbind daemon...rpcbind: cannot create socket for udp6
    rpcbind: cannot create socket for tcp6
    done.
    creating NFS state directory: done
    starting statd: done
    Starting syslogd/klogd: done
    Starting thttpd.
    Enabling thermal zones...
    /etc/rc5.d/S98thermal-zone-init: line 7: /sys/class/thermal/thermal_zone*/mode: No such file or directory
    Stopping Bootlog daemon: bootlogd.

    _____ _____ _ _
    | _ |___ ___ ___ ___ | _ |___ ___ |_|___ ___| |_
    | | _| .'| . | . | | __| _| . | | | -_| _| _|
    |__|__|_| |__,|_ |___| |__| |_| |___|_| |___|___|_|
    |___| |___|

    Arago Project http://arago-project.org am335x-evm /dev/ttyO1

    Arago 2015.05 am335x-evm /dev/ttyO1

    root@am335x-evm:/# hciconfig -a
    hci0: Type: BR/EDR Bus: UART
    BD Address: 00:00:00:00:00:00 ACL MTU: 0:0 SCO MTU: 0:0
    DOWN
    RX bytes:0 acl:0 sco:0 events:0 errors:0
    TX bytes:0 acl:0 sco:0 commands:0 errors:0

    root@am335x-evm:/# hciconfig hci0 up
    [ 7797.120632] (stc): chnl_id list empty :4
    [ 7797.124596] (stk) : st_kim_start(stk) :ldisc_install = 1uim:poll broke due to event 10(PRI:2/ERR:8)
    [ 7797.207800] (stc): st_tty_open

    uim:read 1 from install

    uim:@ st_uart_config
    uim: signa(stk) :line discipline installedl received, opening /dev/ttyS3
    uim:@ set_baud_rate
    COMMENTED OUT ti.c_cflag |= CRTSCTs
    uim:set_baud_rate() done
    uim:Installed N_TI_WL Line displine
    uim:begin polling...

    [ 7798.016162] (stk) : waiting for ver info- timed out or received signal(stk) :kim: failed to read local ver
    [ 7798.025908] (stk) :download firmware failed(stk) :ldisc_install = 0uim:poll broke due to event 10(PRI:2/ERR:8)
    [ 7798.033563] (stc): st_tty_close

    uim:read 0 from install

    uim:@ st_uart_config
    uim:Un-Installed N_TI_WL Line displine
    (stk) :ldisc_install = 1uim:begin polling...
    [ 7798.121710] (stc): st_tty_open
    uim:poll broke due to event 10(PRI:2/ERR:8)

    uim:read 1 from(stk) :line discipline installed install

    uim:@ st_uart_config
    uim: signal received, opening /dev/ttyS3
    uim:@ set_baud_rate
    COMMENTED OUT ti.c_cflag |= CRTSCTs
    uim:set_baud_rate() done
    uim:Installed N_TI_WL Line displine
    uim:begin polling...

    [ 7798.926229] (stk) : waiting for ver info- timed out or received signal(stk) :kim: failed to read local ver
    [ 7798.935969] (stk) :download firmware failed(stk) :ldisc_install = 0uim:poll broke due to event 10(PRI:2/ERR:8)
    [ 7798.943514] (stc): st_tty_close

    uim:read 0 from install

    uim:@ st_uart_config
    uim:Un-Installed N_TI_WL Line displine
    (stk) :ldisc_install = 1uim:begin polling...
    [ 7799.031450] (stc): st_tty_open
    uim:poll broke due to event 10(PRI:2/ERR:8)

    uim:read 1 from(stk) :line discipline installed install

    uim:@ st_uart_config
    uim: signal received, opening /dev/ttyS3
    uim:@ set_baud_rate
    COMMENTED OUT ti.c_cflag |= CRTSCTs
    uim:set_baud_rate() done
    uim:Installed N_TI_WL Line displine
    uim:begin polling...

    [ 7799.836196] (stk) : waiting for ver info- timed out or received signal(stk) :kim: failed to read local ver
    [ 7799.845939] (stk) :download firmware failed(stk) :ldisc_install = 0uim:poll broke due to event 10(PRI:2/ERR:8)
    [ 7799.853497] (stc): st_tty_close

    uim:read 0 from install

    uim:@ st_uart_config
    uim:Un-Installed N_TI_WL Line displine
    (stk) :ldisc_install = 1uim:begin polling...
    [ 7799.941140] (stc): st_tty_open
    uim:poll broke due to event 10(PRI:2/ERR:8)

    uim:read 1 from(stk) :line discipline installed install

    uim:@ st_uart_config
    uim: signal received, opening /dev/ttyS3
    uim:@ set_baud_rate
    COMMENTED OUT ti.c_cflag |= CRTSCTs
    uim:set_baud_rate() done
    uim:Installed N_TI_WL Line displine
    uim:begin polling...

    [ 7800.746195] (stk) : waiting for ver info- timed out or received signal(stk) :kim: failed to read local ver
    [ 7800.755933] (stk) :download firmware failed(stk) :ldisc_install = 0uim:poll broke due to event 10(PRI:2/ERR:8)
    [ 7800.763411] (stc): st_tty_close

    uim:read 0 from install

    uim:@ st_uart_config
    uim:Un-Installed N_TI_WL Line displine
    (stk) :ldisc_install = 1uim:begin polling...
    [ 7800.851023] (stc): st_tty_open
    uim:poll broke due to event 10(PRI:2/ERR:8)

    uim:read 1 from(stk) :line discipline installed install

    uim:@ st_uart_config
    uim: signal received, opening /dev/ttyS3
    uim:@ set_baud_rate
    COMMENTED OUT ti.c_cflag |= CRTSCTs
    uim:set_baud_rate() done
    uim:Installed N_TI_WL Line displine
    uim:begin polling...

    [ 7801.656234] (stk) : waiting for ver info- timed out or received signal(stk) :kim: failed to read local ver
    [ 7801.665998] (stk) :download firmware failed(stk) :ldisc_install = 0uim:poll broke due to event 10(PRI:2/ERR:8)
    [ 7801.673883] (stc): st_tty_close

    uim:read 0 from install

    uim:@ st_uart_config
    uim:Un-Installed N_TI_WL Line displine
    (stk) :ldisc_install = 1uim:begin polling...
    [ 7801.761648] (stc): st_tty_open
    uim:poll broke due to event 10(PRI:2/ERR:8)

    uim:read 1 from(stk) :line discipline installed install

    uim:@ st_uart_config
    uim: signal received, opening /dev/ttyS3
    uim:@ set_baud_rate
    COMMENTED OUT ti.c_cflag |= CRTSCTs
    uim:set_baud_rate() done
    uim:Installed N_TI_WL Line displine
    uim:begin polling...

    [ 7802.566211] (stk) : waiting for ver info- timed out or received signal(stk) :kim: failed to read local ver
    [ 7802.575956] (stk) :download firmware failed(stk) :ldisc_install = 0uim:poll broke due to event 10(PRI:2/ERR:8)
    [ 7802.583544] (stc): st_tty_close

    uim:read 0 from install

    uim:@ st_uart_config
    uim:Un-Ins[ 7802.592112] Bluetooth: st_register failed -22
    talled N_TI_WL Line displine
    uim:begin polling...
    Can't init device hci0: Input/output error (5)
    root@am335x-evm:/#

    Kindly do the needful as early as possible

    Many Thanks a lot in advance

  • HI,

    Can you tell me what changes you've done to the uim code and for what reason?
    I don't recollect seeing the below log before.

    "COMMENTED OUT ti.c_cflag |= CRTSCTs"

    The error suggests that the uim is not able to get a response from the device. This could mean many things - that you've the wrong dts mapping for BT_EN, or you got the uart device name wrong, or there is a uart issue on the platform.

    First thing to verify would be to check proper device power up (as per datasheet). Then to rule out any uart issue on the platform.

    Please also tell me what changes you have made to the original code?

    Regards,
    Gigi Joseph.
  • Sorry Gigi,

    1. "COMMENTED OUT ti.c_cflag |= CRTSCTs" that is the print added by me in ~/wl8-build/build-utilites/src/uim/uim.c & commented out the line as shown below

    static int set_baud_rate(int dev_fd)

    {

           UIM_START_FUNC();

           struct termios ti;

           tcflush(dev_fd, TCIOFLUSH);

           /* Get the attributes of UART */

           if (tcgetattr(dev_fd, &ti) < 0) {

                   UIM_ERR(" Can't get port settings");

                   return -1;

           }

           /* Change the UART attributes before

            * setting the default baud rate*/

           cfmakeraw(&ti);

           ti.c_cflag |= 1;

           printf("COMMENTED OUT  ti.c_cflag |= CRTSCTs\n");

    //      ti.c_cflag |= CRTSCTS;

           /* Set the attributes of UART after making

            * the above changes

            */

           tcsetattr(dev_fd, TCSANOW, &ti);

           /* Set the actual default baud rate */

           cfsetospeed(&ti, B115200);

           cfsetispeed(&ti, B115200);

           tcsetattr(dev_fd, TCSANOW, &ti);

           tcflush(dev_fd, TCIOFLUSH);

           UIM_DBG("set_baud_rate() done");

           return 0;

    }

    DTS mapping:

    ============

    kim {
    compatible = "kim";


    /* BT_EN for this board - Bank2, pin22 */
    nshutdown_gpio = <86>;
    dev_name = "/dev/ttyS3";
    flow_cntrl = <0>;
    baud_rate = <115200>;
    };

    btwilink {
    compatible = "btwilink";
    };

    wlan_pins_default: pinmux_wlan_pins_default {
    pinctrl-single,pins = <

    0xb0 ( PIN_OUTPUT_PULLUP | MUX_MODE7 ) /* (T1 = WIFI_PWR_ENABLE) lcd_data4.gpio2[10] */
    0x160 ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (C15 = WL_IRQ/MMC0_CD) spi0_cs1.gpio0[6] */
    0xe8 ( PIN_OUTPUT_PULLUP | MUX_MODE7 ) /* (U5 = WL_ENABLE ) lcd_dat3.gpio2[24] */

    0xe0 ( PIN_OUTPUT_PULLUP | MUX_MODE7 ) /* (U5 = BT_ENABLE ) lcd_vsync.gpio2[22] */
    // 0x164 ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (C18 = BT_IRQ) eCAP0_in_PWM0_out.gpio0[7] */
    0x1b4 ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (B15)= xdma_event_intr1.gpio0[20] also connected to UART3 RX*/
    >;
    };

    wlan_pins_sleep: pinmux_wlan_pins_sleep {
    pinctrl-single,pins = <

    0xb0 ( PIN_OUTPUT_PULLUP | MUX_MODE7 ) /* (T1 = WIFI_PWR_ENABLE) lcd_data4.gpio2[10] */
    0x160 ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (C15 = WL_IRQ/MMC0_CD) spi0_cs1.gpio0[6] */
    0xe8 ( PIN_OUTPUT_PULLUP | MUX_MODE7 ) /* (U5 = WL_ENABLE ) lcd_dat3.gpio2[24] */

    0xe0 ( PIN_OUTPUT_PULLUP | MUX_MODE7 ) /* (U5 = BT_ENABLE ) lcd_vsync.gpio2[22] */
    // 0x164 ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (C18 = BT_IRQ) eCAP0_in_PWM0_out.gpio0[7] */
    0x1b4 ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (B15)= xdma_event_intr1.gpio0[20] also connected to UART3 RX*/


    >;
    };


    /* For USB1 to UART3 for the BT Module*/
    &uart3 {
    status = "okay";
    };

    /* wl18xx card Bluetooth UART on uart3 which is UART over USB special PHY mode requiring mods to drivers/usb/phy/phy-am335x-control.c*/
    &usb1_phy{
    status = "okay";
    };

    &usb1 {
    status = "okay";
    dr_mode = "host"; // enable PHY for USB1 to UART3
    };

    2. Changes done in drivers/usb/phy-am335x-control.c to convert USB1 - UART3, We have converted USB1 controller to uart3 in drivers/usb/phy-am335x-control.c as shown in the above attachment

    If you send me your mail id to srinivasan.rns@gmail.com, I can share you the portion of the schematics

    #include <linux/module.h>
    #include <linux/platform_device.h>
    #include <linux/err.h>
    #include <linux/of.h>
    #include <linux/io.h>
    #include <linux/delay.h>
    #include "am35x-phy-control.h"
    
    struct am335x_control_usb {
    	struct device *dev;
    	void __iomem *phy_reg;
    	void __iomem *wkup;
    	spinlock_t lock;
    	struct phy_control phy_ctrl;
    };
    
    #define AM335X_USB0_CTRL		0x0
    #define AM335X_USB1_CTRL		0x8
    #define AM335x_USB_WKUP			0x0
    
    #define USBPHY_CM_PWRDN		(1 << 0)
    #define USBPHY_OTG_PWRDN	(1 << 1)
    #define USBPHY_OTGVDET_EN	(1 << 19)
    #define USBPHY_OTGSESSEND_EN	(1 << 20)
    
    #define USBPHY_CHGDET_DIS              (1 << 2)
    #define USBPHY_GPIO_MODE               (1 << 12)
    #define USBPHY_GPIO_SIG_INV            (1 << 13)
    #define USBPHY_GPIO_SIG_CROSS          (1 << 14)
    #define USBPHY_DPGPIO_PD               (1 << 17)
    #define USBPHY_DMGPIO_PD               (1 << 18)
    
    #define AM335X_PHY0_WK_EN	(1 << 0)
    #define AM335X_PHY1_WK_EN	(1 << 8)
    
    static void am335x_phy_wkup(struct  phy_control *phy_ctrl, u32 id, bool on)
    {
    	struct am335x_control_usb *usb_ctrl;
    	u32 val;
    	u32 reg;
    
    	usb_ctrl = container_of(phy_ctrl, struct am335x_control_usb, phy_ctrl);
    
    	switch (id) {
    	case 0:
    		reg = AM335X_PHY0_WK_EN;
    		break;
    	case 1:
    		reg = AM335X_PHY1_WK_EN;
    		break;
    	default:
    		WARN_ON(1);
    		return;
    	}
    
    	spin_lock(&usb_ctrl->lock);
    	val = readl(usb_ctrl->wkup);
    
    	if (on)
    		val |= reg;
    	else
    		val &= ~reg;
    
    	writel(val, usb_ctrl->wkup);
    	spin_unlock(&usb_ctrl->lock);
    }
    
    static void am335x_phy_power(struct phy_control *phy_ctrl, u32 id, bool on)
    {
    	struct am335x_control_usb *usb_ctrl;
    	u32 val;
    	u32 reg;
    
    	usb_ctrl = container_of(phy_ctrl, struct am335x_control_usb, phy_ctrl);
    
    	switch (id) {
    	case 0:
    		reg = AM335X_USB0_CTRL;
    		val = readl(usb_ctrl->phy_reg + reg);
    		if (on) {
    			val &= ~(USBPHY_CM_PWRDN | USBPHY_OTG_PWRDN);
    			val |= USBPHY_OTGVDET_EN | USBPHY_OTGSESSEND_EN;
    		}
    		else
    		{
    			val |= USBPHY_CM_PWRDN | USBPHY_OTG_PWRDN;
    		}
    
    		writel(val, usb_ctrl->phy_reg + reg);
    		break;
    	case 1:
    		reg = AM335X_USB1_CTRL;
    		val = readl(usb_ctrl->phy_reg + reg);
    		if (on) {
    			val &= ~(USBPHY_CM_PWRDN | USBPHY_OTG_PWRDN | USBPHY_CHGDET_DIS | USBPHY_GPIO_SIG_INV | USBPHY_DPGPIO_PD | USBPHY_DMGPIO_PD);
    			val |= USBPHY_OTGVDET_EN | USBPHY_OTGSESSEND_EN | USBPHY_GPIO_MODE | USBPHY_GPIO_SIG_CROSS;
    			dev_dbg(usb_ctrl->dev, "Enabling USB[1] to UART mode in phy control usb\n");
    		}
    		else
    		{
    			val |= USBPHY_CM_PWRDN | USBPHY_OTG_PWRDN;
    		}
    		writel(val, usb_ctrl->phy_reg + reg);
    		break;
    	default:
    		WARN_ON(1);
    		return;
    	}
    
    	/*
    	 * Give the PHY ~1ms to complete the power up operation.
    	 * Tests have shown unstable behaviour if other USB PHY related
    	 * registers are written too shortly after such a transition.
    	 */
    	if (on)
    		mdelay(1);
    }
    
    static const struct phy_control ctrl_am335x = {
    	.phy_power = am335x_phy_power,
    	.phy_wkup = am335x_phy_wkup,
    };
    
    static const struct of_device_id omap_control_usb_id_table[] = {
    	{ .compatible = "ti,am335x-usb-ctrl-module", .data = &ctrl_am335x },
    	{}
    };
    MODULE_DEVICE_TABLE(of, omap_control_usb_id_table);
    
    static struct platform_driver am335x_control_driver;
    static int match(struct device *dev, void *data)
    {
    	struct device_node *node = (struct device_node *)data;
    	return dev->of_node == node &&
    		dev->driver == &am335x_control_driver.driver;
    }
    
    struct phy_control *am335x_get_phy_control(struct device *dev)
    {
    	struct device_node *node;
    	struct am335x_control_usb *ctrl_usb;
    
    	node = of_parse_phandle(dev->of_node, "ti,ctrl_mod", 0);
    	if (!node)
    		return NULL;
    
    	dev = bus_find_device(&platform_bus_type, NULL, node, match);
    	ctrl_usb = dev_get_drvdata(dev);
    	if (!ctrl_usb)
    		return NULL;
    	return &ctrl_usb->phy_ctrl;
    }
    EXPORT_SYMBOL_GPL(am335x_get_phy_control);
    
    static int am335x_control_usb_probe(struct platform_device *pdev)
    {
    	struct resource	*res;
    	struct am335x_control_usb *ctrl_usb;
    	const struct of_device_id *of_id;
    	const struct phy_control *phy_ctrl;
    
    	of_id = of_match_node(omap_control_usb_id_table, pdev->dev.of_node);
    	if (!of_id)
    		return -EINVAL;
    
    	phy_ctrl = of_id->data;
    
    	ctrl_usb = devm_kzalloc(&pdev->dev, sizeof(*ctrl_usb), GFP_KERNEL);
    	if (!ctrl_usb) {
    		dev_err(&pdev->dev, "unable to alloc memory for control usb\n");
    		return -ENOMEM;
    	}
    
    	ctrl_usb->dev = &pdev->dev;
    
    	res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "phy_ctrl");
    	ctrl_usb->phy_reg = devm_ioremap_resource(&pdev->dev, res);
    	if (IS_ERR(ctrl_usb->phy_reg))
    		return PTR_ERR(ctrl_usb->phy_reg);
    
    	res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "wakeup");
    	ctrl_usb->wkup = devm_ioremap_resource(&pdev->dev, res);
    	if (IS_ERR(ctrl_usb->wkup))
    		return PTR_ERR(ctrl_usb->wkup);
    
    	spin_lock_init(&ctrl_usb->lock);
    	ctrl_usb->phy_ctrl = *phy_ctrl;
    
    	dev_set_drvdata(ctrl_usb->dev, ctrl_usb);
    	return 0;
    }
    
    static struct platform_driver am335x_control_driver = {
    	.probe		= am335x_control_usb_probe,
    	.driver		= {
    		.name	= "am335x-control-usb",
    		.owner	= THIS_MODULE,
    		.of_match_table = omap_control_usb_id_table,
    	},
    };
    
    module_platform_driver(am335x_control_driver);
    MODULE_LICENSE("GPL v2");
    

    Kindly do the needful

    Many thanks in advance

  • Hi,

    Why did you comment "ti.c_cflag |= CRTSCTS;" ?
    This is mandatory.

    Regards,
    Gigi Joseph.
  • Hi,

    In my design, am not using CTS & RTS Signals in the hardware & am using USB1_DP & USB1_DM as UART3 RX & TX signals so I commented "ti.c_cflag |= CRTSCTS;" , but having this uncommented 

    The below are the log messages seen..

    [    1.006270] brd: module loaded
    [    1.013978] loop: module loaded
    [    1.017505] (stk) :sysfs entries created
    [    1.021472] (stk) : debugfs entries created
    [    1.025761] (hci_tty): inside hci_tty_init
    [    1.030488] (hci_tty): allocated 250, 0
    
    
    INIT: version 2.88 booting
    Error opening /dev/fb0: No such file or directory
    UIM SYSFS Node Found at /sys/./devices/kim/install
    Starting uim-sysfs daemon.
    uim:@ main
    uim:install = /sys/./devices/kim/install
    uim:dev_name = /sys/./devices/kim/dev_name
    uim:baud_rate = /sys/./devices/kim/baud_rate
    uim:flow_cntrl = /sys/./devices/kim/flow_cntrl
    uim:begin polling...
    Starting udev
    [    6.140829] udevd[896]: starting version 182
    [    6.194495] random: nonblocking pool is initialized
    [    8.140146] 47401300.usb-phy supply vcc not found, using dummy regulator
    [    8.232947] 47401b00.usb-phy supply vcc not found, using dummy regulator
    [    8.892182] lm75 0-0048: hwmon0: sensor 'tcn75'
    [    8.931308]  remoteproc0: powering up wkup_m3
    [    9.119455]  remoteproc0: Booting fw image am335x-pm-firmware.elf, size 154412
    [    9.253118] PM: CM3 Firmware Version = 0x190
    [    9.356532]  remoteproc0: remote processor wkup_m3 is now up
    
    udevadm settle - timeout of 3 seconds reached, the event queue contains:
      /sys/devices/btwilink (799)
      /sys/devices/ocp/44e0b000.i2c/i2c-0/0-0024/tps65217-bl (839)
      /sys/devices/ocp/44e0b000.i2c/i2c-0/0-0024/tps65217-pmic (840)
      /sys/devices/ocp/44e0b000.i2c/i2c-0/0-0048 (841)
      /sys/devices/ocp/44e0d000.tscadc/TI-am335x-adc (844)
      /sys/devices/ocp/47400000.usb (849)
      /sys/devices/ocp/48038000.mcasp (851)
      /sys/devices/ocp/48060000.mmc/mmc_host/mmc0/mmc0:0001 (860)
      /sys/devices/ocp/48060000.mmc/mmc_host/mmc0/mmc0:0001/mmc0:0001:1 (861)
      /sys/devices/ocp/48060000.mmc/mmc_host/mmc0/mmc0:0001/mmc0:0001:2 (862)
      /sys/devices/ocp/481d8000.mmc/mmc_host/mmc1/mmc1:0001 (875)
      /sys/devices/ocp/481d8000.mmc/mmc_host/mmc1/mmc1:0001/block/mmcblk0 (876)
      /sys/devices/ocp/481d8000.mmc/mmc_host/mmc1/mmc1:0001/block/mmcblk0/mmcblk0boot0 (877)
      /sys/devices/ocp/481d8000.mmc/mmc_host/mmc1/mmc1:0001/block/mmcblk0/mmcblk0boot1 (878)
      /sys/devices/ocp/481d8000.mmc/mmc_host/mmc1/mmc1:0001/block/mmcblk0/mmcblk0p1 (879)
      /sys/devices/ocp/481d8000.mmc/mmc_host/mmc1/mmc1:0001/block/mmcblk0/mmcblk0p2 (880)
      /sys/devices/ocp/481d8000.mmc/mmc_host/mmc1/mmc1:0001/block/mmcblk0/mmcblk0p3 (881)
      /sys/devices/ocp/481d8000.mmc/mmc_host/mmc1/mmc1:0001/block/mmcblk0/mmcblk0p4 (882)
      /sys/devices/ocp/481d8000.mmc/mmc_host/mmc1/mmc1:0001/block/mmcblk0/mmcblk0p5 (883)
      /sys/devices/ocp/481d8000.mmc/mmc_host/mmc1/mmc1:0001/block/mmcblk0/mmcblk0p6 (884)
      /sys/devices/ocp/481d8000.mmc/mmc_host/mmc1/mmc1:0001/block/mmcblk0/mmcblk0p7 (885)
      /sys/devices/ocp/48302000.epwmss/48302200.ehrpwm (888)
      /sys/devices/ocp/48302000.epwmss/48302200.ehrpwm/pwm/pwmchip0 (889)
      /sys/devices/ocp/4a100000.ethernet/44e10650.cpsw-phy-sel (893)
      /sys/devices/ocp/4a100000.ethernet/4a101000.mdio (894)
      /sys/devices/ocp/4a100000.ethernet/4a101000.mdio/4a101000.mdio:01 (895)
      /sys/devices/ocp/4a100000.ethernet/4a101000.mdio/mdio_bus/4a101000.mdio (896)
      /sys/devices/ocp/4a100000.ethernet/net/eth0 (897)
      /sys/devices/platform/alarmtimer (904)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan0 (907)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan1 (908)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan10 (909)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan11 (910)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan12 (911)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan13 (912)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan14 (913)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan15 (914)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan16 (915)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan17 (916)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan18 (917)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan19 (918)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan2 (919)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan20 (920)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan21 (921)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan22 (922)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan23 (923)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan24 (924)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan25 (925)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan26 (926)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan27 (927)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan28 (928)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan29 (929)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan3 (930)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan30 (931)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan31 (932)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan32 (933)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan33 (934)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan34 (935)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan35 (936)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan36 (937)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan37 (938)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan38 (939)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan39 (940)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan4 (941)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan40 (942)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan41 (943)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan42 (944)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan43 (945)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan44 (946)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan45 (947)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan46 (948)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan47 (949)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan48 (950)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan49 (951)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan5 (952)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan50 (953)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan51 (954)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan52 (955)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan53 (956)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan54 (957)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan55 (958)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan56 (959)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan57 (960)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan58 (961)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan59 (962)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan6 (963)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan60 (964)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan61 (965)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan62 (966)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan63 (967)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan7 (968)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan8 (969)
      /sys/devices/platform/edma-dma-engine.0/dma/dma0chan9 (970)
      /sys/devices/platform/omap-pcm-audio (971)
      /sys/devices/platform/oprofile-perf.0 (972)
      /sys/devices/platform/reg-dummy (973)
      /sys/devices/platform/reg-dummy/regulator/regulator.0 (974)
      /sys/devices/platform/serial8250 (975)
      /sys/devices/platform/snd-soc-dummy (976)
      /sys/devices/pmu (977)
      /sys/devices/power_enable (978)
      /sys/devices/smartrf (979)
      /sys/devices/soc (980)
      /sys/devices/soc/soc:mpu (981)
      /sys/devices/sound (984)
      /sys/devices/system/cpu/cpu0 (987)
    Starting Bootlog daemon: [   10.958980] Bluetooth: Core ver 2.18
    [   10.962802] NET: Registered protocol family 31
    [   10.967372] Bluetooth: HCI device and connection manager initialized
    [   11.010801] Loading modules backported from Linux version R8.6-0-g3f5b34f
    [   11.017760] Backport generated by backports.git R8.6SP1-0-g4677dc3
    [   11.266619] Bluetooth: HCI socket layer initialized
    [   11.475429] Bluetooth: L2CAP socket layer initialized
    bootlogd: cannot allocate pseudo tty: No such file or directory
    bootlogd.
    [   11.540981] Bluetooth: SCO socket layer initialized
    [   11.793211] (stc):  chnl_id list empty :4
    [   11.797283] (stk) : st_kim_start(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, opening /dev/ttyS3
    uim:@ set_baud_rate
    uim:set_baud_rate() done
    uim:Setting speed to 1000000
    uim:@ read_command_complete
    uim: Command complete started
    uim:@ read_hci_event
    uim: read_hci_event
    uim:Invalid response
    uim:begin polling...
    
    [   12.886158] (stk) :ldisc installation timeout(stk) :ldisc_install = 0uim: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...
    
    [   13.886147] (stk) : timed out waiting for ldisc to be un-installed(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, opening /dev/ttyS3
    uim:@ set_baud_rate
    uim:set_baud_rate() done
    uim:Setting speed to 1000000
    uim:@ read_command_complete
    uim: Command complete started
    uim:@ read_hci_event
    uim: read_hci_event
    uim:Invalid response
    uim:begin polling...
    
    [   14.966104] (stk) :ldisc installation timeout(stk) :ldisc_install = 0uim: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...
    
    [   15.966132] (stk) : timed out waiting for ldisc to be un-installed(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, opening /dev/ttyS3
    uim:@ set_baud_rate
    uim:set_baud_rate() done
    uim:Setting speed to 1000000
    uim:@ read_command_complete
    uim: Command complete started
    uim:@ read_hci_event
    uim: read_hci_event
    uim:Invalid response
    uim:begin polling...
    
    [   17.046898] (stk) :ldisc installation timeout(stk) :ldisc_install = 0uim:poll broke due to event 10(PRI:2/ERR:8)
    
    uim:read 0 from install
    
    uim:@ st_uart_config
    uim:Un-Ins
    talled N_TI_WL Line displine
    uim:begin polling...
    [   17.063597] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
    [   17.317868] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 1
    [   17.486476] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
    [   17.493348] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [   17.500673] usb usb1: Product: MUSB HDRC host driver
    [   17.505682] usb usb1: Manufacturer: Linux 3.14.43-g875c69b musb-hcd
    [   17.512022] usb usb1: SerialNumber: musb-hdrc.1.auto
    [   18.046155] (stk) : timed out waiting for ldisc to be un-installed
    [   18.129315] (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, opening /dev/ttyS3
    uim:@ set_baud_rate
    uim:set_baud_rate() done
    uim:Setting speed to 1000000
    uim:@ read_command_[   18.149294] hub 1-0:1.0: USB hub found
    complete
    uim: Command complete started
    uim:@ read_hci_event
    uim: read_hci_event
    [   18.324536] hub 1-0:1.0: 1 port detected
    uim:Invalid response
    uim:begin polling...
    [   18.444540] Enabling USB[1] to UART mode in phy control usb
    [   18.573302] musb-hdrc musb-hdrc.2.auto: MUSB HDRC host driver
    [   18.759718] musb-hdrc musb-hdrc.2.auto: new USB bus registered, assigned bus number 2
    [   18.896575] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
    [   18.903445] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [   18.910778] usb usb2: Product: MUSB HDRC host driver
    [   18.915786] usb usb2: Manufacturer: Linux 3.14.43-g875c69b musb-hcd
    [   18.922130] usb usb2: SerialNumber: musb-hdrc.2.auto
    [   19.126143] (stk) :ldisc installation timeout
    [   19.130395] (stk) :ldisc_install = 0uim: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...
    [   19.165420] cfg80211: Calling CRDA to update world regulatory domain
    [   19.346264] hub 2-0:1.0: USB hub found
    [   19.416118] hub 2-0:1.0: 1 port detected
    [   20.096390] musb-hdrc musb-hdrc.2.auto: VBUS_ERROR in a_wait_vrise (80, <SessEnd), retry #3, port1 0008010c
    [   20.126093] (stk) : timed out waiting for ldisc to be un-installed
    [   20.209453] (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, opening /dev/ttyS3
    uim:@ set_baud_rate
    uim:set_baud_rate() done
    uim:Setting speed to 1000000
    uim:@ read_command_complete
    uim: Command complete started
    uim:@ read_hci_event
    uim: read_hci_event
    uim:Invalid response
    uim:begin polling...
    [   20.687398] EXT4-fs (mmcblk0boot0): mounted filesystem without journal. Opts: (null)
    [   20.919046] wlcore: Time Sync: gpio requested
    [   20.926524] nvs_cbbbbbbbbbbbbb
    [   20.960094] RISING EDGEEEEEEEEEEEEE
    [   20.986847] cfg80211: World regulatory domain updated:
    [   20.992067] cfg80211:  DFS Master region: unset
    [   20.996519] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
    [   21.006368] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
    [   21.014429] cfg80211:   (2457000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
    [   21.022513] cfg80211:   (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 mBm), (N/A)
    [   21.030632] cfg80211:   (5170000 KHz - 5250000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (N/A)
    [   21.040206] cfg80211:   (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (0 s)
    [   21.049782] cfg80211:   (5490000 KHz - 5730000 KHz @ 160000 KHz), (N/A, 2000 mBm), (0 s)
    [   21.057953] cfg80211:   (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A)
    [   21.066034] cfg80211:   (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 0 mBm), (N/A)
    [   21.075240] EXT4-fs (mmcblk0p5): mounted filesystem with ordered data mode. Opts: (null)
    [   21.206129] (stk) :ldisc installation timeout
    [   21.210384] (stk) :ldisc_install = 0uim: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...
    [   21.377915] wlcore: wl18xx HW: 183x or 180x, PG 2.2 (ROM 0x11)
    [   21.399229] EXT4-fs (mmcblk0p6): mounted filesystem with ordered data mode. Opts: (null)
    [   21.441984] wlcore: loaded
    [   21.444824] wlcore: driver version: R8.6-dirty
    [   21.449432] wlcore: compilation time: Thu Dec 10 16:34:54 2015
    [   21.474517] EXT4-fs (mmcblk0p3): mounted filesystem with ordered data mode. Opts: (null)
    [   21.489691] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    [   21.517294] EXT4-fs (mmcblk0p7): mounted filesystem with ordered data mode. Opts: (null)
    [   21.556377] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
    [   22.206098] (stk) : timed out waiting for ldisc to be un-installed
    [   22.289417] (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, opening /dev/ttyS3
    uim:@ set_baud_rate
    uim:set_baud_rate() done
    uim:Setting speed to 1000000
    uim:@ read_command_complete
    uim: Command complete started
    uim:@ read_hci_event
    uim: read_hci_event
    uim:Invalid response
    uim:begin polling...
    (stk) :ldisc installation timeout
    [   23.289070] (stk) :ldisc_install = 0uim: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...
    ALSA: Restoring mixer settings...
    /usr/sbin/alsactl: load_state:1729: No soundcards found...
    INIT: Entering runlevel: 5
    (stk) : timed out waiting for ldisc to be un-installed
    [   24.292355] Bluetooth: st_register failed -22
    NOT configuring network interfaces: / is an NFS mount
    Starting system message bus: dbus.
    Starting telnet daemon.
    Starting rpcbind daemon...rpcbind: cannot create socket for udp6
    rpcbind: cannot create socket for tcp6
    done.
    creating NFS state directory: done
    starting statd: done
    Starting syslogd/klogd: done
    Starting thttpd.
    Enabling thermal zones...
    /etc/rc5.d/S98thermal-zone-init: line 7: /sys/class/thermal/thermal_zone*/mode: No such file or directory
    Stopping Bootlog daemon: bootlogd.
    
     _____                    _____           _         _
    |  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
    |     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
    |__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
                  |___|                    |___|
    
    Arago Project http://arago-project.org am335x-evm /dev/ttyO1
    
    Arago 2015.05 am335x-evm /dev/ttyO1
    
    am335x-evm login: root
    root@am335x-evm:~#
    root@am335x-evm:~#
    root@am335x-evm:~#
    root@am335x-evm:~# cd /
    root@am335x-evm:/#
    root@am335x-evm:/#
    root@am335x-evm:/#

    Kindly do the needful

    Many Thanks in advance

  • Hi,

    Please check the hardware integration guide - www.ti.com/.../swru437
    The RTS/CTS lines are mandatory.

    Regards,
    Gigi Joseph.
  • Hi Gigi,


    Just one doubt w.r.t BT_EN pin, Could you please let me know does the BT_EN pin needs to be continously held high, duirng bootup for getting the chip to be proper BT functioning

    or Is that enough that BT_EN pin goes high only during if "hciconfig hci0 up" is activated??, as am currently seeing that BT_EN pin goes high only if "hciconfig hci0 up" is activated. is this is expected behaviour???


    Kindly do the needful as early as possible,

    Many Thanks in adavnce
  • Yes, it is the expected behaviour.

    Regards,
    Gigi Joseph.
  • Thanks a lot for your quick responses Gigi,

    Could you please jus reconfirm w.r.t WL_EN pin as well ? is that needs to be continously held high, duirng bootup for getting the chip to be proper WLAN functioning??

    or Is that enough that WLAN_EN pin goes high only during if "ifconfig wlan0 up" is activated??, as am currently seeing that WLAN_EN pin goes high only if "ifconfig wlan0 up" is activated. is this is expected behaviour???


    Kindly do the needful as early as possible,
    Many Thanks in adavnce
  • Yes

    Regards,
    Gigi Joseph.
  • Dear Gigi,


    As of now my BT is up, but few devices are not getting scanned sometimes, could you please let me know is there any limitations on wl1831 module for getting scanned only few devices if you see in the below logs for ex:Micromax A110 is not getting scanned sometimes or am I missing any sequence??

    I have attached DTS for your reference


    root@ti:/# hciconfig -a
    hci0: Type: BR/EDR Bus: UART
    BD Address: 00:00:00:00:00:00 ACL MTU: 0:0 SCO MTU: 0:0
    DOWN
    RX bytes:0 acl:0 sco:0 events:0 errors:0
    TX bytes:0 acl:0 sco:0 commands:0 errors:0

    root@ti:/# hciconfig hci0 up
    [ 57.856533] (stc): chnl_id list empty :4
    [ 57.860784] (stk) : st_kim_start(stk) :ldisc_install = 1uim:poll broke due to event 10(PRI:2/ERR:8)

    uim:read 1 f
    [ 57.944459] (stc): st_tty_open rom install

    uim:@ st_uart_config
    uim: signa(stk) :line discipline installedl received, opening /dev/ttyO3
    uim:@ set_baud_rate
    uim:set_bau
    [ 57.961461] (stk) :TIInit_11.8.32.btsd_rate() done
    uim:Installed N_TI_WL Line displine
    uim:begin polling...
    [ 60.669164] (stk) :sleep command in scr
    [ 60.747845] (stk) :sleep command in scr[ 64.086153] (stc): add_channel_to_table: id 4
    [ 64.090821] (stc): add_channel_to_table: id 2
    [ 64.095399] (stc): add_channel_to_table: id 3
    root@ti:/# hcitool scan
    Scanning ...
    40:B8:9A:1A:75:A2 n/a
    A4:5E:60:DC:54:46 Brijesh Singh’s MacBook Pro
    E0:06:E6:D4:FC:56 n/a
    root@ti:/# hcitool scan
    Scanning ...
    A4:5E:60:DC:54:46 Brijesh Singh’s MacBook Pro
    E0:06:E6:D4:FC:56 AVNISHGOEL
    root@ti:/# hcitool scan
    Scanning ...
    A4:5E:60:DC:54:46 n/a
    E0:06:E6:D4:FC:56 AVNISHGOEL
    root@ti:/# hcitool scan
    Scanning ...
    E0:06:E6:D4:FC:56 AVNISHGOEL
    root@ti:/# hcitool scan
    Scanning ...
    E0:06:E6:D4:FC:56 AVNISHGOEL
    root@ti:/# hcitool scan
    Scanning ...
    E0:06:E6:D4:FC:56 AVNISHGOEL
    root@ti:/# hcitool scan
    Scanning ...
    A4:5E:60:DC:54:46 Brijesh Singh’s MacBook Pro
    E0:06:E6:D4:FC:56 AVNISHGOEL
    D0:B3:3F:91:A1:8A Micromax A110
    E8:91:20:12:B4:44 XT1068
    root@ti:/# hcitool scan
    Scanning ...
    A4:5E:60:DC:54:46 Brijesh Singh’s MacBook Pro
    E0:06:E6:D4:FC:56 AVNISHGOEL
    D0:B3:3F:91:A1:8A Micromax A110
    E8:91:20:12:B4:44 XT1068
    root@ti:/# hcitool scan
    Scanning ...
    40:B8:9A:1A:75:A2 n/a
    A4:5E:60:DC:54:46 Brijesh Singh’s MacBook Pro
    D0:B3:3F:91:A1:8A Micromax A110
    E0:06:E6:D4:FC:56 AVNISHGOEL
    14:30:C6:85:9A:9C XT1033
    root@ti:/# hcitool scan
    Scanning ...
    A4:5E:60:DC:54:46 Brijesh Singh’s MacBook Pro
    40:B8:9A:1A:75:A2 n/a
    D0:B3:3F:91:A1:8A Micromax A110
    14:30:C6:85:9A:9C Kamal
    E0:06:E6:D4:FC:56 AVNISHGOEL
    root@ti:/#
    root@ti:/# hcitool scan
    Scanning ...
    A4:5E:60:DC:54:46 Brijesh Singh’s MacBook Pro
    E0:06:E6:D4:FC:56 AVNISHGOEL
    root@ti:/# hcitool scan
    Scanning ...
    A4:5E:60:DC:54:46 Brijesh Singh’s MacBook Pro
    E0:06:E6:D4:FC:56 AVNISHGOEL
    root@ti:/# hcitool scan
    Scanning ...
    A4:5E:60:DC:54:46 Brijesh Singh’s MacBook Pro
    E0:06:E6:D4:FC:56 AVNISHGOEL
    root@ti:/# hcitool scan
    Scanning ...
    A4:5E:60:DC:54:46 Brijesh Singh’s MacBook Pro
    40:B8:9A:1A:75:A2 n/a
    E0:06:E6:D4:FC:56 AVNISHGOEL
    root@ti:/# hcitool scan
    Scanning ...
    A4:5E:60:DC:54:46 Brijesh Singh’s MacBook Pro
    40:B8:9A:1A:75:A2 n/a
    E0:06:E6:D4:FC:56 AVNISHGOEL
    root@ti:/# hcitool scan
    Scanning ...
    40:B8:9A:1A:75:A2 n/a
    60:6D:C7:1E:E8:66 n/a
    E0:06:E6:D4:FC:56 AVNISHGOEL
    A4:5E:60:DC:54:46 Brijesh Singh’s MacBook Pro
    root@ti:/# hcitool scan
    Scanning ...
    40:B8:9A:1A:75:A2 n/a
    A4:5E:60:DC:54:46 n/a
    E0:06:E6:D4:FC:56 AVNISHGOEL
    root@ti:/# hcitool scan
    Scanning ...
    40:B8:9A:1A:75:A2 n/a
    A4:5E:60:DC:54:46 n/a
    E0:06:E6:D4:FC:56 AVNISHGOEL
    root@ti:/#

    /*
     * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
     *
     * This program is free software; you can redistribute it and/or modify
     * it under the terms of the GNU General Public License version 2 as
     * published by the Free Software Foundation.
     */
    #include <dt-bindings/interrupt-controller/irq.h>
    
    / {
        model = "xxxxxxxxxx";
    	compatible = "ti,am335x-bone", "ti,am33xx";
    
    
    	wlan_en_reg: fixedregulator@1 {
    		compatible = "regulator-fixed";
    		regulator-name = "wlan-en-regulator";
    		regulator-min-microvolt = <1800000>;
    		regulator-max-microvolt = <1800000>;
    		/* WLAN_PWR_EN GPIO for this board - Bank2, pin24 */
    		gpio = <&gpio2 24 GPIO_ACTIVE_HIGH>;
    
    		startup-delay-us = <70000>;
    		enable-active-high;
    //		regulator-always-on;
    	};
    	
    	reg_1p8v: 1p8v {
    		compatible = "regulator-fixed";
    		regulator-name = "1p8v";
    		regulator-min-microvolt = <1800000>;
    		regulator-max-microvolt = <1800000>;
    	};
    	
    	
    	kim {
    		compatible = "kim";
    
    		/* BT_EN for this board - Bank2, pin22 */
    		nshutdown_gpio = <86>;
    //		dev_name = "/dev/ttyS3";
    		dev_name = "/dev/ttyO3";
    //		flow_cntrl = <1>;
    		flow_cntrl = <0>;
    //		baud_rate = <1000000>;
    		baud_rate = <115200>;
    //		baud_rate = <9600>;
    	};
    
    	btwilink {
    		compatible = "btwilink";
    	};
    
    };
    
    &am33xx_pinmux {
    	pinctrl-names = "default", "sleep";
    	//pinctrl-0 = <&wlan_pins_default>;
    	//pinctrl-1 = <&wlan_pins_sleep>;
    
     	/* wl18xx uses SDIO port mmc0 alias mmc1 in dts */
        mmc1_pins_default: pinmux_mmc1_pins {
            pinctrl-single,pins = <
                0x0F0 (PIN_INPUT_PULLUP | MUX_MODE0)    /* mmc0_dat3.mmc0_dat3 */
                0x0F4 (PIN_INPUT_PULLUP | MUX_MODE0)    /* mmc0_dat2.mmc0_dat2 */
                0x0F8 (PIN_INPUT_PULLUP | MUX_MODE0)    /* mmc0_dat1.mmc0_dat1 */
                0x0FC (PIN_INPUT_PULLUP | MUX_MODE0)    /* mmc0_dat0.mmc0_dat0 */
                0x100 (PIN_INPUT_PULLUP | MUX_MODE0)    /* mmc0_clk.mmc0_clk */
                0x104 (PIN_INPUT_PULLUP | MUX_MODE0)    /* mmc0_cmd.mmc0_cmd */
            >;
        };
    
        mmc1_pins_sleep: pinmux_mmc1_pins_sleep {
            pinctrl-single,pins = <
                0x0F0 (PIN_INPUT_PULLDOWN | MUX_MODE7)
                0x0F4 (PIN_INPUT_PULLDOWN | MUX_MODE7)
                0x0F8 (PIN_INPUT_PULLDOWN | MUX_MODE7)
                0x0FC (PIN_INPUT_PULLDOWN | MUX_MODE7)
                0x100 (PIN_INPUT_PULLDOWN | MUX_MODE7)
                0x104 (PIN_INPUT_PULLDOWN | MUX_MODE7)
            >;
        };
    
     	/* wl18xx card enable/irq GPIOs. */
    	/* In addition to the MMC, UART interfaces, the WiLink module needs three additional GPIO lines: */
    	/*		WLAN Power Enable (GPIO2_10): Set as an output pin */
    	/* 		WLAN Irq (GPIO0_6): Set as a GPIO input pin */
    	/* 		BT Irq (GPIO0_7): Set as a GPIO input pin */
    	/* 		BT/GPS Enable (GPIO2_22): Set as a GPIO output pin with pull-up enabled. */
    	/* The pullup is needed for keeping the chip enabled when system is suspending so we would not need */
    	/* to releoad the firmware after each suspend/resume cycle.*/
    	wlan_pins_default: pinmux_wlan_pins_default {
    		pinctrl-single,pins = <
    	
    			0xe8 ( PIN_OUTPUT_PULLDOWN /*PIN_OUTPUT_PULLUP */ | MUX_MODE7 ) 		/* (U5 = WL_ENABLE ) lcd_dat3.gpio2[24] */
    			0x160 ( PIN_INPUT_PULLUP | MUX_MODE7 ) 		/* (C15 = WL_IRQ/MMC0_CD) spi0_cs1.gpio0[6] */
    			0xb0 ( PIN_OUTPUT_PULLUP | MUX_MODE7 ) 		/* (T1 = WIFI_PWR_ENABLE) lcd_data4.gpio2[10] */
    
    
    
    			0xe0 ( PIN_OUTPUT_PULLUP | MUX_MODE7 ) 		/* (U5 = BT_ENABLE ) lcd_vsync.gpio2[22] */			
    			0x164 ( PIN_INPUT_PULLUP | MUX_MODE7 ) 		/* (C18 = BT_IRQ) eCAP0_in_PWM0_out.gpio0[7] */
    			0x1b4 ( PIN_INPUT_PULLUP | MUX_MODE7 ) 		/* (B15)= xdma_event_intr1.gpio0[20] also connected to UART3 RX*/			
    		>;
    	};
    
    	wlan_pins_sleep: pinmux_wlan_pins_sleep {
    		pinctrl-single,pins = <
    	
    			0xe8 ( PIN_OUTPUT_PULLDOWN/* PIN_OUTPUT_PULLUP */ | MUX_MODE7 ) 	/* (U5 = WL_ENABLE ) lcd_dat3.gpio2[24] */
    			0x160 ( PIN_INPUT_PULLUP | MUX_MODE7 ) 		/* (C15 = WL_IRQ/MMC0_CD) spi0_cs1.gpio0[6] */
    			0xb0 ( PIN_OUTPUT_PULLUP | MUX_MODE7 ) 	/* (T1 = WIFI_PWR_ENABLE) lcd_data4.gpio2[10] */
    
    
    
    			0xe0 ( PIN_OUTPUT_PULLUP | MUX_MODE7 ) 	/* (U5 = BT_ENABLE ) lcd_vsync.gpio2[22] */			
    			0x164 ( PIN_INPUT_PULLUP | MUX_MODE7 ) 		/* (C18 = BT_IRQ) eCAP0_in_PWM0_out.gpio0[7] */
    			0x1b4 ( PIN_INPUT_PULLUP | MUX_MODE7 ) 		/* (B15)= xdma_event_intr1.gpio0[20] also connected to UART3 RX*/
    
    	
    		>;
    	};
    
    };
    
    /* For USB1 to UART3 for the BT Module*/
    &uart3 {
    	status = "okay";
    };
    	
    /* wl18xx card Bluetooth UART on uart3 which is UART over USB special PHY mode requiring mods to drivers/usb/phy/phy-am335x-control.c*/
    &usb1_phy{
    	status = "okay";
    };
    
    &usb1 {
    	status = "okay";
    //	dr_mode = "host"; // enable PHY for USB1 to UART3
    };
    
    &mmc1{
    	status = "okay";
    	vmmc-supply = <&wlan_en_reg>;
    	vqmmc-supply = <&reg_1p8v>;
    	voltage-ranges = <1800 1800>;
    	bus-width = <4>;
    	pinctrl-names = "default", "sleep";
    	pinctrl-0 = <&mmc1_pins_default &wlan_pins_default>;
    	pinctrl-1 = <&mmc1_pins_sleep &wlan_pins_sleep>;
    	ti,non-removable;
    	ti,needs-special-hs-handling;
    	cap-power-off-card;
    	keep-power-in-suspend;
    	enable-sdio-wakeup;
    
    	#address-cells = <1>;
    	#size-cells = <0>;
    	wlcore: wlcore@0 {
    		compatible = "ti,wl1831";
    		reg = <2>;
    		interrupt-parent = <&gpio0>;
    		interrupts = <6 IRQ_TYPE_EDGE_FALLING>; 	/* WL_IRQ gpio0[6] has an inverting levelshift on baseboard */
    		pwr-enable = <&gpio2 24 0>;
    	};
    };
    

    Kindly do the needful as early as possible

    Many Thanks in advance

  • Hi,

    Please verify that the latest bts file is being used. The bts file is available at: www.ti.com/.../wl18xx-bt-sp
    There are no limitations on the wl1831mod to not scan certain devices as long as they are discoverable and within range.

    Please also note that it's not guaranteed that all discoverable devices are discovered every time during a scan process. Please see: "Inquiry Substate" in the BT spec for more details.

    Regards,
    Gigi Joseph.