Waveshare WM8960

Although reverting back to version 2.692 is the easiest way to get things up and running, I took a dip on version 2.882 and figured out that it is required to add Stretch repository into package lists (under /etc/apt/sources.list), referring to this post

deb http://raspbian.raspberrypi.org/raspbian/ stretch main contrib non-free rpi

Also, in order to build kernel properly, the following packages are required:

  • libssl-dev

There are several error messages while running volumio kernelsource command:

tar: include/dt-bindings/input: Directory renamed before its status could be extracted
tar: include/dt-bindings: Directory renamed before its status could be extracted
tar: include: Directory renamed before its status could be extracted
tar: arch/arm64/boot/dts/broadcom: Directory renamed before its status could be extracted
tar: arch/arm64/boot/dts/arm: Directory renamed before its status could be extracted
tar: arch/arm64/boot/dts: Directory renamed before its status could be extracted
tar: arch/arm64/boot: Directory renamed before its status could be extracted
tar: arch/arm64: Directory renamed before its status could be extracted
tar: arch: Directory renamed before its status could be extracted
tar: Exiting with failure status due to previous errors
...
  HOSTCC  scripts/extract-cert
Linking Modules
ln: failed to create symbolic link ‘/lib/modules/4.19.118+/build/rpi-linux’: File exists

I don’t know what the script is trying to do, but those errors don’t look right to me. More over, the install.sh from branch rpi-4.9.y installs linux headers 3.6, which doesn’t make sense to me neither.

Anyway. In the end it kinda built dmks modules and have them installed as:

volumio@voluzero:~$ sudo dkms status
wm8960-soundcard, 1.0, 4.19.118+, armv6l: installed

Yet those built kernel modules are not loaded properly, even though both snd-soc-wm8960.ko and snd-soc-wm8960-soundcard.ko are installed in place (as indicated in install.sh)

volumio@voluzero:~$ sudo systemctl status systemd-modules-load.service
● systemd-modules-load.service - Load Kernel Modules
   Loaded: loaded (/lib/systemd/system/systemd-modules-load.service; static)
   Active: failed (Result: exit-code) since Fri 2021-07-09 02:10:59 UTC; 2s ago
     Docs: man:systemd-modules-load.service(8)
           man:modules-load.d(5)
  Process: 1198 ExecStart=/lib/systemd/systemd-modules-load (code=exited, status=1/FAILURE)
 Main PID: 1198 (code=exited, status=1/FAILURE)

Jul 09 02:10:59 voluzero systemd-modules-load[1198]: Failed to insert 'snd_soc_wm8960': No such file or directory
Jul 09 02:10:59 voluzero systemd-modules-load[1198]: Failed to insert 'snd_soc_wm8960_soundcard': No such file or...tory
Jul 09 02:10:59 voluzero systemd[1]: systemd-modules-load.service: main process exited, code=exited, status=1/FAILURE
Jul 09 02:10:59 voluzero systemd[1]: Failed to start Load Kernel Modules.
Jul 09 02:10:59 voluzero systemd[1]: Unit systemd-modules-load.service entered failed state.

Adding them though modprobe won’t help neither:

[  133.676462] snd_soc_wm8960: Unknown symbol __sanitizer_cov_trace_pc (err -2)
[  133.682986] snd_soc_wm8960_soundcard: Unknown symbol __sanitizer_cov_trace_pc (err -2)