[AudioI] Isolated Soundcard not working on Manjaro ARM, but Zero does

Ted Rippert ted.rippert at gmail.com
Wed Sep 28 00:28:27 UTC 2022


So I loaded the snd_soc_cs4271_i2c module using modprobe, and the isolated soundcard was then available in ALSA and seems to work. regmap_i2c didn’t load automatically, and I didn’t want to load it without knowing what it was supposed to be doing. I looked at the code for the device tree overlay, and it looks like it is setting up some kind of master clock on one of the GPIO pins.

It would be good to have this work automatically when the device tree is loaded and resolve the issue with regmap_i2c if it needs to be resolved. If you can give me some guidance I would be willing to modify the device tree file and try it out on both the RPi OS and Manjaro. I’ve never done any work with the device tree compiler, but I’ve installed it on the Manjaro system and will also install it on the RPi OS system when I reboot that.

Thanks
-Ted

> On Sep 27, 2022, at 5:26 PM, Ted Rippert <ted.rippert at gmail.com> wrote:
> 
> OK, the dmesg wasn’t really helpful, so I looked at the kernel modules. I’ve included the lsmod output for the RPi OS and Manjaro systems below. What stands out to me is that the snd_soc_cs4271_i2c module and the regmap_i2c module load on the RPi OS but not on Manjaro. Let me know if that gives you any ideas for how to approach this. Also, let me know if you see anything in the lsmod outputs that looks worth investigating.
> 
> Thanks again,
> -Ted
> 
> RPi OS ISOLATED
> 
> lsmod
> 
> Module                  Size  Used by
> bnep                   20480  2
> hci_uart               40960  1
> btbcm                  16384  1 hci_uart
> bluetooth             360448  24 hci_uart,bnep,btbcm
> ecdh_generic           16384  1 bluetooth
> ecc                    36864  1 ecdh_generic
> fuse                  114688  3
> 8021q                  32768  0
> garp                   16384  1 8021q
> stp                    16384  1 garp
> llc                    16384  2 garp,stp
> binfmt_misc            20480  1
> snd_soc_cs4271_i2c     16384  1
> snd_soc_cs4271         16384  1 snd_soc_cs4271_i2c
> regmap_i2c             16384  1 snd_soc_cs4271_i2c
> joydev                 20480  0
> hid_logitech_hidpp     40960  0
> hid_logitech_dj        28672  0
> vc4                   237568  3
> cec                    49152  1 vc4
> brcmfmac              319488  0
> brcmutil               20480  1 brcmfmac
> drm_kms_helper        184320  3 vc4
> v3d                    69632  3
> gpu_sched              36864  1 v3d
> sha256_generic         16384  0
> snd_soc_bcm2835_i2s    16384  2
> libsha256              20480  1 sha256_generic
> drm                   458752  10 v3d,vc4,gpu_sched,drm_kms_helper
> snd_soc_audioinjector_isolated_soundcard    16384  0
> cfg80211              675840  1 brcmfmac
> i2c_bcm2835            16384  0
> bcm2835_codec          36864  0
> rfkill                 28672  6 bluetooth,cfg80211
> raspberrypi_hwmon      16384  0
> bcm2835_v4l2           45056  0
> drm_panel_orientation_quirks    16384  1 drm
> bcm2835_isp            32768  0
> v4l2_mem2mem           32768  1 bcm2835_codec
> bcm2835_mmal_vchiq     28672  3 bcm2835_isp,bcm2835_codec,bcm2835_v4l2
> videobuf2_dma_contig    20480  2 bcm2835_isp,bcm2835_codec
> videobuf2_vmalloc      16384  1 bcm2835_v4l2
> videobuf2_memops       16384  2 videobuf2_dma_contig,videobuf2_vmalloc
> videobuf2_v4l2         28672  4 bcm2835_isp,bcm2835_codec,bcm2835_v4l2,v4l2_mem2mem
> videobuf2_common       57344  5 bcm2835_isp,bcm2835_codec,bcm2835_v4l2,v4l2_mem2mem,videobuf2_v4l2
> snd_soc_core          200704  4 snd_soc_cs4271,vc4,snd_soc_bcm2835_i2s,snd_soc_audioinjector_isolated_soundcard
> videodev              237568  6 bcm2835_isp,bcm2835_codec,videobuf2_common,bcm2835_v4l2,v4l2_mem2mem,videobuf2_v4l2
> mc                     40960  6 bcm2835_isp,bcm2835_codec,videobuf2_common,videodev,v4l2_mem2mem,videobuf2_v4l2
> snd_compress           20480  1 snd_soc_core
> snd_pcm_dmaengine      16384  1 snd_soc_core
> snd_pcm                94208  5 vc4,snd_pcm_dmaengine,snd_soc_bcm2835_i2s,snd_soc_core,snd_soc_audioinjector_isolated_soundcard
> vc_sm_cma              32768  2 bcm2835_isp,bcm2835_mmal_vchiq
> snd_timer              32768  1 snd_pcm
> snd                    73728  9 snd_compress,snd_soc_cs4271,snd_timer,snd_soc_core,snd_pcm
> syscopyarea            16384  1 drm_kms_helper
> sysfillrect            16384  1 drm_kms_helper
> sysimgblt              16384  1 drm_kms_helper
> fb_sys_fops            16384  1 drm_kms_helper
> rpivid_mem             16384  0
> uio_pdrv_genirq        16384  0
> uio                    20480  1 uio_pdrv_genirq
> i2c_dev                20480  0
> ip_tables              28672  0
> x_tables               32768  1 ip_tables
> ipv6                  458752  34
> 
> 
> Mannaro ISOLATED:
> 
> lsmod
> 
> Module                  Size  Used by
> snd_seq_dummy          16384  0
> snd_hrtimer            16384  1
> snd_seq                77824  7 snd_seq_dummy
> snd_seq_device         20480  1 snd_seq
> hci_uart               53248  1
> btbcm                  28672  1 hci_uart
> bluetooth             479232  3 hci_uart,btbcm
> ecdh_generic           16384  1 bluetooth
> ecc                    36864  1 ecdh_generic
> ghash_generic          16384  0
> ghash_ce               24576  0
> gf128mul               16384  2 ghash_generic,ghash_ce
> gcm                    24576  0
> ccm                    20480  0
> algif_aead             20480  0
> ctr                    16384  0
> algif_skcipher         20480  0
> cmac                   16384  0
> zram                   28672  2
> md5                    16384  0
> zsmalloc               36864  1 zram
> 8021q                  32768  0
> md4                    16384  0
> algif_hash             20480  0
> garp                   16384  1 8021q
> stp                    20480  1 garp
> af_alg                 32768  3 algif_hash,algif_skcipher,algif_aead
> llc                    20480  2 stp,garp
> snd_soc_cs4271         20480  0
> joydev                 24576  0
> bcm2835_codec          49152  0
> bcm2835_v4l2           45056  0
> bcm2835_isp            32768  0
> v4l2_mem2mem           40960  1 bcm2835_codec
> bcm2835_mmal_vchiq     40960  3 bcm2835_codec,bcm2835_v4l2,bcm2835_isp
> v3d                    81920  3
> videobuf2_vmalloc      20480  1 bcm2835_v4l2
> videobuf2_dma_contig    24576  2 bcm2835_codec,bcm2835_isp
> brcmfmac              331776  0
> videobuf2_memops       20480  2 videobuf2_vmalloc,videobuf2_dma_contig
> brcmutil               24576  1 brcmfmac
> videobuf2_v4l2         32768  4 bcm2835_codec,bcm2835_v4l2,v4l2_mem2mem,bcm2835_isp
> gpu_sched              45056  1 v3d
> crct10dif_ce           20480  1
> videobuf2_common       65536  8 bcm2835_codec,videobuf2_vmalloc,videobuf2_dma_contig,videobuf2_v4l2,bcm2835_v4l2,v4l2_mem2mem,videobuf2_memops,bcm2835_isp
> raspberrypi_hwmon      16384  0
> videodev              262144  6 bcm2835_codec,videobuf2_v4l2,bcm2835_v4l2,videobuf2_common,v4l2_mem2mem,bcm2835_isp
> i2c_bcm2835            16384  0
> snd_soc_audioinjector_isolated_soundcard    16384  0
> snd_soc_bcm2835_i2s    16384  0
> vc_sm_cma              36864  2 bcm2835_mmal_vchiq,bcm2835_isp
> cfg80211              872448  1 brcmfmac
> mc                     61440  6 videodev,bcm2835_codec,videobuf2_v4l2,videobuf2_common,v4l2_mem2mem,bcm2835_isp
> snd_bcm2835            28672  2
> rpivid_mem             16384  0
> rfkill                 36864  4 bluetooth,cfg80211
> uio_pdrv_genirq        16384  0
> uio                    24576  1 uio_pdrv_genirq
> nvmem_rmem             16384  0
> sch_fq_codel           20480  7
> fuse                  135168  1
> ip_tables              32768  0
> x_tables               45056  1 ip_tables
> ipv6                  552960  36
> hid_logitech_hidpp     49152  0
> hid_logitech_dj        32768  0
> vc4                   286720  3
> snd_soc_core          245760  4 snd_soc_bcm2835_i2s,vc4,snd_soc_cs4271,snd_soc_audioinjector_isolated_soundcard
> snd_compress           20480  1 snd_soc_core
> snd_pcm_dmaengine      20480  1 snd_soc_core
> snd_pcm               135168  6 snd_soc_bcm2835_i2s,snd_bcm2835,snd_soc_audioinjector_isolated_soundcard,snd_compress,snd_soc_core,snd_pcm_dmaengine
> snd_timer              36864  3 snd_seq,snd_hrtimer,snd_pcm
> snd                    98304  14 snd_seq,snd_seq_device,snd_bcm2835,snd_soc_cs4271,snd_timer,snd_compress,snd_soc_core,snd_pcm
> drm_kms_helper        294912  3 vc4
> syscopyarea            16384  1 drm_kms_helper
> sysfillrect            16384  1 drm_kms_helper
> sysimgblt              16384  1 drm_kms_helper
> fb_sys_fops            16384  1 drm_kms_helper
> drm                   581632  10 gpu_sched,drm_kms_helper,v3d,vc4
> backlight              20480  2 drm_kms_helper,drm
> cec                    73728  1 vc4
> 
>> On Sep 23, 2022, at 2:27 PM, Ted Rippert <ted.rippert at gmail.com> wrote:
>> 
>> Thanks Matt.
>> 
>> Here are some dmesg outputs with search terms for a successful load of the Zero on Manjaro, Failed load of the Isolated on Manjaro and successful load of the Isolated on RasPi OS. The only change to /boot/config.txt on Manjaro is the dtoverlay line for the audio injector card.
>> 
>> Manjaro ZERO:
>> 
>> dmesg | grep "i2s\|i2c\|alsa\|audioinjector"
>> [    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:1600x900M at 60 smsc95xx.macaddr=DC:A6:32:8B:48:84 vc_mem.mem_base=0x3eb00000 vc_mem.mem_size=0x3ff00000  root=PARTUUID=b99d8715-02 rw rootwait console=ttyS0,115200 console=tty3 selinux=0 quiet splash plymouth.ignore-serial-consoles smsc95xx.turbo_mode=N dwc_otg.lpm_enable=0 kgdboc=ttyS0,115200 elevator=noop usbhid.mousepoll=8 audit=0 isolcpus=2-3 nohz_full=2-3 rcu_nocbs=2-3 nowatchdog acpi_irq_nobalance
>> [    5.081678] Modules linked in: snd_soc_wm8731(+) regmap_spi joydev bcm2835_codec(C) bcm2835_isp(C) v4l2_mem2mem brcmfmac bcm2835_v4l2(C) bcm2835_mmal_vchiq(C) v3d videobuf2_dma_contig videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 snd_soc_audioinjector_pi_soundcard crct10dif_ce gpu_sched brcmutil i2c_bcm2835 videobuf2_common videodev raspberrypi_hwmon snd_bcm2835(C) snd_soc_bcm2835_i2s vc_sm_cma(C) mc nvmem_rmem rpivid_mem uio_pdrv_genirq uio cfg80211 rfkill sch_fq_codel fuse ip_tables x_tables ipv6 hid_logitech_hidpp hid_logitech_dj vc4 snd_soc_core snd_compress snd_pcm_dmaengine snd_pcm snd_timer snd drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops drm backlight cec
>> [    5.082092]  audioinjector_pi_soundcard_probe+0x74/0xf0 [snd_soc_audioinjector_pi_soundcard]
>> [    5.089780] audioinjector-stereo soc:sound: successfully loaded
>> [   24.242456] bcm2835-i2s fe203000.i2s: I2S SYNC error!
>> [   24.260344] bcm2835-i2s fe203000.i2s: I2S SYNC error!
>> 
>> Manjaro ISOLATED:
>> 
>> dmesg | grep "i2s\|i2c\|alsa\|audioinjector"
>> [    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:1600x900M at 60 smsc95xx.macaddr=DC:A6:32:8B:48:84 vc_mem.mem_base=0x3eb00000 vc_mem.mem_size=0x3ff00000  root=PARTUUID=b99d8715-02 rw rootwait console=ttyS0,115200 console=tty3 selinux=0 quiet splash plymouth.ignore-serial-consoles smsc95xx.turbo_mode=N dwc_otg.lpm_enable=0 kgdboc=ttyS0,115200 elevator=noop usbhid.mousepoll=8 audit=0 isolcpus=2-3 nohz_full=2-3 rcu_nocbs=2-3 nowatchdog acpi_irq_nobalance
>> 
>> RasPi OS ISOLATED:
>> 
>> dmesg | grep "i2s\|i2c\|alsa\|audioinjector"
>> [    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:1600x900M at 60 smsc95xx.macaddr=DC:A6:32:8B:48:84 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000  console=ttyS0,115200 console=tty1 root=PARTUUID=c1654665-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles
>> [    3.148604] i2c /dev entries driver
>> [    4.696963] audioinjector-isolated soc:sound: ASoC: failed to init link AudioInjector ISO: -517
>> [    4.880169] audioinjector-isolated soc:sound: ASoC: failed to init link AudioInjector ISO: -517
>> [    4.990074] audioinjector-isolated soc:sound: ASoC: failed to init link AudioInjector ISO: -517
>> [    5.008922] audioinjector-isolated soc:sound: ASoC: failed to init link AudioInjector ISO: -517
>> [    5.092692] audioinjector-isolated soc:sound: ASoC: failed to init link AudioInjector ISO: -517
>> [    5.255250] audioinjector-isolated soc:sound: ASoC: failed to init link AudioInjector ISO: -517
>> [    5.765656] audioinjector-isolated soc:sound: ASoC: failed to init link AudioInjector ISO: -517
>> [    5.775084] audioinjector-isolated soc:sound: ASoC: failed to init link AudioInjector ISO: -517
>> [    5.861426] audioinjector-isolated soc:sound: cs4271-hifi <-> fe203000.i2s mapping ok
>> 
>>> On Sep 22, 2022, at 3:01 PM, Matt Flax via People <people at lists.audioinjector.net> wrote:
>>> 
>>> ok,
>>> 
>>> Lets look into this a little.
>>> 
>>> Any relevant messages printed out at boot time in the command dmesg ?
>>> 
>>> On 21/9/22 10:51, Ted Rippert via People wrote:
>>>> I finally got an Isolated sound card, and it loaded up on the Raspberry Pi OS with just a simple change to the dtoverlay in /boot/config.txt
>>>> 
>>>> On Manjaro ARM OS (same hardware) the Zero sound card worked right away using the standard overlay, but the Isolated is not recognized using the audioinjector-isolated-soundcard overlay. I did check in the /boot/overlays folder and there is an audioinjector-isolated-soundcard.dtbo file there.
>>>> 
>>>> I would really like to get the isolated sound card working on Manjaro, but not sure how to start debugging this. Any suggestions are welcome.
>>>> 
>>>> Thanks,
>>>> -Ted
>>>> 
>>> -- 
>>> Checkout the community email list :
>>> https://lists.audioinjector.net/mailman/listinfo/people
>>> 
>>> 
>>> 
>>> -- 
>>> People mailing list
>>> People at lists.audioinjector.net
>>> https://lists.audioinjector.net/mailman/listinfo/people
>> 
> 



More information about the People mailing list