Anyway to restart drivers when green led turns off?


I've been running a  HIFIBERRY DAC+ PRO on a Pi4 without issue for many months but recently now and then the green led light goes out and "aplay -l" doesn't find any any audio cards.

Reboot fixes it until (hours to days) the light goes out and it stops working.

Is there a way to debug? I don't see anything in the kernel log (dmesg).

-->  Or even better is there a way to restart the driver? 

I tried to unload & reload the kernel drivers but apparently they are still in use (by what?).


----------------------  Driver issues?  -------------------

Note: I do see several of these message at boot:

kernel: snd-rpi-hifiberry-dacplus soc:sound: ASoC: failed to init link HiFiBerry DAC+: -517

but then:

[ +0.939488] snd-rpi-hifiberry-dacplus soc:sound: pcm512x-hifi <-> fe203000.i2s mapping ok

Then all works (for awhile). 



Basic fully patched raspbian install with 32 bit kernel:  5.4.51-v7l+ #1333 SMP Mon Aug 10 16:51:40 BST 2020 armv7l GNU/Linux

config.txt:  dtoverlay=hifiberry-dacplus

I just added:  force_eeprom_read=0  but still seeing the same ASoC link errors at boot (we'll see if it helps with stability).

cmdline.txt:  usb-storage.quirks=152d:0578:u dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=e3b1f439-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait plymouth.ignore-serial-consoles




Final bit, these kernel msg may help debug, not sure when this happens / if it's at the same time that the green led light turns off but:

kernel: [ 25.315325] Unable to handle kernel NULL pointer dereference at virtual address 00000010
kernel: [ 25.315359] pgd = (ptrval)
kernel: [ 25.315383] [00000010] *pgd=160a2003, *pmd=00000000
kernel: [ 25.315421] Internal error: Oops: 206 [#1] SMP ARM
kernel: [ 25.315442] Modules linked in: snd_soc_hifiberry_dacplus(+) bcm2835_v4l2(C) bcm2835_isp(C) videobuf2_vmalloc vc4(+) bcm2835_codec(C+) cec
cm2835_mmal_vchiq(C) v4l2_mem2mem videobuf2_dma_contig videobuf2_memops drm_kms_helper videobuf2_v4l2 videobuf2_common videodev drm mc vc_sm_cma(C)
quirks rpivid_mem snd_soc_core snd_compress snd_pcm_dmaengine snd_pcm snd_timer clk_hifiberry_dacpro snd syscopyarea sysfillrect uio_pdrv_genirq sys
nfsd i2c_dev ip_tables x_tables ipv6 nf_defrag_ipv6
kernel: [ 25.315630] CPU: 1 PID: 213 Comm: systemd-udevd Tainted: G C 5.4.51-v7l+ #1333
kernel: [ 25.315656] Hardware name: BCM2711


Please sign in to leave a comment.