ULTRA++ Instabilities

Hi everyone,

I am a fresh user of the ULTRA++. I do very like the hardware of this product, but I am facing some issue with its driver…

I first try to install it on my current image, without success.
I finally managed to make it works on a fresh install of Rasbian.
Unfortunately, after some time (a few hours/reboots…), the driver stops working (no more sound).

When running “sudo systemctl status wm8960-soundcard.service”, I get:

● wm8960-soundcard.service - WM8960 soundcard service
   Loaded: loaded (/lib/systemd/system/wm8960-soundcard.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Wed 2021-05-26 22:27:27 CEST; 1min 47s ago
  Process: 443 ExecStart=/usr/bin/wm8960-soundcard (code=exited, status=1/FAILURE)
 Main PID: 443 (code=exited, status=1/FAILURE)

May 26 22:27:24 raspberrypi systemd[1]: Starting WM8960 soundcard service...
May 26 22:27:24 raspberrypi wm8960-soundcard[443]: + exec
May 26 22:27:24 raspberrypi wm8960-soundcard[443]: ++ basename /usr/bin/wm8960-soundcard
May 26 22:27:27 raspberrypi systemd[1]: wm8960-soundcard.service: Main process exited, code=exited, status=1/FAILURE
May 26 22:27:27 raspberrypi systemd[1]: wm8960-soundcard.service: Failed with result 'exit-code'.
May 26 22:27:27 raspberrypi systemd[1]: Failed to start WM8960 soundcard service.

And when running “journalctl -xe”, I get:

> – The unit session-c4.scope has successfully entered the ‘dead’ state.
> May 26 22:29:25 raspberrypi systemd[1]: wm8960-soundcard.service: Main process exited, code=exited, status=1/FAILURE
> – Subject: Unit process exited
> – Defined-By: systemd
> – Support: Debian -- User Support
> –
> – An ExecStart= process belonging to unit wm8960-soundcard.service has exited.
> –
> – The process’ exit code is ‘exited’ and its exit status is 1.
> May 26 22:29:25 raspberrypi systemd[1]: wm8960-soundcard.service: Failed with result ‘exit-code’.
> – Subject: Unit failed
> – Defined-By: systemd
> – Support: Debian -- User Support
> –
> – The unit wm8960-soundcard.service has entered the ‘failed’ state with result ‘exit-code’.
> May 26 22:29:25 raspberrypi systemd[1]: Failed to start WM8960 soundcard service.
> – Subject: A start job for unit wm8960-soundcard.service has failed
> – Defined-By: systemd
> – Support: Debian -- User Support
> –
> – A start job for unit wm8960-soundcard.service has finished with a failure.

I have tried to google it and searched for solutions for already few hours, without luck.
Any help would be welcome !

Thank you in advance,

Benjamin

working on your issue now

I found out my problem. I had a cron task initialized using the GPIO18 (I2S CLK)… Stupid me. Since I modified this, I do not experience the same type of instabilities.

I unfortunately have a new problem. In my project, I would like to use the “rpitx” application to trigger some action using RF commands. After transmitting an RF signal (using “sendiq” command), the wm8960 driver seems to stop working (having same messages as the ones of my first post…).

All the other tasks running on the Pi coninue however to work (Apache, SSH, VNC,…).
The only way I can recover a working wm8960 driver is by rebooting the Pi.

Do you have any idea on how I could make these work together?

Thank you !

Benjamin

Just a guess, maybe the RF signal you are sending is disturbing the codec? after it crashes maybe try to resend the init sequence via I2C using this GIT:

The rpitx is playing with PLL and overclocking the Pi, so I can guess that the audio driver do not like that.

I am then looking for a way to “restart” properly the driver, as it is right after the boot.

I just tried using the I2C init (ultra cmd), and I got this:

Error # -2
 000 => R15
i2c error...
 1fc => R25
i2c error...
 1f9 => R26
i2c error...
 03c => R47
i2c error...
 001 => R04
i2c error...
 027 => R52
i2c error...
 086 => R53
i2c error...
 0c2 => R54
i2c error...
 026 => R55
i2c error...
 000 => R05
i2c error...
 002 => R07
i2c error...
 16f => R02
i2c error...
 16f => R03
i2c error...
 17f => R40
i2c error...
 17f => R41
i2c error...
 0cd => R51
i2c error...
 13f => R00
i2c error...
 13f => R01
i2c error...
 138 => R32
i2c error...
 138 => R33
i2c error...
 0f7 => R49
i2c error...
 1ff => R10
i2c error...
 1ff => R11
i2c error...
 100 => R34
i2c error...
 100 => R37
i2c error...
Errors while initializing...

Any idea of where it comes from ?