raspberrypi / linux

Kernel source tree for Raspberry Pi-provided kernel builds. Issues unrelated to the linux kernel should be posted on the community forum at https://forums.raspberrypi.com/
Other
11.22k stars 5.03k forks source link

Allo Katana driver load fail on Pi-4 #5511

Closed moodeaudio closed 1 year ago

moodeaudio commented 1 year ago

Describe the bug

The I2S driver for Allo Katana DAC fails to load during boot on Pi-4B. It loads OK on other Pi's.

Note that the Katana DAC has been out of production for several years and the vendor Allo has apparently not been actively maintaining their softwares or providing support in Forums for some time since the Pandemic.

Steps to reproduce the behaviour

  1. Attach Pi-4B to Katana DAC
  2. Power up
  3. Examine output from aplay -l and DMESG which shows no device present and driver load fail respectively.

Device (s)

Raspberry Pi 4 Mod. B

System

NOTE: Our imgbuild repo https://github.com/moode-player/imgbuild pi@moode:~ $ cat /etc/rpi-issue Raspberry Pi reference 2023-06-08 Generated using pi-gen, https://github.com/RPi-Distro/pi-gen, 18aee5cfb8a41421e512aad75835f06fe93c7efb, stage3

pi@moode:~ $ vcgencmd version Mar 17 2023 10:50:39 Copyright (c) 2012 Broadcom version 82f3750a65fadae9a38077e3c2e217ad158c8d54 (clean) (release) (start)

pi@moode:~ $ uname -a Linux moode 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64 GNU/Linux

Logs

$ Error message pi@moode:~ $ dmesg | grep allo- [ 0.051861] platform fe203000.i2s: Fixed dependency cycle(s) with /soc/i2c@7e804000/allo-katana-codec@30 [ 6.344878] allo-katana-codec 1-0030: Failed to read Chip or wrong Chip id: 0

Full log

pi@moode:~ $ dmesg [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd083] [ 0.000000] Linux version 6.1.21-v8+ (dom@buildbot) (aarch64-linux-gnu-gcc-8 (Ubuntu/Linaro 8.4.0-3ubuntu1) 8.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 [ 0.000000] random: crng init done [ 0.000000] Machine model: Raspberry Pi 4 Model B Rev 1.1 [ 0.000000] efi: UEFI not found. [ 0.000000] Reserved memory: created CMA memory pool at 0x000000002ac00000, size 64 MiB [ 0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool [ 0.000000] Zone ranges: [ 0.000000] DMA [mem 0x0000000000000000-0x000000003fffffff] [ 0.000000] DMA32 [mem 0x0000000040000000-0x000000007fffffff] [ 0.000000] Normal empty [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000000000000-0x000000003b3fffff] [ 0.000000] node 0: [mem 0x0000000040000000-0x000000007fffffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000007fffffff] [ 0.000000] On node 0, zone DMA32: 19456 pages in unavailable ranges [ 0.000000] percpu: Embedded 29 pages/cpu s78504 r8192 d32088 u118784 [ 0.000000] pcpu-alloc: s78504 r8192 d32088 u118784 alloc=29*4096 [ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 [ 0.000000] Detected PIPT I-cache on CPU0 [ 0.000000] CPU features: detected: Spectre-v2 [ 0.000000] CPU features: detected: Spectre-v3a [ 0.000000] CPU features: detected: Spectre-v4 [ 0.000000] CPU features: detected: Spectre-BHB [ 0.000000] CPU features: kernel page table isolation forced ON by KASLR [ 0.000000] CPU features: detected: Kernel page table isolation (KPTI) [ 0.000000] CPU features: detected: ARM erratum 1742098 [ 0.000000] CPU features: detected: ARM errata 1165522, 1319367, or 1530923 [ 0.000000] alternatives: applying boot alternatives [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 496944 [ 0.000000] Kernel command line: coherent_pool=1M 8250.nr_uarts=0 snd_bcm2835.enable_headphones=0 snd_bcm2835.enable_headphones=0 snd_bcm2835.enable_hdmi=0 bcm2708_fb.fbwidth=640 bcm2708_fb.fbheight=480 bcm2708_fb.fbswap=1 smsc95xx.macaddr=DC:A6:32:02:85:04 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000 console=ttyS0,115200 console=tty1 root=PARTUUID=5d6589f7-02 rootfstype=ext4 fsck.repair=yes rootwait 1 root=PARTUUID=5d6589f7-02 rootfstype=ext4 fsck.repair=yes rootwait [ 0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear) [ 0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear) [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off [ 0.000000] software IO TLB: area num 4. [ 0.000000] software IO TLB: mapped [mem 0x0000000037400000-0x000000003b400000] (64MB) [ 0.000000] Memory: 1823900K/2019328K available (11776K kernel code, 2106K rwdata, 3688K rodata, 4160K init, 1077K bss, 129892K reserved, 65536K cma-reserved) [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 [ 0.000000] ftrace: allocating 39744 entries in 156 pages [ 0.000000] ftrace: allocated 156 pages with 4 groups [ 0.000000] trace event string verifier disabled [ 0.000000] rcu: Preemptible hierarchical RCU implementation. [ 0.000000] rcu: RCU event tracing is enabled. [ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=4. [ 0.000000] Trampoline variant of Tasks RCU enabled. [ 0.000000] Rude variant of Tasks RCU enabled. [ 0.000000] Tracing variant of Tasks RCU enabled. [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies. [ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4 [ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0 [ 0.000000] Root IRQ handler: gic_handle_irq [ 0.000000] GIC: Using split EOI/Deactivate mode [ 0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention. [ 0.000000] arch_timer: cp15 timer(s) running at 54.00MHz (phys). [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0xc743ce346, max_idle_ns: 440795203123 ns [ 0.000001] sched_clock: 56 bits at 54MHz, resolution 18ns, wraps every 4398046511102ns [ 0.000316] Console: colour dummy device 80x25 [ 0.000908] printk: console [tty1] enabled [ 0.000976] Calibrating delay loop (skipped), value calculated using timer frequency.. 108.00 BogoMIPS (lpj=216000) [ 0.001017] pid_max: default: 32768 minimum: 301 [ 0.001156] LSM: Security Framework initializing [ 0.001360] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear) [ 0.001415] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear) [ 0.002690] cgroup: Disabling memory control group subsystem [ 0.004931] cblist_init_generic: Setting adjustable number of callback queues. [ 0.004968] cblist_init_generic: Setting shift to 2 and lim to 1. [ 0.005158] cblist_init_generic: Setting shift to 2 and lim to 1. [ 0.005347] cblist_init_generic: Setting shift to 2 and lim to 1. [ 0.005794] rcu: Hierarchical SRCU implementation. [ 0.005819] rcu: Max phase no-delay instances is 1000. [ 0.007152] EFI services will not be available. [ 0.007686] smp: Bringing up secondary CPUs ... [ 0.008841] Detected PIPT I-cache on CPU1 [ 0.008994] CPU1: Booted secondary processor 0x0000000001 [0x410fd083] [ 0.010133] Detected PIPT I-cache on CPU2 [ 0.010254] CPU2: Booted secondary processor 0x0000000002 [0x410fd083] [ 0.011363] Detected PIPT I-cache on CPU3 [ 0.011485] CPU3: Booted secondary processor 0x0000000003 [0x410fd083] [ 0.011631] smp: Brought up 1 node, 4 CPUs [ 0.011720] SMP: Total of 4 processors activated. [ 0.011742] CPU features: detected: 32-bit EL0 Support [ 0.011760] CPU features: detected: 32-bit EL1 Support [ 0.011782] CPU features: detected: CRC32 instructions [ 0.011966] CPU: All CPU(s) started at EL2 [ 0.012001] alternatives: applying system-wide alternatives [ 0.013750] devtmpfs: initialized [ 0.025666] Enabled cp15_barrier support [ 0.025732] Enabled setend support [ 0.025957] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns [ 0.026009] futex hash table entries: 1024 (order: 4, 65536 bytes, linear) [ 0.027923] pinctrl core: initialized pinctrl subsystem [ 0.028924] DMI not present or invalid. [ 0.029632] NET: Registered PF_NETLINK/PF_ROUTE protocol family [ 0.033176] DMA: preallocated 1024 KiB GFP_KERNEL pool for atomic allocations [ 0.033494] DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations [ 0.034452] DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations [ 0.034562] audit: initializing netlink subsys (disabled) [ 0.034843] audit: type=2000 audit(0.032:1): state=initialized audit_enabled=0 res=1 [ 0.035451] thermal_sys: Registered thermal governor 'step_wise' [ 0.035544] cpuidle: using governor menu [ 0.035942] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers. [ 0.036180] ASID allocator initialised with 32768 entries [ 0.036360] Serial: AMBA PL011 UART driver [ 0.047373] bcm2835-mbox fe00b880.mailbox: mailbox enabled [ 0.051213] platform fe203000.i2s: Fixed dependency cycle(s) with /soc/i2c@7e804000/allo-katana-codec@30 [ 0.064208] raspberrypi-firmware soc:firmware: Attached to firmware from 2023-03-17T10:50:39, variant start [ 0.068224] raspberrypi-firmware soc:firmware: Firmware hash is 82f3750a65fadae9a38077e3c2e217ad158c8d54 [ 0.083162] KASLR enabled [ 0.115699] bcm2835-dma fe007000.dma: DMA legacy API manager, dmachans=0x1 [ 0.121341] SCSI subsystem initialized [ 0.121626] usbcore: registered new interface driver usbfs [ 0.121697] usbcore: registered new interface driver hub [ 0.121776] usbcore: registered new device driver usb [ 0.122120] usb_phy_generic phy: supply vcc not found, using dummy regulator [ 0.122345] usb_phy_generic phy: dummy supplies not allowed for exclusive requests [ 0.122707] pps_core: LinuxPPS API ver. 1 registered [ 0.122731] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti giometti@linux.it [ 0.122772] PTP clock support registered [ 0.123877] vgaarb: loaded [ 0.124602] clocksource: Switched to clocksource arch_sys_counter [ 0.125659] VFS: Disk quotas dquot_6.6.0 [ 0.125756] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes) [ 0.125952] FS-Cache: Loaded [ 0.126138] CacheFiles: Loaded [ 0.135331] NET: Registered PF_INET protocol family [ 0.135730] IP idents hash table entries: 32768 (order: 6, 262144 bytes, linear) [ 0.138710] tcp_listen_portaddr_hash hash table entries: 1024 (order: 2, 16384 bytes, linear) [ 0.138772] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear) [ 0.138812] TCP established hash table entries: 16384 (order: 5, 131072 bytes, linear) [ 0.138940] TCP bind hash table entries: 16384 (order: 7, 524288 bytes, linear) [ 0.139500] TCP: Hash tables configured (established 16384 bind 16384) [ 0.139729] UDP hash table entries: 1024 (order: 3, 32768 bytes, linear) [ 0.139792] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes, linear) [ 0.140040] NET: Registered PF_UNIX/PF_LOCAL protocol family [ 0.140857] RPC: Registered named UNIX socket transport module. [ 0.140890] RPC: Registered udp transport module. [ 0.140909] RPC: Registered tcp transport module. [ 0.140928] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 0.140963] PCI: CLS 0 bytes, default 64 [ 0.143561] hw perfevents: enabled with armv8_cortex_a72 PMU driver, 7 counters available [ 0.143969] kvm [1]: IPA Size Limit: 44 bits [ 0.145403] kvm [1]: vgic interrupt IRQ9 [ 0.145656] kvm [1]: Hyp mode initialized successfully [ 1.289323] Initialise system trusted keyrings [ 1.289814] workingset: timestamp_bits=46 max_order=19 bucket_order=0 [ 1.297429] zbud: loaded [ 1.300396] NFS: Registering the id_resolver key type [ 1.300464] Key type id_resolver registered [ 1.300485] Key type id_legacy registered [ 1.300644] nfs4filelayout_init: NFSv4 File Layout Driver Registering... [ 1.300674] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering... [ 1.302074] Key type asymmetric registered [ 1.302106] Asymmetric key parser 'x509' registered [ 1.302197] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247) [ 1.302499] io scheduler mq-deadline registered [ 1.302529] io scheduler kyber registered [ 1.311722] brcm-pcie fd500000.pcie: host bridge /scb/pcie@7d500000 ranges: [ 1.311790] brcm-pcie fd500000.pcie: No bus range found for /scb/pcie@7d500000, using [bus 00-ff] [ 1.311893] brcm-pcie fd500000.pcie: MEM 0x0600000000..0x063fffffff -> 0x00c0000000 [ 1.311991] brcm-pcie fd500000.pcie: IB MEM 0x0000000000..0x007fffffff -> 0x0400000000 [ 1.313068] brcm-pcie fd500000.pcie: PCI host bridge to bus 0000:00 [ 1.313102] pci_bus 0000:00: root bus resource [bus 00-ff] [ 1.313131] pci_bus 0000:00: root bus resource [mem 0x600000000-0x63fffffff] (bus address [0xc0000000-0xffffffff]) [ 1.313219] pci 0000:00:00.0: [14e4:2711] type 01 class 0x060400 [ 1.313497] pci 0000:00:00.0: PME# supported from D0 D3hot [ 1.317728] pci_bus 0000:01: supply vpcie3v3 not found, using dummy regulator [ 1.317936] pci_bus 0000:01: supply vpcie3v3aux not found, using dummy regulator [ 1.318050] pci_bus 0000:01: supply vpcie12v not found, using dummy regulator [ 1.366703] brcm-pcie fd500000.pcie: link up, 5.0 GT/s PCIe x1 (SSC) [ 1.366881] pci 0000:01:00.0: [1106:3483] type 00 class 0x0c0330 [ 1.367018] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00000fff 64bit] [ 1.367505] pci 0000:01:00.0: PME# supported from D0 D3cold [ 1.368278] pci 0000:00:00.0: BAR 8: assigned [mem 0x600000000-0x6000fffff] [ 1.368317] pci 0000:01:00.0: BAR 0: assigned [mem 0x600000000-0x600000fff 64bit] [ 1.368373] pci 0000:00:00.0: PCI bridge to [bus 01] [ 1.368404] pci 0000:00:00.0: bridge window [mem 0x600000000-0x6000fffff] [ 1.369388] bcm2708_fb soc:fb: FB found 1 display(s) [ 1.384688] Console: switching to colour frame buffer device 80x30 [ 1.387306] bcm2708_fb soc:fb: Registered framebuffer for display 0, size 640x480 [ 1.399774] iproc-rng200 fe104000.rng: hwrng registered [ 1.401129] vc-mem: phys_addr:0x00000000 mem_base=0x3ec00000 mem_size:0x40000000(1024 MiB) [ 1.404042] gpiomem-bcm2835 fe200000.gpiomem: Initialised: Registers at 0xfe200000 [ 1.418466] brd: module loaded [ 1.427872] loop: module loaded [ 1.429453] Loading iSCSI transport class v2.0-870. [ 1.435484] bcmgenet fd580000.ethernet: GENET 5.0 EPHY: 0x0000 [ 1.496769] unimac-mdio unimac-mdio.-19: Broadcom UniMAC MDIO bus [ 1.498761] usbcore: registered new interface driver r8152 [ 1.499632] usbcore: registered new interface driver lan78xx [ 1.500481] usbcore: registered new interface driver smsc95xx [ 1.502858] pci 0000:00:00.0: enabling device (0000 -> 0002) [ 1.503652] xhci_hcd 0000:01:00.0: enabling device (0000 -> 0002) [ 1.504506] xhci_hcd 0000:01:00.0: xHCI Host Controller [ 1.505310] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 1 [ 1.507528] xhci_hcd 0000:01:00.0: hcc params 0x002841eb hci version 0x100 quirks 0x0000e40000000890 [ 1.510142] xhci_hcd 0000:01:00.0: xHCI Host Controller [ 1.510943] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 2 [ 1.512472] xhci_hcd 0000:01:00.0: Host supports USB 3.0 SuperSpeed [ 1.513640] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.01 [ 1.515192] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 1.516762] usb usb1: Product: xHCI Host Controller [ 1.517545] usb usb1: Manufacturer: Linux 6.1.21-v8+ xhci-hcd [ 1.518334] usb usb1: SerialNumber: 0000:01:00.0 [ 1.519855] hub 1-0:1.0: USB hub found [ 1.520761] hub 1-0:1.0: 1 port detected [ 1.522484] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.01 [ 1.524031] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 1.525690] usb usb2: Product: xHCI Host Controller [ 1.526538] usb usb2: Manufacturer: Linux 6.1.21-v8+ xhci-hcd [ 1.527389] usb usb2: SerialNumber: 0000:01:00.0 [ 1.528956] hub 2-0:1.0: USB hub found [ 1.529860] hub 2-0:1.0: 4 ports detected [ 1.532294] dwc_otg: version 3.00a 10-AUG-2012 (platform bus) [ 1.533420] dwc_otg: FIQ enabled [ 1.533432] dwc_otg: NAK holdoff enabled [ 1.533441] dwc_otg: FIQ split-transaction FSM enabled [ 1.533458] Module dwc_common_port init [ 1.534040] usbcore: registered new interface driver uas [ 1.534939] usbcore: registered new interface driver usb-storage [ 1.535919] mousedev: PS/2 mouse device common for all mice [ 1.542351] sdhci: Secure Digital Host Controller Interface driver [ 1.543157] sdhci: Copyright(c) Pierre Ossman [ 1.544472] sdhci-pltfm: SDHCI platform and OF driver helper [ 1.548913] ledtrig-cpu: registered to indicate activity on CPUs [ 1.550002] hid: raw HID events driver (C) Jiri Kosina [ 1.550947] usbcore: registered new interface driver usbhid [ 1.551668] usbhid: USB HID core driver [ 1.558953] NET: Registered PF_PACKET protocol family [ 1.559835] Key type dns_resolver registered [ 1.561927] registered taskstats version 1 [ 1.562765] Loading compiled-in X.509 certificates [ 1.564483] Key type .fscrypt registered [ 1.565272] Key type fscrypt-provisioning registered [ 1.581296] uart-pl011 fe201000.serial: there is not valid maps for state default [ 1.583421] uart-pl011 fe201000.serial: cts_event_workaround enabled [ 1.584274] fe201000.serial: ttyAMA0 at MMIO 0xfe201000 (irq = 36, base_baud = 0) is a PL011 rev2 [ 1.596352] bcm2835-wdt bcm2835-wdt: Broadcom BCM2835 watchdog timer [ 1.597683] bcm2835-power bcm2835-power: Broadcom BCM2835 power domains driver [ 1.600497] mmc-bcm2835 fe300000.mmcnr: mmc_debug:0 mmc_debug2:0 [ 1.601335] mmc-bcm2835 fe300000.mmcnr: DMA channel allocated [ 1.629981] of_cfs_init [ 1.630915] of_cfs_init: OK [ 1.665301] mmc0: SDHCI controller on fe340000.mmc [fe340000.mmc] using ADMA [ 1.666945] Waiting for root device PARTUUID=5d6589f7-02... [ 1.713576] mmc1: new high speed SDIO card at address 0001 [ 1.769802] mmc0: new ultra high speed DDR50 SDHC card at address aaaa [ 1.771644] mmcblk0: mmc0:aaaa WX32G 29.7 GiB [ 1.775601] mmcblk0: p1 p2 [ 1.776666] usb 1-1: new high-speed USB device number 2 using xhci_hcd [ 1.777791] mmcblk0: mmc0:aaaa WX32G 29.7 GiB (quirks 0x00004000) [ 1.802855] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Quota mode: none. [ 1.804641] VFS: Mounted root (ext4 filesystem) readonly on device 179:2. [ 1.806304] devtmpfs: mounted [ 1.815472] Freeing unused kernel memory: 4160K [ 1.816523] Run /sbin/init as init process [ 1.817380] with arguments: [ 1.817390] /sbin/init [ 1.817400] with environment: [ 1.817409] HOME=/ [ 1.817419] TERM=linux [ 1.927253] usb 1-1: New USB device found, idVendor=2109, idProduct=3431, bcdDevice= 4.21 [ 1.929026] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0 [ 1.929924] usb 1-1: Product: USB2.0 Hub [ 1.933122] hub 1-1:1.0: USB hub found [ 1.934241] hub 1-1:1.0: 4 ports detected [ 2.176882] systemd[1]: System time before build time, advancing clock. [ 2.353646] NET: Registered PF_INET6 protocol family [ 2.356447] Segment Routing with IPv6 [ 2.357338] In-situ OAM (IOAM) with IPv6 [ 2.420768] systemd[1]: systemd 247.3-7+deb11u1 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +ZSTD +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=unified) [ 2.425102] systemd[1]: Detected architecture arm64. [ 2.435763] systemd[1]: Set hostname to . [ 2.946012] systemd[1]: Configuration file /etc/systemd/system/haveged.service.d/syscall.conf is marked executable. Please remove executable permission bits. Proceeding anyway. [ 3.158702] systemd[1]: Queued start job for default target Multi-User System. [ 3.178332] systemd[1]: Created slice system-getty.slice. [ 3.181900] systemd[1]: Created slice system-modprobe.slice. [ 3.184918] systemd[1]: Created slice system-systemd\x2dfsck.slice. [ 3.187779] systemd[1]: Created slice User and Session Slice. [ 3.190357] systemd[1]: Started Dispatch Password Requests to Console Directory Watch. [ 3.193825] systemd[1]: Started Forward Password Requests to Wall Directory Watch. [ 3.197908] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point. [ 3.201178] systemd[1]: Reached target Local Encrypted Volumes. [ 3.203558] systemd[1]: Reached target Paths. [ 3.205850] systemd[1]: Reached target Slices. [ 3.208045] systemd[1]: Reached target Swap. [ 3.251694] systemd[1]: Listening on RPCbind Server Activation Socket. [ 3.255156] systemd[1]: Listening on Syslog Socket. [ 3.258113] systemd[1]: Listening on fsck to fsckd communication Socket. [ 3.260658] systemd[1]: Listening on initctl Compatibility Named Pipe. [ 3.264030] systemd[1]: Listening on Journal Audit Socket. [ 3.267029] systemd[1]: Listening on Journal Socket (/dev/log). [ 3.270204] systemd[1]: Listening on Journal Socket. [ 3.276160] systemd[1]: Listening on udev Control Socket. [ 3.279321] systemd[1]: Listening on udev Kernel Socket. [ 3.282420] systemd[1]: Condition check resulted in Huge Pages File System being skipped. [ 3.305137] systemd[1]: Mounting POSIX Message Queue File System... [ 3.312053] systemd[1]: Mounting RPC Pipe File System... [ 3.320092] systemd[1]: Mounting Kernel Debug File System... [ 3.328046] systemd[1]: Mounting Kernel Trace File System... [ 3.331240] systemd[1]: Condition check resulted in Kernel Module supporting RPCSEC_GSS being skipped. [ 3.341331] systemd[1]: Starting Restore / save the current clock... [ 3.349501] systemd[1]: Starting Set the console keyboard layout... [ 3.357696] systemd[1]: Starting Create list of static device nodes for the current kernel... [ 3.366952] systemd[1]: Starting Load Kernel Module configfs... [ 3.375962] systemd[1]: Starting Load Kernel Module drm... [ 3.384258] systemd[1]: Starting Load Kernel Module fuse... [ 3.393183] systemd[1]: Condition check resulted in Set Up Additional Binary Formats being skipped. [ 3.400431] systemd[1]: Starting File System Check on Root Device... [ 3.413388] systemd[1]: Starting Journal Service... [ 3.425175] systemd[1]: Starting Load Kernel Modules... [ 3.447187] systemd[1]: Starting Coldplug All udev Devices... [ 3.494541] fuse: init (API version 7.37) [ 3.498741] systemd[1]: Mounted POSIX Message Queue File System. [ 3.502733] systemd[1]: Mounted RPC Pipe File System. [ 3.505994] systemd[1]: Mounted Kernel Debug File System. [ 3.509395] systemd[1]: Mounted Kernel Trace File System. [ 3.514492] systemd[1]: Finished Restore / save the current clock. [ 3.519531] systemd[1]: Finished Create list of static device nodes for the current kernel. [ 3.525854] systemd[1]: modprobe@configfs.service: Succeeded. [ 3.528251] systemd[1]: Finished Load Kernel Module configfs. [ 3.533314] systemd[1]: modprobe@fuse.service: Succeeded. [ 3.536919] i2c_dev: i2c /dev entries driver [ 3.541912] systemd[1]: Finished Load Kernel Module fuse. [ 3.546673] systemd[1]: Finished Load Kernel Modules. [ 3.577469] systemd[1]: Mounting FUSE Control File System... [ 3.589955] systemd[1]: Mounting Kernel Configuration File System... [ 3.609473] systemd[1]: Starting pNFS block layout mapping daemon... [ 3.629013] systemd[1]: Started File System Check Daemon to report status. [ 3.636532] systemd[1]: Starting Apply Kernel Variables... [ 3.669745] systemd[1]: modprobe@drm.service: Succeeded. [ 3.672549] systemd[1]: Finished Load Kernel Module drm. [ 3.684277] systemd[1]: Finished File System Check on Root Device. [ 3.687591] systemd[1]: Mounted FUSE Control File System. [ 3.750720] systemd[1]: Mounted Kernel Configuration File System. [ 3.753794] systemd[1]: Started pNFS block layout mapping daemon. [ 3.757394] systemd[1]: Finished Apply Kernel Variables. [ 3.764467] systemd[1]: Starting Remount Root and Kernel File Systems... [ 3.783415] systemd[1]: Started Journal Service. [ 3.917288] EXT4-fs (mmcblk0p2): re-mounted. Quota mode: none. [ 4.020558] systemd-journald[150]: Received client request to flush runtime journal. [ 4.024822] systemd-journald[150]: File /var/log/journal/a61d766db2da4ceebba036b874ffb744/system.journal corrupted or uncleanly shut down, renaming and replacing. [ 4.835050] vc_sm_cma: module is from the staging directory, the quality is unknown, you have been warned. [ 4.837063] bcm2835_vc_sm_cma_probe: Videocore shared memory driver

[ 4.839721] mc: Linux media interface: v0.10 [ 4.843366] [vc_sm_connected_init]: installed successfully [ 4.967358] videodev: Linux video capture interface: v2.00 [ 5.068113] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned. [ 5.076387] rpivid_hevc: module is from the staging directory, the quality is unknown, you have been warned. [ 5.090204] snd_bcm2835: module is from the staging directory, the quality is unknown, you have been warned. [ 5.091639] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned. [ 5.113270] rpivid feb10000.codec: Device registered as /dev/video19 [ 5.143437] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned. [ 5.146694] bcm2835_isp: module is from the staging directory, the quality is unknown, you have been warned. [ 5.155863] bcm2835_v4l2: module is from the staging directory, the quality is unknown, you have been warned. [ 5.187174] bcm2835-isp bcm2835-isp: Device node output[0] registered as /dev/video13 [ 5.189161] bcm2835_codec: module is from the staging directory, the quality is unknown, you have been warned. [ 5.204542] bcm2835-isp bcm2835-isp: Device node capture[0] registered as /dev/video14 [ 5.209007] bcm2835-isp bcm2835-isp: Device node capture[1] registered as /dev/video15 [ 5.209416] bcm2835-isp bcm2835-isp: Device node stats[2] registered as /dev/video16 [ 5.209452] bcm2835-isp bcm2835-isp: Register output node 0 with media controller [ 5.209474] bcm2835-isp bcm2835-isp: Register capture node 1 with media controller [ 5.209504] bcm2835-isp bcm2835-isp: Register capture node 2 with media controller [ 5.209522] bcm2835-isp bcm2835-isp: Register capture node 3 with media controller [ 5.233407] bcm2835-codec bcm2835-codec: Device registered as /dev/video10 [ 5.233484] bcm2835-codec bcm2835-codec: Loaded V4L2 decode [ 5.249135] bcm2835-codec bcm2835-codec: Device registered as /dev/video11 [ 5.249213] bcm2835-codec bcm2835-codec: Loaded V4L2 encode [ 5.250441] bcm2835-isp bcm2835-isp: Device node output[0] registered as /dev/video20 [ 5.257615] bcm2835-isp bcm2835-isp: Device node capture[0] registered as /dev/video21 [ 5.259430] bcm2835-isp bcm2835-isp: Device node capture[1] registered as /dev/video22 [ 5.259835] bcm2835-isp bcm2835-isp: Device node stats[2] registered as /dev/video23 [ 5.259870] bcm2835-isp bcm2835-isp: Register output node 0 with media controller [ 5.259910] bcm2835-isp bcm2835-isp: Register capture node 1 with media controller [ 5.259929] bcm2835-isp bcm2835-isp: Register capture node 2 with media controller [ 5.260001] bcm2835-isp bcm2835-isp: Register capture node 3 with media controller [ 5.260230] bcm2835-isp bcm2835-isp: Loaded V4L2 bcm2835-isp [ 5.264329] bcm2835-codec bcm2835-codec: Device registered as /dev/video12 [ 5.264387] bcm2835-codec bcm2835-codec: Loaded V4L2 isp [ 5.270902] bcm2835-codec bcm2835-codec: Device registered as /dev/video18 [ 5.270987] bcm2835-codec bcm2835-codec: Loaded V4L2 image_fx [ 5.300995] bcm2835-codec bcm2835-codec: Device registered as /dev/video31 [ 5.301078] bcm2835-codec bcm2835-codec: Loaded V4L2 encode_image [ 5.457657] cfg80211: Loading compiled-in X.509 certificates for regulatory database [ 5.550742] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7' [ 5.566202] cfg80211: loaded regulatory.db is malformed or signature is missing/invalid [ 5.690556] brcmfmac: F1 signature read @0x18000000=0x15264345 [ 5.704289] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6 [ 5.712367] usbcore: registered new interface driver brcmfmac [ 5.989159] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: Nov 1 2021 00:37:25 version 7.45.241 (1a2f2fa CY) FWID 01-703fd60 [ 6.417073] allo-katana-codec 1-0030: Failed to read Chip or wrong Chip id: 0 [ 6.848011] 8021q: 802.1Q VLAN Support v1.8 [ 7.228782] hwmon hwmon1: Undervoltage detected! [ 7.342853] brcmfmac: brcmf_cfg80211_set_power_mgmt: power save enabled [ 7.662743] bcmgenet fd580000.ethernet: configuring instance for external RGMII (RX delay) [ 7.665401] bcmgenet fd580000.ethernet eth0: Link is Down [ 7.806939] allo-katana-codec 1-0030: Failed to read Chip or wrong Chip id: 0 [ 13.288575] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready [ 14.561581] ICMPv6: process `dhcpcd' is using deprecated sysctl (syscall) net.ipv6.neigh.wlan0.retrans_time - use net.ipv6.neigh.wlan0.retrans_time_ms instead [ 17.886084] platform soc:sound: deferred probe pending [ 30.365460] brcmfmac: brcmf_cfg80211_set_power_mgmt: power save disabled

Additional context

Some history.

This issue was present as far back as 2019 according to an entry from our relnotes for moOde release 6.4.0 2019-11-24. This release was based on Raspbian Buster Lite 10.2 and kernel 4.19.83.

- FIX: Pi-4B / Allo Katana driver load failure

Our fix / workaround was to manually load the driver in /etc/rc.local using the code below.

# Work around for Katana driver load failure on Pi-4B
AUDIO_DEVICE=$(sqlite3 $SQLDB "select value from cfg_system where param='i2sdevice'")
PI_REVNUM_SEGMENT=$(awk '{if ($1=="Revision") print substr($3,3,3)}' /proc/cpuinfo)

if [ "$AUDIO_DEVICE" = "Allo Katana DAC" ] && [ $PI_REVNUM_SEGMENT = "311" ]; then
    rmmod snd_soc_allo_katana_codec
    rmmod snd_soc_audio_graph_card
    modprobe snd_soc_audio_graph_card
    modprobe snd_soc_allo_katana_codec
    echo `date +'%Y%m%d %H%M%S'` "rc.local ran Katana|Pi-4B driver reload" > /home/pi/katana.log
fi
pelwell commented 1 year ago

Is this just a very late report of a longstanding issue or has something changed (as suggested by the phrase "Our fix / workaround was ...")?

moodeaudio commented 1 year ago

It was only by chance that I happened to have a 4B connected to a Katana recently and I noticed that with kernel 6.1 our workaround didn't resolve the issue as in the past with 5.y kernels. I was prompted to post this issue after reading the recent Allo Boss 2 issue.

Realistically, I'm prolly one of only a handful that still have a working Katana DAC and within that group prolly the only one that has fired it up with a 4B. Given that it was discontinued so long ago and vendor support is totally gone since the Pandemic it may not be worth investigating.

I'll go ahead and close the issue and if there is interest at some point it can be reopened.

pelwell commented 1 year ago

I wasn't asking you to justify creating the issue, just trying to understand what has prompted it.

In what way has your workaround stopped working? Does this output correspond to the rmmod/modprobes?

[   17.886084] platform soc:sound: deferred probe pending
moodeaudio commented 1 year ago

Thats a good question.

I'll run a test later today.

moodeaudio commented 1 year ago

Summary on kernel 6.1

  1. Driver load fails on Pi-4B with or without workaround, Previously on kernel 5.15 the workaround was successful with 4B.
  2. Driver load success on Pi-3B without workaround.

################################# # Pi 4B, Kernel 6.1 #################################

# Without workaround in rc.local

pi@moode:~ $ aplay -l
aplay: device_list:274: no soundcards found...
pi@moode:~ $ 
pi@moode:~ $ amixer
amixer: Mixer attach default error: No such file or directory
pi@moode:~ $ 
pi@moode:~ $ dmesg | grep allo-
[    0.050930] platform fe203000.i2s: Fixed dependency cycle(s) with /soc/i2c@7e804000/allo-katana-codec@30
[    5.918378] allo-katana-codec 1-0030: Failed to read Chip or wrong Chip id: 0
# With workaround

pi@moode:~ $ sudo rmmod snd_soc_allo_katana_codec
pi@moode:~ $ sudo rmmod snd_soc_audio_graph_card
pi@moode:~ $ sudo modprobe snd_soc_audio_graph_card
pi@moode:~ $ sudo modprobe snd_soc_allo_katana_codec
pi@moode:~ $ aplay -l
aplay: device_list:274: no soundcards found...
pi@moode:~ $ dmesg | grep allo-
[    0.050930] platform fe203000.i2s: Fixed dependency cycle(s) with /soc/i2c@7e804000/allo-katana-codec@30
[    5.918378] allo-katana-codec 1-0030: Failed to read Chip or wrong Chip id: 0
[  417.572345] allo-katana-codec 1-0030: Failed to read Chip or wrong Chip id: 0
# Full DMESG

pi@moode:~ $ dmesg
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd083]
[    0.000000] Linux version 6.1.21-v8+ (dom@buildbot) (aarch64-linux-gnu-gcc-8 (Ubuntu/Linaro 8.4.0-3ubuntu1) 8.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #1642 SMP PREEMPT Mon Apr  3 17:24:16 BST 2023
[    0.000000] random: crng init done
[    0.000000] Machine model: Raspberry Pi 4 Model B Rev 1.1
[    0.000000] efi: UEFI not found.
[    0.000000] Reserved memory: created CMA memory pool at 0x000000002ac00000, size 64 MiB
[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000000000000-0x000000003fffffff]
[    0.000000]   DMA32    [mem 0x0000000040000000-0x000000007fffffff]
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x000000003b3fffff]
[    0.000000]   node   0: [mem 0x0000000040000000-0x000000007fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000007fffffff]
[    0.000000] On node 0, zone DMA32: 19456 pages in unavailable ranges
[    0.000000] percpu: Embedded 29 pages/cpu s78504 r8192 d32088 u118784
[    0.000000] pcpu-alloc: s78504 r8192 d32088 u118784 alloc=29*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
[    0.000000] Detected PIPT I-cache on CPU0
[    0.000000] CPU features: detected: Spectre-v2
[    0.000000] CPU features: detected: Spectre-v3a
[    0.000000] CPU features: detected: Spectre-v4
[    0.000000] CPU features: detected: Spectre-BHB
[    0.000000] CPU features: kernel page table isolation forced ON by KASLR
[    0.000000] CPU features: detected: Kernel page table isolation (KPTI)
[    0.000000] CPU features: detected: ARM erratum 1742098
[    0.000000] CPU features: detected: ARM errata 1165522, 1319367, or 1530923
[    0.000000] alternatives: applying boot alternatives
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 496944
[    0.000000] Kernel command line: coherent_pool=1M 8250.nr_uarts=0 snd_bcm2835.enable_headphones=0 snd_bcm2835.enable_headphones=0 snd_bcm2835.enable_hdmi=0 bcm2708_fb.fbwidth=800 bcm2708_fb.fbheight=444 bcm2708_fb.fbswap=1 smsc95xx.macaddr=DC:A6:32:02:85:04 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000  console=ttyS0,115200 console=tty1 root=PARTUUID=08edb5af-02 rootfstype=ext4 fsck.repair=yes rootwait
edb5af-02 rootfstype=ext4 fsck.repair=yes rootwait
[    0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] software IO TLB: area num 4.
[    0.000000] software IO TLB: mapped [mem 0x0000000037400000-0x000000003b400000] (64MB)
[    0.000000] Memory: 1823900K/2019328K available (11776K kernel code, 2106K rwdata, 3688K rodata, 4160K init, 1077K bss, 129892K reserved, 65536K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] ftrace: allocating 39744 entries in 156 pages
[    0.000000] ftrace: allocated 156 pages with 4 groups
[    0.000000] trace event string verifier disabled
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=4.
[    0.000000]  Trampoline variant of Tasks RCU enabled.
[    0.000000]  Rude variant of Tasks RCU enabled.
[    0.000000]  Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] arch_timer: cp15 timer(s) running at 54.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0xc743ce346, max_idle_ns: 440795203123 ns
[    0.000001] sched_clock: 56 bits at 54MHz, resolution 18ns, wraps every 4398046511102ns
[    0.000314] Console: colour dummy device 80x25
[    0.000906] printk: console [tty1] enabled
[    0.000972] Calibrating delay loop (skipped), value calculated using timer frequency.. 108.00 BogoMIPS (lpj=216000)
[    0.001013] pid_max: default: 32768 minimum: 301
[    0.001153] LSM: Security Framework initializing
[    0.001358] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.001412] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.002689] cgroup: Disabling memory control group subsystem
[    0.004925] cblist_init_generic: Setting adjustable number of callback queues.
[    0.004961] cblist_init_generic: Setting shift to 2 and lim to 1.
[    0.005152] cblist_init_generic: Setting shift to 2 and lim to 1.
[    0.005340] cblist_init_generic: Setting shift to 2 and lim to 1.
[    0.005783] rcu: Hierarchical SRCU implementation.
[    0.005808] rcu:     Max phase no-delay instances is 1000.
[    0.007130] EFI services will not be available.
[    0.007662] smp: Bringing up secondary CPUs ...
[    0.008810] Detected PIPT I-cache on CPU1
[    0.008967] CPU1: Booted secondary processor 0x0000000001 [0x410fd083]
[    0.010098] Detected PIPT I-cache on CPU2
[    0.010219] CPU2: Booted secondary processor 0x0000000002 [0x410fd083]
[    0.011321] Detected PIPT I-cache on CPU3
[    0.011443] CPU3: Booted secondary processor 0x0000000003 [0x410fd083]
[    0.011589] smp: Brought up 1 node, 4 CPUs
[    0.011678] SMP: Total of 4 processors activated.
[    0.011699] CPU features: detected: 32-bit EL0 Support
[    0.011718] CPU features: detected: 32-bit EL1 Support
[    0.011739] CPU features: detected: CRC32 instructions
[    0.011880] CPU: All CPU(s) started at EL2
[    0.011959] alternatives: applying system-wide alternatives
[    0.013699] devtmpfs: initialized
[    0.025644] Enabled cp15_barrier support
[    0.025710] Enabled setend support
[    0.025933] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.025984] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.027878] pinctrl core: initialized pinctrl subsystem
[    0.028873] DMI not present or invalid.
[    0.029577] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.033136] DMA: preallocated 1024 KiB GFP_KERNEL pool for atomic allocations
[    0.033454] DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.034415] DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.034522] audit: initializing netlink subsys (disabled)
[    0.034803] audit: type=2000 audit(0.032:1): state=initialized audit_enabled=0 res=1
[    0.035404] thermal_sys: Registered thermal governor 'step_wise'
[    0.035495] cpuidle: using governor menu
[    0.035896] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.036133] ASID allocator initialised with 32768 entries
[    0.036312] Serial: AMBA PL011 UART driver
[    0.047080] bcm2835-mbox fe00b880.mailbox: mailbox enabled
[    0.050930] platform fe203000.i2s: Fixed dependency cycle(s) with /soc/i2c@7e804000/allo-katana-codec@30
[    0.060200] raspberrypi-firmware soc:firmware: Attached to firmware from 2023-03-17T10:50:39, variant start
[    0.064215] raspberrypi-firmware soc:firmware: Firmware hash is 82f3750a65fadae9a38077e3c2e217ad158c8d54
[    0.079178] KASLR enabled
[    0.115660] bcm2835-dma fe007000.dma: DMA legacy API manager, dmachans=0x1
[    0.121188] SCSI subsystem initialized
[    0.121473] usbcore: registered new interface driver usbfs
[    0.121545] usbcore: registered new interface driver hub
[    0.121623] usbcore: registered new device driver usb
[    0.121961] usb_phy_generic phy: supply vcc not found, using dummy regulator
[    0.122189] usb_phy_generic phy: dummy supplies not allowed for exclusive requests
[    0.122550] pps_core: LinuxPPS API ver. 1 registered
[    0.122574] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.122614] PTP clock support registered
[    0.123712] vgaarb: loaded
[    0.124432] clocksource: Switched to clocksource arch_sys_counter
[    0.125104] VFS: Disk quotas dquot_6.6.0
[    0.125541] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.125744] FS-Cache: Loaded
[    0.125928] CacheFiles: Loaded
[    0.135088] NET: Registered PF_INET protocol family
[    0.135491] IP idents hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.138485] tcp_listen_portaddr_hash hash table entries: 1024 (order: 2, 16384 bytes, linear)
[    0.138550] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.138592] TCP established hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.138725] TCP bind hash table entries: 16384 (order: 7, 524288 bytes, linear)
[    0.139255] TCP: Hash tables configured (established 16384 bind 16384)
[    0.139471] UDP hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.139534] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.139784] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.140676] RPC: Registered named UNIX socket transport module.
[    0.140711] RPC: Registered udp transport module.
[    0.140731] RPC: Registered tcp transport module.
[    0.140750] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.140784] PCI: CLS 0 bytes, default 64
[    0.143363] hw perfevents: enabled with armv8_cortex_a72 PMU driver, 7 counters available
[    0.143757] kvm [1]: IPA Size Limit: 44 bits
[    0.145137] kvm [1]: vgic interrupt IRQ9
[    0.145388] kvm [1]: Hyp mode initialized successfully
[    1.285543] Initialise system trusted keyrings
[    1.286024] workingset: timestamp_bits=46 max_order=19 bucket_order=0
[    1.293627] zbud: loaded
[    1.296669] NFS: Registering the id_resolver key type
[    1.296723] Key type id_resolver registered
[    1.296744] Key type id_legacy registered
[    1.296867] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    1.296896] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    1.298296] Key type asymmetric registered
[    1.298326] Asymmetric key parser 'x509' registered
[    1.298418] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
[    1.298721] io scheduler mq-deadline registered
[    1.298750] io scheduler kyber registered
[    1.307910] brcm-pcie fd500000.pcie: host bridge /scb/pcie@7d500000 ranges:
[    1.307977] brcm-pcie fd500000.pcie:   No bus range found for /scb/pcie@7d500000, using [bus 00-ff]
[    1.308082] brcm-pcie fd500000.pcie:      MEM 0x0600000000..0x063fffffff -> 0x00c0000000
[    1.308182] brcm-pcie fd500000.pcie:   IB MEM 0x0000000000..0x007fffffff -> 0x0400000000
[    1.309234] brcm-pcie fd500000.pcie: PCI host bridge to bus 0000:00
[    1.309269] pci_bus 0000:00: root bus resource [bus 00-ff]
[    1.309297] pci_bus 0000:00: root bus resource [mem 0x600000000-0x63fffffff] (bus address [0xc0000000-0xffffffff])
[    1.309385] pci 0000:00:00.0: [14e4:2711] type 01 class 0x060400
[    1.309662] pci 0000:00:00.0: PME# supported from D0 D3hot
[    1.313782] pci_bus 0000:01: supply vpcie3v3 not found, using dummy regulator
[    1.313992] pci_bus 0000:01: supply vpcie3v3aux not found, using dummy regulator
[    1.314107] pci_bus 0000:01: supply vpcie12v not found, using dummy regulator
[    1.362534] brcm-pcie fd500000.pcie: link up, 5.0 GT/s PCIe x1 (SSC)
[    1.362713] pci 0000:01:00.0: [1106:3483] type 00 class 0x0c0330
[    1.362851] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00000fff 64bit]
[    1.363340] pci 0000:01:00.0: PME# supported from D0 D3cold
[    1.364120] pci 0000:00:00.0: BAR 8: assigned [mem 0x600000000-0x6000fffff]
[    1.364160] pci 0000:01:00.0: BAR 0: assigned [mem 0x600000000-0x600000fff 64bit]
[    1.364217] pci 0000:00:00.0: PCI bridge to [bus 01]
[    1.364248] pci 0000:00:00.0:   bridge window [mem 0x600000000-0x6000fffff]
[    1.365226] bcm2708_fb soc:fb: FB found 1 display(s)
[    1.379889] Console: switching to colour frame buffer device 100x27
[    1.384497] bcm2708_fb soc:fb: Registered framebuffer for display 0, size 800x444
[    1.395328] iproc-rng200 fe104000.rng: hwrng registered
[    1.396600] vc-mem: phys_addr:0x00000000 mem_base=0x3ec00000 mem_size:0x40000000(1024 MiB)
[    1.398695] gpiomem-bcm2835 fe200000.gpiomem: Initialised: Registers at 0xfe200000
[    1.412269] brd: module loaded
[    1.421676] loop: module loaded
[    1.423157] Loading iSCSI transport class v2.0-870.
[    1.429206] bcmgenet fd580000.ethernet: GENET 5.0 EPHY: 0x0000
[    1.488597] unimac-mdio unimac-mdio.-19: Broadcom UniMAC MDIO bus
[    1.490520] usbcore: registered new interface driver r8152
[    1.491323] usbcore: registered new interface driver lan78xx
[    1.492100] usbcore: registered new interface driver smsc95xx
[    1.494405] pci 0000:00:00.0: enabling device (0000 -> 0002)
[    1.495129] xhci_hcd 0000:01:00.0: enabling device (0000 -> 0002)
[    1.495915] xhci_hcd 0000:01:00.0: xHCI Host Controller
[    1.496666] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 1
[    1.498126] xhci_hcd 0000:01:00.0: hcc params 0x002841eb hci version 0x100 quirks 0x0000e40000000890
[    1.500589] xhci_hcd 0000:01:00.0: xHCI Host Controller
[    1.501327] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 2
[    1.502066] xhci_hcd 0000:01:00.0: Host supports USB 3.0 SuperSpeed
[    1.503143] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.01
[    1.503892] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.504643] usb usb1: Product: xHCI Host Controller
[    1.505339] usb usb1: Manufacturer: Linux 6.1.21-v8+ xhci-hcd
[    1.506028] usb usb1: SerialNumber: 0000:01:00.0
[    1.507400] hub 1-0:1.0: USB hub found
[    1.508127] hub 1-0:1.0: 1 port detected
[    1.509790] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.01
[    1.510498] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.511188] usb usb2: Product: xHCI Host Controller
[    1.511865] usb usb2: Manufacturer: Linux 6.1.21-v8+ xhci-hcd
[    1.512582] usb usb2: SerialNumber: 0000:01:00.0
[    1.513961] hub 2-0:1.0: USB hub found
[    1.514734] hub 2-0:1.0: 4 ports detected
[    1.517029] dwc_otg: version 3.00a 10-AUG-2012 (platform bus)
[    1.518000] dwc_otg: FIQ enabled
[    1.518011] dwc_otg: NAK holdoff enabled
[    1.518021] dwc_otg: FIQ split-transaction FSM enabled
[    1.518038] Module dwc_common_port init
[    1.518622] usbcore: registered new interface driver uas
[    1.519410] usbcore: registered new interface driver usb-storage
[    1.520284] mousedev: PS/2 mouse device common for all mice
[    1.526589] sdhci: Secure Digital Host Controller Interface driver
[    1.527266] sdhci: Copyright(c) Pierre Ossman
[    1.528476] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.532737] ledtrig-cpu: registered to indicate activity on CPUs
[    1.533719] hid: raw HID events driver (C) Jiri Kosina
[    1.534567] usbcore: registered new interface driver usbhid
[    1.535200] usbhid: USB HID core driver
[    1.542400] NET: Registered PF_PACKET protocol family
[    1.543198] Key type dns_resolver registered
[    1.545240] registered taskstats version 1
[    1.545996] Loading compiled-in X.509 certificates
[    1.547577] Key type .fscrypt registered
[    1.548220] Key type fscrypt-provisioning registered
[    1.564125] uart-pl011 fe201000.serial: there is not valid maps for state default
[    1.565567] uart-pl011 fe201000.serial: cts_event_workaround enabled
[    1.566347] fe201000.serial: ttyAMA0 at MMIO 0xfe201000 (irq = 36, base_baud = 0) is a PL011 rev2
[    1.576773] bcm2835-wdt bcm2835-wdt: Broadcom BCM2835 watchdog timer
[    1.577917] bcm2835-power bcm2835-power: Broadcom BCM2835 power domains driver
[    1.581968] of_cfs_init
[    1.582780] of_cfs_init: OK
[    1.617144] mmc0: SDHCI controller on fe340000.mmc [fe340000.mmc] using ADMA
[    1.618376] Waiting for root device PARTUUID=08edb5af-02...
[    1.721151] mmc0: new ultra high speed DDR50 SDHC card at address aaaa
[    1.722951] mmcblk0: mmc0:aaaa WX32G 29.7 GiB 
[    1.726772]  mmcblk0: p1 p2
[    1.728047] mmcblk0: mmc0:aaaa WX32G 29.7 GiB (quirks 0x00004000)
[    1.754668] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Quota mode: none.
[    1.755531] VFS: Mounted root (ext4 filesystem) readonly on device 179:2.
[    1.757131] devtmpfs: mounted
[    1.764574] usb 1-1: new high-speed USB device number 2 using xhci_hcd
[    1.767482] Freeing unused kernel memory: 4160K
[    1.768494] Run /sbin/init as init process
[    1.769259]   with arguments:
[    1.769269]     /sbin/init
[    1.769279]   with environment:
[    1.769287]     HOME=/
[    1.769297]     TERM=linux
[    1.915186] usb 1-1: New USB device found, idVendor=2109, idProduct=3431, bcdDevice= 4.21
[    1.916075] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[    1.916979] usb 1-1: Product: USB2.0 Hub
[    1.919915] hub 1-1:1.0: USB hub found
[    1.921119] hub 1-1:1.0: 4 ports detected
[    2.125482] systemd[1]: System time before build time, advancing clock.
[    2.220505] usb 1-1.1: new high-speed USB device number 3 using xhci_hcd
[    2.302132] NET: Registered PF_INET6 protocol family
[    2.304857] Segment Routing with IPv6
[    2.305659] In-situ OAM (IOAM) with IPv6
[    2.321217] usb 1-1.1: New USB device found, idVendor=0bda, idProduct=8812, bcdDevice= 0.00
[    2.322042] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    2.322815] usb 1-1.1: Product: 802.11n NIC
[    2.323545] usb 1-1.1: Manufacturer: Realtek
[    2.324273] usb 1-1.1: SerialNumber: 123456
[    2.369632] systemd[1]: systemd 247.3-7+deb11u2 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +ZSTD +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=unified)
[    2.372983] systemd[1]: Detected architecture arm64.
[    2.383179] systemd[1]: Set hostname to <moode>.
[    2.907206] systemd[1]: Configuration file /etc/systemd/system/haveged.service.d/syscall.conf is marked executable. Please remove executable permission bits. Proceeding anyway.
[    3.121804] systemd[1]: Queued start job for default target Multi-User System.
[    3.142115] systemd[1]: Created slice system-getty.slice.
[    3.145762] systemd[1]: Created slice system-modprobe.slice.
[    3.148864] systemd[1]: Created slice system-systemd\x2dfsck.slice.
[    3.151665] systemd[1]: Created slice User and Session Slice.
[    3.154164] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[    3.156678] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[    3.159826] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point.
[    3.163079] systemd[1]: Reached target Local Encrypted Volumes.
[    3.165522] systemd[1]: Reached target Paths.
[    3.167796] systemd[1]: Reached target Slices.
[    3.169967] systemd[1]: Reached target Swap.
[    3.207250] systemd[1]: Listening on RPCbind Server Activation Socket.
[    3.210752] systemd[1]: Listening on Syslog Socket.
[    3.213683] systemd[1]: Listening on fsck to fsckd communication Socket.
[    3.216122] systemd[1]: Listening on initctl Compatibility Named Pipe.
[    3.219532] systemd[1]: Listening on Journal Audit Socket.
[    3.222436] systemd[1]: Listening on Journal Socket (/dev/log).
[    3.225446] systemd[1]: Listening on Journal Socket.
[    3.231179] systemd[1]: Listening on udev Control Socket.
[    3.234157] systemd[1]: Listening on udev Kernel Socket.
[    3.237134] systemd[1]: Condition check resulted in Huge Pages File System being skipped.
[    3.256970] systemd[1]: Mounting POSIX Message Queue File System...
[    3.263819] systemd[1]: Mounting RPC Pipe File System...
[    3.271725] systemd[1]: Mounting Kernel Debug File System...
[    3.279498] systemd[1]: Mounting Kernel Trace File System...
[    3.282259] systemd[1]: Condition check resulted in Kernel Module supporting RPCSEC_GSS being skipped.
[    3.290424] systemd[1]: Starting Restore / save the current clock...
[    3.298195] systemd[1]: Starting Set the console keyboard layout...
[    3.306099] systemd[1]: Starting Create list of static device nodes for the current kernel...
[    3.314444] systemd[1]: Starting Load Kernel Module configfs...
[    3.322612] systemd[1]: Starting Load Kernel Module drm...
[    3.330810] systemd[1]: Starting Load Kernel Module fuse...
[    3.340624] systemd[1]: Condition check resulted in Set Up Additional Binary Formats being skipped.
[    3.347361] systemd[1]: Starting File System Check on Root Device...
[    3.359656] systemd[1]: Starting Journal Service...
[    3.390733] systemd[1]: Starting Load Kernel Modules...
[    3.398122] fuse: init (API version 7.37)
[    3.415412] systemd[1]: Starting Coldplug All udev Devices...
[    3.439018] systemd[1]: Mounted POSIX Message Queue File System.
[    3.442619] systemd[1]: Mounted RPC Pipe File System.
[    3.446713] systemd[1]: Mounted Kernel Debug File System.
[    3.451507] systemd[1]: Mounted Kernel Trace File System.
[    3.458211] systemd[1]: Finished Restore / save the current clock.
[    3.462058] i2c_dev: i2c /dev entries driver
[    3.463965] systemd[1]: Finished Create list of static device nodes for the current kernel.
[    3.472522] systemd[1]: modprobe@configfs.service: Succeeded.
[    3.475153] systemd[1]: Finished Load Kernel Module configfs.
[    3.480703] systemd[1]: modprobe@fuse.service: Succeeded.
[    3.483250] systemd[1]: Finished Load Kernel Module fuse.
[    3.491472] systemd[1]: Finished Load Kernel Modules.
[    3.496914] systemd[1]: modprobe@drm.service: Succeeded.
[    3.499159] systemd[1]: Finished Load Kernel Module drm.
[    3.537619] systemd[1]: Mounting FUSE Control File System...
[    3.556381] systemd[1]: Mounting Kernel Configuration File System...
[    3.589022] systemd[1]: Starting pNFS block layout mapping daemon...
[    3.598786] systemd[1]: Started File System Check Daemon to report status.
[    3.626626] systemd[1]: Starting Apply Kernel Variables...
[    3.636011] systemd[1]: Finished File System Check on Root Device.
[    3.639451] systemd[1]: Mounted FUSE Control File System.
[    3.642455] systemd[1]: Mounted Kernel Configuration File System.
[    3.645936] systemd[1]: Started pNFS block layout mapping daemon.
[    3.653545] systemd[1]: Starting Remount Root and Kernel File Systems...
[    3.693106] systemd[1]: Finished Apply Kernel Variables.
[    3.799035] systemd[1]: Started Journal Service.
[    3.810287] EXT4-fs (mmcblk0p2): re-mounted. Quota mode: none.
[    3.910076] systemd-journald[145]: Received client request to flush runtime journal.
[    3.914983] systemd-journald[145]: File /var/log/journal/8b6c504fa6fd4ec39aba2804b2479ff0/system.journal corrupted or uncleanly shut down, renaming and replacing.
[    4.674107] mc: Linux media interface: v0.10
[    4.779665] vc_sm_cma: module is from the staging directory, the quality is unknown, you have been warned.
[    4.798000] bcm2835_vc_sm_cma_probe: Videocore shared memory driver
[    4.798045] [vc_sm_connected_init]: start
[    4.806887] videodev: Linux video capture interface: v2.00
[    4.816959] [vc_sm_connected_init]: installed successfully
[    4.899726] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned.
[    4.925241] bcm2835_isp: module is from the staging directory, the quality is unknown, you have been warned.
[    4.935484] bcm2835_codec: module is from the staging directory, the quality is unknown, you have been warned.
[    4.937989] rpivid_hevc: module is from the staging directory, the quality is unknown, you have been warned.
[    4.942479] bcm2835_v4l2: module is from the staging directory, the quality is unknown, you have been warned.
[    4.956615] bcm2835-isp bcm2835-isp: Device node output[0] registered as /dev/video13
[    4.957265] bcm2835-isp bcm2835-isp: Device node capture[0] registered as /dev/video14
[    4.957718] bcm2835-isp bcm2835-isp: Device node capture[1] registered as /dev/video15
[    4.960349] bcm2835-isp bcm2835-isp: Device node stats[2] registered as /dev/video16
[    4.960400] bcm2835-isp bcm2835-isp: Register output node 0 with media controller
[    4.960517] bcm2835-isp bcm2835-isp: Register capture node 1 with media controller
[    4.960556] bcm2835-isp bcm2835-isp: Register capture node 2 with media controller
[    4.960575] bcm2835-isp bcm2835-isp: Register capture node 3 with media controller
[    4.971449] rpivid feb10000.codec: Device registered as /dev/video19
[    4.980380] bcm2835-isp bcm2835-isp: Device node output[0] registered as /dev/video20
[    4.981164] bcm2835-isp bcm2835-isp: Device node capture[0] registered as /dev/video21
[    4.981366] bcm2835-codec bcm2835-codec: Device registered as /dev/video10
[    4.981416] bcm2835-codec bcm2835-codec: Loaded V4L2 decode
[    4.981822] bcm2835-isp bcm2835-isp: Device node capture[1] registered as /dev/video22
[    4.985911] bcm2835-isp bcm2835-isp: Device node stats[2] registered as /dev/video23
[    4.985959] bcm2835-isp bcm2835-isp: Register output node 0 with media controller
[    4.985998] bcm2835-isp bcm2835-isp: Register capture node 1 with media controller
[    4.986017] bcm2835-isp bcm2835-isp: Register capture node 2 with media controller
[    4.986035] bcm2835-isp bcm2835-isp: Register capture node 3 with media controller
[    4.986533] bcm2835-isp bcm2835-isp: Loaded V4L2 bcm2835-isp
[    4.994620] bcm2835-codec bcm2835-codec: Device registered as /dev/video11
[    4.994682] bcm2835-codec bcm2835-codec: Loaded V4L2 encode
[    5.006785] bcm2835-codec bcm2835-codec: Device registered as /dev/video12
[    5.006842] bcm2835-codec bcm2835-codec: Loaded V4L2 isp
[    5.011466] bcm2835-codec bcm2835-codec: Device registered as /dev/video18
[    5.011544] bcm2835-codec bcm2835-codec: Loaded V4L2 image_fx
[    5.018793] bcm2835-codec bcm2835-codec: Device registered as /dev/video31
[    5.018852] bcm2835-codec bcm2835-codec: Loaded V4L2 encode_image
[    5.077479] snd_bcm2835: module is from the staging directory, the quality is unknown, you have been warned.
[    5.633840] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    5.698485] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    5.731802] cfg80211: loaded regulatory.db is malformed or signature is missing/invalid
[    5.918378] allo-katana-codec 1-0030: Failed to read Chip or wrong Chip id: 0
[    6.151518] 88XXau: loading out-of-tree module taints kernel.
[    6.443133] usb 1-1.1: 88XXau 20:0d:b0:47:59:2f hw_info[d7]
[    6.452023] usbcore: registered new interface driver rtl88XXau
[    7.093339] 8021q: 802.1Q VLAN Support v1.8
[    7.100625] hwmon hwmon1: Undervoltage detected!
[    8.489629] bcmgenet fd580000.ethernet: configuring instance for external RGMII (RX delay)
[    8.492211] bcmgenet fd580000.ethernet eth0: Link is Down
[   12.459518] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[   13.633335] ICMPv6: process `dhcpcd' is using deprecated sysctl (syscall) net.ipv6.neigh.wlan0.retrans_time - use net.ipv6.neigh.wlan0.retrans_time_ms instead
[   16.605863] platform soc:sound: deferred probe pending
pi@moode:~ $ 

################################# # Pi 3B, Kernel 6.1 #################################

# With or without workaround driver loads and playback successful

pi@moode:~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Katana [Allo Katana], device 0: bcm2835-i2s-allo-katana-codec allo-katana-codec-0 [bcm2835-i2s-allo-katana-codec allo-katana-codec-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

pi@moode:~ $ amixer
Simple mixer control 'Master',0
  Capabilities: pvolume pswitch pswitch-joined
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 255
  Mono:
  Front Left: Playback 0 [0%] [-127.50dB] [on]
  Front Right: Playback 0 [0%] [-127.50dB] [on]
Simple mixer control 'DSP Program',0
  Capabilities: enum
  Items: 'Linear Phase Fast Roll-off Filter' 'Linear Phase Slow Roll-off Filter' 'Minimum Phase Fast Roll-off Filter' 'Minimum Phase Slow Roll-off Filter' 'Apodizing Fast Roll-off Filter' 'Corrected Minimum Phase Fast Roll-off Filter' 'Brick Wall Filter'
  Item0: 'Apodizing Fast Roll-off Filter'
Simple mixer control 'Deemphasis',0
  Capabilities: enum
  Items: 'Bypass' '32kHz' '44.1kHz' '48kHz'
  Item0: 'Bypass'
Simple mixer control 'DoP',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
pi@moode:~ $ dmesg | grep allo-
[    0.086913] platform 3f203000.i2s: Fixed dependency cycle(s) with /soc/i2c@7e804000/allo-katana-codec@30
# Full DMESG

pi@moode:~ $ dmesg
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 6.1.21-v8+ (dom@buildbot) (aarch64-linux-gnu-gcc-8 (Ubuntu/Linaro 8.4.0-3ubuntu1) 8.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #1642 SMP PREEMPT Mon Apr  3 17:24:16 BST 2023
[    0.000000] random: crng init done
[    0.000000] Machine model: Raspberry Pi 3 Model B Rev 1.2
[    0.000000] efi: UEFI not found.
[    0.000000] Reserved memory: created CMA memory pool at 0x0000000037400000, size 64 MiB
[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000000000000-0x000000003b3fffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x000000003b3fffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000003b3fffff]
[    0.000000] On node 0, zone DMA: 19456 pages in unavailable ranges
[    0.000000] percpu: Embedded 29 pages/cpu s78504 r8192 d32088 u118784
[    0.000000] pcpu-alloc: s78504 r8192 d32088 u118784 alloc=29*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: kernel page table isolation forced ON by KASLR
[    0.000000] CPU features: detected: Kernel page table isolation (KPTI)
[    0.000000] CPU features: detected: ARM erratum 843419
[    0.000000] CPU features: detected: ARM erratum 845719
[    0.000000] alternatives: applying boot alternatives
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 238896
[    0.000000] Kernel command line: coherent_pool=1M 8250.nr_uarts=0 snd_bcm2835.enable_headphones=0 snd_bcm2835.enable_headphones=0 snd_bcm2835.enable_hdmi=0 bcm2708_fb.fbwidth=800 bcm2708_fb.fbheight=444 bcm2708_fb.fbswap=1 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000  console=ttyS0,115200 console=tty1 root=PARTUUID=08edb5af-02 rootfstype=ext4 fsck.repair=yes rootwait
ir=yes rootwait
[    0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 861736K/970752K available (11776K kernel code, 2106K rwdata, 3688K rodata, 4160K init, 1077K bss, 43480K reserved, 65536K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] ftrace: allocating 39744 entries in 156 pages
[    0.000000] ftrace: allocated 156 pages with 4 groups
[    0.000000] trace event string verifier disabled
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=4.
[    0.000000]  Trampoline variant of Tasks RCU enabled.
[    0.000000]  Rude variant of Tasks RCU enabled.
[    0.000000]  Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] Root IRQ handler: bcm2836_arm_irqchip_handle_irq
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] arch_timer: cp15 timer(s) running at 19.20MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x46d987e47, max_idle_ns: 440795202767 ns
[    0.000001] sched_clock: 56 bits at 19MHz, resolution 52ns, wraps every 4398046511078ns
[    0.000385] Console: colour dummy device 80x25
[    0.001380] printk: console [tty1] enabled
[    0.001466] Calibrating delay loop (skipped), value calculated using timer frequency.. 38.40 BogoMIPS (lpj=76800)
[    0.001535] pid_max: default: 32768 minimum: 301
[    0.001742] LSM: Security Framework initializing
[    0.002028] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.002099] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.004078] cgroup: Disabling memory control group subsystem
[    0.007328] cblist_init_generic: Setting adjustable number of callback queues.
[    0.007379] cblist_init_generic: Setting shift to 2 and lim to 1.
[    0.007674] cblist_init_generic: Setting shift to 2 and lim to 1.
[    0.008023] cblist_init_generic: Setting shift to 2 and lim to 1.
[    0.008724] rcu: Hierarchical SRCU implementation.
[    0.008764] rcu:     Max phase no-delay instances is 1000.
[    0.010584] EFI services will not be available.
[    0.011351] smp: Bringing up secondary CPUs ...
[    0.013096] Detected VIPT I-cache on CPU1
[    0.013287] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.015050] Detected VIPT I-cache on CPU2
[    0.015205] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[    0.017012] Detected VIPT I-cache on CPU3
[    0.017162] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[    0.017395] smp: Brought up 1 node, 4 CPUs
[    0.017560] SMP: Total of 4 processors activated.
[    0.017596] CPU features: detected: 32-bit EL0 Support
[    0.017630] CPU features: detected: 32-bit EL1 Support
[    0.017667] CPU features: detected: CRC32 instructions
[    0.017862] CPU: All CPU(s) started at EL2
[    0.017913] alternatives: applying system-wide alternatives
[    0.020584] devtmpfs: initialized
[    0.045516] Enabled cp15_barrier support
[    0.045603] Enabled setend support
[    0.045960] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.046039] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.049381] pinctrl core: initialized pinctrl subsystem
[    0.050756] DMI not present or invalid.
[    0.051812] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.063976] DMA: preallocated 1024 KiB GFP_KERNEL pool for atomic allocations
[    0.064497] DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.066087] DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.066285] audit: initializing netlink subsys (disabled)
[    0.066754] audit: type=2000 audit(0.064:1): state=initialized audit_enabled=0 res=1
[    0.067811] thermal_sys: Registered thermal governor 'step_wise'
[    0.067946] cpuidle: using governor menu
[    0.068713] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.069036] ASID allocator initialised with 32768 entries
[    0.069326] Serial: AMBA PL011 UART driver
[    0.082506] bcm2835-mbox 3f00b880.mailbox: mailbox enabled
[    0.086913] platform 3f203000.i2s: Fixed dependency cycle(s) with /soc/i2c@7e804000/allo-katana-codec@30
[    0.100565] raspberrypi-firmware soc:firmware: Attached to firmware from 2023-03-17T10:52:42, variant start
[    0.104584] raspberrypi-firmware soc:firmware: Firmware hash is 82f3750a65fadae9a38077e3c2e217ad158c8d54
[    0.118041] KASLR enabled
[    0.169415] bcm2835-dma 3f007000.dma: DMA legacy API manager, dmachans=0x1
[    0.176373] SCSI subsystem initialized
[    0.176781] usbcore: registered new interface driver usbfs
[    0.176898] usbcore: registered new interface driver hub
[    0.177027] usbcore: registered new device driver usb
[    0.177738] usb_phy_generic phy: supply vcc not found, using dummy regulator
[    0.178118] usb_phy_generic phy: dummy supplies not allowed for exclusive requests
[    0.178597] pps_core: LinuxPPS API ver. 1 registered
[    0.178635] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.178706] PTP clock support registered
[    0.180558] vgaarb: loaded
[    0.181765] clocksource: Switched to clocksource arch_sys_counter
[    0.182802] VFS: Disk quotas dquot_6.6.0
[    0.182944] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.183269] FS-Cache: Loaded
[    0.183579] CacheFiles: Loaded
[    0.200742] NET: Registered PF_INET protocol family
[    0.201509] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.204210] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear)
[    0.204299] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.204364] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.204522] TCP bind hash table entries: 8192 (order: 6, 262144 bytes, linear)
[    0.204918] TCP: Hash tables configured (established 8192 bind 8192)
[    0.205213] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
[    0.205304] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
[    0.205681] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.206813] RPC: Registered named UNIX socket transport module.
[    0.206860] RPC: Registered udp transport module.
[    0.206896] RPC: Registered tcp transport module.
[    0.206930] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.206988] PCI: CLS 0 bytes, default 64
[    0.210259] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available
[    0.210707] kvm [1]: IPA Size Limit: 40 bits
[    0.212497] kvm [1]: Hyp mode initialized successfully
[    1.995343] Initialise system trusted keyrings
[    1.995999] workingset: timestamp_bits=46 max_order=18 bucket_order=0
[    2.009400] zbud: loaded
[    2.014164] NFS: Registering the id_resolver key type
[    2.014255] Key type id_resolver registered
[    2.014291] Key type id_legacy registered
[    2.014527] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    2.014576] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    2.016778] Key type asymmetric registered
[    2.016825] Asymmetric key parser 'x509' registered
[    2.016971] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
[    2.017427] io scheduler mq-deadline registered
[    2.017473] io scheduler kyber registered
[    2.028820] bcm2708_fb soc:fb: FB found 1 display(s)
[    2.047644] Console: switching to colour frame buffer device 100x27
[    2.051295] bcm2708_fb soc:fb: Registered framebuffer for display 0, size 800x444
[    2.061689] bcm2835-rng 3f104000.rng: hwrng registered
[    2.064373] vc-mem: phys_addr:0x00000000 mem_base=0x3ec00000 mem_size:0x40000000(1024 MiB)
[    2.068174] gpiomem-bcm2835 3f200000.gpiomem: Initialised: Registers at 0x3f200000
[    2.091914] brd: module loaded
[    2.108137] loop: module loaded
[    2.110859] Loading iSCSI transport class v2.0-870.
[    2.120021] usbcore: registered new interface driver r8152
[    2.121881] usbcore: registered new interface driver lan78xx
[    2.123526] usbcore: registered new interface driver smsc95xx
[    2.125677] dwc_otg: version 3.00a 10-AUG-2012 (platform bus)
[    2.855903] Core Release: 2.80a
[    2.857404] Setting default values for core params
[    2.858984] Finished setting default values for core params
[    3.060972] Using Buffer DMA mode
[    3.062533] Periodic Transfer Interrupt Enhancement - disabled
[    3.064024] Multiprocessor Interrupt Enhancement - disabled
[    3.065477] OTG VER PARAM: 0, OTG VER FLAG: 0
[    3.066958] Dedicated Tx FIFOs mode

[    3.069157] WARN::dwc_otg_hcd_init:1074: FIQ DMA bounce buffers: virt = ffffffc008459000 dma = 0x00000000f7810000 len=9024
[    3.073566] FIQ FSM acceleration enabled for :
               Non-periodic Split Transactions
               Periodic Split Transactions
               High-Speed Isochronous Endpoints
               Interrupt/Control Split Transaction hack enabled
[    3.080404] dwc_otg: Microframe scheduler enabled

[    3.080481] WARN::hcd_init_fiq:497: MPHI regs_base at ffffffc00806d000
[    3.083286] dwc_otg 3f980000.usb: DWC OTG Controller
[    3.084745] dwc_otg 3f980000.usb: new USB bus registered, assigned bus number 1
[    3.086338] dwc_otg 3f980000.usb: irq 74, io mem 0x00000000
[    3.087860] Init: Port Power? op_state=1
[    3.089306] Init: Power Port (0)
[    3.091278] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.01
[    3.092825] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    3.094364] usb usb1: Product: DWC OTG Controller
[    3.095855] usb usb1: Manufacturer: Linux 6.1.21-v8+ dwc_otg_hcd
[    3.097353] usb usb1: SerialNumber: 3f980000.usb
[    3.099972] hub 1-0:1.0: USB hub found
[    3.101518] hub 1-0:1.0: 1 port detected
[    3.104304] dwc_otg: FIQ enabled
[    3.104324] dwc_otg: NAK holdoff enabled
[    3.104340] dwc_otg: FIQ split-transaction FSM enabled
[    3.104369] Module dwc_common_port init
[    3.105158] usbcore: registered new interface driver uas
[    3.106796] usbcore: registered new interface driver usb-storage
[    3.108577] mousedev: PS/2 mouse device common for all mice
[    3.116759] sdhci: Secure Digital Host Controller Interface driver
[    3.118199] sdhci: Copyright(c) Pierre Ossman
[    3.120298] sdhci-pltfm: SDHCI platform and OF driver helper
[    3.125484] ledtrig-cpu: registered to indicate activity on CPUs
[    3.127605] hid: raw HID events driver (C) Jiri Kosina
[    3.129339] usbcore: registered new interface driver usbhid
[    3.130792] usbhid: USB HID core driver
[    3.140950] NET: Registered PF_PACKET protocol family
[    3.142638] Key type dns_resolver registered
[    3.146382] registered taskstats version 1
[    3.147878] Loading compiled-in X.509 certificates
[    3.150638] Key type .fscrypt registered
[    3.151992] Key type fscrypt-provisioning registered
[    3.180533] uart-pl011 3f201000.serial: cts_event_workaround enabled
[    3.182190] 3f201000.serial: ttyAMA0 at MMIO 0x3f201000 (irq = 99, base_baud = 0) is a PL011 rev2
[    3.190012] bcm2835-wdt bcm2835-wdt: Broadcom BCM2835 watchdog timer
[    3.192207] bcm2835-power bcm2835-power: Broadcom BCM2835 power domains driver
[    3.196887] sdhost: log_buf @ 00000000871c2f69 (c28d8000)
[    3.214029] Indeed it is in host mode hprt0 = 00021501
[    3.250573] mmc0: sdhost-bcm2835 loaded - DMA enabled (>1)
[    3.257322] of_cfs_init
[    3.259084] of_cfs_init: OK
[    3.262934] Waiting for root device PARTUUID=08edb5af-02...
[    3.313249] mmc0: host does not support reading read-only switch, assuming write-enable
[    3.320173] mmc0: new high speed SDHC card at address aaaa
[    3.323458] mmcblk0: mmc0:aaaa WX32G 29.7 GiB 
[    3.330157]  mmcblk0: p1 p2
[    3.332655] mmcblk0: mmc0:aaaa WX32G 29.7 GiB (quirks 0x00004000)
[    3.358757] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Quota mode: none.
[    3.360620] VFS: Mounted root (ext4 filesystem) readonly on device 179:2.
[    3.363700] devtmpfs: mounted
[    3.378760] Freeing unused kernel memory: 4160K
[    3.380729] Run /sbin/init as init process
[    3.382438]   with arguments:
[    3.382454]     /sbin/init
[    3.382470]   with environment:
[    3.382484]     HOME=/
[    3.382500]     TERM=linux
[    3.409872] usb 1-1: new high-speed USB device number 2 using dwc_otg
[    3.411963] Indeed it is in host mode hprt0 = 00001101
[    3.622326] usb 1-1: New USB device found, idVendor=0424, idProduct=9514, bcdDevice= 2.00
[    3.624141] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    3.627174] hub 1-1:1.0: USB hub found
[    3.629565] hub 1-1:1.0: 5 ports detected
[    3.917837] usb 1-1.1: new high-speed USB device number 3 using dwc_otg
[    3.988197] systemd[1]: System time before build time, advancing clock.
[    4.018410] usb 1-1.1: New USB device found, idVendor=0424, idProduct=ec00, bcdDevice= 2.00
[    4.020415] usb 1-1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    4.025546] smsc95xx v2.0.0
[    4.137868] SMSC LAN8700 usb-001:003:01: attached PHY driver (mii_bus:phy_addr=usb-001:003:01, irq=184)
[    4.142839] smsc95xx 1-1.1:1.0 eth0: register 'smsc95xx' at usb-3f980000.usb-1.1, smsc95xx USB 2.0 Ethernet, b8:27:eb:7c:e1:af
[    4.225849] usb 1-1.2: new high-speed USB device number 4 using dwc_otg
[    4.266844] NET: Registered PF_INET6 protocol family
[    4.271683] Segment Routing with IPv6
[    4.273606] In-situ OAM (IOAM) with IPv6
[    4.327057] usb 1-1.2: New USB device found, idVendor=0bda, idProduct=8812, bcdDevice= 0.00
[    4.329088] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    4.331275] usb 1-1.2: Product: 802.11n NIC
[    4.333296] usb 1-1.2: Manufacturer: Realtek
[    4.335318] usb 1-1.2: SerialNumber: 123456
[    4.354374] systemd[1]: systemd 247.3-7+deb11u2 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +ZSTD +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=unified)
[    4.361699] systemd[1]: Detected architecture arm64.
[    4.381068] systemd[1]: Set hostname to <moode>.
[    5.244703] systemd[1]: Configuration file /etc/systemd/system/haveged.service.d/syscall.conf is marked executable. Please remove executable permission bits. Proceeding anyway.
[    5.591296] systemd[1]: Queued start job for default target Multi-User System.
[    5.624281] systemd[1]: Created slice system-getty.slice.
[    5.630901] systemd[1]: Created slice system-modprobe.slice.
[    5.636938] systemd[1]: Created slice system-systemd\x2dfsck.slice.
[    5.642621] systemd[1]: Created slice User and Session Slice.
[    5.647649] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[    5.652705] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[    5.658757] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point.
[    5.665577] systemd[1]: Reached target Local Encrypted Volumes.
[    5.670572] systemd[1]: Reached target Paths.
[    5.675383] systemd[1]: Reached target Slices.
[    5.679924] systemd[1]: Reached target Swap.
[    5.730696] systemd[1]: Listening on RPCbind Server Activation Socket.
[    5.737079] systemd[1]: Listening on Syslog Socket.
[    5.743014] systemd[1]: Listening on fsck to fsckd communication Socket.
[    5.748257] systemd[1]: Listening on initctl Compatibility Named Pipe.
[    5.754746] systemd[1]: Listening on Journal Audit Socket.
[    5.760407] systemd[1]: Listening on Journal Socket (/dev/log).
[    5.766249] systemd[1]: Listening on Journal Socket.
[    5.776310] systemd[1]: Listening on udev Control Socket.
[    5.781968] systemd[1]: Listening on udev Kernel Socket.
[    5.787702] systemd[1]: Condition check resulted in Huge Pages File System being skipped.
[    5.818532] systemd[1]: Mounting POSIX Message Queue File System...
[    5.830787] systemd[1]: Mounting RPC Pipe File System...
[    5.843667] systemd[1]: Mounting Kernel Debug File System...
[    5.856740] systemd[1]: Mounting Kernel Trace File System...
[    5.862380] systemd[1]: Condition check resulted in Kernel Module supporting RPCSEC_GSS being skipped.
[    5.877536] systemd[1]: Starting Restore / save the current clock...
[    5.891209] systemd[1]: Starting Set the console keyboard layout...
[    5.904788] systemd[1]: Starting Create list of static device nodes for the current kernel...
[    5.919072] systemd[1]: Starting Load Kernel Module configfs...
[    5.934378] systemd[1]: Starting Load Kernel Module drm...
[    5.952734] systemd[1]: Starting Load Kernel Module fuse...
[    5.963059] systemd[1]: Condition check resulted in Set Up Additional Binary Formats being skipped.
[    5.974627] systemd[1]: Starting File System Check on Root Device...
[    6.001435] systemd[1]: Starting Journal Service...
[    6.021104] systemd[1]: Starting Load Kernel Modules...
[    6.039818] systemd[1]: Starting Coldplug All udev Devices...
[    6.071631] fuse: init (API version 7.37)
[    6.100573] systemd[1]: Mounted POSIX Message Queue File System.
[    6.106748] systemd[1]: Mounted RPC Pipe File System.
[    6.135147] systemd[1]: Mounted Kernel Debug File System.
[    6.167879] systemd[1]: Mounted Kernel Trace File System.
[    6.177230] systemd[1]: Finished Restore / save the current clock.
[    6.187778] systemd[1]: Finished Create list of static device nodes for the current kernel.
[    6.196164] i2c_dev: i2c /dev entries driver
[    6.211615] systemd[1]: modprobe@configfs.service: Succeeded.
[    6.216187] systemd[1]: Finished Load Kernel Module configfs.
[    6.228713] systemd[1]: modprobe@fuse.service: Succeeded.
[    6.233643] systemd[1]: Finished Load Kernel Module fuse.
[    6.242518] systemd[1]: modprobe@drm.service: Succeeded.
[    6.246863] systemd[1]: Finished Load Kernel Module drm.
[    6.255404] systemd[1]: Finished Load Kernel Modules.
[    6.310726] systemd[1]: Mounting FUSE Control File System...
[    6.334642] systemd[1]: Mounting Kernel Configuration File System...
[    6.374639] systemd[1]: Starting pNFS block layout mapping daemon...
[    6.397641] systemd[1]: Started File System Check Daemon to report status.
[    6.416850] systemd[1]: Starting Apply Kernel Variables...
[    6.449557] systemd[1]: Finished File System Check on Root Device.
[    6.461601] systemd[1]: Mounted FUSE Control File System.
[    6.467519] systemd[1]: Mounted Kernel Configuration File System.
[    6.486713] systemd[1]: Started pNFS block layout mapping daemon.
[    6.520065] systemd[1]: Starting Remount Root and Kernel File Systems...
[    6.530707] systemd[1]: Started Journal Service.
[    6.742334] EXT4-fs (mmcblk0p2): re-mounted. Quota mode: none.
[    6.869140] systemd-journald[146]: Received client request to flush runtime journal.
[    6.876646] systemd-journald[146]: File /var/log/journal/8b6c504fa6fd4ec39aba2804b2479ff0/system.journal corrupted or uncleanly shut down, renaming and replacing.
[    8.126942] vc_sm_cma: module is from the staging directory, the quality is unknown, you have been warned.
[    8.129963] bcm2835_vc_sm_cma_probe: Videocore shared memory driver
[    8.130018] [vc_sm_connected_init]: start
[    8.138893] [vc_sm_connected_init]: installed successfully
[    8.144008] mc: Linux media interface: v0.10
[    8.260429] videodev: Linux video capture interface: v2.00
[    8.328895] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned.
[    8.366640] bcm2835_isp: module is from the staging directory, the quality is unknown, you have been warned.
[    8.381479] bcm2835-isp bcm2835-isp: Device node output[0] registered as /dev/video13
[    8.382540] bcm2835-isp bcm2835-isp: Device node capture[0] registered as /dev/video14
[    8.394373] bcm2835-isp bcm2835-isp: Device node capture[1] registered as /dev/video15
[    8.394982] bcm2835-isp bcm2835-isp: Device node stats[2] registered as /dev/video16
[    8.395040] bcm2835-isp bcm2835-isp: Register output node 0 with media controller
[    8.395077] bcm2835-isp bcm2835-isp: Register capture node 1 with media controller
[    8.395107] bcm2835-isp bcm2835-isp: Register capture node 2 with media controller
[    8.395136] bcm2835-isp bcm2835-isp: Register capture node 3 with media controller
[    8.399783] bcm2835-isp bcm2835-isp: Device node output[0] registered as /dev/video20
[    8.408523] snd_bcm2835: module is from the staging directory, the quality is unknown, you have been warned.
[    8.408921] bcm2835-isp bcm2835-isp: Device node capture[0] registered as /dev/video21
[    8.409686] bcm2835-isp bcm2835-isp: Device node capture[1] registered as /dev/video22
[    8.411903] bcm2835-isp bcm2835-isp: Device node stats[2] registered as /dev/video23
[    8.411984] bcm2835-isp bcm2835-isp: Register output node 0 with media controller
[    8.412021] bcm2835-isp bcm2835-isp: Register capture node 1 with media controller
[    8.412051] bcm2835-isp bcm2835-isp: Register capture node 2 with media controller
[    8.412080] bcm2835-isp bcm2835-isp: Register capture node 3 with media controller
[    8.412442] bcm2835-isp bcm2835-isp: Loaded V4L2 bcm2835-isp
[    8.432758] bcm2835_v4l2: module is from the staging directory, the quality is unknown, you have been warned.
[    8.484866] bcm2835_codec: module is from the staging directory, the quality is unknown, you have been warned.
[    8.503399] bcm2835-codec bcm2835-codec: Device registered as /dev/video10
[    8.503504] bcm2835-codec bcm2835-codec: Loaded V4L2 decode
[    8.508993] bcm2835-codec bcm2835-codec: Device registered as /dev/video11
[    8.509080] bcm2835-codec bcm2835-codec: Loaded V4L2 encode
[    8.529606] bcm2835-codec bcm2835-codec: Device registered as /dev/video12
[    8.529691] bcm2835-codec bcm2835-codec: Loaded V4L2 isp
[    8.542551] bcm2835-codec bcm2835-codec: Device registered as /dev/video18
[    8.543006] bcm2835-codec bcm2835-codec: Loaded V4L2 image_fx
[    8.548991] bcm2835-codec bcm2835-codec: Device registered as /dev/video31
[    8.549076] bcm2835-codec bcm2835-codec: Loaded V4L2 encode_image
[    9.642889] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    9.714910] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    9.750576] cfg80211: loaded regulatory.db is malformed or signature is missing/invalid
[   10.373196] 88XXau: loading out-of-tree module taints kernel.
[   10.526005] hwmon hwmon1: Undervoltage detected!
[   10.848936] usb 1-1.2: 88XXau 20:0d:b0:47:59:2f hw_info[d7]
[   10.864290] usbcore: registered new interface driver rtl88XXau
[   11.778780] 8021q: 802.1Q VLAN Support v1.8
[   13.314003] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[   13.598413] smsc95xx 1-1.1:1.0 eth0: hardware isn't capable of remote wakeup
[   13.609671] smsc95xx 1-1.1:1.0 eth0: Link is Down
[   19.747591] ICMPv6: process `dhcpcd' is using deprecated sysctl (syscall) net.ipv6.neigh.wlan0.retrans_time - use net.ipv6.neigh.wlan0.retrans_time_ms instead
pi@moode:~ $ 
6by9 commented 1 year ago

Does the device detect on address 0x30 if you use sudo i2cdetect -y 1 on the Pi4?

You may need to do

sudo rmmod snd_soc_allo_katana_codec
sudo rmmod snd_soc_audio_graph_card

first to stop it reporting as UU due to a kernel driver being loaded on that address, and potentially sudo modprobe i2c-dev to allow userspace access to the I2C devices.

Also check that the pinmuxing is correct with raspi-gpio get 2,3. It should report SDA1 and SCL1 for the 2 pins.

6by9 commented 1 year ago

A quick check in the source code

[    5.918378] allo-katana-codec 1-0030: Failed to read Chip or wrong Chip id: 0

The 0 is the return code, so the read succeeded, but must have given the wrong value (not 0x30).

You could do the read manually with (I believe) i2ctransfer -y 1 w2@0x30 0x01 0x00 r1@0x30

Then again the regmap config looks weird for this device https://github.com/raspberrypi/linux/blob/rpi-5.10.y/sound/soc/bcm/allo-katana-codec.c#L303-L304

    .reg_bits = 8,
    .val_bits = 8,

How can the reg_bits be 8 when the registers start at 0x100? That would imply that the command is ```i2ctransfer -y 1 w1@0x30 0x00 r1@0x30 That sort of a coding error wouldn't mean it fails on a Pi4 but works on a Pi3 though.

pelwell commented 1 year ago

Interestingly, this error message is reporting the return code from the i2c/regmap read, not the chip ID:

[    5.918378] allo-katana-codec 1-0030: Failed to read Chip or wrong Chip id: 0

0 is the error code for success, which suggests that it got a response, but that the response was unexpected.

If you are serious about debugging this, go through my list of instructions in the previous Allo issue (https://github.com/raspberrypi/linux/issues/5505#issuecomment-1591647416) and capture logs for both systems. Because the driver probing is done very early, you should probably blacklist both modules then run the manual modprobes once you've enabled tracing.

pelwell commented 1 year ago

How can the reg_bits be 8 when the registers start at 0x100?

The regmap seems to set up some page-flipping mechanism, where register 0 is the page selection register.

6by9 commented 1 year ago

Configuring the overlay with no board present gives me

pi@bookworm32:~ $ sudo cat /sys/kernel/debug/tracing/trace | grep i2c-1
        modprobe-623     [003] .....    10.749305: i2c_write: i2c-1 #0 a=030 f=0000 l=1 [00]
        modprobe-623     [003] .....    10.749312: i2c_read: i2c-1 #1 a=030 f=0001 l=1
        modprobe-623     [003] .....    10.752260: i2c_result: i2c-1 n=2 ret=-121

So not apparently setting a bank register.

The easier way to enable i2c logging is to edit /boot/cmdline.txt and add trace_event=i2c to the start of the line. I2C logging is then enabled from boot, and sudo cat /sys/kernel/debug/tracing/trace | grep i2c-1 will show the logging info.

moodeaudio commented 1 year ago

Some additional debug.

################################ # Pi 4B ################################

pi@moode:~ $ sudo i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         
pi@moode:~ $ sudo rmmod snd_soc_allo_katana_codec
pi@moode:~ $ sudo rmmod snd_soc_audio_graph_card

pi@moode:~ $ sudo i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: 30 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         
pi@moode:~ $ 
pi@moode:~ $ raspi-gpio get 2,3
GPIO 2: level=1 fsel=4 alt=0 func=SDA1 pull=UP
GPIO 3: level=1 fsel=4 alt=0 func=SCL1 pull=UP
pi@moode:~ $ sudo cat /sys/kernel/debug/tracing/trace | grep i2c-1
        modprobe-328     [000] .....     6.060281: i2c_write: i2c-1 #0 a=030 f=0000 l=1 [00]
        modprobe-328     [000] .....     6.060289: i2c_read: i2c-1 #1 a=030 f=0001 l=1
        modprobe-328     [000] .....     6.061364: i2c_reply: i2c-1 #1 a=030 f=0001 l=1 [b0]
        modprobe-328     [000] .....     6.061369: i2c_result: i2c-1 n=2 ret=2

pi@moode:~ $ sudo rmmod snd_soc_allo_katana_codec
pi@moode:~ $ sudo rmmod snd_soc_audio_graph_card
pi@moode:~ $ sudo modprobe snd_soc_audio_graph_card
pi@moode:~ $ sudo modprobe snd_soc_allo_katana_codec
pi@moode:~ $ sudo cat /sys/kernel/debug/tracing/trace | grep i2c-1
        modprobe-328     [000] .....     6.060281: i2c_write: i2c-1 #0 a=030 f=0000 l=1 [00]
        modprobe-328     [000] .....     6.060289: i2c_read: i2c-1 #1 a=030 f=0001 l=1
        modprobe-328     [000] .....     6.061364: i2c_reply: i2c-1 #1 a=030 f=0001 l=1 [b0]
        modprobe-328     [000] .....     6.061369: i2c_result: i2c-1 n=2 ret=2
        modprobe-1655    [001] .....   202.841822: i2c_write: i2c-1 #0 a=030 f=0000 l=1 [00]
        modprobe-1655    [001] .....   202.841829: i2c_read: i2c-1 #1 a=030 f=0001 l=1
        modprobe-1655    [001] .....   202.842888: i2c_reply: i2c-1 #1 a=030 f=0001 l=1 [b0]
        modprobe-1655    [001] .....   202.842892: i2c_result: i2c-1 n=2 ret=2

################################ # Pi 3B ################################

pi@moode:~ $ sudo i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         
pi@moode:~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Katana [Allo Katana], device 0: bcm2835-i2s-allo-katana-codec allo-katana-codec-0 [bcm2835-i2s-allo-katana-codec allo-katana-codec-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
pi@moode:~ $ 
pi@moode:~ $ sudo cat /sys/kernel/debug/tracing/trace | grep i2c-1
        modprobe-332     [001] .....     9.854387: i2c_write: i2c-1 #0 a=030 f=0000 l=1 [00]
        modprobe-332     [001] .....     9.854398: i2c_read: i2c-1 #1 a=030 f=0001 l=1
        modprobe-332     [001] .....     9.855154: i2c_reply: i2c-1 #1 a=030 f=0001 l=1 [30]
        modprobe-332     [001] .....     9.855163: i2c_result: i2c-1 n=2 ret=2
        modprobe-332     [001] .....     9.855189: i2c_write: i2c-1 #0 a=030 f=0000 l=1 [00]
        modprobe-332     [001] .....     9.855191: i2c_read: i2c-1 #1 a=030 f=0001 l=1
        modprobe-332     [001] .....     9.855926: i2c_reply: i2c-1 #1 a=030 f=0001 l=1 [30]
        modprobe-332     [001] .....     9.855930: i2c_result: i2c-1 n=2 ret=2
        modprobe-332     [001] .....     9.855950: i2c_write: i2c-1 #0 a=030 f=0000 l=2 [00-00]
        modprobe-332     [001] .....     9.856485: i2c_result: i2c-1 n=1 ret=1
        modprobe-332     [001] .....     9.856494: i2c_write: i2c-1 #0 a=030 f=0000 l=2 [01-01]
        modprobe-332     [001] .....     9.857024: i2c_result: i2c-1 n=1 ret=1
         alsactl-335     [002] .....    10.116792: i2c_write: i2c-1 #0 a=030 f=0000 l=2 [02-52]
         alsactl-335     [002] .....    10.117419: i2c_result: i2c-1 n=1 ret=1
         alsactl-335     [002] .....    10.117473: i2c_write: i2c-1 #0 a=030 f=0000 l=2 [03-52]
         alsactl-335     [002] .....    10.118026: i2c_result: i2c-1 n=1 ret=1
          amixer-917     [001] .....    37.696197: i2c_write: i2c-1 #0 a=030 f=0000 l=2 [02-ff]
          amixer-917     [001] .....    37.696752: i2c_result: i2c-1 n=1 ret=1
          amixer-917     [001] .....    37.696863: i2c_write: i2c-1 #0 a=030 f=0000 l=2 [03-ff]
          amixer-917     [001] .....    37.697385: i2c_result: i2c-1 n=1 ret=1
          amixer-1193    [003] .....    49.850696: i2c_write: i2c-1 #0 a=030 f=0000 l=2 [02-52]
          amixer-1193    [003] .....    49.851237: i2c_result: i2c-1 n=1 ret=1
          amixer-1193    [003] .....    49.851747: i2c_write: i2c-1 #0 a=030 f=0000 l=2 [03-52]
          amixer-1193    [003] .....    49.852279: i2c_result: i2c-1 n=1 ret=1
       i2cdetect-1584    [003] .....   198.154569: i2c_write: i2c-1 #0 a=008 f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.155016: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.155168: i2c_write: i2c-1 #0 a=009 f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.155404: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.155613: i2c_write: i2c-1 #0 a=00a f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.155944: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.156071: i2c_write: i2c-1 #0 a=00b f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.156306: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.156424: i2c_write: i2c-1 #0 a=00c f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.156667: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.156910: i2c_write: i2c-1 #0 a=00d f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.157148: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.157284: i2c_write: i2c-1 #0 a=00e f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.157523: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.157656: i2c_write: i2c-1 #0 a=00f f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.157889: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.158204: i2c_write: i2c-1 #0 a=010 f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.158440: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.158571: i2c_write: i2c-1 #0 a=011 f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.158800: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.158922: i2c_write: i2c-1 #0 a=012 f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.159338: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.159463: i2c_write: i2c-1 #0 a=013 f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.159704: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.159835: i2c_write: i2c-1 #0 a=014 f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.160081: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.160215: i2c_write: i2c-1 #0 a=015 f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.160486: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.160564: i2c_write: i2c-1 #0 a=016 f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.160800: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.160872: i2c_write: i2c-1 #0 a=017 f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.161108: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.161189: i2c_write: i2c-1 #0 a=018 f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.161418: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.161489: i2c_write: i2c-1 #0 a=019 f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.161721: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.161792: i2c_write: i2c-1 #0 a=01a f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.162026: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.162099: i2c_write: i2c-1 #0 a=01b f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.162329: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.162405: i2c_write: i2c-1 #0 a=01c f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.162638: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.162719: i2c_write: i2c-1 #0 a=01d f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.162953: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.163024: i2c_write: i2c-1 #0 a=01e f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.163317: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.163391: i2c_write: i2c-1 #0 a=01f f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.163625: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.163787: i2c_write: i2c-1 #0 a=020 f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.164021: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.164145: i2c_write: i2c-1 #0 a=021 f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.164380: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.164500: i2c_write: i2c-1 #0 a=022 f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.164738: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.164858: i2c_write: i2c-1 #0 a=023 f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.165100: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.165233: i2c_write: i2c-1 #0 a=024 f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.165471: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.165592: i2c_write: i2c-1 #0 a=025 f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.165824: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.165944: i2c_write: i2c-1 #0 a=026 f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.166177: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.166298: i2c_write: i2c-1 #0 a=027 f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.166534: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.166743: i2c_write: i2c-1 #0 a=028 f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.166974: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.167095: i2c_write: i2c-1 #0 a=029 f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.167339: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.167948: i2c_write: i2c-1 #0 a=02a f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.168185: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.168315: i2c_write: i2c-1 #0 a=02b f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.168547: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.168667: i2c_write: i2c-1 #0 a=02c f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.169018: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.169142: i2c_write: i2c-1 #0 a=02d f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.169380: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.169510: i2c_write: i2c-1 #0 a=02e f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.169738: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.169810: i2c_write: i2c-1 #0 a=02f f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.170042: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.170229: i2c_read: i2c-1 #0 a=031 f=0001 l=1
       i2cdetect-1584    [003] .....   198.170463: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.170535: i2c_read: i2c-1 #0 a=032 f=0001 l=1
       i2cdetect-1584    [003] .....   198.170767: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.170838: i2c_read: i2c-1 #0 a=033 f=0001 l=1
       i2cdetect-1584    [003] .....   198.171516: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.171598: i2c_read: i2c-1 #0 a=034 f=0001 l=1
       i2cdetect-1584    [003] .....   198.171843: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.171916: i2c_read: i2c-1 #0 a=035 f=0001 l=1
       i2cdetect-1584    [003] .....   198.172145: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.172216: i2c_read: i2c-1 #0 a=036 f=0001 l=1
       i2cdetect-1584    [003] .....   198.172457: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.172541: i2c_read: i2c-1 #0 a=037 f=0001 l=1
       i2cdetect-1584    [003] .....   198.172769: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.172842: i2c_write: i2c-1 #0 a=038 f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.173085: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.173157: i2c_write: i2c-1 #0 a=039 f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.173389: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.173470: i2c_write: i2c-1 #0 a=03a f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.173705: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.173776: i2c_write: i2c-1 #0 a=03b f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.174008: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.174116: i2c_write: i2c-1 #0 a=03c f=0000 l=0 []
       i2cdetect-1584    [003] .....   198.174347: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [003] .....   198.174419: i2c_write: i2c-1 #0 a=03d f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.175390: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.175493: i2c_write: i2c-1 #0 a=03e f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.175734: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.175809: i2c_write: i2c-1 #0 a=03f f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.176064: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.176191: i2c_write: i2c-1 #0 a=040 f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.176431: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.176505: i2c_write: i2c-1 #0 a=041 f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.176745: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.176817: i2c_write: i2c-1 #0 a=042 f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.177058: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.177130: i2c_write: i2c-1 #0 a=043 f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.177365: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.177437: i2c_write: i2c-1 #0 a=044 f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.177686: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.177757: i2c_write: i2c-1 #0 a=045 f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.177998: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.178070: i2c_write: i2c-1 #0 a=046 f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.178303: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.178375: i2c_write: i2c-1 #0 a=047 f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.178703: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.178780: i2c_write: i2c-1 #0 a=048 f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.179021: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.179179: i2c_write: i2c-1 #0 a=049 f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.179417: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.179491: i2c_write: i2c-1 #0 a=04a f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.179732: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.179815: i2c_write: i2c-1 #0 a=04b f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.180056: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.180127: i2c_write: i2c-1 #0 a=04c f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.180367: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.180441: i2c_write: i2c-1 #0 a=04d f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.180675: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.180747: i2c_write: i2c-1 #0 a=04e f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.180985: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.181065: i2c_write: i2c-1 #0 a=04f f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.181684: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.181832: i2c_read: i2c-1 #0 a=050 f=0001 l=1
       i2cdetect-1584    [000] .....   198.182109: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.182195: i2c_read: i2c-1 #0 a=051 f=0001 l=1
       i2cdetect-1584    [000] .....   198.182434: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.182590: i2c_read: i2c-1 #0 a=052 f=0001 l=1
       i2cdetect-1584    [000] .....   198.182910: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.182994: i2c_read: i2c-1 #0 a=053 f=0001 l=1
       i2cdetect-1584    [000] .....   198.183234: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.183454: i2c_read: i2c-1 #0 a=054 f=0001 l=1
       i2cdetect-1584    [000] .....   198.183705: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.183779: i2c_read: i2c-1 #0 a=055 f=0001 l=1
       i2cdetect-1584    [000] .....   198.184315: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.184396: i2c_read: i2c-1 #0 a=056 f=0001 l=1
       i2cdetect-1584    [000] .....   198.184637: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.184721: i2c_read: i2c-1 #0 a=057 f=0001 l=1
       i2cdetect-1584    [000] .....   198.184960: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.185033: i2c_read: i2c-1 #0 a=058 f=0001 l=1
       i2cdetect-1584    [000] .....   198.185269: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.185340: i2c_read: i2c-1 #0 a=059 f=0001 l=1
       i2cdetect-1584    [000] .....   198.185853: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.185936: i2c_read: i2c-1 #0 a=05a f=0001 l=1
       i2cdetect-1584    [000] .....   198.186185: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.186258: i2c_read: i2c-1 #0 a=05b f=0001 l=1
       i2cdetect-1584    [000] .....   198.186499: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.186571: i2c_read: i2c-1 #0 a=05c f=0001 l=1
       i2cdetect-1584    [000] .....   198.186808: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.186879: i2c_read: i2c-1 #0 a=05d f=0001 l=1
       i2cdetect-1584    [000] .....   198.187113: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.187184: i2c_read: i2c-1 #0 a=05e f=0001 l=1
       i2cdetect-1584    [000] .....   198.187433: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.187566: i2c_read: i2c-1 #0 a=05f f=0001 l=1
       i2cdetect-1584    [000] .....   198.187949: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.188090: i2c_write: i2c-1 #0 a=060 f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.188339: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.188413: i2c_write: i2c-1 #0 a=061 f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.188733: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.188806: i2c_write: i2c-1 #0 a=062 f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.189047: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.189131: i2c_write: i2c-1 #0 a=063 f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.189374: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.189447: i2c_write: i2c-1 #0 a=064 f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.189686: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.189751: i2c_write: i2c-1 #0 a=065 f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.189992: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.190162: i2c_write: i2c-1 #0 a=066 f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.190466: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.190702: i2c_write: i2c-1 #0 a=067 f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.190940: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.191083: i2c_write: i2c-1 #0 a=068 f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.191315: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.191435: i2c_write: i2c-1 #0 a=069 f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.191667: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.191792: i2c_write: i2c-1 #0 a=06a f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.192024: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.192142: i2c_write: i2c-1 #0 a=06b f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.192380: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.192505: i2c_write: i2c-1 #0 a=06c f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.192740: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.192863: i2c_write: i2c-1 #0 a=06d f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.193105: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.193236: i2c_write: i2c-1 #0 a=06e f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.193476: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.193687: i2c_write: i2c-1 #0 a=06f f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.193931: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.194205: i2c_write: i2c-1 #0 a=070 f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.194455: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.194659: i2c_write: i2c-1 #0 a=071 f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.194898: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.195042: i2c_write: i2c-1 #0 a=072 f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.195373: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.195499: i2c_write: i2c-1 #0 a=073 f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.195729: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.195848: i2c_write: i2c-1 #0 a=074 f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.196187: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.196320: i2c_write: i2c-1 #0 a=075 f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.196556: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.196674: i2c_write: i2c-1 #0 a=076 f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.196908: i2c_result: i2c-1 n=1 ret=-121
       i2cdetect-1584    [000] .....   198.197038: i2c_write: i2c-1 #0 a=077 f=0000 l=0 []
       i2cdetect-1584    [000] .....   198.197275: i2c_result: i2c-1 n=1 ret=-121
pi@moode:~ $ 
6by9 commented 1 year ago

To read back 0xB0 instead of 0x30 is a bit weird as it's gained the top bit set.

I'd try adding i2c_arm_baudrate=50000 to /boot/config.txt to slow the I2C down (default is 100000) and see if that helps. If the Katana is trying to use I2C clock stretching then it can have issues.

moodeaudio commented 1 year ago

That worked. Playback is fine now :-) I can add this param to the Katana/4B configuration in moOde and we should be all set :-)

sudo nano /boot/config.txt
dtparam=i2c_arm_baudrate=50000

Reboot

pi@moode:~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Katana [Allo Katana], device 0: bcm2835-i2s-allo-katana-codec allo-katana-codec-0 [bcm2835-i2s-allo-katana-codec allo-katana-codec-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
pi@moode:~ $ 
6by9 commented 1 year ago

It'd be nice to know exactly why it differs between Pi3 and Pi4, but that's unlikely to happen without having hardware and hooking up a logic analyser.

The better solution is to update the overlay to automatically drop the I2C baudrate so that it works for all users, not just those using moOde.

moodeaudio commented 1 year ago

That would be ideal. Whats the process to do that?

pelwell commented 1 year ago
  1. Download this modified overlay: https://drive.google.com/file/d/15NwdKrCx7LEKoRQJTTRYS1gGWBDdt8uh/view?usp=sharing
  2. Copy it to /boot/overlays
  3. Remove the dtparam=i2c_arm_baudrate=50000 and reboot.
  4. Confirm the audio card is still detected.

If that works I'll push the updated overlay, which is just a minor modification:

diff --git a/arch/arm/boot/dts/overlays/allo-katana-dac-audio-overlay.dts b/arch/arm/boot/dts/overlays/allo-katana-dac-audio-overlay.dts
index b25fd681f09f3..a83fe48e2bfca 100644
--- a/arch/arm/boot/dts/overlays/allo-katana-dac-audio-overlay.dts
+++ b/arch/arm/boot/dts/overlays/allo-katana-dac-audio-overlay.dts
@@ -30,6 +30,7 @@ __overlay__ {
                        #address-cells = <1>;
                        #size-cells = <0>;
                        status = "okay";
+                       clock-frequency = <50000>;

                        allo-katana-codec@30 {
                                #sound-dai-cells = <0>;
moodeaudio commented 1 year ago

That updated overlay worked fine. I tested on both Pi-4B and 3B and in both cases the Katana was recognized and playback was successful :-)

pelwell commented 1 year ago

Cool. There's so little data involved that the reduced clock rate is unlikely to cause a problem, so I've pushed the updated overlay to rpi-6.1.y. Future releases will include the modified overlay.

moodeaudio commented 1 year ago

Fantastic! Many thanks @pelwell and @6by9 on behalf of Katana enthusiasts!