This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
hardwarerelated:headset:sony_wh-1000xm2 [2021/02/09 01:59] – [Errors & solutions] chris | hardwarerelated:headset:sony_wh-1000xm2 [2024/03/03 06:44] (current) – [Bluetooth profiles] chris | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== What? ====== | ||
+ | Just some notes around the Sony WH-1000XM2 | ||
+ | * pro: wireless: bluetooth profiles for headset and High Fidelity playback (A2DP) | ||
+ | * pro: quite good noise cancelling | ||
+ | * pro: build in rechargable battery | ||
+ | * con: when the cable is used, only headphone functionality is available. No microphone signal goes over the analog cable. | ||
+ | * con: after 60min of wearing, I need to take the headset off | ||
+ | ===== Links ===== | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * https:// | ||
+ | * [[/ | ||
+ | |||
+ | ====== Bluetooth profiles ====== | ||
+ | As of Fedora34 with pipewire, following bluetooth profiles which are supported on Fedora34 can also be used with the Sony WH-1000XM2. First is the name as seen in 'pactl list cards', | ||
+ | |||
+ | * **These modes provide pure audio, and do not transport the microphone signal to the computer** | ||
+ | * a2dp-sink: High Fidelity Playback (A2DP Sink), good audio quality | ||
+ | * a2dp-sink-sbc: | ||
+ | * a2dp-sink-sbc_xq: | ||
+ | * a2dp-sink-aac: | ||
+ | * a2dp-sink-ldac: | ||
+ | * **These modes provide audio + micro channel, so for example useful for chats and conferences** | ||
+ | * headset-head-unit: | ||
+ | * headset-head-unit-cvsd: | ||
+ | * headset-head-unit-msbc: | ||
+ | |||
+ | " | ||
+ | < | ||
+ | $ mkdir -p / | ||
+ | $ cp / | ||
+ | $ vi / | ||
+ | ### set this: | ||
+ | bluez5.msbc-support | ||
+ | bluez5.sbc-xq-support = true | ||
+ | </ | ||
+ | ===== Fedora 34 and later / pipewire based setups ===== | ||
+ | < | ||
+ | ### Let's install the required packages. | ||
+ | $ sudo dnf install -y pipewire-alsa pipewire-pulseaudio pipewire | ||
+ | | ||
+ | ### Now ensure dbus and pipewire are running as your user, and enabled. | ||
+ | $ systemctl --user restart dbus pipewire-pulse pipewire | ||
+ | $ systemctl --user enable dbus pipewire-pulse pipewire | ||
+ | $ systemctl --user status dbus pipewire-pulse pipewire | ||
+ | |||
+ | $ sudo systemctl status bluetooth.service | ||
+ | |||
+ | $ bluetoothctl | ||
+ | Agent registered | ||
+ | [CHG] Controller XX: | ||
+ | [LE_WH-1000XM2]# | ||
+ | Discovery started | ||
+ | [CHG] Controller XX: | ||
+ | [CHG] Device XX: | ||
+ | [CHG] Device XX: | ||
+ | [CHG] Device XX: | ||
+ | [CHG] Device XX: | ||
+ | [NEW] Device XX: | ||
+ | [LE_WH-1000XM2]# | ||
+ | Changing XX: | ||
+ | [LE_WH-1000XM2]# | ||
+ | Attempting to connect to XX: | ||
+ | Connection successful | ||
+ | [CHG] Device XX: | ||
+ | [CHG] Device XX: | ||
+ | |||
+ | $ sudo bluetoothctl | ||
+ | [bluetooth]# | ||
+ | [bluetooth]# | ||
+ | [bluetooth]# | ||
+ | [bluetooth]# | ||
+ | [NEW] Device XX: | ||
+ | [bluetooth]# | ||
+ | [bluetooth]# | ||
+ | [bluetooth]# | ||
+ | Attempting to pair with XX: | ||
+ | [CHG] Device XX: | ||
+ | [CHG] Device XX: | ||
+ | [CHG] Device XX: | ||
+ | [CHG] Device XX: | ||
+ | Pairing successful | ||
+ | [CHG] Device XX: | ||
+ | [bluetooth]# | ||
+ | Attempting to connect to XX: | ||
+ | [CHG] Device XX: | ||
+ | Connection successful | ||
+ | [bluetooth]# | ||
+ | |||
+ | ### Which codec is currently active? | ||
+ | $ pactl info | ||
+ | $ pactl list sinks | ||
+ | [..] | ||
+ | Sink #199 | ||
+ | [..] | ||
+ | Description: | ||
+ | Driver: PipeWire | ||
+ | Sample Specification: | ||
+ | [..] | ||
+ | Properties: | ||
+ | api.bluez5.transport = "" | ||
+ | api.bluez5.profile = " | ||
+ | api.bluez5.codec = " | ||
+ | [..] | ||
+ | OR | ||
+ | api.bluez5.codec = " | ||
+ | OR | ||
+ | api.bluez5.codec = " | ||
+ | OR | ||
+ | api.bluez5.codec = " | ||
+ | |||
+ | ### Change profile, way 1 | ||
+ | $ sudo dnf install -y pavucontrol | ||
+ | $ pavucontrol | ||
+ | |||
+ | ### Change profile, way 2 | ||
+ | $ pactl list cards | ||
+ | Card #197 | ||
+ | Name: bluez_card.70_26_05_9D_31_85 | ||
+ | Driver: module-bluez5-device.c | ||
+ | Owner Module: n/a | ||
+ | Properties: | ||
+ | [..] | ||
+ | Profiles: | ||
+ | off: Off (sinks: 0, sources: 0, priority: 0, available: yes) | ||
+ | a2dp-sink: High Fidelity Playback (A2DP Sink) (sinks: 1, sources: 0, priority: 0, available: yes) | ||
+ | headset-head-unit: | ||
+ | a2dp-sink-sbc: | ||
+ | a2dp-sink-aac: | ||
+ | a2dp-sink-ldac: | ||
+ | headset-head-unit-cvsd: | ||
+ | headset-head-unit-msbc: | ||
+ | Active Profile: a2dp-sink-ldac | ||
+ | [..] | ||
+ | $ pactl set-card-profile bluez_card.70_26_05_9D_31_85 a2dp-sink-sbc | ||
+ | </ | ||
+ | |||
+ | ===== Errors & solutions ===== | ||
+ | == Problem == | ||
+ | * ' | ||
+ | * bluetoothctl reports this: | ||
+ | < | ||
+ | [chris@電脳 ~]$ bluetoothctl | ||
+ | Agent registered | ||
+ | [CHG] Controller 34: | ||
+ | [bluetooth]# | ||
+ | Discovery started | ||
+ | [CHG] Controller 34: | ||
+ | [..] | ||
+ | [CHG] Device 70: | ||
+ | [CHG] Device 70: | ||
+ | [bluetooth]# | ||
+ | Changing 70: | ||
+ | [NEW] Device 4D: | ||
+ | [bluetooth]# | ||
+ | Attempting to connect to 70: | ||
+ | Failed to connect: org.bluez.Error.Failed | ||
+ | </ | ||
+ | * When trying to connect in ' | ||
+ | < | ||
+ | bluetoothd[23]: | ||
+ | bluetoothd[23]: | ||
+ | </ | ||
+ | == Solution 1 (pulseaudio based setups only) == | ||
+ | * Ensure package pulseaudio-module-bluetooth-freeworld or pulseaudio-module-bluetooth is installed. | ||
+ | * If you installed the package after starting pulseaudio or your Xorg session, then do this as user: | ||
+ | < | ||
+ | killall pulseaudio | ||
+ | pulseaudio --start | ||
+ | </ | ||
+ | == Solution 2 == | ||
+ | Install package blueman and run ' |