none
WEC7 CTK Bluetooth performance test issue RRS feed

  • Question

  • Hi,

    I'm developing a Bluetooth transport driver on an SDP4430 platform for WEC7.
    My test setup is made of two devices running our build of WEC7, both have Bluetooth turned on and discoverable.
    The bthsettings.exe application on each device is able to discover and pair successfully with the other device (and other devices such as my smartphone).
    Also, I can send files from my Android phone to the device (although at unsatisfactory speeds).

    I'm now trying to run the Bluetooth performance test from the CTK, but I haven't been able to run it properly yet.

    Here's what I try to do:

    On one device (my Left device, the "PEER" in CTK terminology), I'm running the command:
    tux -o -d perf_bluetooth.dll -c " -i 10 -p 12 -b 163840"

    And I see in the kernel log:
    PID:09EC0032 TID:09F60032    BEGIN TEST: "   RFCOMM Setup and Teardown Tests", Threads=0, Seed=17741
    PID:09EC0032 TID:09F60032       ** RFCOMM ** binding to 0x0c
    PID:09EC0032 TID:09F60032       ** RFCOMM ** localhost<0800280e0e6c> listening on port 12(0xc)...
    PID:09EC0032 TID:09F60032       ** RFCOMM ** Accepting...


    On the other device (My Right device, the "DUT"), I'm running the command:
    tux -o -d perf_bluetooth.dll -c " -i 1 -p 12 -b 163840 -s 0800280e0e6c -r -c"

    But then I see in the kernel log:
    PID:0976005A TID:0975005A    BEGIN TEST: "   RFCOMM Setup and Teardown Tests", Threads=0, Seed=29140
    PID:0976005A TID:0975005A       PACKET RATES info will be saved in files [-c*]
    PID:0976005A TID:0975005A       ** RFCOMM ** Connecting to peer device...
    PID:0976005A TID:0975005A       ** RFCOMM ** Connect failed, error = 10060
    PID:0976005A TID:0975005A ShellProc(SPM_END_TEST, ...) called
    PID:0976005A TID:0975005A    END TEST: "   RFCOMM Setup and Teardown Tests", FAILED, Time=5.782
    PID:0976005A TID:0975005A    *** ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


    This seems to suggest a timeout (10060), but the time from "Connecting to peer device..." to "Connect failed" is just a fraction of a second.
    (Also, if I try to connect to a Mac address that does not exist, it takes much longer, some 3 seconds, to time-out)

    Do you have any recommendation where can I continue from here? How can I get the test to run?

    A couple of additional notes:

    * My BT transport driver does not detect or report any error condition - it looks like every HCI send/receive operation is completed successfully.

    * I have a more elaborate log of packets and their contents being sent and received on both sides. But since I'm not fluent in HCI binary data, these logs don't tell me anything.  Also - how can I attach a file to a post here?

    • Edited by Ilan Tayari Tuesday, September 4, 2012 6:19 AM
    Tuesday, September 4, 2012 6:16 AM

All replies

  • Hi,

    If you are trying to figure out as to whats going wrong you can try the btdc.exe sample application in public\common\oak\drivers\bluetooth\sample.

    This is a command line utility to debug bluetooth.

    Link:

    http://support.microsoft.com/kb/328900

    I didnt have 2 WinCE devices to run performance test and used this instead.

    Regards,

    Balaji. 

    • Marked as answer by Ilan Tayari Tuesday, September 4, 2012 12:58 PM
    • Unmarked as answer by Ilan Tayari Wednesday, September 5, 2012 5:44 AM
    Tuesday, September 4, 2012 7:27 AM
  • Thanks balajitrv1,

    This looked very promising...

    Except that this article talks about WinCE 5.0, and I'm using WEC7.

    I couldn't find either btloader or BTDC in my WEC7 sources.

    Any idea where I can get them, and if they'll work on WEC7?

    Ilan.

    Wednesday, September 5, 2012 5:48 AM
  • Hi Ilan,

    The btdc tool is part of public directory in public\common\oak\drivers\bluetooth\sample\btdc.

    I dont think you would require btloader for this to work.

    Also be sure you have all sysgen variables for bluetooth added before proceeding:

    http://msdn.microsoft.com/en-us/library/ee495917.aspx

    I had used this tool in WEC7 only.

    As i had written before this can be used to check if each and every functionality like l2ping , SDP records handling etc work.

    Also go through readme.txt before using the command line utility.

    Regards,

    Balaji.

    Wednesday, September 5, 2012 6:49 AM
  • One quetion is: Why do you use diffeerent iteration for PEER and DUT (10 & 1). Can you try same iteration for both ?

    tux -o -d perf_bluetooth.dll -c " -i 10 -p 12 -b 163840"

    tux -o -d perf_bluetooth.dll -c " -i 1 -p 12 -b 163840 -s 0800280e0e6c -r -c"

    Also check the following blog if it helps:

    http://blogs.msdn.com/b/hopperx/archive/2006/07/03/655134.aspx

    Regards,
    Rakesh.


    Thursday, September 6, 2012 4:25 AM
  • Thanks again Balaji,

    The test app (btdc) seems to work.

    It does inquiries and shows results correctly, but fails on ping.

    I'll post the error log soon...

    Sunday, September 9, 2012 2:10 PM
  • Rakesh, this is by mistake.

    I tried with 10 iterations on both sides, and when that failed I tried with 1 iteration on both sides.

    Then I copied command lines from different attempts into my first post.

    Sunday, September 9, 2012 2:12 PM