[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