Bluetooth OBEX test fail with OBEX server on 18.04

Bug #1837171 reported by Jerry Kao
24
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Checkbox Provider - Base
Fix Released
Medium
Jerry Kao

Bug Description

Based on the instruction in http://certification-static.canonical.com/docs/guides/14.04/Ubuntu_Desktop_Certified_Hardware_Self-Testing_Guide.pdf, OBEX server was installed on 14.04 which was EOL. We can install obexftp on 18.04, however obex tests fail all the time.
We need a reliable way to running BT file transfer test with obex server on 18.04.

Jerry Kao (jerry.kao)
tags: added: ce-qa-concern
Changed in plainbox-provider-checkbox:
status: New → Confirmed
importance: Undecided → Medium
Jerry Kao (jerry.kao)
tags: added: affect-submission
Revision history for this message
Jerry Kao (jerry.kao) wrote :

Messages from DUT side

-------------[ Running job 32 / 34. Estimated time left: unknown ]--------------
---------------------[ Bluetooth OBEX send before suspend ]---------------------
ID: com.canonical.certification::suspend/bluetooth_obex_send_before_suspend
Category: com.canonical.plainbox::suspend
... 8< -------------------------------------------------------------------------
INFO: =================================[ Send test ]==================================
INFO: Using JPEG_Color_Image_Ubuntu.jpg as a test file
INFO: Sending /usr/share/plainbox-provider-checkbox/data/images/JPEG_Color_Image_Ubuntu.jpg to B0:C0:90:14:94:68
ERROR: Browsing B0:C0:90:14:94:68 ...
Connecting...failed: connect
The user may have rejected the transfer: Connection refused
------------------------------------------------------------------------- >8 ---
Outcome: job failed
-------------[ Running job 33 / 34. Estimated time left: unknown ]--------------
--------------------[ Bluetooth OBEX browse before suspend ]--------------------
ID: com.canonical.certification::suspend/bluetooth_obex_browse_before_suspend
Category: com.canonical.plainbox::suspend
... 8< -------------------------------------------------------------------------
INFO: ================================[ Browse test ]=================================
INFO: Checking B0:C0:90:14:94:68 for /usr/share/plainbox-provider-checkbox/data/images/JPEG_Color_Image_Ubuntu.jpg
INFO: Will check for a filesize of 25770
ERROR: Browsing B0:C0:90:14:94:68 ...
Connecting...failed: connect
The user may have rejected the transfer: Connection refused
------------------------------------------------------------------------- >8 ---
Outcome: job failed
-------------[ Running job 34 / 34. Estimated time left: unknown ]--------------
---------------------[ Bluetooth OBEX get before suspend ]----------------------
ID: com.canonical.certification::suspend/bluetooth_obex_get_before_suspend
Category: com.canonical.plainbox::suspend
... 8< -------------------------------------------------------------------------
INFO: ==================================[ Get test ]==================================
INFO: Getting file JPEG_Color_Image_Ubuntu.jpg from B0:C0:90:14:94:68
ERROR: Browsing B0:C0:90:14:94:68 ...
Connecting...failed: connect
The user may have rejected the transfer: Connection refused
------------------------------------------------------------------------- >8 ---
Outcome: job failed

Revision history for this message
Jerry Kao (jerry.kao) wrote :

Messages from OBEX server side

u@u-Vostro-15-3565:~$ obexftpd -c ~/.obexftp -b
register to SDP Server failed.
Waiting for connection...

[73279.314188] Bluetooth: hci0: advertising data len corrected
[73286.155186] Bluetooth: hci0: advertising data len corrected
[73289.193818] Bluetooth: hci0: advertising data len corrected
[73292.234448] Bluetooth: hci0: advertising data len corrected
[73305.914652] Bluetooth: hci0: advertising data len corrected

Revision history for this message
Jerry Kao (jerry.kao) wrote :

Following the instruction in https://askubuntu.com/questions/775303/unified-remote-bluetooth-could-not-connect-to-sdp can fix the SDP server issue. However BT OBEX tests were still failed with 'Connection refused' message in Checkbox.

editing this file

/etc/systemd/system/dbus-org.bluez.service and changing this line

ExecStart=/usr/lib/bluetooth/bluetoothd to this

ExecStart=/usr/lib/bluetooth/bluetoothd --compat

and then restarting bluetooth like this

sudo systemctl daemon-reload
sudo systemctl restart bluetooth

and you'll also have to change permissions on /var/run/sdp

sudo chmod 777 /var/run/sdp

and finally restart unified remote server

Revision history for this message
Jerry Kao (jerry.kao) wrote :

After restart the OBEX server and rerun
sudo systemctl daemon-reload
sudo systemctl restart bluetooth
sudo chmod 777 /var/run/sdp
obexftpd -c ~/.obexftp -b

Send file passed \o/, but browse file and get file still failed.

-------------[ Running job 32 / 34. Estimated time left: unknown ]--------------
---------------------[ Bluetooth OBEX send before suspend ]---------------------
ID: com.canonical.certification::suspend/bluetooth_obex_send_before_suspend
Category: com.canonical.plainbox::suspend
... 8< -------------------------------------------------------------------------
INFO: =================================[ Send test ]==================================
INFO: Using JPEG_Color_Image_Ubuntu.jpg as a test file
INFO: Sending /usr/share/plainbox-provider-checkbox/data/images/JPEG_Color_Image_Ubuntu.jpg to B0:C0:90:14:94:68
INFO: PASS
------------------------------------------------------------------------- >8 ---
Outcome: job passed
-------------[ Running job 33 / 34. Estimated time left: unknown ]--------------
--------------------[ Bluetooth OBEX browse before suspend ]--------------------
ID: com.canonical.certification::suspend/bluetooth_obex_browse_before_suspend
Category: com.canonical.plainbox::suspend
... 8< -------------------------------------------------------------------------
INFO: ================================[ Browse test ]=================================
INFO: Checking B0:C0:90:14:94:68 for /usr/share/plainbox-provider-checkbox/data/images/JPEG_Color_Image_Ubuntu.jpg
INFO: Will check for a filesize of 25770
ERROR: Browsing B0:C0:90:14:94:68 ...
Connecting..\done
Receiving "(null)"...|done
Disconnecting../done
------------------------------------------------------------------------- >8 ---
Outcome: job failed
-------------[ Running job 34 / 34. Estimated time left: unknown ]--------------
---------------------[ Bluetooth OBEX get before suspend ]----------------------
ID: com.canonical.certification::suspend/bluetooth_obex_get_before_suspend
Category: com.canonical.plainbox::suspend
... 8< -------------------------------------------------------------------------
INFO: ==================================[ Get test ]==================================
INFO: Getting file JPEG_Color_Image_Ubuntu.jpg from B0:C0:90:14:94:68
ERROR: Browsing B0:C0:90:14:94:68 ...
Connecting..\done
Receiving "JPEG_Color_Image_Ubuntu.jpg"...|failed: JPEG_Color_Image_Ubuntu.jpg
Disconnecting../The operation failed with return code 68
done
ERROR: Not Found
------------------------------------------------------------------------- >8 ---
Outcome: job failed

Revision history for this message
Jerry Kao (jerry.kao) wrote :

Just realized Gnome does not support browse/get file anymore. An extension for GNOME Shell is needed to support browse/get file.

Jerry Kao (jerry.kao)
Changed in plainbox-provider-checkbox:
status: Confirmed → Fix Committed
Jerry Kao (jerry.kao)
Changed in plainbox-provider-checkbox:
status: Fix Committed → Confirmed
assignee: nobody → Jerry Kao (jerry.kao)
Revision history for this message
Jerry Kao (jerry.kao) wrote :

Test result of OBEX send file to OBEX server on 18.04 is not stable. The failure is ~50%. The pass and file output is as following.

--------------[ Running job 1 / 1. Estimated time left: 0:00:10 ]---------------
---------------------[ Bluetooth OBEX send before suspend ]---------------------
ID: com.canonical.certification::suspend/bluetooth_obex_send_before_suspend
Category: com.canonical.plainbox::suspend
... 8< -------------------------------------------------------------------------
INFO: =================================[ Send test ]==================================
INFO: Using JPEG_Color_Image_Ubuntu.jpg as a test file
INFO: Sending /usr/share/plainbox-provider-checkbox/data/images/JPEG_Color_Image_Ubuntu.jpg to B0:C0:90:14:94:68
ERROR: Browsing B0:C0:90:14:94:68 ...
Connecting...failed: connect
unknown error on connect
Still trying to connect
Connecting...failed: connect
unknown error on connect
Still trying to connect
Connecting...failed: connect
unknown error on connect
Still trying to connect
------------------------------------------------------------------------- >8 ---
Outcome: job failed
--------------[ Running job 1 / 1. Estimated time left: 0:00:10 ]---------------
---------------------[ Bluetooth OBEX send before suspend ]---------------------
ID: com.canonical.certification::suspend/bluetooth_obex_send_before_suspend
Category: com.canonical.plainbox::suspend
... 8< -------------------------------------------------------------------------
INFO: =================================[ Send test ]==================================
INFO: Using JPEG_Color_Image_Ubuntu.jpg as a test file
INFO: Sending /usr/share/plainbox-provider-checkbox/data/images/JPEG_Color_Image_Ubuntu.jpg to B0:C0:90:14:94:68
INFO: PASS

Revision history for this message
Jerry Kao (jerry.kao) wrote :

The same unstable issue can be reproduced with OBEX server on 14.04. The failure rate is ~4/10

Revision history for this message
Jerry Kao (jerry.kao) wrote :

We should test OBEX send file for 5~10 times and consider pass if it can pass once.

Jerry Kao (jerry.kao)
Changed in plainbox-provider-checkbox:
status: Confirmed → Fix Committed
Revision history for this message
Rex Tsai (chihchun) wrote :

1/5 or 1/10 seems to low to me, we should investigate the root cause of the problem in the obexftpd.

https://trello.com/c/7TlH65Pp/23-improve-stability-of-obxftpd

Revision history for this message
Jerry Kao (jerry.kao) wrote :

The problem is not in obexftpd but bluetooth pairing. When connection established, send file can always pass.

However connecting to target BT device (OBEX) has 50% failure rate. Even using GUI (pressing connection button in Bluetooth settings) and running sudo bluetoothctl <<<"connect $DEVICE_MAC_ADDRESS" got the same results.

Revision history for this message
Combo Huang (chuan96) wrote :

1/17-Combo: Cross-platform issue - BITS449192/BITS450552/BITS445864/BITS447129, refer to BITS447129-[1231_SW_Yuyang] Checkbox unknown issue (LP #1837171), will check with OSV & submit platform bug if needed

Changed in plainbox-provider-checkbox:
milestone: none → 0.51.0
Changed in plainbox-provider-checkbox:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.