Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
1,073 Views

Bluetooth SCO audio packets can be TX but never RX on NUC6i7KYK, chipset Intel Wireless 8260

Hello

Board: intel NUC (NUC6i7KYK)

Network Chipset: Intel Wireless 8260 (8086:24F3)

OS: custom linux distro based on linux Kernel 4.8.8

Bluez-5.45

Pulseaudio-10.0

Whenever a bluetooth SCO connection is made on the NUC I can send SCO packets but not receive them

L2CAP packets and a2dp work.

When I use a DELL laptop XPS13 with Qualcomm Atheros Killer QCA 6174 as soon as a bluetooth, with exactly the same software (home compiled), I receive SCO packets:

> SCO Data RX: Handle 9 flags 0x00 dlen 48 # 819 [hci0] 16.686260

> SCO Data RX: Handle 9 flags 0x00 dlen 48 # 820 [hci0] 16.696251

> SCO Data RX: Handle 9 flags 0x00 dlen 48 # 821 [hci0] 16.696258

> SCO Data RX: Handle 9 flags 0x00 dlen 48 # 822 [hci0] 16.696259

> SCO Data RX: Handle 9 flags 0x00 dlen 48 # 823 [hci0] 16.706253

> SCO Data RX: Handle 9 flags 0x00 dlen 48 # 824 [hci0] 16.706259

> SCO Data RX: Handle 9 flags 0x00 dlen 48 # 825 [hci0] 16.706260

> SCO Data RX: Handle 9 flags 0x00 dlen 48 # 826 [hci0] 16.706261

> SCO Data RX: Handle 9 flags 0x00 dlen 48 # 827 [hci0] 16.716256

> SCO Data RX: Handle 9 flags 0x00 dlen 48 # 828 [hci0] 16.716262

So this is hardware related:

probably an SCO audio routing issue, as encountered for other chipsets: https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Bluetooth/ https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Bluetooth/

I have posted on stackoverflow: https://stackoverflow.com/questions/44844016/linux-bluez-unable-to-receive-sco-data-packets c - Linux Bluez: unable to receive SCO data packets - Stack Overflow

Thank you in advance for your help

Vincent

0 Kudos
10 Replies
Highlighted
Community Manager
15 Views

pyrennean: Thank you very much for joining the Intel® NUC communities.

We will do further research on this matter, as soon as I get any updates, I will post all the details on this thread.

Is the latest BIOS version 0049 currently installed on the NUC?

https://downloadcenter.intel.com/download/26935/NUCs-BIOS-Update-KYSKLi70-86A-?product=89187 https://downloadcenter.intel.com/download/26935/NUCs-BIOS-Update-KYSKLi70-86A-?product=89187

Any further questions, please let me know.

Regards,

 

Alberto R
0 Kudos
Highlighted
Community Manager
15 Views

pyrennean: I just received some updates on the research we are doing on this matter, and we just wanted to check if you have the option to test the NUC with a standard Linux Distribution to confirm if it shows the same behavior?

 

 

Also, if you have further information about this subject, please feel free to post all details needed for us to try to replicate this scenario.

 

 

Any questions, please let me know.

 

 

Regards,

 

Alberto R

 

0 Kudos
Highlighted
Beginner
15 Views

Hi Alberto

I can provide details on behavior on two separates boards, running the same software. It's not going to be easy for me to use a regular distro, though.

Here are the steps to reproduce the problem, in detail:

In a nutshell: we're trying to get audio in sco packets from a headset device.

-Kernel 4.8.8

-Bluez-5.45

-Pulseaudio-10.0

Headset device 1C:48:F9:CB:FA:AD with profiles as below (I tested with a total of 3 headset devices):

bluetoothctl-->

[bluetooth]# info 1C:48:F9:CB:FA:AD

Device 1C:48:F9:CB:FA:AD

Name: Jabra ROX Wireless v2.9.0

Alias: Jabra ROX Wireless v2.9.0

Class: 0x240404

Icon: audio-card

Paired: yes

Trusted: yes

Blocked: no

Connected: no

LegacyPairing: no

UUID: Headset (00001108-0000-1000-8000-00805f9b34fb)

UUID: Audio Sink (0000110b-0000-1000-8000-00805f9b34fb)

UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)

UUID: Advanced Audio Distribu.. (0000110d-0000-1000-8000-00805f9b34fb)

UUID: A/V Remote Control (0000110e-0000-1000-8000-00805f9b34fb)

UUID: Handsfree (0000111e-0000-1000-8000-00805f9b34fb)

In bluetoothctl, before you launch pulseaudio, the controller should look like this:

[bluetooth]# show

Controller 9C:B6:D0:17:2C:90

Name: BlueZ 5.45

Alias: BlueZ 5.45

Class: 0x00010c

Powered: yes

Discoverable: no

Pairable: yes

UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)

UUID: A/V Remote Control (0000110e-0000-1000-8000-00805f9b34fb)

UUID: PnP Information (00001200-0000-1000-8000-00805f9b34fb)

UUID: Generic Access Profile (00001800-0000-1000-8000-00805f9b34fb)

UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)

Modalias: usb:v1D6Bp0246d052D

Discovering: no

Then you launch the pulseaudio daemon, the way you want (I kind of like pulseaudio -vvvv and let it running in a tty so I see what it does)

pulseaudio -vvvv

Now the controller has new profiles: as you can see in the output of:

[bluetooth]# show

Controller 9C:B6:D0:17:2C:90

Name: BlueZ 5.45

Alias: BlueZ 5.45

Class: 0x0c010c

Powered: yes

Discoverable: no

Pairable: yes

UUID: Headset AG (00001112-0000-1000-8000-00805f9b34fb)

UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)

UUID: A/V Remote Control (0000110e-0000-1000-8000-00805f9b34fb)

UUID: Generic Access Profile (00001800-0000-1000-8000-00805f9b34fb)

UUID: PnP Information (00001200-0000-1000-8000-00805f9b34fb)

UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)

UUID: Audio Sink (0000110b-0000-1000-8000-00805f9b34fb)

UUID: Audio Source (0000110a-0000-1000-8000-00805f9b34fb)

Modalias: usb:v1D6Bp0246d052D

Discovering: no

Ok, so now it's time to connect the headset device. You either do that manually or let the device sniff the host services in xml and

decide to connect. Kind of depend on the headset you use, but whatever way you get it connected and it appears in bluez:

bluetoothctl-->

[CHG] Device 1C:48:F9:CB:FA:AD Connected: yes

[Jabra ROX Wireless v2.9.0]#

Now it's time to set pulseaudio so that the source is the bluetooth mic: I do it using the pacmd command line tool:

# pacmd

Welcome to PulseAudio 10.0! Use "help" for usage information.

>>> list-cards

1 card(s) available.

index: 0

name:

driver:

owner module: 22

properties:

device.description = "Jabra ROX Wireless v2.9.0"

device.string = "1C:48:F9:CB:FA:AD"

device.api = "bluez"

device.class = "sound"

device.bus = "bluetooth"

device.form_factor = "headset"

bluez.path = "/org/bluez/hci0/dev_1C_48_F9_CB_FA_AD"

bluez.class = "0x240404"

bluez.alias = "Jabra ROX Wireless v2.9.0"

device.icon_name = "audio-headset-bluetooth"

device.intended_roles = "phone"

profiles:

headset_head_unit: Headset Head Unit (HSP/HFP) (priority 20, available: unknown)

a2dp_sink: High Fidelity Playback (A2DP Sink) (priority 10, available: unknown)

off: Off (priority 0, available: yes)

active profile:

ports:

headset-output: Headset (priority 0, latency offset 0 usec, available: unknown)

properties:

headset-input: Headset (priority 0, latency offset 0 usec, available: unknown)

properties:

>>>set-card-profile 0 headset_head_unit

now list-cards shows:

....

active profile:

....

instead of

....

active profile:

....

>>>list-sources

choose the one that looks like:

index: 5

name:

driver:

flags: HARDWARE HW_VOLUME_CTRL LATENCY

state: SUSPENDED

suspend cause: IDLE

priority: 9030

volume: mono: 43691 / 67%

balance 0.00

base volume: 65536 / 100%

volume steps: 16

muted: no

current latency: 0.00 ms

max rewind: 0 KiB

sample spec: s16le 1ch 8000Hz

channel map: mono

Mono

used by: 0

linked by: 0

fixed latency: 28.00 ms

card: 0

module: 22

properties:

bluetooth.protocol = "headset_head_unit"

device.intended_roles = "phone"

device.description = "Jabra ROX Wireless v2.9.0"

device.string = "1C:48:F9:CB:FA:...

0 Kudos
Highlighted
Community Manager
15 Views

Hi pyrennean: Thank you very much for providing all those results. We will continue with our research and we will try to replicate this scenario. As soon as I get any updates I will let you know.

 

 

Any questions, please let me know.

 

 

Regards,

 

Alberto R

 

0 Kudos
Highlighted
Community Manager
15 Views

pyrennean: Just to confirm, could you please provide the BIOS version of the NUC?

 

Also, did you submit this issue on the link below?

 

https://01.org/community https://01.org/community

 

 

Any questions, please let me know.

 

 

Regards,

 

Alberto R

 

0 Kudos
Highlighted
Community Manager
15 Views

pyrennean: As additional information I just wanted to let you know that this is the environment we tested:

 

NUC6I7KYK

 

SSD Intel 80GB

 

Memory: Kingston KVR21SE 15S8/4 (4gb)

 

OS: Linux Ubuntu 16.04

 

Kernel: 4.4.0 / 4.8.0 / 4.10.0 / 4.12.3

 

Any questions, please let me know.

 

 

Regards,

 

Alberto R
0 Kudos
Highlighted
Beginner
15 Views

Alberto

My bios version is KYSKLi70.86A.0034.2016.0503.1003 what's yours?

Guess I'm gonna have to fork a couple Gig's on a new partition to install ubuntu then, thank you for this!

Best

Vincent

0 Kudos
Highlighted
Super User Retired Employee
15 Views

Vincent,

The latest available BIOS for your board is version 49. You are running on version 34. In addition to the plethora of bug fixes and compatibility improvements delivered in the BIOS releases subsequent to yours, the latest BIOS also delivers the microcode update necessary to fix the HyperThreading issue in Skylake and Kaby Lake processors. Thus, I strongly recommend that you upgrade to the latest BIOS. You can download this latest BIOS from here: https://downloadcenter.intel.com/download/26935/NUCs-BIOS-Update-KYSKLi70-86A-?product=89187 Download BIOS Update [KYSKLi70.86A]. Instructions for installing BIOS updates are detailed here: http://www.intel.com/content/www/us/en/support/boards-and-kits/000005636.html Intel NUC BIOS Update Instructions.

Once you are running on this BIOS, you can check to see whether it addresses the issue that you are seeing...

...S

0 Kudos
Highlighted
Moderator
15 Views

Hi pyrennean,

I work for Intel Customer Support (same as Alberto) and I just wanted to let you know that we provide limited support for Linux operating systems due to the multiple variables and open-source license type of software that allows the source code to be used, modified and/or shared under defined terms and conditions, this really creates a challenge for support.

I know this may not be really helpful but we tried to replicate it and had no issues if running Ubuntu*.

As Scott mentioned before, please make sure that you are running latest BIOS and Firmware, I also have to mentioned that we don't provide drivers for Linux* for NUC systems, however I would recommend that you check on https://01.org/openstack https://01.org/openstack for OpenStack on Intel® Architecture and for Wireless and Bluetooth there is also some relevant information here: https://www.intel.com/content/www/us/en/support/network-and-i-o/wireless-networking/000005511.html https://www.intel.com/content/www/us/en/support/network-and-i-o/wireless-networking/000005511.html

I hope this helps,

Ronny G

0 Kudos
Highlighted
Beginner
15 Views

Hi Scott

Thank you very much for your answer.

I updated yesterday night to version 49. I just tested for the issue this post is about, unfortunately it doesn't solve it, but anyway, it's better to be up to date bios-wise!

Cheers

Vincent

0 Kudos