Connecting Jaybird X2 headphones to a Fedora 25 linux desktop

Last modified : 1 Nov, 2016

Here are the steps I used to get my Jaybird X2 headphones working with my Fedora 25 desktop with a bluetooth adapter. Despite all these steps, the bluetooth GUI in settings doesn’t see a dongle.

  1. Verify that the usb adapter is indeed recognized. [raviprak@mydesk ~]$ lsusb | grep -i blue Bus 005 Device 003: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)

  2. Use hciconfig to discover the state of the bluetooth adapter [root@mydesk raviprak]# hciconfig -a hci1: Type: Primary Bus: USB BD Address: 00:15:83:15:A3:10 ACL MTU: 339:8 SCO MTU: 128:2 DOWN RX bytes:472 acl:0 sco:0 events:18 errors:0 TX bytes:67 acl:0 sco:0 commands:18 errors:0 Features: 0xff 0x3e 0x85 0x30 0x18 0x18 0x00 0x00 Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 Link policy: RSWITCH HOLD SNIFF Link mode: SLAVE ACCEPT

Strangely the status is down.

  1. Turn the interface up. [root@mydesk raviprak]# hciconfig hci1 up [root@mydesk raviprak]# hciconfig -a hci1: Type: Primary Bus: USB BD Address: 00:15:83:15:A3:10 ACL MTU: 339:8 SCO MTU: 128:2 UP RUNNING RX bytes:954 acl:0 sco:0 events:39 errors:0 TX bytes:399 acl:0 sco:0 commands:39 errors:0 Features: 0xff 0x3e 0x85 0x30 0x18 0x18 0x00 0x00 Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 Link policy: RSWITCH HOLD SNIFF Link mode: SLAVE ACCEPT Name: '' Class: 0x000104 Service Classes: Unspecified Device Class: Computer, Desktop workstation HCI Version: 2.0 (0x3) Revision: 0xc5c LMP Version: 2.0 (0x3) Subversion: 0xc5c Manufacturer: Cambridge Silicon Radio (10)

  2. Restart my bluetoothd.service for good measure :-) [root@mydesk raviprak]# systemctl restart bluetooth.service [root@mydesk raviprak]# systemctl status bluetooth.service ● bluetooth.service - Bluetooth service Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2016-12-05 19:37:11 PST; 1s ago Docs: man:bluetoothd(8) Main PID: 5677 (bluetoothd) Status: "Running" Tasks: 1 (limit: 4915) CGroup: /system.slice/bluetooth.service └─5677 /usr/libexec/bluetooth/bluetoothd Dec 05 19:37:11 mydesk systemd[1]: Starting Bluetooth service... Dec 05 19:37:11 mydesk bluetoothd[5677]: Bluetooth daemon 5.43 Dec 05 19:37:11 mydesk systemd[1]: Started Bluetooth service. Dec 05 19:37:11 mydesk bluetoothd[5677]: Starting SDP server Dec 05 19:37:11 mydesk bluetoothd[5677]: Bluetooth management interface 1.13 initialized Dec 05 19:37:11 mydesk bluetoothd[5677]: Failed to obtain handles for "Service Changed" characteristic Dec 05 19:37:11 mydesk bluetoothd[5677]: Endpoint registered: sender=:1.48 path=/MediaEndpoint/A2DPSource Dec 05 19:37:11 mydesk bluetoothd[5677]: Endpoint registered: sender=:1.48 path=/MediaEndpoint/A2DPSink

  3. Then use bluetoothctl to scan and pair. [root@mydesk raviprak]# bluetoothctl [bluetooth]# help Available commands: list List available controllers show [ctrl] Controller information select <ctrl> Select default controller devices List available devices paired-devices List paired devices power <on/off> Set controller power pairable <on/off> Set controller pairable mode discoverable <on/off> Set controller discoverable mode agent <on/off/capability> Enable/disable agent with given capability default-agent Set agent as the default one advertise <on/off/type> Enable/disable advertising with given type set-advertise-uuids [uuid1 uuid2 ...] Set advertise uuids set-advertise-service [uuid][data=[xx xx ...] Set advertise service data set-advertise-manufacturer [id][data=[xx xx ...] Set advertise manufacturer data set-advertise-tx-power <on/off> Enable/disable TX power to be advertised set-scan-filter-uuids [uuid1 uuid2 ...] Set scan filter uuids set-scan-filter-rssi [rssi] Set scan filter rssi, and clears pathloss set-scan-filter-pathloss [pathloss] Set scan filter pathloss, and clears rssi set-scan-filter-transport [transport] Set scan filter transport set-scan-filter-clear Clears discovery filter. scan <on/off> Scan for devices info [dev] Device information pair [dev] Pair with device trust [dev] Trust device untrust [dev] Untrust device block [dev] Block device unblock [dev] Unblock device remove <dev> Remove device connect <dev> Connect device disconnect [dev] Disconnect device list-attributes [dev] List attributes set-alias <alias> Set device alias select-attribute <attribute> Select attribute attribute-info [attribute] Select attribute read Read attribute value write <data=[xx xx ...]> Write attribute value notify <on/off> Notify attribute value register-profile <UUID ...> Register profile to connect unregister-profile Unregister profile version Display version quit Quit program [bluetooth]# list Controller 00:15:83:15:A3:10 mydesk [default] [bluetooth]# scan Missing on/off argument [bluetooth]# scan on Discovery started [CHG] Controller 00:15:83:15:A3:10 Discovering: yes [NEW] Device 44:5E:F3:C3:6E:85 44-5E-F3-C3-6E-85 [NEW] Device 78:BD:BC:03:F4:85 78-BD-BC-03-F4-85 [CHG] Device 44:5E:F3:C3:6E:85 LegacyPairing: no [CHG] Device 44:5E:F3:C3:6E:85 RSSI: 127 [CHG] Device 44:5E:F3:C3:6E:85 Name: Jaybird X2 [CHG] Device 44:5E:F3:C3:6E:85 Alias: Jaybird X2 [CHG] Device 44:5E:F3:C3:6E:85 LegacyPairing: yes [CHG] Device 44:5E:F3:C3:6E:85 RSSI is nil [bluetooth]# pair 44:5E:F3:C3:6E:85 Attempting to pair with 44:5E:F3:C3:6E:85 [CHG] Device 44:5E:F3:C3:6E:85 Connected: yes [CHG] Device 44:5E:F3:C3:6E:85 UUIDs: 00001108-0000-1000-8000-00805f9b34fb [CHG] Device 44:5E:F3:C3:6E:85 UUIDs: 0000110b-0000-1000-8000-00805f9b34fb [CHG] Device 44:5E:F3:C3:6E:85 UUIDs: 0000110c-0000-1000-8000-00805f9b34fb [CHG] Device 44:5E:F3:C3:6E:85 UUIDs: 0000110e-0000-1000-8000-00805f9b34fb [CHG] Device 44:5E:F3:C3:6E:85 UUIDs: 0000111e-0000-1000-8000-00805f9b34fb [CHG] Device 44:5E:F3:C3:6E:85 UUIDs: 000080ff-0000-1000-8000-00805f9b34fb [CHG] Device 44:5E:F3:C3:6E:85 ServicesResolved: yes [CHG] Device 44:5E:F3:C3:6E:85 Paired: yes Pairing successful [CHG] Device 44:5E:F3:C3:6E:85 ServicesResolved: no [CHG] Device 44:5E:F3:C3:6E:85 Connected: no [bluetooth]# connect 44:5E:F3:C3:6E:85 Attempting to connect to 44:5E:F3:C3:6E:85 [CHG] Device 44:5E:F3:C3:6E:85 Connected: yes Connection successful [CHG] Device 44:5E:F3:C3:6E:85 ServicesResolved: yes [CHG] Controller 00:15:83:15:A3:10 Discoverable: yes [CHG] Controller 00:15:83:15:A3:10 DiscoverableTimeout: 0x000000 [CHG] Controller 00:15:83:15:A3:10 DiscoverableTimeout: 0x000000 [CHG] Controller 00:15:83:15:A3:10 Discoverable: no [Jaybird X2]#

  4. After this I opened my Sound Settings, but wasn’t able to get any output (only sparse static.) [raviprak@mydesk ~]$ pactl list cards Card #2 Name: bluez_card.44_5E_F3_C3_6E_85 Driver: module-bluez5-device.c Owner Module: 27 Properties: device.description = "Jaybird X2" device.string = "44:5E:F3:C3:6E:85" device.api = "bluez" device.class = "sound" device.bus = "bluetooth" device.form_factor = "headset" bluez.path = "/org/bluez/hci1/dev_44_5E_F3_C3_6E_85" bluez.class = "0x240404" bluez.alias = "Jaybird X2" device.icon_name = "audio-headset-bluetooth" device.intended_roles = "phone" Profiles: headset_head_unit: Headset Head Unit (HSP/HFP) (sinks: 1, sources: 1, priority: 20, available: yes) a2dp_sink: High Fidelity Playback (A2DP Sink) (sinks: 1, sources: 0, priority: 10, available: yes) off: Off (sinks: 0, sources: 0, priority: 0, available: yes) Active Profile: a2dp_sink Ports: headset-output: Headset (priority: 0, latency offset: 0 usec) Part of profile(s): headset_head_unit, a2dp_sink headset-input: Headset (priority: 0, latency offset: 0 usec) Part of profile(s): headset_head_unit [raviprak@mydesk ~]$ pactl set-card-profile bluez_card.44_5E_F3_C3_6E_85 headset_head_unit [raviprak@mydesk ~]$ pactl set-card-profile bluez_card.44_5E_F3_C3_6E_85 a2dp_sink

The sound coming was a little goofy still, it’d speed up, slow down, stop, intermittently. There’s also a command pacmd help that may turn out to be useful

Please add comments here:

All content on this website is licensed as Creative Commons-Attribution-ShareAlike 4.0 License. Opinions expressed are solely my own.