respeaker / seeed-voicecard

2 Mic Hat, 4 Mic Array, 6-Mic Circular Array Kit, and 4-Mic Linear Array Kit for Raspberry Pi
GNU General Public License v3.0
481 stars 291 forks source link

[Bug]: Code doesn’t compile on RetroPie v5.4.72-v71 #304

Closed StonedEdge closed 3 years ago

StonedEdge commented 3 years ago

Describe the bug

Hi guys,

I’ve tried to compile this via sudo ./install.sh however I am getting missing kernel header errors that prevent me from compiling (please see relevant log output below). I’m wanting to use the 2-mic overlay for the WM8960 (although I don’t have any microphones hooked up to my custom board, mainly just want it for audio control and stereo output.)

I'm using a CM4, running the latest RetroPie image available here, which I believe runs on the kernel 5.4.72-v71+. Has anyone got any tips to get this driver working correctly with the latest version of RetroPie? I’ve created a custom PCB for it, and I’d love to use it with RetroPie if possible.

I have tried updating to the latest kernel and did see some success with installation, however RetroPie was crashing quite often and not great on the latest kernel.

Perhaps it’s a relatively easy fix but I’m a bit of a noob and have no idea how to get these required headers. Would really appreciate some help from the experts :) I don’t think this a bug at all and probably a simple fix, but I hope that it could be solved so I can continue on with my project.

If there is a specific line I should run in terminal to get these installed and the driver working please let me know :)

Expected behavior

I expect to be able to install drivers on version 4.5.72. Can install after upgrading via rpi-update and sudo apt upgrade all, however RetroPie crashes. I need to be able to install drivers successfully on 4.5.72.

Platform

Relevant log output

DKMS: add completed.
Error! echo
Your kernel headers for kernel 5.4.51-v7l+ cannot be found at
/lib/modules/5.4.51-v7l+/build or /lib/modules/5.4.51-v7l+/source.
Created symlink /etc/systemd/system/sysinit.target.wants/wm8960-soundcard.service → /lib/systemd/system/wm8960-soundcard.service.
Job for wm8960-soundcard.service failed because the control process exited with error code.
See "systemctl status wm8960-soundcard.service" and "journalctl -xe" for details.
AIWintermuteAI commented 3 years ago

Hi there! I'm not familiar with RetroPi image, but I'll try finding the time to check this Friday.

StonedEdge commented 3 years ago

Hi there! I'm not familiar with RetroPi image, but I'll try finding the time to check this Friday.

That’d be great, looking forward to it. I’d love to keep using this DAC, but was considering swapping if it’s too difficult to get it working.

Pillar1989 commented 3 years ago

@StonedEdge RetroPie use the 5.4.51-v7l+ kernel version. This kernel has abandoned by Raspberry pi. Please update to the latest 5.10 version. fly, I don't think this issue is even worth discussing. Perhaps it would be more valuable for you to go to RetroPie's GitHub and discuss kernel upgrades than to discuss software support here.

StonedEdge commented 3 years ago

@StonedEdge RetroPie use the 5.4.51-v7l+ kernel version. This kernel has abandoned by Raspberry pi. Please update to the latest 5.10 version. fly, I don't think this issue is even worth discussing. Perhaps it would be more valuable for you to go to RetroPie's GitHub and discuss kernel upgrades than to discuss software support here.

Really? A lot of people use RetroPie and although I agree with you that I should be running it on the 5.10 kernel, it doesn’t work currently and crashes upon updating. I thought it would be worth looking into if it’s such a simple fix. I think closing the issue is a bit unfair personally.

HinTak commented 3 years ago

@StonedEdge you might find this useful - https://github.com/HinTak/RaspberryPi-Dev/blob/master/Downgrading-Pi-Kernel.md ; instruction fairly similar for manually switching specific kernel kernels and header packages around. Disclaimer: I don't work for Seeed Studio. Just another user, and the usual "consider clicking donate if you find it useful"...

StonedEdge commented 3 years ago

@StonedEdge you might find this useful - https://github.com/HinTak/RaspberryPi-Dev/blob/master/Downgrading-Pi-Kernel.md ; instruction fairly similar for manually switching specific kernel kernels and header packages around. Disclaimer: I don't work for Seeed Studio. Just another user, and the usual "consider clicking donate if you find it useful"...

Thank you for your help. I'm a little bit slow with this, but my understanding is that I need to put these lines within the install.sh file? Or can I just execute these before running sudo ./install.sh?

HinTak commented 3 years ago

@StonedEdge no, you just manually execute the 4 commands, one after the other, reboot, then proceed to follow the usual driver install instructions. The 5th command is just for verification.

wget -O kernel-headers_armhf.deb http://archive.raspberrypi.org/debian/pool/main/r/raspberrypi-firmware/raspberrypi-kernel-headers_1.20210108-1_armhf.deb
wget -O kernel_armhf.deb http://archive.raspberrypi.org/debian/pool/main/r/raspberrypi-firmware/raspberrypi-kernel_1.20210108-1_armhf.deb
sudo dpkg -i kernel-headers_armhf.deb kernel_armhf.deb
sudo apt-mark hold raspberrypi-kernel-headers raspberrypi-kernel
HinTak commented 3 years ago

@StonedEdge since you are already at 5.4.x, it is not much of a "downgrade" or "upgrade", but just giving you the additional stuff to be able to build the driver.

StonedEdge commented 3 years ago

@StonedEdge since you are already at 5.4.x, it is not much of a "downgrade" or "upgrade", but just giving you the additional stuff to be able to build the driver.

Hmm, I just tried executing those commands, then running the script, but same error unfortunately. It seems to upgrade the kernel to the 5.4.83-v7l+ kernel version as well. See below:

`Creating symlink /var/lib/dkms/seeed-voicecard/0.3/source -> /usr/src/seeed-voicecard-0.3

DKMS: add completed. Error! echo Your kernel headers for kernel 5.4.72-v7l+ cannot be found at /lib/modules/5.4.72-v7l+/build or /lib/modules/5.4.72-v7l+/source. setup git config git init Initialized empty Git repository in /etc/voicecard/.git/ git add --all git commit -m "origin configures" [master (root-commit) 9a85c24] origin configures 7 files changed, 1482 insertions(+) create mode 100644 ac108_6mic.state create mode 100644 ac108_asound.state create mode 100644 asound_2mic.conf create mode 100644 asound_4mic.conf create mode 100644 asound_6mic.conf create mode 100644 dkms.conf create mode 100644 wm8960_asound.state Created symlink /etc/systemd/system/sysinit.target.wants/seeed-voicecard.service → /lib/systemd/system/seeed-voicecard.service.`

HinTak commented 3 years ago

@StonedEdge I need to see what went wrong with the 3rd command (no need to do the first two again, they just download files), it should output piles and piles of stuff. and also the output of ls -ld /lib/modules/*/build /lib/modules/*/source.

StonedEdge commented 3 years ago

Sure, I'm not sure if this is the best way to condense the output of that command since its quite long, but here it is anyway. Btw, the card does install (hooray), but when I try to run "speaker-test" in terminal, I get this response. This seems to be the relevant part (highlighted in bold) but I've put the whole output below anyway to be complete. I've excluded the dtbo adds/removals. Is it possible to install the headers on version 5.4.72 rather than upgrading to 5.4.83?

1) Bus error speaker-test 1.1.8 Playback device is default Stream parameters are 48000Hz, S16_LE, 1 channels Using 16 octaves of pink noise Rate set to 48000Hz (requested 48000Hz) Buffer size range from 12000 to 18000 Period size range from 6000 to 6000 Using max buffer size 18000 Periods = 4 Bus error

2) Kernel errors run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 5.4.83+ /boot/kernel.img run-parts: executing /etc/kernel/postinst.d/dkms 5.4.83+ /boot/kernel.img run-parts: executing /etc/kernel/postinst.d/initramfs-tools 5.4.83+ /boot/kernel.img run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 5.4.83-v7+ /boot/kernel7.img run-parts: executing /etc/kernel/postinst.d/dkms 5.4.83-v7+ /boot/kernel7.img run-parts: executing /etc/kernel/postinst.d/initramfs-tools 5.4.83-v7+ /boot/kernel7.img run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 5.4.83-v7l+ /boot/kernel7l.img run-parts: executing /etc/kernel/postinst.d/dkms 5.4.83-v7l+ /boot/kernel7l.img run-parts: executing /etc/kernel/postinst.d/initramfs-tools 5.4.83-v7l+ /boot/kernel7l.img run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 5.4.83-v8+ /boot/kernel8.img run-parts: executing /etc/kernel/postinst.d/dkms 5.4.83-v8+ /boot/kernel8.img /etc/kernel/postinst.d/dkms: Error! echo Your kernel headers for kernel 5.4.83-v8+ cannot be found at /lib/modules/5.4.83-v8+/build or /lib/modules/5.4.83-v8+/source. Error! echo Your kernel headers for kernel 5.4.83-v8+ cannot be found at /lib/modules/5.4.83-v8+/build or /lib/modules/5.4.83-v8+/source. run-parts: executing /etc/kernel/postinst.d/initramfs-tools 5.4.83-v8+ /boot/kernel8.img

2a) run-parts: executing /etc/kernel/postrm.d/initramfs-tools 5.4.83+ /boot/kernel.img run-parts: executing /etc/kernel/postrm.d/initramfs-tools 5.4.83-v7+ /boot/kernel7.img run-parts: executing /etc/kernel/postrm.d/initramfs-tools 5.4.83-v7l+ /boot/kernel7l.img run-parts: executing /etc/kernel/postrm.d/initramfs-tools 5.4.83-v8+ /boot/kernel8.img Setting up raspberrypi-kernel-headers (1.20210108-1) ... run-parts: executing /etc/kernel/header_postinst.d/dkms 5.4.83+ Job for systemd-modules-load.service failed because the control process exited with error code. See "systemctl status systemd-modules-load.service" and "journalctl -xe" for details. Job for systemd-modules-load.service failed because the control process exited with error code. See "systemctl status systemd-modules-load.service" and "journalctl -xe" for details. run-parts: executing /etc/kernel/header_postinst.d/dkms 5.4.83-v7+ Job for systemd-modules-load.service failed because the control process exited with error code. See "systemctl status systemd-modules-load.service" and "journalctl -xe" for details. Job for systemd-modules-load.service failed because the control process exited with error code. See "systemctl status systemd-modules-load.service" and "journalctl -xe" for details. run-parts: executing /etc/kernel/header_postinst.d/dkms 5.4.83-v7l+ run-parts: executing /etc/kernel/header_postinst.d/dkms 5.4.83-v8+ Error! echo Your kernel headers for kernel 5.4.83-v8+ cannot be found at /lib/modules/5.4.83-v8+/build or /lib/modules/5.4.83-v8+/source. Error! echo Your kernel headers for kernel 5.4.83-v8+ cannot be found at /lib/modules/5.4.83-v8+/build or /lib/modules/5.4.83-v8+/source.

3) sudo dkms status seeed-voicecard, 0.3, 5.4.83+, armv7l: installed seeed-voicecard, 0.3, 5.4.83-v7+, armv7l: installed seeed-voicecard, 0.3, 5.4.83-v7l+, armv7l: installed xpad, 0.4, 5.4.83+, armv7l: installed (original_module exists) xpad, 0.4, 5.4.83-v7+, armv7l: installed (original_module exists) xpad, 0.4, 5.4.83-v7l+, armv7l: installed (original_module exists)

HinTak commented 3 years ago

@StonedEdge according to my notes ( https://github.com/HinTak/RaspberryPi-Dev/blob/master/Raspbian-Kernel-Releases.md ) you want 20201022 if you want specifically 5.4.72 . Modify the first two lines of 4 to do that. Error messages with "v8+" can be ignored (they are for 64-bit kernels). So indeed the driver seems to have installed okay. The bus error I have never seen - likely hardware issue - make sure you have enough power supplied to the module, things are connected up properly for example. Sorry I think that's the limit of what I can offer.

HinTak commented 3 years ago

@StonedEdge on 2nd thought, I don't know what speaker-test does. If it is not part of seeed studio instructions, maybe you should use something like the "aplay ..." command for testing in the readme instead .

StonedEdge commented 3 years ago

@StonedEdge according to my notes ( https://github.com/HinTak/RaspberryPi-Dev/blob/master/Raspbian-Kernel-Releases.md ) you want 20201022 if you want specifically 5.4.72 . Modify the first two lines of 4 to do that. Error messages with "v8+" can be ignored (they are for 64-bit kernels). So indeed the driver seems to have installed okay. The bus error I have never seen - likely hardware issue - make sure you have enough power supplied to the module, things are connected up properly for example. Sorry I think that's the limit of what I can offer.

I've managed to install it and get some sound out now using aplay Test.wav. However, it only worked once. Then after that I'm getting the following errors:

pi@retropie:~ $ aplay Test.wav Playing raw data 'Test.wav' : Unsigned 8 bit, Rate 8000 Hz, Mono ALSA lib dlmisc.c:287:(snd1_dlobj_cache_get) Cannot open shared library /usr/lib/arm-linux-gnueabihf/alsa-lib/libasound_module_rate_samplerate.so ((null): /usr/lib/arm-linux-gnueabihf/alsa-lib/libasound_module_rate_samplerate.so: cannot open shared object file: No such file or directory) ALSA lib pcm_rate.c:1450:(snd_pcm_rate_open) Cannot find rate converter aplay: set_params:1403: Unable to install hw params: ACCESS: RW_INTERLEAVED FORMAT: U8 SUBFORMAT: STD SAMPLE_BITS: 8 FRAME_BITS: 8 CHANNELS: 1 RATE: 8000 PERIOD_TIME: 125000 PERIOD_SIZE: 1000 PERIOD_BYTES: 1000 PERIODS: 3 BUFFER_TIME: 375000 BUFFER_SIZE: 3000 BUFFER_BYTES: 3000 TICK_TIME: 0

Any idea what would cause this @HinTak? Do I need to set the default device?

HinTak commented 3 years ago

/usr/lib/arm-linux-gnueabihf/alsa-lib/libasound_module_rate_samplerate.so is part of the package libasound2-plugins . You need to install that. (run "sudo apt-get install libasound2-plugins")

And there are multiple output devices on the pi, you might need an option of which device to use for aplay .

Sorry the libasound2-plugins was my mistake.

StonedEdge commented 3 years ago

Seems to be working so far! Thank you so much!

Just one thing I noticed, does the volume reset upon reboot for this driver? Should alsamixer volume states be saved or do they default to maximum volume on boot? I'm probably going to write a script to fix this anyway, but was just wondering as some other drivers I've used seem to retain the settings upon restarts.

HinTak commented 3 years ago

@StonedEdge cool. I was going to write that strictly speaking, the asound plugins missing issue is not the driver's responsibility - audio devices (not just Seeed Studio's) typically accepts only certain sampling rates, and if you try to play sound of a different rate to what the device likes, it is up to the middle-man (the generic alsa libs) to convert; also not sure about CM4, but the other Pi's all have on-board audio so the default playback device is not the hat, but the on-pi-board phone jack. Hence the test command in the readme has both rate and devices specified.

As for save/restore volume settings across reboot, supposely yes, it should. I have seen reports here about it not working though... Have a look at the closed reports - I don't recall details.

And ...I don't work for Seeed Studio... So if you find this helpful, please feel free to click on the donate links eg bottom of https://hintak.github.io .

StonedEdge commented 3 years ago

@StonedEdge cool. I was going to write that strictly speaking, the asound plugins missing issue is not the driver's responsibility - audio devices (not just Seeed Studio's) typically accepts only certain sampling rates, and if you try to play sound of a different rate to what the device likes, it is up to the middle-man (the generic alsa libs) to convert; also not sure about CM4, but the other Pi's all have on-board audio so the default playback device is not the hat, but the on-pi-board phone jack. Hence the test command in the readme has both rate and devices specified.

As for save/restore volume settings across reboot, supposely yes, it should. I have seen reports here about it not working though... Have a look at the closed reports - I don't recall details.

And ...I don't work for Seeed Studio... So if you find this helpful, please feel free to click on the donate links eg bottom of https://hintak.github.io .

Will be donating shortly! Thanks so much for your help, you made my week and glad that this project can continue forward. Cheers again.

StonedEdge commented 2 years ago

Hi there @HinT

I'm back as I'm having issues again following the above instructions, I do apologize for the constant messages and cries for help. Has there been any push requests that may have broken the above steps you gave me @HinTak ? Wondering how to fix my issue... sorry to bother you, but looks like some install.sh lines were changed right after I installed the driver. Unfortunately I didn't save the files locally, so I am not sure how to get the driver functioning again.

The following held packages will be changed: raspberrypi-kernel raspberrypi-kernel-headers The following packages will be upgraded: raspberrypi-kernel raspberrypi-kernel-headers 2 upgraded, 0 newly installed, 0 to remove and 168 not upgraded. E: Held packages were changed and -y was used without --allow-change-held-packages.

To recap the following steps I took to get the driver working previously:

Execute 1-4 in terminal: 1) wget -O kernel-headers_armhf.deb http://archive.raspberrypi.org/debian/pool/main/r/raspberrypi-firmware/raspberrypi-kernel-headers_1.**20201022**-1_armhf.deb 2) wget -O kernel_armhf.deb http://archive.raspberrypi.org/debian/pool/main/r/raspberrypi-firmware/raspberrypi-kernel_1.**20201022**-1_armhf.deb 3) sudo dpkg -i kernel-headers_armhf.deb kernel_armhf.deb 4) sudo apt-mark hold raspberrypi-kernel-headers raspberrypi-kernel 5) sudo reboot 6) Run the install as per the instructions.

Doing the above results in kernel crashes when I try to reboot the system.
This is what I noticed had changed since the previous time I installed the driver.

Kind regards

StonedEdge commented 2 years ago

@HinTak It basically looks like the kernel hold is being overridden somehow compared to before August when I had it working.

HinTak commented 2 years ago

@StonedEdge can you attach the all-log result of "./install.sh 2>&1 | tee all-log" ?

StonedEdge commented 2 years ago

Hi @HinTak,

Here's the below output from your command. Please note that I do have two slaves on the same i2c bus, not that this should make any difference really...

` pi@retropie:~/seeed-voicecard $ sudo ./install.sh 2>&1 | tee all-log

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Hit:1 http://archive.raspberrypi.org/debian buster InRelease Hit:2 http://raspbian.raspberrypi.org/raspbian buster InRelease Reading package lists... Building dependency tree... Reading state information... 171 packages can be upgraded. Run 'apt list --upgradable' to see them. Reading package lists... Building dependency tree... Reading state information... The following held packages will be changed: raspberrypi-kernel raspberrypi-kernel-headers The following packages will be upgraded: raspberrypi-kernel raspberrypi-kernel-headers 2 upgraded, 0 newly installed, 0 to remove and 169 not upgraded. E: Held packages were changed and -y was used without --allow-change-held-packag es. Reading package lists... Building dependency tree... Reading state information... E: Unable to locate package linux-raspi E: Unable to locate package linux-headers-raspi E: Unable to locate package linux-image-raspi Reading package lists... Building dependency tree... Reading state information... dkms is already the newest version (2.6.1-4). git is already the newest version (1:2.20.1-2+deb10u3). i2c-tools is already the newest version (4.1-1). libasound2-plugins is already the newest version (1.1.8-1). 0 upgraded, 0 newly installed, 0 to remove and 171 not upgraded.

-------- Uninstall Beginning -------- Module: seeed-voicecard Version: 0.3 Kernel: 5.4.72-v7l+ (armv7l)

Status: Before uninstall, this module version was ACTIVE on this kernel.

snd-soc-wm8960.ko:

snd-soc-ac108.ko:

snd-soc-seeed-voicecard.ko:

depmod...

DKMS: uninstall completed.


Deleting module version: 0.3 completely from the DKMS tree.

Done.

Creating symlink /var/lib/dkms/seeed-voicecard/0.3/source -> /usr/src/seeed-voicecard-0.3

DKMS: add completed.

Kernel preparation unnecessary for this kernel. Skipping... applying patch back-to-v5.4.diff...patching file ac101.c patching file ac108.c patching file seeed-voicecard.c Hunk #1 succeeded at 97 (offset 1 line). Hunk #2 succeeded at 118 (offset 1 line). Hunk #3 succeeded at 132 (offset 1 line). Hunk #4 succeeded at 197 (offset 1 line). Hunk #5 succeeded at 206 (offset 1 line). Hunk #6 succeeded at 228 (offset 1 line). Hunk #7 succeeded at 248 (offset -4 lines). Hunk #8 succeeded at 387 (offset 50 lines). Hunk #9 succeeded at 765 (offset 129 lines). patching file sound-compatible-4.18.h patching file wm8960.c

Building module: cleaning build area... make -j4 KERNELRELEASE=5.4.72-v7l+ -C /lib/modules/5.4.72-v7l+/build M=/var/lib/dkms/seeed-voicecard/0.3/build.... cleaning build area...

DKMS: build completed.

snd-soc-wm8960.ko: Running module version sanity check.

snd-soc-ac108.ko: Running module version sanity check.

snd-soc-seeed-voicecard.ko: Running module version sanity check.

depmod...

DKMS: install completed. mkdir: cannot create directory ‘/etc/voicecard’: File exists git init Reinitialized existing Git repository in /etc/voicecard/.git/ git add --all git commit -m "origin configures" On branch master nothing to commit, working tree clean `

HinTak commented 2 years ago

The error message about package holds seems harmless and everything looks alright as far as I see. What does dmesg says after the reboot?

StonedEdge commented 2 years ago

Hmm, so it seems to be working overall, but the Pi is lagging quite significantly after installing the driver.

After I try to play audio from the splashscreen on RetroPie by altering this line in the shell script attached, it basically seems to not want to configure the bluetooth service and I end up getting crashes. Going a bit of topic here, but definitely strange... ugh

https://images-ext-1.discordapp.net/external/lH7C3iNmyZl1AMEYQ4XyN6dzJ87sxF0Ctvy8GWrQvbM/https/media.discordapp.net/attachments/651918229308178468/895692684184920064/unknown.png

HinTak commented 2 years ago

I am a little confused - does the driver works or not? If you are trying to play sound with unsual player, such as omxplayer as in your screenshot, you can have strange consequences. In particular, omxplayer is pi-specific and use the raspberrypi's video core and firmware to interact with the video and audio hardware, and it goes below the driver, alsa and perhaps even the linux kernel... if I were you, I would avoid using it for unsual usage, and perhaps not for welcome sound at login...

And since it interacts with the hardware more directly, if you experiences crashes from its usage, you should report it to the omxplayer maintainer. Who incidentally, is also one of the core rasberrypi engineers in the rasberrypi foundation!

StonedEdge commented 2 years ago

The driver installs fine, works well. But for my application (with RetroPie) - it doesn't work at all in practice.

I can click around in the menus (yes the audio works there) but as soon as I load a game it will just revert back to the emulation station home menu (i.e ROM does not launch correctly).

I will try to reach out to someone on RetroPie forums to help with my issue as I understand this is not your responsibility and probably out of scope to help me much further - sorry. Do you have a link to where I could ask the omxplayer maintainer?

HinTak commented 2 years ago

The current maintaining place is https://github.com/popcornmix/omxplayer (it is forked from another which is no longer maintained) , and as I wrote earlier, popcornmix is one of the pi people; but even that page says you should be using vlc instead!

I am mostly interested in others' problems with the respeaker because I also own one (and I have no special relationship with Seeed Studio, except they have given me some gift vouchers for contributing bug fixes) so I am okay to try, up to a point.

StonedEdge commented 2 years ago

@HinTak Yeah, I very much appreciate your help and still have to donate to you which I will be doing shortly. Anyhow, I’ve managed to botch together a very crappy solution. Basically it involves changing the line 113 in install.sh to “apt-get -y install raspberrypi-kernel-headers” instead of “ apt-get -y install raspberrypi-kernel-headers raspberrypi-kernel”, installing the driver, rebooting and simply adding wm8960-soundcard as an overlay to config.txt. This seems to upgrade the kernel to the latest version and adds the dtbo (which is already integrated into the latest kernel) and doesn’t seem to rely on the seeed drivers at all. Sound sounds awful in the RetroPie menu itself (almost like it’s playing at a different frequency (have to check on scope yet, major distortion) but in the games the sound is perfect.

RetroPie doesn’t crash this way, and although it’s an ugly solution, it seems to work for the time being. I’ll settle for this now until a proper fix is found. Perhaps based on the above you could suggest some other changes?

HinTak commented 2 years ago

@StonedEdge As far as I understand it (from the Seeed Studio people), upstream (as included in recent kernels) wm8960 is buggy and it is better to use the seeed-studio version of the wm8960 driver code. What may help is actually the dtbo line in config.txt - that was a change I made some time during the last year - before that, the installation process both try to load the dtbo and driver at boot time, and also dynamically probe for and determine which device it has and load on demand. Because load-at-boot cannot be unloaded, I changed it to make it easier to unload, and reload a modified version, to make it easier for trying things out and debugging without rebooting.

If your changes work for you, maybe RetroPie needs to use the driver so early (as you seems to want it at the welcome screen), you can just add that line in config.txt by hand. It is a balance - putting it in config.txt means the driver is loaded earlier, but less flexible (and bad things happens if the driver does not match the device actually connected); probing for which device is connected and loading the corresponding driver, means the driver gets loaded a little later after boot; and as it seems to you in your usage, probably trying to play sound very early after boot does not work. You should be able to tell from dmesg, when the driver is loaded - there is a timestamp before it. I did ask for dmesg output earlier...

StonedEdge commented 2 years ago

Hi @HinTak

Copying the below dmesg as still getting some errors here, not sure if this helps you debug or not but if you do have some time please feel free to take a look. Cheers. I have bolded the items that may be of most relevance. I did have this working a while back here, so just trying to retrace my steps to get it working again. It may be hardware issues, but the crashes are related to the below items in bold: (maybe I’m missing something you can see here)… https://youtu.be/RLCv9ml3pk4 <— proof that it was once alive and well…

[ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 5.10.63-v7l+ (dom@buildbot) (arm-linux-gnueabihf-gc c-8 (Ubuntu/Linaro 8.4.0-3ubuntu1) 8.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #1459 SMP Wed Oct 6 16:41:57 BST 2021 [ 0.000000] CPU: ARMv7 Processor [410fd083] revision 3 (ARMv7), cr=30c5383d [ 0.000000] CPU: div instructions available: patching division code [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache [ 0.000000] OF: fdt: Machine model: Raspberry Pi Compute Module 4 Rev 1.0 [ 0.000000] random: fast init done [ 0.000000] Memory policy: Data cache writealloc [ 0.000000] Reserved memory: created CMA memory pool at 0x000000001ac00000, s ize 320 MiB [ 0.000000] OF: reserved mem: initialized node linux,cma, compatible id share d-dma-pool [ 0.000000] Zone ranges: [ 0.000000] DMA [mem 0x0000000000000000-0x000000002fffffff] [ 0.000000] Normal empty [ 0.000000] HighMem [mem 0x0000000030000000-0x000000007fffffff] [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000000000000-0x000000003b3fffff] [ 0.000000] node 0: [mem 0x0000000040000000-0x000000007fffffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000007fffffff] [ 0.000000] On node 0 totalpages: 504832 [ 0.000000] DMA zone: 1728 pages used for memmap [ 0.000000] DMA zone: 0 pages reserved [ 0.000000] DMA zone: 196608 pages, LIFO batch:63 [ 0.000000] HighMem zone: 308224 pages, LIFO batch:63 [ 0.000000] percpu: Embedded 20 pages/cpu s50828 r8192 d22900 u81920 [ 0.000000] pcpu-alloc: s50828 r8192 d22900 u81920 alloc=20*4096 [ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 503104 [ 0.000000] Kernel command line: coherent_pool=1M 8250.nr_uarts=0 snd_bcm2835 .enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 video=HDMI-A-1:800x480M@59 smsc9 5xx.macaddr=E4:5F:01:3E:B2:F8 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000 000 console=ttyS0,115200 console=tty1 root=PARTUUID=68da54e0-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait loglevel=3 consoleblank=0 plymouth.e nable=0 [ 0.000000] Kernel parameter elevator= does not have any effect anymore. Please use sysfs to set IO scheduler for individual devices. [ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes, linear) [ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes, li near) [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off [ 0.000000] software IO TLB: mapped [mem 0x0000000015a00000-0x0000000019a0000 0] (64MB) [ 0.000000] Memory: 1587372K/2019328K available (10240K kernel code, 1364K rw data, 3192K rodata, 2048K init, 891K bss, 104276K reserved, 327680K cma-reserved , 1232896K highmem) [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 [ 0.000000] ftrace: allocating 34315 entries in 68 pages [ 0.000000] ftrace: allocated 68 pages with 2 groups [ 0.000000] rcu: Hierarchical RCU implementation. [ 0.000000] Rude variant of Tasks RCU enabled. [ 0.000000] Tracing variant of Tasks RCU enabled. [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jif fies. [ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16 [ 0.000000] GIC: Using split EOI/Deactivate mode [ 0.000000] random: get_random_bytes called from start_kernel+0x3c8/0x59c wit h crng_init=1 [ 0.000008] sched_clock: 32 bits at 1000kHz, resolution 1000ns, wraps every 2 147483647500ns [ 0.000028] clocksource: timer: mask: 0xffffffff maxcycles: 0xffffffff, max idle_ns: 1911260446275 ns [ 0.000088] bcm2835: system timer (irq = 25) [ 0.000739] arch_timer: cp15 timer(s) running at 54.00MHz (phys). [ 0.000756] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0xc743ce346, max_idle_ns: 440795203123 ns [ 0.000776] sched_clock: 56 bits at 54MHz, resolution 18ns, wraps every 43980 46511102ns [ 0.000790] Switching to timer-based delay loop, resolution 18ns [ 0.001052] Console: colour dummy device 80x30 [ 0.001122] printk: console [tty1] enabled [ 0.001177] Calibrating delay loop (skipped), value calculated using timer fr equency.. 108.00 BogoMIPS (lpj=540000) [ 0.001209] pid_max: default: 32768 minimum: 301 [ 0.001374] LSM: Security Framework initializing [ 0.001562] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes, linea r) [ 0.001587] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes, linear) [ 0.003062] cgroup: Disabling memory control group subsystem [ 0.003297] CPU: Testing write buffer coherency: ok [ 0.003764] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000 [ 0.004988] Setting up static identity map for 0x200000 - 0x20003c [ 0.005187] rcu: Hierarchical SRCU implementation. [ 0.006126] smp: Bringing up secondary CPUs ... [ 0.007357] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001 [ 0.008737] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002 [ 0.010048] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003 [ 0.010223] smp: Brought up 1 node, 4 CPUs [ 0.010245] SMP: Total of 4 processors activated (432.00 BogoMIPS). [ 0.010260] CPU: All CPU(s) started in HYP mode. [ 0.010274] CPU: Virtualization extensions available. [ 0.011238] devtmpfs: initialized [ 0.025830] VFP support v0.3: implementor 41 architecture 3 part 40 variant 8 rev 0 [ 0.026067] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, ma x_idle_ns: 19112604462750000 ns [ 0.026097] futex hash table entries: 1024 (order: 4, 65536 bytes, linear) [ 0.034172] pinctrl core: initialized pinctrl subsystem [ 0.035281] NET: Registered protocol family 16 [ 0.039478] DMA: preallocated 1024 KiB pool for atomic coherent allocations [ 0.040242] audit: initializing netlink subsys (disabled) [ 0.040510] audit: type=2000 audit(0.030:1): state=initialized audit_enabled= 0 res=1 [ 0.041150] thermal_sys: Registered thermal governor 'step_wise' [ 0.041909] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers. [ 0.041926] hw-breakpoint: maximum watchpoint size is 8 bytes. [ 0.042340] Serial: AMBA PL011 UART driver [ 0.076664] bcm2835-mbox fe00b880.mailbox: mailbox enabled [ 0.090846] raspberrypi-firmware soc:firmware: Attached to firmware from 2021 -10-29T10:47:33, variant start [ 0.100858] raspberrypi-firmware soc:firmware: Firmware hash is b8a114e5a9877 e91ca8f26d1a5ce904b2ad3cf13 [ 0.142234] Kprobes globally optimized [ 0.147341] bcm2835-dma fe007000.dma: DMA legacy API manager, dmachans=0x1 [ 0.151579] vgaarb: loaded [ 0.152044] SCSI subsystem initialized [ 0.152274] usbcore: registered new interface driver usbfs [ 0.152336] usbcore: registered new interface driver hub [ 0.152421] usbcore: registered new device driver usb [ 0.152786] usb_phy_generic phy: supply vcc not found, using dummy regulator [ 0.154756] clocksource: Switched to clocksource arch_sys_counter [ 1.113785] VFS: Disk quotas dquot_6.6.0 [ 1.113881] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) [ 1.114045] FS-Cache: Loaded [ 1.114268] CacheFiles: Loaded [ 1.115376] simple-framebuffer 3ea50000.framebuffer: framebuffer at 0x3ea5000 0, 0x177000 bytes, mapped to 0x(ptrval) [ 1.115397] simple-framebuffer 3ea50000.framebuffer: format=a8r8g8b8, mode=80 0x480x32, linelength=3200 [ 1.115821] Console: switching to colour frame buffer device 100x30 [ 1.117749] simple-framebuffer 3ea50000.framebuffer: fb0: simplefb registered ! [ 1.128243] NET: Registered protocol family 2 [ 1.128496] IP idents hash table entries: 16384 (order: 5, 131072 bytes, line ar) [ 1.129971] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear) [ 1.130013] TCP established hash table entries: 8192 (order: 3, 32768 bytes, linear) [ 1.130078] TCP bind hash table entries: 8192 (order: 4, 65536 bytes, linear) [ 1.130152] TCP: Hash tables configured (established 8192 bind 8192) [ 1.130319] UDP hash table entries: 512 (order: 2, 16384 bytes, linear) [ 1.130355] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear) [ 1.130618] NET: Registered protocol family 1 [ 1.131405] RPC: Registered named UNIX socket transport module. [ 1.131422] RPC: Registered udp transport module. [ 1.131437] RPC: Registered tcp transport module. [ 1.131452] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 1.131476] PCI: CLS 0 bytes, default 64 [ 1.134563] Initialise system trusted keyrings [ 1.134848] workingset: timestamp_bits=14 max_order=19 bucket_order=5 [ 1.143140] zbud: loaded [ 1.145345] FS-Cache: Netfs 'nfs' registered for caching [ 1.146111] NFS: Registering the id_resolver key type [ 1.146184] Key type id_resolver registered [ 1.146199] Key type id_legacy registered [ 1.146348] nfs4filelayout_init: NFSv4 File Layout Driver Registering... [ 1.146364] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering ... [ 1.147421] Key type asymmetric registered [ 1.147438] Asymmetric key parser 'x509' registered [ 1.147631] bounce: pool size: 64 pages [ 1.147676] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 2 49) [ 1.147897] io scheduler mq-deadline registered [ 1.147914] io scheduler kyber registered [ 1.152386] gpio-507 (ant1): hogged as output/high [ 1.153826] gpio-511 (ant2): hogged as output/low [ 1.155433] brcm-pcie fd500000.pcie: host bridge /scb/pcie@7d500000 ranges: [ 1.155464] brcm-pcie fd500000.pcie: No bus range found for /scb/pcie@7d500 000, using [bus 00-ff] [ 1.155544] brcm-pcie fd500000.pcie: MEM 0x0600000000..0x063fffffff -> 0 x00c0000000 [ 1.155632] brcm-pcie fd500000.pcie: IB MEM 0x0000000000..0x007fffffff -> 0 x0400000000 [ 1.764778] brcm-pcie fd500000.pcie: link down [ 1.773241] iproc-rng200 fe104000.rng: hwrng registered [ 1.773559] vc-mem: phys_addr:0x00000000 mem_base=0x3ec00000 mem_size:0x40000 000(1024 MiB) [ 1.774482] gpiomem-bcm2835 fe200000.gpiomem: Initialised: Registers at 0xfe2 00000 [ 1.787010] brd: module loaded [ 1.799468] loop: module loaded [ 1.801270] Loading iSCSI transport class v2.0-870. [ 1.804548] libphy: Fixed MDIO Bus: probed [ 1.806353] bcmgenet fd580000.ethernet: GENET 5.0 EPHY: 0x0000 [ 1.834786] libphy: bcmgenet MII bus: probed [ 1.914919] unimac-mdio unimac-mdio.-19: Broadcom UniMAC MDIO bus [ 1.916105] usbcore: registered new interface driver r8152 [ 1.916176] usbcore: registered new interface driver lan78xx [ 1.916249] usbcore: registered new interface driver smsc95xx [ 1.916862] dwc_otg: version 3.00a 10-AUG-2012 (platform bus) [ 1.917188] dwc_otg: FIQ enabled [ 1.917204] dwc_otg: NAK holdoff enabled [ 1.917218] dwc_otg: FIQ split-transaction FSM enabled [ 1.917237] Module dwc_common_port init [ 1.917656] usbcore: registered new interface driver uas [ 1.917723] usbcore: registered new interface driver usb-storage [ 1.917942] mousedev: PS/2 mouse device common for all mice [ 1.919651] bcm2835-wdt bcm2835-wdt: Broadcom BCM2835 watchdog timer [ 1.923124] sdhci: Secure Digital Host Controller Interface driver [ 1.923139] sdhci: Copyright(c) Pierre Ossman [ 1.923857] mmc-bcm2835 fe300000.mmcnr: could not get clk, deferring probe [ 1.924529] sdhci-pltfm: SDHCI platform and OF driver helper [ 1.927600] ledtrig-cpu: registered to indicate activity on CPUs [ 1.927960] hid: raw HID events driver (C) Jiri Kosina [ 1.928149] usbcore: registered new interface driver usbhid [ 1.928164] usbhid: USB HID core driver [ 1.934037] Initializing XFRM netlink socket [ 1.934094] NET: Registered protocol family 17 [ 1.934212] Key type dns_resolver registered [ 1.934643] Registering SWP/SWPB emulation handler [ 1.934864] registered taskstats version 1 [ 1.934892] Loading compiled-in X.509 certificates [ 1.935723] Key type ._fscrypt registered [ 1.935740] Key type .fscrypt registered [ 1.935755] Key type fscrypt-provisioning registered [ 1.947375] uart-pl011 fe201000.serial: there is not valid maps for state def ault [ 1.947680] uart-pl011 fe201000.serial: cts_event_workaround enabled [ 1.947756] fe201000.serial: ttyAMA0 at MMIO 0xfe201000 (irq = 36, base_baud = 0) is a PL011 rev2 [ 1.954487] bcm2835-power bcm2835-power: Broadcom BCM2835 power domains drive r [ 1.955613] mmc-bcm2835 fe300000.mmcnr: mmc_debug:0 mmc_debug2:0 [ 1.955631] mmc-bcm2835 fe300000.mmcnr: DMA channel allocated [ 1.984801] of_cfs_init [ 1.985076] of_cfs_init: OK [ 2.000633] mmc1: queuing unknown CIS tuple 0x80 (2 bytes) [ 2.002325] mmc1: queuing unknown CIS tuple 0x80 (3 bytes) [ 2.004013] mmc1: queuing unknown CIS tuple 0x80 (3 bytes) [ 2.007038] mmc1: queuing unknown CIS tuple 0x80 (7 bytes) [ 2.008731] mmc1: queuing unknown CIS tuple 0x80 (3 bytes) [ 2.020402] mmc0: SDHCI controller on fe340000.mmc [fe340000.mmc] using ADMA [ 2.021455] Waiting for root device PARTUUID=68da54e0-02... [ 2.074637] mmc1: new high speed SDIO card at address 0001 [ 2.119733] mmc0: new ultra high speed DDR50 SDXC card at address 59b4 [ 2.120667] mmcblk0: mmc0:59b4 ED2S5 119 GiB [ 2.122953] mmcblk0: p1 p2 [ 2.143560] EXT4-fs (mmcblk0p2): INFO: recovery required on readonly filesyst em [ 2.143580] EXT4-fs (mmcblk0p2): write access will be enabled during recovery [ 2.282273] EXT4-fs (mmcblk0p2): recovery complete [ 2.284390] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. O pts: (null) [ 2.284473] VFS: Mounted root (ext4 filesystem) readonly on device 179:2. [ 2.285337] devtmpfs: mounted [ 2.295323] Freeing unused kernel memory: 2048K [ 2.295650] Run /sbin/init as init process [ 2.295664] with arguments: [ 2.295679] /sbin/init [ 2.295693] with environment: [ 2.295708] HOME=/ [ 2.295722] TERM=linux [ 2.632727] systemd[1]: System time before build time, advancing clock. [ 2.734915] NET: Registered protocol family 10 [ 2.736351] Segment Routing with IPv6 [ 2.798281] systemd[1]: systemd 241 running in system mode. (+PAM +AUDIT +SEL INUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL + XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybr id) [ 2.799581] systemd[1]: Detected architecture arm. [ 2.870200] systemd[1]: Set hostname to . [ 3.341478] systemd[1]: /lib/systemd/system/smbd.service:9: PIDFile= referenc es path below legacy directory /var/run/, updating /var/run/samba/smbd.pid → /ru n/samba/smbd.pid; please update the unit file accordingly. [ 3.377519] systemd[1]: /lib/systemd/system/nmbd.service:9: PIDFile= referenc es path below legacy directory /var/run/, updating /var/run/samba/nmbd.pid → /ru n/samba/nmbd.pid; please update the unit file accordingly. [ 3.477828] random: systemd: uninitialized urandom read (16 bytes read) [ 3.491835] random: systemd: uninitialized urandom read (16 bytes read) [ 3.492680] systemd[1]: Listening on fsck to fsckd communication Socket. [ 3.493842] random: systemd: uninitialized urandom read (16 bytes read) [ 3.494411] systemd[1]: Listening on Journal Audit Socket. [ 3.496305] systemd[1]: Set up automount Arbitrary Executable File Formats Fi le System Automount Point. [ 3.498988] systemd[1]: Created slice User and Session Slice. [ 3.500121] systemd[1]: Listening on Journal Socket (/dev/log). [ 3.804523] snd_soc_seeed_voicecard: loading out-of-tree module taints kernel . [ 3.838259] i2c /dev entries driver [ 4.237670] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null) [ 4.352733] systemd-journald[127]: Received request to flush runtime journal from PID 1 [ 4.868032] rpivid-mem feb00000.hevc-decoder: rpivid-hevcmem initialised: Reg isters at 0xfeb00000 length 0x00010000 [ 4.868622] rpivid-mem feb10000.rpivid-local-intc: rpivid-intcmem initialised : Registers at 0xfeb10000 length 0x00001000 [ 4.869168] rpivid-mem feb20000.h264-decoder: rpivid-h264mem initialised: Reg isters at 0xfeb20000 length 0x00010000 [ 4.869702] rpivid-mem feb30000.vp9-decoder: rpivid-vp9mem initialised: Regis ters at 0xfeb30000 length 0x00010000 [ 4.941548] vc_sm_cma: module is from the staging directory, the quality is u nknown, you have been warned. [ 4.943832] bcm2835_vc_sm_cma_probe: Videocore shared memory driver

[ 4.944632] [vc_sm_connected_init]: installed successfully [ 4.966281] mc: Linux media interface: v0.10 [ 5.008490] videodev: Linux video capture interface: v2.00 [ 5.054284] bcm2835_mmal_vchiq: module is from the staging directory, the qua lity is unknown, you have been warned. [ 5.056810] bcm2835_mmal_vchiq: module is from the staging directory, the qua lity is unknown, you have been warned. [ 5.061664] bcm2835_codec: module is from the staging directory, the quality is unknown, you have been warned. [ 5.062871] bcm2835_isp: module is from the staging directory, the quality is unknown, you have been warned. [ 5.063093] checking generic (3ea50000 177000) vs hw (0 ffffffffffffffff) [ 5.063113] fb0: switching to vc4drmfb from simple [ 5.076932] bcm2835-codec bcm2835-codec: Device registered as /dev/video10 [ 5.076982] bcm2835-codec bcm2835-codec: Loaded V4L2 decode [ 5.082714] bcm2835-isp bcm2835-isp: Device node output[0] registered as /dev /video13 [ 5.083652] bcm2835-codec bcm2835-codec: Device registered as /dev/video11 [ 5.083696] bcm2835-codec bcm2835-codec: Loaded V4L2 encode [ 5.083800] bcm2835-isp bcm2835-isp: Device node capture[0] registered as /de v/video14 [ 5.085570] bcm2835-isp bcm2835-isp: Device node capture[1] registered as /de v/video15 [ 5.085990] bcm2835-isp bcm2835-isp: Device node stats[2] registered as /dev/ video16 [ 5.086020] bcm2835-isp bcm2835-isp: Register output node 0 with media contro ller [ 5.086046] bcm2835-isp bcm2835-isp: Register capture node 1 with media contr oller [ 5.086069] bcm2835-isp bcm2835-isp: Register capture node 2 with media contr oller [ 5.086092] bcm2835-isp bcm2835-isp: Register capture node 3 with media contr oller [ 5.086362] bcm2835-isp bcm2835-isp: Loaded V4L2 bcm2835-isp [ 5.090443] bcm2835-codec bcm2835-codec: Device registered as /dev/video12 [ 5.090492] bcm2835-codec bcm2835-codec: Loaded V4L2 isp [ 5.105115] bcm2835-codec bcm2835-codec: Device registered as /dev/video18 [ 5.105160] bcm2835-codec bcm2835-codec: Loaded V4L2 image_fx [ 5.151819] cfg80211: Loading compiled-in X.509 certificates for regulatory d atabase [ 5.209558] Console: switching to colour dummy device 80x30 [ 5.235033] bcm2835_v4l2: module is from the staging directory, the quality i s unknown, you have been warned. [ 5.260596] vc4-drm gpu: bound fe600000.firmwarekms (ops vc4_fkms_ops [vc4]) [ 5.285124] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7' [ 5.285625] [drm] Initialized v3d 1.0.0 20180419 for fec00000.v3d on minor 1 [ 5.305861] [drm] Initialized vc4 0.0.0 20140616 for gpu on minor 0 [ 5.354151] brcmfmac: F1 signature read @0x18000000=0x15264345 [ 5.357158] Console: switching to colour frame buffer device 100x30 [ 5.369618] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio f or chip BCM4345/6 [ 5.370703] usbcore: registered new interface driver brcmfmac [ 5.376571] vc4-drm gpu: [drm] fb0: vc4drmfb frame buffer device [ 5.631973] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio f or chip BCM4345/6 [ 5.632112] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio f or chip BCM4345/6 [ 5.641796] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: Jan 4 2021 19:56:29 version 7.45.229 (617f1f5 CY) FWID 01-2dbd9d2e [ 7.042528] 8021q: 802.1Q VLAN Support v1.8 [ 7.045844] uart-pl011 fe201000.serial: no DMA platform data [ 7.158134] random: crng init done [ 7.158155] random: 7 urandom warning(s) missed due to ratelimiting [ 7.365851] Adding 102396k swap on /var/swap. Priority:-2 extents:1 across:1 02396k SSFS [ 7.421001] brcmfmac: brcmf_cfg80211_set_power_mgmt: power save enabled [ 7.485478] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /soc/i2c@7e804000/status [ 7.661543] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /soc/spi@7e204000/status [ 7.686070] bcmgenet fd580000.ethernet: configuring instance for external RGM II (RX delay) [ 7.686908] bcmgenet fd580000.ethernet eth0: Link is Down [ 7.766651] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /soc/i2s@7e203000/status [ 7.766735] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /soc/i2c@7e804000/status [ 7.766760] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /soc/sound/compatible [ 7.766771] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /soc/sound/simple-audio-card,format [ 7.766782] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /soc/sound/simple-audio-card,name [ 7.766794] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /soc/sound/status [ 7.766805] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /soc/sound/simple-audio-card,widgets [ 7.766816] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /soc/sound/simple-audio-card,routing [ 13.812922] Bluetooth: Core ver 2.22 [ 13.813034] NET: Registered protocol family 31 [ 13.813051] Bluetooth: HCI device and connection manager initialized [ 13.813082] Bluetooth: HCI socket layer initialized [ 13.813105] Bluetooth: L2CAP socket layer initialized [ 13.813141] Bluetooth: SCO socket layer initialized [ 13.823034] Bluetooth: HCI UART driver ver 2.3 [ 13.823057] Bluetooth: HCI UART protocol H4 registered [ 13.823173] Bluetooth: HCI UART protocol Three-wire (H5) registered [ 13.823512] Bluetooth: HCI UART protocol Broadcom registered [ 14.028994] Bluetooth: BNEP (Ethernet Emulation) ver 1.3 [ 14.029031] Bluetooth: BNEP filters: protocol multicast [ 14.029043] Bluetooth: BNEP socket layer initialized [ 38.974999] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready [ 40.709100] ICMPv6: process `dhcpcd' is using deprecated sysctl (syscall) net .ipv6.neigh.wlan0.retrans_time - use net.ipv6.neigh.wlan0.retrans_time_ms instea d

HinTak commented 2 years ago

The "memory leak" messages are harmless - yes, there is a genuine leak if you load and unload the driver multiple times, but it only affect developers who are modifying the driver code, and need to unload and re-load (a modified versions of it ) multiple times. As in they are still marked as "used", even after you unload the driver, so you lose them and if you do that too often, your available memory decreases. But mostly people only load the driver once, at boot, so you lose track of a few bytes once, and that's the end of the story.

Is there any other problems?

.