#12655 closed defect (fixed)

[CL4]The Bluetooth test in OFW is not stable.

Reported by: garysu Owned by: Quozl
Priority: normal Milestone: 13.2.0
Component: ofw - open firmware Version: Development firmware
Keywords: Cc: Chia-Hsiu.Chang@…
Blocked By: Blocking:
Deployments affected: Action Needed: no action
Verified: no

Description

OFW:Q7B28
Description:
After run this test 50 times, the fail rate is 56%, it is too high if factory needs to test it.
Procedure:
1.Server run scan-bt in OFW
2.Client run test /bluetooth in OFW.

Attachments (4)

putty.log (4.0 KB) - added by garysu 21 months ago.
CIMG3535.JPG (635.0 KB) - added by garysu 21 months ago.
the location of two system are very close.
putty_01.log (10.3 KB) - added by garysu 21 months ago.
putty.2.log (3.0 KB) - added by garysu 21 months ago.

Download all attachments as: .zip

Change History (15)

Changed 21 months ago by garysu

Changed 21 months ago by garysu

the location of two system are very close.

comment:1 Changed 21 months ago by Quozl

  • Owner set to Quozl
  • Status changed from new to assigned

Please gather received signal strength indicator (RSSI) data using a manual inquiry on the client:

ok select /bluetooth
ok inquire
ok inquire
BDADDR: 9e aa c1 9d 68 20 Rep: 0 Class: 0x0 Offset: 0xe00 RSSI: -45 dBm 
Name: OLPC-XO 

BDADDR: 9e aa c1 9d 68 20 Rep: 0 Class: 0x0 Offset: 0xe01 RSSI: -45 dBm 
Name: OLPC-XO 

BDADDR: 9e aa c1 9d 68 20 Rep: 0 Class: 0x0 Offset: 0xe01 RSSI: -44 dBm 
Name: OLPC-XO 

BDADDR: 9e aa c1 9d 68 20 Rep: 0 Class: 0x0 Offset: 0xe01 RSSI: -44 dBm 
Name: OLPC-XO 

ok 

(This sample was two laptops separated by 1.8m).

Please increase the number of inquiry responses by a factor of two and then four, and report the effect on the test fail frequency:

ok dev /bluetooth  patch 20 10 send-inquiry  dend
ok test /bluetooth
...
ok dev /bluetooth  patch 40 20 send-inquiry  dend
ok test /bluetooth

Changed 21 months ago by garysu

comment:2 Changed 21 months ago by garysu

ok dev /bluetooth patch 20 10 send-inquiry dend
fail rate 46%

ok dev /bluetooth patch 40 20 send-inquiry dend
fail rate 20%

comment:3 Changed 21 months ago by Quozl

Thanks. What failure rate is acceptable?

Try the maximum value:

ok reboot
ok dev /bluetooth patch ff 10 send-inquiry dend
ok test /bluetooth
...

comment:4 Changed 21 months ago by Quozl

  • Cc Chia-Hsiu.Chang@… added

You may also increase the duration:

ok dev /bluetooth  patch 8 4 send-inquiry  dend

The program sends an inquiry command to the wireless module firmware. The source code for sending the command looks like this:

: send-inquiry  ( -- )
   cmd(
   giac +x$          \ General Inquiry LAC
   d# 4 +xb          \ 4 * 1.28 seconds
   d# 16 +xb         \ #responses
   h# 401 )cmd
   wait-cmd-status
;

It seems from my testing and yours, that #responses is the number of responses received that will terminate the command, and that if these responses are not received the timeout (4 * 1.28 = 5.12 seconds) is used instead.

Or to put it another way, the inquiry command terminates when:

  • the timeout is reached, or
  • the number of responses is reached,

whichever occurs first.

On the factory floor, the number of responses is probably large.

comment:5 Changed 21 months ago by garysu

Hi Quozl, I think it needs pass everytime is good, factory needs build up machine & test very quickly.
ok dev /bluetooth patch 80 40 send-inquiry dend
fail rate 4%

ok dev /bluetooth patch ff 10 send-inquiry dend
fail rate 0%

comment:6 Changed 21 months ago by Quozl

  • Action Needed changed from never set to code
  • Component changed from not assigned to ofw - open firmware
  • Milestone changed from Not Triaged to 13.2.0
  • Version changed from not specified to Development firmware

It is impossible to be perfect with a chaotic environment. Even 0% might really be 0.9%. I shall change it to ff in next release. Meanwhile, is Chia-Hsiu okay to patch it?

Changed 21 months ago by garysu

comment:7 Changed 21 months ago by Quozl

  • Action Needed changed from code to package

Fixed in svn 3462.

comment:8 Changed 21 months ago by Quozl

Using test /bluetooth loads the firmware into the wireless module each time, and so can be quite slow when using repeats. Some of the errors in your putty.2.log attachment might be problems loading firmware. If you need to exclude firmware loading, use this alternate test method:

ok select /bluetooth
ok patch ff 10 send-inquiry
ok inquire-olpc? 1 and . many

When it prints "1" it means the test passed. When it prints "0" it means the test failed.

comment:9 Changed 21 months ago by Quozl

  • Action Needed changed from package to add to build

Fixed in Q7B29.

comment:10 Changed 20 months ago by dsd

  • Action Needed changed from add to build to test in build

Included in 13.2.0 build 4.

comment:11 Changed 20 months ago by Quozl

  • Action Needed changed from test in build to no action
  • Resolution set to fixed
  • Status changed from assigned to closed

Does not need testing in operating system build.

Note: See TracTickets for help on using tickets.