Hi! I’m trying to get the Pipewire audio framework correctly set up and working on my Genio 520 EVK running MTK IoT Yocto Linux.
I’ve been able to set up Pipewire and Wireplumber running correctly e.g. I’m able to pair to a bluetooth speaker and it shows up as an audio sink inwpctl status.
root@genio-520-evk-ufs:~# wpctl status
PipeWire 'pipewire-0' [1.0.9, root@genio-520-evk-ufs, cookie:203592403]
└─ Clients:
32. WirePlumber [1.0.9, root@genio-520-evk-ufs, pid:544]
40. WirePlumber [export] [1.0.9, root@genio-520-evk-ufs, pid:544]
63. wpctl [1.0.9, root@genio-520-evk-ufs, pid:1002]
Audio
├─ Devices:
│ 41. Built-in Audio [alsa]
│ 69. WONDERBOOM 4 [bluez5]
│
├─ Sinks:
│ * 68. WONDERBOOM 4 [vol: 0.20]
│
├─ Sources:
│
├─ Filters:
│
└─ Streams:
Video
├─ Devices:
│ 73. platform:mt8189 [v4l2]
│ 74. platform:mt8189 [v4l2]
│ 75. mtk-jpeg-enc [v4l2]
│ 76. mtk-jpeg-dec [v4l2]
│ 77. MediaTek MDP3 [v4l2]
│
├─ Sinks:
│
├─ Sources:
│
├─ Filters:
│
└─ Streams:
Settings
└─ Default Configured Devices:
I’d like my ALSA devices to show up in wpctl status as well.
I noticed that MediaTek has already provided the required UCM2 files in /usr/share/alsa/ucm2/MediaTek/mt8391-evk/.
I tried out alsaucm and I see the output below:
root@genio-520-evk-ufs:~# alsaucm -c mt8391-evk set _verb HiFi list _devices
0: Speaker
Lineout speaker
1: Headphones
Earphone speaker
2: Headset
Earphone microphone
3: Mic1
Analog microphone
4: Mic2
Digital microphone
5: Line1
PCM input
6: Line2
PCM output
7: Line3
I2S input
8: Line4
I2S output
Can you help me with this? If I can get these sources and sinks to show up in wpctl statusthat would be very helpful.
Hi @Nimish_Tambe,
Based on the information you provided, I think that the Pipewire service and WirePlumber service have already been enabled.
You can check if there were any error log when enabling the PipeWire sercvice.
One more thing, please check whether the asound.state file exists in the system.
ls /var/lib/alsa
Hi Zoran,
Thanks for the response!
root@genio-520-evk-ufs:~# ls /var/lib/alsa
asound.state
asound.state exists on my system.
Pipewire and Wireplumber don’t seem to be correctly configured in the demo image (PR4).
I verified this by downloading the pre-built PR4 image and attempting to pair my bluetooth speaker to my EVK:
hci0 type 7 discovering off
[bluetooth]# pair 50:1B:6A:9A:75:E6
Attempting to pair with 50:1B:6A:9A:75:E6
hci0 device_flags_changed: 50:1B:6A:9A:75:E6 (BR/EDR)
supp: 0x00000001 curr: 0x00000000
hci0 50:1B:6A:9A:75:E6 type BR/EDR connected eir_len 19
[CHG] Device 50:1B:6A:9A:75:E6 Connected: yes
hci0 new_link_key 50:1B:6A:9A:75:E6 type 0x04 pin_len 0 store_hint 1
[CHG] Device 50:1B:6A:9A:75:E6 Bonded: yes
[CHG] Device 50:1B:6A:9A:75:E6 Modalias: bluetooth:v0094p0004d0UUIDs: 00001101-0000-1000-8000-00805f9b34fb
[CHG] Device 50:1B:6A:9A:75:E6 UUIDs: 0000110b-0000-1000-8000-00805f9b34fb
[CHG] Device 50:1B:6A:9A:75:E6 UUIDs: 0000110c-0000-1000-8000-00805f9b34fb
[CHG] Device 50:1B:6A:9A:75:E6 UUIDs: 0000110e-0000-1000-8000-00805f9b34fb
[CHG] Device 50:1B:6A:9A:75:E6 UUIDs: 00001200-0000-1000-8000-00805f9b34fb
[CHG] Device 50:1B:6A:9A:75:E6 UUIDs: 0000ff01-0000-1000-8000-00805f9b34ff
[CHG] Device 50:1B:6A:9A:75:E6 UUIDs: df21fe2c-2515-4fdb-8886-f12c4d67927c
[CHG] Device 50:1B:6A:9A:75:E6 UUIDs: fa349b5f-8050-0030-0010-00001bbb231d
[CHG] Device 50:1B:6A:9A:75:E6 ServicesResolved: yes
[CHG] Device 50:1B:6A:9A:75:E6 Paired: yes
Pairing successful
[WONDERBOOM 4]# exit
root@genio-520-evk-ufs:~# bluetoothctl connect 50:1B:6A:9A:75:E6
Attempting to connect to 50:1B:6A:9A:75:E6
Failed to connect: org.bluez.Error.Failed br-connection-profile-unavailable
root@genio-520-evk-ufs:~# systemctl status pipewire
* pipewire.service - PipeWire Multimedia Service
Loaded: loaded (/usr/lib/systemd/system/pipewire.service; enabled; preset: enabled)
Active: active (running) since Thu 2025-05-29 18:48:27 UTC; 1min 26s ago
TriggeredBy: * pipewire.socket
* pipewire-manager.socket
Main PID: 457 (pipewire)
Tasks: 2 (limit: 9320)
Memory: 3.5M (peak: 3.9M)
CPU: 59ms
CGroup: /system.slice/pipewire.service
`-457 /usr/bin/pipewire
May 29 18:48:27 genio-520-evk-ufs systemd[1]: Started PipeWire Multimedia Service.
May 29 18:48:27 genio-520-evk-ufs pipewire[457]: spa.dbus: Failed to connect to session bus: Using X11 for dbus-daemon autolaunch was disab>
May 29 18:48:27 genio-520-evk-ufs pipewire[457]: mod.portal: Failed to connect to session bus: Input/output error
May 29 18:48:27 genio-520-evk-ufs pipewire[457]: spa.dbus: Failed to connect to session bus: Using X11 for dbus-daemon autolaunch was disab>
May 29 18:48:27 genio-520-evk-ufs pipewire[457]: mod.jackdbus-detect: Failed to connect to session bus: Input/output error
root@genio-520-evk-ufs:~# systemctl status wireplumber
* wireplumber.service - Multimedia Service Session Manager
Loaded: loaded (/usr/lib/systemd/system/wireplumber.service; disabled; preset: disabled)
Active: inactive (dead)
Previously, at one point it seemed like I was able to make Pipewire & Wireplumber work. But my system was messed up (I wasn’t able to playback audio using pw-play.
Even so, this was the output of wpctl status:
PipeWire 'pipewire-0' [1.0.9, root@genio-520-evk-ufs, cookie:4277631255]
└─ Clients:
34. WirePlumber [1.0.9, root@genio-520-evk-ufs, pid:4265]
42. WirePlumber [export] [1.0.9, root@genio-520-evk-ufs, pid:4265]
55. wpctl [1.0.9, root@genio-520-evk-ufs, pid:4661]
Audio
├─ Devices:
│ 32. (null) [alsa:pcm]
│ 43. Built-in Audio [alsa]
│ 54. WONDERBOOM 4 [bluez5]
│
├─ Sinks:
│ 44. Built-in Audio I2S output [vol: 1.00]
│ 45. Built-in Audio PCM output [vol: 1.00]
│ 46. Built-in Audio Earphone speaker + Lineout speaker [vol: 1.00]
│
├─ Sources:
│ 47. Built-in Audio I2S input [vol: 1.00]
│ 48. Built-in Audio PCM input [vol: 1.00]
│ 49. Built-in Audio Digital microphone [vol: 1.00]
│ 50. Built-in Audio Analog microphone + Earphone microphone [vol: 1.00]
│
├─ Filters:
│
└─ Streams:
Video
├─ Devices:
│
├─ Sinks:
│
├─ Sources:
│
├─ Filters:
│
└─ Streams:
Settings
└─ Default Configured Devices:
nullwas a test node I added while debugging.
The ALSA device/sinks/sources appeared but all my video devices were gone.
I think, this is roughly how things should look when Pipewire & Wireplumber are set up properly.
Any help on this would be very appreciated.
Hi @Nimish_Tambe
The following is my result in the PR4, and it should be fine.
Maybe you can try removing all your changes first to see if you get the same status as I do?
One thing worth noting is to make sure your system uses the correct boot conf when enabling PipeWire, instead of the asound.state.
You can try removing the asound.state and then reboot to see if the system successfully detects the device.
p.s. Remember to disable the service that automatically restores asound.state as well.
Regarding this, it’s possible that the system dosen’t know which device you want to use as default.
Normally the default device will have a * symbol in front of it (please refer to the mage above).
And could you provide the command you used?
I think I got it now - I had to start the wireplumber service manually and the ALSA devices appeared.