ULTRA++ installation guide

I can’t get the onboard mics to work on my Raspberry Pi 4 unfortunately :frowning:

I’ve tried a lot of things.

Latest Raspberry Pi OS (lite) with drivers from WM8960-Audio-HAT:

  • Installation complaints about the kernel (as do all older WM8960 installations for while now)
  • wm8960-soundcard service fails with error mentioned above a few times (Job for wm8960-soundcard.service failed because the control process exited with error code)

Latest Raspberry Pi OS (lite) with drivers from https://github.com/respeaker/seeed-voicecard (with kernel bug fixes):

  • Installation works
  • Test recording (arecord -f S16_LE -r 48000 -c 2 test.wav) is just a flat line
  • Same setup works when I switch the HAT to one of my other WM8960 boards

Older Raspberry Pi OS (lite) (2021-01-11 and one from 2020) with drivers from WM8960-Audio-HAT:

  • After several rounds of install/reboot/install the driver seems to install without errors
  • wm8960-soundcard is green (though in any case it always shows ‘active (exited)’)
  • Test scripts create audio output but recording does not give any result
  • Test (arecord -f S16_LE -r 48000 -c 2 test.wav) is just a flat line

I’ve also played with alsamixer a lot, tried different presets as mentioned in the beginning and different recording formats but recordings are always just flat lines with no data. I’ve even deactivated ‘audio’ in /boot/config.txt to prevent device confusion.

I’m starting to think that my microphones are just broken since I never had this issue with any of my WM8960 boards :thinking::man_shrugging:

Any ideas? Any Rpi4 images I could try that just work? Any proof that it is working at all with most recent Rpi OS?

If you think that it is an hardware fault, feel free to ask a refund to Amazon and get a new unit for free.

Let me know

I’m about to send it back, but I’d be willing to give it a last try if you’re telling me you can actually get it to work on the latest RPi4 image. As you are probably aware the WM8960 driver is broken since kernel 5.10. The seeed-studio repo I’ve linked above works for all my WM8960 devices though … except this one :frowning:

[EDIT] Just to avoid confusion. I’ve tried the Raspiaudio drivers first. I’ve even tried Raspiaudio - Seeed Studio - Raspiaudio and any possible combination of install/uninstall to get the driver working with the Raspiaudio settings.

There was a new Raspberry Pi OS Release on October 30th.

https://downloads.raspberrypi.org/raspios_full_armhf/release_notes.txt

The new version is based on bullseye. Will the driver work with this version too?

Hello,

I have updated the installation script for the Audio+ and Mic+ yesterday and it works.
I have not yet tried the Ultra script. Will try it and let you know.

Kind regards

1 Like

Confirmed the Ultra also works with Bullseye

1 Like

Just got my HAT and can not get it to work:
Have reinstalled and test.sh. Also can’t seem to see it running anywhere. This the output of test.sh.

pi@DAC:~/WM8960-Audio-HAT/testUltra $ sudo ./test >> ~/test.txt
No state is present for card vc4hdmi
alsa-lib main.c:1014:(snd_use_case_mgr_open) error: failed to import hw:0 use case configuration -2
Found hardware: “vc4-hdmi” “” “” “” “”
Hardware is initialized using a generic method
No state is present for card vc4hdmi
arecord: main:830: audio open error: No such file or directory
aplay: main:830: audio open error: No such device
No state is present for card vc4hdmi
alsa-lib main.c:1014:(snd_use_case_mgr_open) error: failed to import hw:0 use case configuration -2
Found hardware: “vc4-hdmi” “” “” “” “”
Hardware is initialized using a generic method
No state is present for card vc4hdmi
aplay: main:830: audio open error: No such device
aplay: main:830: audio open error: No such device
rm: cannot remove ‘test.raw’: No such file or directory

Install.sh - Error! Bad return status for module build on kernel: 5.15.32+ (armv6l)

Raspberry pi zero w not 2w. Bullseye 32 bit.

Hi Kend and welcome to the forum,

We will try it this week and let you know, it might be related to the new user policy that is no longer have the default “pi” username created.

In the meantime you could use the workaround that is just sending the init sequence of the codec without installing all drivers, this give you basic functionalities.

both did not work. Is there an led that show power or something.

just a programmable led that is not related to the codec.
Sometime it happens that some previously installed software could interfear, have you tried form a fresh copy of Bullseye?

We will work on it early this week, today we are off.

Hello,

I bought an ULTRA ++, I am a beginner, could you help me to perform the installation step by step?

Thanks.

Yes I will post a new installation sketch tomorrow, stay tuned

Ps: please change your username, it is probably a mistake but “raspiaudio1” could be confusing for other users thinking that you are part of the Raspiaudio team :sweat_smile:

Hello,
this is what appears to me when I run the test!

Sorry but I can’t change my display name, it just made me change the logo! :sweat_smile:

Could you change the USERNAME? :blush:

So here is the procedure to install the workaround on the new Bulleyes 32bit and 64 bits.
On one hand with this you will access only basic features like playing on speakers and record, but on the other hand this is simpler to install and more portable to any version of Raspberry OS.

So this script will not install the real drivers for the WM8960 but will directly send the I2C commands to start the codec.

type in a command window :
git clone https://github.com/RASPIAUDIO/ULTRA.git
cd ULTRA
bash install.sh

When you are ask to reboot.

Select the right audi device :

then type to test :
speaker-test -l5 -c2 -t wav

Thanks for your invaluable help!
For my project I need to use only the onboard speakers and microphones, will this be possible with this solution?

When doing above procedure, one speaker is much louder than other, but when I connect headphones, both have the same value. Is my Ultra++ device faulty?

BTW, i2c initialization code came at perfect moment - yesterday I started working on adding support of WM8960 to circle library:


And now it seems to be working (-: