ArchLinux ARM for uConsole CM4 -- living documentation

Current status: a test firmware is built.

tl;dr – I maintain the devterm ArchLinuxARM distro, and now I also want to do uConsole-CM4;

As of now, please don’t follow any “instructions” here – it’s a messy dump of my head and what I did.
Please educate me if I’m doing anything wrong – thanks!

Instructions

build-kernel.sh
official kernel build doc: https://www.raspberrypi.com/documentation/computers/linux_kernel.html
official cmdline.txt doc: RPi cmdline.txt - eLinux.org

Dependencies

pacman -S xmlto docbook-xsl kmod inetutils bc git dtc

(kmod git reinstall)

git apply ../uConsole/Code/patch/cm4/20230630/0001-patch-cm4.patch

  • painfully update the patch file for 6.6.y… Orz

!! note, defconfig is separated to config-sample, as we are moving from 5.x to 6.6.y!
!! official alarm config is downloaded to config-alarm-linux-aarch64
!! we then merge these two with 3-way diff to produce our version of .config.

compare-config.py parses two defconfig files and compare them in the following aspects:
!! note, “is_not_set” is currently considered a value
!! note, the order is incorrect
– comment out line 22
!! note, stock-5.x is suspiciously wrong
– this is because ‘git reset --hard 3a33…’ does not change the branch
git describe --tags gives raspberrypi-kernel_1.20210430-1, which is a raspbian release of 5.10.17
– let’s create a branch “raspbian-stock” for this → config-raspbian-stock-5.10.17
– let’s create a branch “guu” for this → patch with 0001-patch-cm4.patch → config-guu-5.10.17
!! note, our 6.6.y was the HEAD of the repo, at c04af98514c26014a4f29ec87b3ece95626059bd, not a release!!

  • a == b
  • a != b
  • a not b
  • b not a

Comparing raspbian-stock with guu, we get very clean result:

========= config-raspbian-stock-5.10.17 != config-guu-5.10.17 =========
CONFIG_REGMAP_I2C                               m               y               
CONFIG_PPP                                      m               y               
CONFIG_PPP_BSDCOMP                              m               y               
CONFIG_PPP_DEFLATE                              m               y               
CONFIG_PPP_MPPE                                 m               y               
CONFIG_PPPOE                                    m               y               
CONFIG_PPP_ASYNC                                m               y               
CONFIG_PPP_SYNC_TTY                             m               y               
CONFIG_SLHC                                     m               y               
CONFIG_I2C_BCM2835                              m               y               
CONFIG_CRYPTO_LIB_ARC4                          m               y               
CONFIG_CRC_CCITT                                m               y               
========= config-raspbian-stock-5.10.17 not config-guu-5.10.17 =========
<NONE!>
========= config-guu-5.10.17 not config-raspbian-stock-5.10.17 =========
CONFIG_PPTP                                     --              m               
CONFIG_INPUT_AXP20X_PEK                         --              y               
CONFIG_CHARGER_AXP20X                           --              m               
CONFIG_BATTERY_AXP20X                           --              m               
CONFIG_AXP20X_POWER                             --              m               
CONFIG_MFD_AXP20X                               --              y               
CONFIG_MFD_AXP20X_I2C                           --              y               
CONFIG_REGULATOR_AXP20X                         --              y               
CONFIG_DRM_PANEL_CWD686                         --              m               
CONFIG_DRM_PANEL_CWU50                          --              m               
CONFIG_BACKLIGHT_OCP8178                        --              m               
CONFIG_AXP20X_ADC                               --              m               
CONFIG_TI_ADC081C                               --              m               

We continue to compare alarm-6.x and raspbian stock 6.x

  • A lot of differences, most interesting part being stock not alarm
  • 250Hz stock vs 1000Hz alarm
  • raspbian config has a lot of BCM2835 things (Model 1)
  • bcm2711 thermal is ‘m’ is alarm

Plans:

  1. Start from alarm-6.x, and apply guu tweaks
  • End up with a huge huge kernel (apple m1, rockchip, …)
  1. Start from raspbian stock 6.x (bcm2711_defconfig), and apply guu tweaks
  • Missing out all the alarm goodies
  1. Merge alarm-6.x and raspbian 6.x, then apply guu tweaks
  • Lots of work

Currently plan 1 seems most viable, for that alarm is known to work on CM4 already.
Plan 2 may end up building a kernel not compatible with the alarm userspace.


Plan 1 produces a clean diff compared to stock alarm config:

========= config-alarm-linux-aarch64 != config-merged =========
CONFIG_PAHOLE_VERSION                           123             0               
CONFIG_LOCALVERSION                             "-ARCH"         "-uConsole"     
CONFIG_PPP                                      m               y               
CONFIG_PPP_BSDCOMP                              m               y               
CONFIG_PPP_DEFLATE                              m               y               
CONFIG_PPP_MPPE                                 m               y               
CONFIG_PPPOE                                    m               y               
CONFIG_PPP_ASYNC                                m               y               
CONFIG_PPP_SYNC_TTY                             m               y               
CONFIG_SLHC                                     m               y               
CONFIG_INPUT_AXP20X_PEK                         m               y               
CONFIG_I2C_BCM2835                              m               y               
CONFIG_CRYPTO_LIB_ARC4                          m               y               
========= config-alarm-linux-aarch64 not config-merged =========
CONFIG_GCC10_NO_ARRAY_BOUNDS                    y               --              
CONFIG_GCC_NO_STRINGOP_OVERFLOW                 y               --              
CONFIG_CC_NO_STRINGOP_OVERFLOW                  y               --              
CONFIG_ARCH_HAS_GENERIC_CRASHKERNEL_RESERVATION y               --              
CONFIG_ACPI_THERMAL_LIB                         y               --              
CONFIG_KVM_COMMON                               y               --              
CONFIG_KVM_GENERIC_MMU_NOTIFIER                 y               --              
CONFIG_ARCH_HAS_HW_PTE_YOUNG                    y               --              
CONFIG_BLK_DEV_WRITE_MOUNTED                    y               --              
CONFIG_PCP_BATCH_SCALE_MAX                      5               --              
CONFIG_TCP_SIGPOOL                              y               --              
CONFIG_GENERIC_CPU_DEVICES                      y               --              
CONFIG_R8169_LEDS                               y               --              
CONFIG_PINCTRL_AMLOGIC_T7                       y               --              
CONFIG_DRM_GPUVM                                m               --              
CONFIG_DRM_AUX_BRIDGE                           y               --              
CONFIG_FB_SYSMEM_FOPS                           y               --              
CONFIG_FB_IOMEM_FOPS                            y               --              
CONFIG_USB_CHIPIDEA_NPCM                        y               --              
CONFIG_COMMON_CLK_MT7988                        y               --              
CONFIG_COMMON_CLK_S4_PLL                        y               --              
CONFIG_COMMON_CLK_S4_PERIPHERALS                y               --              
CONFIG_ARM_SCMI_PERF_DOMAIN                     y               --              
CONFIG_AD7091R                                  m               --              
CONFIG_NVMEM_LAYOUTS                            y               --              
CONFIG_FS_STACK                                 y               --              
CONFIG_CRYPTO_JITTERENTROPY_MEMORY_BLOCKS       64              --              
CONFIG_CRYPTO_JITTERENTROPY_MEMORY_BLOCKSIZE    32              --              
CONFIG_CRYPTO_JITTERENTROPY_OSR                 1               --              
CONFIG_CLOSURES                                 y               --              
CONFIG_DMA_BOUNCE_UNALIGNED_KMALLOC             y               --              
CONFIG_STACKDEPOT_MAX_FRAMES                    64              --              
CONFIG_FIRMWARE_TABLE                           y               --              
CONFIG_AS_HAS_NON_CONST_ULEB128                 y               --              
========= config-merged not config-alarm-linux-aarch64 =========
CONFIG_GCC_ASM_GOTO_OUTPUT_WORKAROUND           --              y               
CONFIG_GCC11_NO_ARRAY_BOUNDS                    --              y               
CONFIG_ACPI_HOTPLUG_CPU                         --              y               
CONFIG_HAVE_KVM_IRQFD                           --              y               
CONFIG_HAVE_KVM_EVENTFD                         --              y               
CONFIG_OF_CONFIGFS                              --              y               
CONFIG_BCM2835_SMI                              --              m               
CONFIG_BCM2835_SMI_DEV                          --              m               
CONFIG_MEDIA_CONTROLLER_REQUEST_API             --              y               
CONFIG_DRM_PANEL_CWD686                         --              m               
CONFIG_DRM_PANEL_CWU50                          --              m               
CONFIG_FB_SYS_FOPS                              --              y               
CONFIG_BACKLIGHT_OCP8178                        --              m               
CONFIG_BCM_VC_SM_CMA                            --              m               
CONFIG_XZ_DEC_IA64                              --              y               
CONFIG_AS_HAS_NON_CONST_LEB128                  --              y               

Build errors: both cpi display panels (cwd686/cwu50) failed to compile, minor type signature issues. #fixed


Now that the kernel is built, need to plug it into the RootFS… It seems that ArchLinuxARM by default packs a few different images in /boot (Image, Image.gz, kernel8.img), and the layout is different from raspbian (alarm: /boot/dtbs vs. stock: /boot/ directly)


Analyzing the alarm packages uboot-raspberrypi and raspberrypi-bootloader


Also, (everyone) please educate me how cm4 boots…
I did my research, I thought I understand, but then I realize don’t… :smiley:

  • From the rpi official docs it reads like once I have the proper elf and boot code binaries, the VideoCore will load the kernel and hand over the boot sequence.
  • But then, ArchLinuxARM-rpi is shipped with uboot-raspberrypi and raspberrypi-bootloader – what are these, and why do we have uboot here?
[root@Yatao-GPD-Arch /]# pacman -Ql raspberrypi-bootloader
raspberrypi-bootloader /boot/
raspberrypi-bootloader /boot/bootcode.bin
raspberrypi-bootloader /boot/fixup.dat
raspberrypi-bootloader /boot/fixup4.dat
raspberrypi-bootloader /boot/fixup4cd.dat
raspberrypi-bootloader /boot/fixup4db.dat
raspberrypi-bootloader /boot/fixup4x.dat
raspberrypi-bootloader /boot/fixup_cd.dat
raspberrypi-bootloader /boot/fixup_db.dat
raspberrypi-bootloader /boot/fixup_x.dat
raspberrypi-bootloader /boot/start.elf
raspberrypi-bootloader /boot/start4.elf
raspberrypi-bootloader /boot/start4cd.elf
raspberrypi-bootloader /boot/start4db.elf
raspberrypi-bootloader /boot/start4x.elf
raspberrypi-bootloader /boot/start_cd.elf
raspberrypi-bootloader /boot/start_db.elf
raspberrypi-bootloader /boot/start_x.elf

[root@Yatao-GPD-Arch /]# pacman -Ql raspberrypi-bootloader
raspberrypi-bootloader /boot/
raspberrypi-bootloader /boot/bootcode.bin
raspberrypi-bootloader /boot/fixup.dat
raspberrypi-bootloader /boot/fixup4.dat
raspberrypi-bootloader /boot/fixup4cd.dat
raspberrypi-bootloader /boot/fixup4db.dat
raspberrypi-bootloader /boot/fixup4x.dat
raspberrypi-bootloader /boot/fixup_cd.dat
raspberrypi-bootloader /boot/fixup_db.dat
raspberrypi-bootloader /boot/fixup_x.dat
raspberrypi-bootloader /boot/start.elf
raspberrypi-bootloader /boot/start4.elf
raspberrypi-bootloader /boot/start4cd.elf
raspberrypi-bootloader /boot/start4db.elf
raspberrypi-bootloader /boot/start4x.elf
raspberrypi-bootloader /boot/start_cd.elf
raspberrypi-bootloader /boot/start_db.elf
raspberrypi-bootloader /boot/start_x.elf

hmm! So in ArchLinuxARM-rpi, kernel8.img is actually a uboot binary – it then chainloads the real kernel image – that’s why the alarm dtb can be placed freely instead of following the VideoCore boot protocol.

We don’t need that :smiley:

[root@Yatao-GPD-Arch /]# pacman -R uboot-raspberrypi linux-aarch64

We will instead use the ones we built from the kernel.
Also, now that we get rid of all the stock ArchLinuxARM-rpi boot config, we can scrape those from the original CM4 firmware.

[root@Yatao-GPD-Arch boot]# ls
LICENCE.broadcom	  bcm2711-rpi-4-b.dtb	     bcm2712-rpi-cm5-cm5io.dtb	bootcode.bin  fixup4x.dat   start4.elf
bcm2710-rpi-2-b.dtb	  bcm2711-rpi-400.dtb	     bcm2712d0-rpi-5-b.dtb	cmdline.txt   fixup_cd.dat  start4cd.elf
bcm2710-rpi-3-b-plus.dtb  bcm2711-rpi-cm4-io.dtb     bcm2837-rpi-3-a-plus.dtb	config.txt    fixup_db.dat  start4db.elf
bcm2710-rpi-3-b.dtb	  bcm2711-rpi-cm4.dtb	     bcm2837-rpi-3-b-plus.dtb	fixup.dat     fixup_x.dat   start4x.elf
bcm2710-rpi-cm3.dtb	  bcm2711-rpi-cm4s.dtb	     bcm2837-rpi-3-b.dtb	fixup4.dat    kernel8.img   start_cd.elf
bcm2710-rpi-zero-2-w.dtb  bcm2712-rpi-5-b.dtb	     bcm2837-rpi-cm3-io3.dtb	fixup4cd.dat  overlays	    start_db.elf
bcm2710-rpi-zero-2.dtb	  bcm2712-rpi-cm5-cm4io.dtb  bcm2837-rpi-zero-2-w.dtb	fixup4db.dat  start.elf     start_x.elf
[root@Yatao-GPD-Arch boot]# cat config.txt
disable_overscan=1
dtparam=audio=on
[pi4]
max_framebuffers=2

[all]
ignore_lcd=1
dtoverlay=dwc2,dr_mode=host
dtoverlay=vc4-kms-v3d-pi4,cma-384
dtoverlay=devterm-pmu
dtoverlay=devterm-panel-uc
dtoverlay=devterm-misc
dtoverlay=audremap,pins_12_13

dtparam=spi=on
gpio=10=ip,np

[root@Yatao-GPD-Arch boot]# cat cmdline.txt
console=serial0,115200 console=tty1 root=LABEL=ROOT_ARCH rootfstype=f2fs rw audit=0 fsck.repair=yes rootwait

@guu is there a good way to debug uc-cm4? When it’s not booting, I figure the only thing I can do is to stick it to my ear and have some very very rough idea about what’s going on by listening to the coil whine :joy:


After a dozen of transfering the microsd back and forth between uc and computer, I managed to boot it: ArchLinux ARM for uConsole CM4 -- living documentation - #4 by yatli

Until that, here’s what I did:

  • Erased the card, create new filesystems (BOOT_ARCH: 512MB, ROOT_ARCH: rest), install
    • No
  • Why my dtb files are all 0-sized?
    • forgot to install dtc… did that, install, no.
  • Throw away 6.x kernel and copy over the kernel and modules from @guu 's original kernel
    • No
  • Realized that the stock image partition layout has a +4MB blank area in the front.
  • Use rpi-imager to re-create that layout and resize root (bootfs: 512MB, rootfs: rest, ext4), update /boot/cmdline.txt and /etc/fstab, install
    • No
  • Again, throw away 6.x kernel and copy over 5.x
    • No
  • … What else?
  • … Stupid runs like removing all the *.dtb files other than cm4
    • No no no no no.
  • … Wait… The coils are so much quieter this time. It means the kernel is loaded, but the rootfs is not found, cores sleeping.
  • use root=PARTUUID instead of root=LABEL??
    • YES!

Main quest still continues. I want kernel 6.x, ideally 6.8 (on par with Arch – how did they achieve that? rpi HEAD is still at 6.6.y).

Side mission is activated because I accidentally destroyed the keyboard firmware – it’s stuck in DFU mode now :crying_cat_face:

Side mission progressing to phase 2 because it’s not even in DFU mode now. Waiting for uart flashing kit.


20240405

The keyboard is rescued successfully. Pop stack and continue.
rpi source tree HEAD (6.6.y) did not work – so I’m thinking of two different routes here:

  1. Use an RPi release tag. The latest tag is 1.20230405, which is based on the upstream release 6.1.21
  2. Use ArchLinux source.

Currently, 1) got better result than 6.6.y – the backlight came on and off a few times, meaning that not only the kernel boots up, it also loads the ocp8178 backlight driver and pulses the GPIOs to initiate the backlight control.
Still got a blank screen and unable to shutdown the device cleanly. Need a way to properly debug the device.

Due to the lack of debugging ports, I’m thinking of adding a usb-serial cable as the main console.

I also need some proper crosscompile toolchain. Building the kernel inside chroot is sooo slow.


0406

aarch64-linux-gnu-gcc package brought down build time from 4 hours to 20mins.
And I realized something’s not right – where is initrd???
How did I even boot the Arch with the Raspbian kernel, without an initrd??
Without that, a lot of hooks will be dismissed (esp. udevd), and that’s why I’m easily stuck during pacman operations, warning me that udevd did not complete the queue…

However, because the backlight is active, we know that 1) the kernel loads, 2) devterm dt overlays load, 3) rootfs is detected and mounted successfully because ocp8178 is a module, not built into the kernel.

TODO: better debug than watching backlight and listening to coil whine:

  1. ttyusb console – if the kernel boots, this is very promising.
    (and in case this does not work…)
  2. plug in a keyboard to see if capslock etc. are responsive (doubt it, because power key doesn’t shut it down)
  3. if so, great, plug in usb ethernet and wait at the router to ssh in
  4. chroot into it, write a systemd task to blink the lcd backlight to send out moorse code – don’t worry, I’ve done this before on devterm, only with the fan instead of screen.

Update: actually it boots just fine!

We’ve got a blank display, and wonky power key, but other than that, it boots just fine! This is verified by blind typing to log in and sudo reboot.

sudo systemctl poweroff did not work, probably the same way the power key didn’t – the kernel is not compatible with my axp228 patches. edit: stupid error, axp228 not cutting down power.

Now I can setup a router to have the same SSID and password as remembered by uC and ssh in.

11 Likes

Any chance you are going to do one for cm4? Also mind if i link your github on mine, ive only got cm4 images on mine so would be nice to direct them to you.

@Snoozer94 I hope to get a minimal POC up running tonight, with:

  • rpi kernel tree 6.6.y HEAD
  • ArchLinuxARM kernel config plus (@guu 's minus rpi kernel tree 5.10.17 bcm2711_defconfig)
  • @guu 's patches for devterm/uC (panels, power management etc.)
    • my minor touches to bring them to kernel 6.x
  • my AXP228 patch
  • same as my devterm distro: f2fs root

Feel free to make a link to the repo, but mind that the repo is for alarm on devterm;
When the POC works, I’ll wrap up the kernel into a PKGBUILD.

1 Like

And…

math

10 Likes

Any chance you’d be able to share the image for cm4 uConsole under your releases in the repo you started?

1 Like

I will. But I need to rescue the keyboard now…
I talked to guu and he is updating the official repo to properly warn about the footguns.

1 Like

pardon me? footguns?

1 Like

yeah, I flashed the one with bootloader to the sketch program space and it locked up (uc_kbd booting up… w h y a m I b o o t i n g a b o o t l o a d e r ? ? ?).
had to use an uart kit and stm32flash to recover.

Also, fellow Arch users be aware of this: Arch Linux - News: The xz package has been backdoored

I’ll release the image after confirming this has been resolved in ALARM.

and ssh:

1 Like

I realize now there’s benefit using a multi stage boot scheme;
If i could get display and usb in uboot, we could then have proper multiboot! (choose os, boot from usb, boot from iso…)

1 Like

Here’s the dmesg acquired by blind typing:

... early boot message... forum word limit hit
[    0.025524] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.025560] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.035763] pinctrl core: initialized pinctrl subsystem
[    0.036691] DMI not present or invalid.
[    0.037320] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.040692] DMA: preallocated 1024 KiB GFP_KERNEL pool for atomic allocations
[    0.040991] DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.041927] DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.042022] audit: initializing netlink subsys (disabled)
[    0.042289] audit: type=2000 audit(0.040:1): state=initialized audit_enabled=0 res=1
[    0.042873] thermal_sys: Registered thermal governor 'step_wise'
[    0.042957] cpuidle: using governor menu
[    0.043209] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.043405] ASID allocator initialised with 32768 entries
[    0.043573] Serial: AMBA PL011 UART driver
[    0.059512] platform fe101000.cprman: Fixed dependency cycle(s) with /soc/dsi@7e700000
[    0.060630] bcm2835-mbox fe00b880.mailbox: mailbox enabled
[    0.084374] raspberrypi-firmware soc:firmware: Attached to firmware from 2024-03-21T14:32:15, variant start
[    0.088388] raspberrypi-firmware soc:firmware: Firmware hash is c14213886ae1e31951022b74ce776ce7ee7023ee
[    0.104278] KASLR enabled
[    0.139209] bcm2835-dma fe007000.dma: DMA legacy API manager, dmachans=0x1
[    0.144945] SCSI subsystem initialized
[    0.145198] usbcore: registered new interface driver usbfs
[    0.145256] usbcore: registered new interface driver hub
[    0.145323] usbcore: registered new device driver usb
[    0.145748] usb_phy_generic phy: supply vcc not found, using dummy regulator
[    0.145972] usb_phy_generic phy: dummy supplies not allowed for exclusive requests
[    0.146313] pps_core: LinuxPPS API ver. 1 registered
[    0.146325] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.146350] PTP clock support registered
[    0.147441] vgaarb: loaded
[    0.148044] clocksource: Switched to clocksource arch_sys_counter
[    0.148574] VFS: Disk quotas dquot_6.6.0
[    0.148686] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.148875] FS-Cache: Loaded
[    0.149038] CacheFiles: Loaded
[    0.158001] NET: Registered PF_INET protocol family
[    0.158718] IP idents hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.163432] tcp_listen_portaddr_hash hash table entries: 2048 (order: 3, 32768 bytes, linear)
[    0.163589] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.163619] TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.163861] TCP bind hash table entries: 32768 (order: 8, 1048576 bytes, linear)
[    0.164900] TCP: Hash tables configured (established 32768 bind 32768)
[    0.165171] UDP hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    0.165259] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    0.165584] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.166421] RPC: Registered named UNIX socket transport module.
[    0.166439] RPC: Registered udp transport module.
[    0.166449] RPC: Registered tcp transport module.
[    0.166459] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.166485] PCI: CLS 0 bytes, default 64
[    0.169195] hw perfevents: enabled with armv8_cortex_a72 PMU driver, 7 counters available
[    0.169593] kvm [1]: IPA Size Limit: 44 bits
[    0.170896] kvm [1]: vgic interrupt IRQ9
[    0.171129] kvm [1]: Hyp mode initialized successfully
[    1.232367] Initialise system trusted keyrings
[    1.232831] workingset: timestamp_bits=46 max_order=20 bucket_order=0
[    1.240414] zbud: loaded
[    1.243210] NFS: Registering the id_resolver key type
[    1.243254] Key type id_resolver registered
[    1.243266] Key type id_legacy registered
[    1.243386] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    1.243402] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    1.244852] Key type asymmetric registered
[    1.244870] Asymmetric key parser 'x509' registered
[    1.244951] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
[    1.245206] io scheduler mq-deadline registered
[    1.245223] io scheduler kyber registered
[    1.247122] irq_brcmstb_l2: registered L2 intc (/soc/interrupt-controller@7ef00100, parent irq: 27)
[    1.255551] gpio-507 (ant1): hogged as output/high
[    1.256982] gpio-511 (ant2): hogged as output/low
[    1.258594] brcm-pcie fd500000.pcie: host bridge /scb/pcie@7d500000 ranges:
[    1.258631] brcm-pcie fd500000.pcie:   No bus range found for /scb/pcie@7d500000, using [bus 00-ff]
[    1.258718] brcm-pcie fd500000.pcie:      MEM 0x0600000000..0x063fffffff -> 0x00c0000000
[    1.258804] brcm-pcie fd500000.pcie:   IB MEM 0x0000000000..0x00ffffffff -> 0x0400000000
[    1.259802] brcm-pcie fd500000.pcie: PCI host bridge to bus 0000:00
[    1.259821] pci_bus 0000:00: root bus resource [bus 00-ff]
[    1.259840] pci_bus 0000:00: root bus resource [mem 0x600000000-0x63fffffff] (bus address [0xc0000000-0xffffffff])
[    1.259916] pci 0000:00:00.0: [14e4:2711] type 01 class 0x060400
[    1.260214] pci 0000:00:00.0: PME# supported from D0 D3hot
[    1.264148] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    1.264405] pci_bus 0000:01: supply vpcie3v3 not found, using dummy regulator
[    1.264604] pci_bus 0000:01: supply vpcie3v3aux not found, using dummy regulator
[    1.264724] pci_bus 0000:01: supply vpcie12v not found, using dummy regulator
[    1.584069] brcm-pcie fd500000.pcie: link down
[    1.584229] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
[    1.584268] pci 0000:00:00.0: PCI bridge to [bus 01]
[    1.584368] pci_bus 0000:01: busn_res: [bus 01] is released
[    1.585202] pci_bus 0000:00: busn_res: [bus 00-ff] is released
[    1.599796] iproc-rng200 fe104000.rng: hwrng registered
[    1.600482] vc-mem: phys_addr:0x00000000 mem_base=0x3ec00000 mem_size:0x40000000(1024 MiB)
[    1.602078] gpiomem-bcm2835 fe200000.gpiomem: Initialised: Registers at 0xfe200000
[    1.615124] brd: module loaded
[    1.624081] loop: module loaded
[    1.625010] Loading iSCSI transport class v2.0-870.
[    1.630393] bcmgenet fd580000.ethernet: GENET 5.0 EPHY: 0x0000
[    1.692192] unimac-mdio unimac-mdio.-19: Broadcom UniMAC MDIO bus
[    1.693293] PPP generic driver version 2.4.2
[    1.693515] PPP BSD Compression module registered
[    1.693532] PPP Deflate Compression module registered
[    1.693815] PPP MPPE Compression module registered
[    1.693840] NET: Registered PF_PPPOX protocol family
[    1.693939] usbcore: registered new interface driver r8152
[    1.694020] usbcore: registered new interface driver lan78xx
[    1.694089] usbcore: registered new interface driver smsc95xx
[    1.694772] dwc_otg: version 3.00a 10-AUG-2012 (platform bus)
[    1.695142] dwc_otg: FIQ enabled
[    1.695153] dwc_otg: NAK holdoff enabled
[    1.695162] dwc_otg: FIQ split-transaction FSM enabled
[    1.695178] Module dwc_common_port init
[    1.695678] usbcore: registered new interface driver uas
[    1.695764] usbcore: registered new interface driver usb-storage
[    1.695976] mousedev: PS/2 mouse device common for all mice
[    1.702971] sdhci: Secure Digital Host Controller Interface driver
[    1.702989] sdhci: Copyright(c) Pierre Ossman
[    1.703747] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.707469] ledtrig-cpu: registered to indicate activity on CPUs
[    1.707823] hid: raw HID events driver (C) Jiri Kosina
[    1.708012] usbcore: registered new interface driver usbhid
[    1.708059] usbhid: USB HID core driver
[    1.716915] NET: Registered PF_PACKET protocol family
[    1.717033] Key type dns_resolver registered
[    1.718280] registered taskstats version 1
[    1.718372] Loading compiled-in X.509 certificates
[    1.719235] Key type .fscrypt registered
[    1.719250] Key type fscrypt-provisioning registered
[    1.735196] uart-pl011 fe201000.serial: there is not valid maps for state default
[    1.735913] uart-pl011 fe201000.serial: cts_event_workaround enabled
[    1.736144] fe201000.serial: ttyAMA0 at MMIO 0xfe201000 (irq = 34, base_baud = 0) is a PL011 rev2
[    1.745272] bcm2835-wdt bcm2835-wdt: Broadcom BCM2835 watchdog timer
[    1.745724] bcm2835-power bcm2835-power: Broadcom BCM2835 power domains driver
[    1.748962] mmc-bcm2835 fe300000.mmcnr: mmc_debug:0 mmc_debug2:0
[    1.748985] mmc-bcm2835 fe300000.mmcnr: DMA channel allocated
[    1.777579] of_cfs_init
[    1.777703] of_cfs_init: OK
[    1.811070] mmc0: SDHCI controller on fe340000.mmc [fe340000.mmc] using ADMA
[    1.811631] Waiting for root device PARTUUID=617a2abd-02...
[    1.862879] mmc1: new high speed SDIO card at address 0001
[    1.909309] mmc0: new ultra high speed DDR50 SDHC card at address 5048
[    1.910382] mmcblk0: mmc0:5048 SD32G 29.7 GiB 
[    1.913947]  mmcblk0: p1 p2
[    1.914524] mmcblk0: mmc0:5048 SD32G 29.7 GiB (quirks 0x00004000)
[    2.136861] EXT4-fs (mmcblk0p2): orphan cleanup on readonly fs
[    2.140505] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Quota mode: none.
[    2.140657] VFS: Mounted root (ext4 filesystem) readonly on device 179:2.
[    2.145712] devtmpfs: mounted
[    2.155517] Freeing unused kernel memory: 4160K
[    2.156223] Run /sbin/init as init process
[    2.156238]   with arguments:
[    2.156246]     /sbin/init
[    2.156256]   with environment:
[    2.156264]     HOME=/
[    2.156273]     TERM=linux
[    2.561294] systemd[1]: System time before build time, advancing clock.
[    2.735975] NET: Registered PF_INET6 protocol family
[    2.737853] Segment Routing with IPv6
[    2.737896] In-situ OAM (IOAM) with IPv6
[    2.815053] systemd[1]: systemd 255.4-2-arch running in system mode (+PAM +AUDIT -SELINUX -APPARMOR -IMA +SMACK +SECCOMP +GCRYPT +GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD +BPF_FRAMEWORK +XKBCOMMON +UTMP -SYSVINIT default-hierarchy=unified)
[    2.815102] systemd[1]: Detected architecture arm64.
[    2.823041] systemd[1]: Hostname set to <uConsole>.
[    3.086689] systemd[1]: bpf-lsm: BPF LSM hook not enabled in the kernel, BPF LSM not supported
[    4.617140] systemd[1]: Queued start job for default target Graphical Interface.
[    4.660656] systemd[1]: Created slice Slice /system/dirmngr.
[    4.662922] systemd[1]: Created slice Slice /system/getty.
[    4.664823] systemd[1]: Created slice Slice /system/gpg-agent.
[    4.666706] systemd[1]: Created slice Slice /system/gpg-agent-browser.
[    4.668629] systemd[1]: Created slice Slice /system/gpg-agent-extra.
[    4.670524] systemd[1]: Created slice Slice /system/gpg-agent-ssh.
[    4.672405] systemd[1]: Created slice Slice /system/keyboxd.
[    4.674291] systemd[1]: Created slice Slice /system/modprobe.
[    4.675690] systemd[1]: Created slice User and Session Slice.
[    4.676686] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[    4.678212] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point.
[    4.678678] systemd[1]: Expecting device /dev/disk/by-partuuid/617a2abd-01...
[    4.679102] systemd[1]: Reached target Local Integrity Protected Volumes.
[    4.679555] systemd[1]: Reached target Remote File Systems.
[    4.679915] systemd[1]: Reached target Slice Units.
[    4.680336] systemd[1]: Reached target Swaps.
[    4.680744] systemd[1]: Reached target Local Verity Protected Volumes.
[    4.681607] systemd[1]: Listening on Device-mapper event daemon FIFOs.
[    4.704737] systemd[1]: Listening on Process Core Dump Socket.
[    4.706197] systemd[1]: Listening on Journal Socket (/dev/log).
[    4.707588] systemd[1]: Listening on Journal Socket.
[    4.709212] systemd[1]: Listening on Network Service Netlink Socket.
[    4.709627] systemd[1]: TPM2 PCR Extension (Varlink) was skipped because of an unmet condition check (ConditionSecurity=measured-uki).
[    4.711777] systemd[1]: Listening on udev Control Socket.
[    4.713056] systemd[1]: Listening on udev Kernel Socket.
[    4.714286] systemd[1]: Huge Pages File System was skipped because of an unmet condition check (ConditionPathExists=/sys/kernel/mm/hugepages).
[    4.748467] systemd[1]: Mounting POSIX Message Queue File System...
[    4.754269] systemd[1]: Mounting Kernel Debug File System...
[    4.760108] systemd[1]: Mounting Kernel Trace File System...
[    4.767276] systemd[1]: Mounting Temporary Directory /tmp...
[    4.775271] systemd[1]: Starting Create List of Static Device Nodes...
[    4.797393] systemd[1]: Starting Load Kernel Module configfs...
[    4.804778] systemd[1]: Starting Load Kernel Module dm_mod...
[    4.820834] systemd[1]: Starting Load Kernel Module drm...
[    4.842895] systemd[1]: Starting Load Kernel Module fuse...
[    4.870011] systemd[1]: Starting Load Kernel Module loop...
[    4.901378] systemd[1]: Starting File System Check on Root Device...
[    4.919835] device-mapper: ioctl: 4.47.0-ioctl (2022-07-28) initialised: dm-devel@redhat.com
[    4.926917] fuse: init (API version 7.37)
[    4.958792] systemd[1]: Starting Journal Service...
[    4.967612] systemd[1]: Starting Load Kernel Modules...
[    4.986428] systemd[1]: Starting Generate network units from Kernel command line...
[    4.986993] systemd[1]: TPM2 PCR Machine ID Measurement was skipped because of an unmet condition check (ConditionSecurity=measured-uki).
[    4.987420] systemd[1]: TPM2 SRK Setup (Early) was skipped because of an unmet condition check (ConditionSecurity=measured-uki).
[    4.995511] systemd[1]: Starting Coldplug All udev Devices...
[    5.014631] systemd[1]: Starting Virtual Console Setup...
[    5.036326] systemd[1]: Mounted POSIX Message Queue File System.
[    5.037493] systemd[1]: Mounted Kernel Debug File System.
[    5.038741] systemd[1]: Mounted Kernel Trace File System.
[    5.045347] systemd[1]: Mounted Temporary Directory /tmp.
[    5.057208] systemd[1]: Finished Create List of Static Device Nodes.
[    5.060313] systemd[1]: modprobe@configfs.service: Deactivated successfully.
[    5.061302] systemd[1]: Finished Load Kernel Module configfs.
[    5.070471] systemd[1]: modprobe@dm_mod.service: Deactivated successfully.
[    5.071617] systemd[1]: Finished Load Kernel Module dm_mod.
[    5.077608] systemd[1]: modprobe@drm.service: Deactivated successfully.
[    5.078992] systemd[1]: Finished Load Kernel Module drm.
[    5.083680] systemd[1]: modprobe@fuse.service: Deactivated successfully.
[    5.085536] systemd[1]: Finished Load Kernel Module fuse.
[    5.099148] i2c_dev: i2c /dev entries driver
[    5.099673] systemd-journald[145]: Collecting audit messages is disabled.
[    5.099742] systemd[1]: modprobe@loop.service: Deactivated successfully.
[    5.100828] systemd[1]: Finished Load Kernel Module loop.
[    5.103306] systemd[1]: Finished Generate network units from Kernel command line.
[    5.105770] systemd[1]: Reached target Preparation for Network.
[    5.136369] systemd[1]: Mounting FUSE Control File System...
[    5.144857] systemd[1]: Mounting Kernel Configuration File System...
[    5.145625] systemd[1]: Repartition Root Disk was skipped because no trigger condition checks were met.
[    5.155240] systemd[1]: Starting Create Static Device Nodes in /dev gracefully...
[    5.163265] systemd[1]: Finished File System Check on Root Device.
[    5.189052] systemd[1]: Finished Load Kernel Modules.
[    5.193742] systemd[1]: Mounted FUSE Control File System.
[    5.194901] systemd[1]: Mounted Kernel Configuration File System.
[    5.201826] systemd[1]: Starting Remount Root and Kernel File Systems...
[    5.214196] systemd[1]: Starting Apply Kernel Variables...
[    5.241830] systemd[1]: Started Journal Service.
[    5.528117] EXT4-fs (mmcblk0p2): re-mounted. Quota mode: none.
[    5.615566] systemd-journald[145]: Received client request to flush runtime journal.
[    5.701209] systemd-journald[145]: /var/log/journal/2ebefcd9352b4b4ca9c9ccf0299b57b7/system.journal: Realtime clock jumped backwards relative to last journal entry, rotating.
[    5.701257] systemd-journald[145]: Rotating system journal.
[    6.785036] bcmgenet fd580000.ethernet end0: renamed from eth0
[    7.076527] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    7.121440] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    7.139677] cfg80211: loaded regulatory.db is malformed or signature is missing/invalid
[    7.275121] mc: Linux media interface: v0.10
[    7.342188] spi-bcm2835 fe204000.spi: prop pinctrl-0 index 1 invalid phandle
[    7.342982] spi-bcm2835 fe204800.spi: no tx-dma configuration found - not using dma mode
[    7.361068] videodev: Linux video capture interface: v2.00
[    7.413095] vc_sm_cma: module is from the staging directory, the quality is unknown, you have been warned.
[    7.415308] bcm2835_vc_sm_cma_probe: Videocore shared memory driver
[    7.415338] [vc_sm_connected_init]: start
[    7.436548] [vc_sm_connected_init]: installed successfully
[    7.457902] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[    7.467781] vc_sm_cma: module is from the staging directory, the quality is unknown, you have been warned.
[    7.501831] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned.
[    7.510579] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned.
[    7.516556] snd_bcm2835: module is from the staging directory, the quality is unknown, you have been warned.
[    7.517218] brcmstb-i2c fef04500.i2c:  @97500hz registered in polling mode
[    7.526687] rpivid_hevc: module is from the staging directory, the quality is unknown, you have been warned.
[    7.537558] rpivid feb10000.codec: Device registered as /dev/video19
[    7.539695] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned.
[    7.542053] axp20x-i2c 0-0034: AXP20x variant AXP221 found
[    7.545439] axp20x-i2c 0-0034: mask_invert=true is deprecated; please switch to unmask_base
[    7.553414] bcm2835_isp: module is from the staging directory, the quality is unknown, you have been warned.
[    7.569753] bcm2835_v4l2: module is from the staging directory, the quality is unknown, you have been warned.
[    7.569963] dwc2 fe980000.usb: supply vusb_d not found, using dummy regulator
[    7.571217] bcm2835_codec: module is from the staging directory, the quality is unknown, you have been warned.
[    7.573083] brcmstb-i2c fef09500.i2c:  @97500hz registered in polling mode
[    7.574601] dwc2 fe980000.usb: supply vusb_a not found, using dummy regulator
[    7.575257] bcm2835_audio bcm2835_audio: card created with 8 channels
[    7.619405] bcm2835-codec bcm2835-codec: Device registered as /dev/video10
[    7.619467] bcm2835-codec bcm2835-codec: Loaded V4L2 decode
[    7.623508] bcm2835-codec bcm2835-codec: Device registered as /dev/video11
[    7.623568] bcm2835-codec bcm2835-codec: Loaded V4L2 encode
[    7.649454] bcm2835-codec bcm2835-codec: Device registered as /dev/video12
[    7.649510] bcm2835-codec bcm2835-codec: Loaded V4L2 isp
[    7.649714] dwc2 fe980000.usb: DWC OTG Controller
[    7.649789] dwc2 fe980000.usb: new USB bus registered, assigned bus number 1
[    7.649852] dwc2 fe980000.usb: irq 66, io mem 0xfe980000
[    7.650263] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.01
[    7.650286] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    7.650301] usb usb1: Product: DWC OTG Controller
[    7.650315] usb usb1: Manufacturer: Linux 6.1.21-v8+ dwc2_hsotg
[    7.650329] usb usb1: SerialNumber: fe980000.usb
[    7.652947] bcm2835-codec bcm2835-codec: Device registered as /dev/video18
[    7.653001] bcm2835-codec bcm2835-codec: Loaded V4L2 image_fx
[    7.653144] hub 1-0:1.0: USB hub found
[    7.653237] hub 1-0:1.0: 1 port detected
[    7.660346] bcm2835-codec bcm2835-codec: Device registered as /dev/video31
[    7.660420] bcm2835-codec bcm2835-codec: Loaded V4L2 encode_image
[    7.667489] bcm2835-isp bcm2835-isp: Device node output[0] registered as /dev/video13
[    7.699809] bcm2835-isp bcm2835-isp: Device node capture[0] registered as /dev/video14
[    7.709705] adc081c 1-0054: supply vref not found, using dummy regulator
[    7.719940] bcm2835-isp bcm2835-isp: Device node capture[1] registered as /dev/video15
[    7.720883] bcm2835-isp bcm2835-isp: Device node stats[2] registered as /dev/video16
[    7.720939] bcm2835-isp bcm2835-isp: Register output node 0 with media controller
[    7.720981] bcm2835-isp bcm2835-isp: Register capture node 1 with media controller
[    7.721023] bcm2835-isp bcm2835-isp: Register capture node 2 with media controller
[    7.721042] bcm2835-isp bcm2835-isp: Register capture node 3 with media controller
[    7.723713] axp20x-gpio: Failed to locate of_node [id: -1]
[    7.734005] bcm2835-isp bcm2835-isp: Device node output[0] registered as /dev/video20
[    7.767043] bcm2835-isp bcm2835-isp: Device node capture[0] registered as /dev/video21
[    7.850231] bcm2835-isp bcm2835-isp: Device node capture[1] registered as /dev/video22
[    7.868692] bcm2835-isp bcm2835-isp: Device node stats[2] registered as /dev/video23
[    7.868741] bcm2835-isp bcm2835-isp: Register output node 0 with media controller
[    7.868765] bcm2835-isp bcm2835-isp: Register capture node 1 with media controller
[    7.868784] bcm2835-isp bcm2835-isp: Register capture node 2 with media controller
[    7.868802] bcm2835-isp bcm2835-isp: Register capture node 3 with media controller
[    7.877861] bcm2835-isp bcm2835-isp: Loaded V4L2 bcm2835-isp
[    7.952149] usb 1-1: new high-speed USB device number 2 using dwc2
[    8.000586] input: axp20x-pek as /devices/platform/soc/fe205000.i2c/i2c-0/0-0034/axp221-pek/input/input0
[    8.062633] [drm] Initialized v3d 1.0.0 20180419 for fec00000.v3d on minor 0
[    8.169691] usb 1-1: New USB device found, idVendor=05e3, idProduct=0608, bcdDevice=85.38
[    8.169736] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[    8.169766] usb 1-1: Product: USB2.0 Hub
[    8.170783] audio-vdd: Bringing 700000uV into 3300000-3300000uV
[    8.173529] hub 1-1:1.0: USB hub found
[    8.173918] hub 1-1:1.0: 4 ports detected
[    8.326512] bcmgenet fd580000.ethernet: configuring instance for external RGMII (RX delay)
[    8.334426] bcmgenet fd580000.ethernet end0: Link is Down
[    8.408638] brcmfmac: F1 signature read @0x18000000=0x15264345
[    8.434649] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[    8.438674] usbcore: registered new interface driver brcmfmac
[    8.694040] dldo2: Bringing 700000uV into 3300000-3300000uV
[    8.724532] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: Nov  1 2021 00:37:25 version 7.45.241 (1a2f2fa CY) FWID 01-703fd60
[    8.755270] dldo3: Bringing 700000uV into 3300000-3300000uV
[    8.776624] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[    8.788574] Registered IR keymap rc-cec
[    8.790666] dldo4: Bringing 700000uV into 3300000-3300000uV
[    8.790751] rc rc0: vc4-hdmi-0 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[    8.791071] input: vc4-hdmi-0 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input1
[    8.860365] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[    8.884810] axp22x-adc: Failed to locate of_node [id: -1]
[    8.897720] axp20x-usb-power-supply: Failed to locate of_node [id: -1]
[    8.898145] axp20x-i2c 0-0034: AXP20X driver loaded
[    8.903805] bcm2708_i2c fe205000.i2c: BSC0 Controller at 0xfe205000 (irq 35) (baudrate 100000)
[    8.906580] Registered IR keymap rc-cec
[    8.906785] rc rc1: vc4-hdmi-1 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[    8.907013] input: vc4-hdmi-1 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input2
[    8.910730] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[    8.912435] vc4-drm gpu: bound fe700000.dsi (ops vc4_dsi_ops [vc4])
[    8.929988] vc4-drm gpu: bound fe004000.txp (ops vc4_txp_ops [vc4])
[    8.942538] vc4-drm gpu: bound fe206000.pixelvalve (ops vc4_crtc_ops [vc4])
[    8.950289] vc4-drm gpu: bound fe207000.pixelvalve (ops vc4_crtc_ops [vc4])
[    8.958741] vc4-drm gpu: bound fe20a000.pixelvalve (ops vc4_crtc_ops [vc4])
[    8.959125] vc4-drm gpu: bound fe216000.pixelvalve (ops vc4_crtc_ops [vc4])
[    8.988347] vc4-drm gpu: bound fec12000.pixelvalve (ops vc4_crtc_ops [vc4])
[    9.032120] usb 1-1.1: new full-speed USB device number 3 using dwc2
[    9.133969] usb 1-1.1: New USB device found, idVendor=1eaf, idProduct=0003, bcdDevice= 2.01
[    9.134006] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    9.134024] usb 1-1.1: Product: Maple 003
[    9.134038] usb 1-1.1: Manufacturer: LeafLabs
[    9.134052] usb 1-1.1: SerialNumber: LLM 003
[    9.195025] [drm] Initialized vc4 0.0.0 20140616 for gpu on minor 1
[    9.335463] axp20x-battery-power-supply axp20x-battery-power-supply: DMA mask not set
[    9.395260] axp20x-ac-power-supply axp20x-ac-power-supply: DMA mask not set
[   10.468169] vc4_dsi fe700000.dsi: transfer interrupt wait timeout
[   10.468208] vc4_dsi fe700000.dsi: instat: 0x00000000
[   10.468225] [drm:vc4_dsi_host_transfer [vc4]] *ERROR* DSI transfer failed, resetting: -110
[   10.468333] panel-cwu50 fe700000.dsi.0: failed to enable vblank TE (-110)
[   10.489151] Console: switching to colour frame buffer device 160x45
[   10.509526] vc4-drm gpu: [drm] fb0: vc4drmfb frame buffer device
[   11.002372] usb 1-1.1: USB disconnect, device number 3
[   11.064660] 8021q: 802.1Q VLAN Support v1.8
[   11.224079] usb 1-1.1: new full-speed USB device number 4 using dwc2
[   11.248476] brcmfmac: brcmf_cfg80211_set_power_mgmt: power save enabled
[   11.325549] usb 1-1.1: New USB device found, idVendor=1eaf, idProduct=0024, bcdDevice= 2.00
[   11.325572] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[   11.325579] usb 1-1.1: Product: uConsole
[   11.325585] usb 1-1.1: Manufacturer: ClockworkPI
[   11.325590] usb 1-1.1: SerialNumber: 20230713
[   11.330162] input: ClockworkPI uConsole Consumer Control as /devices/platform/soc/fe980000.usb/usb1/1-1/1-1.1/1-1.1:1.0/0003:1EAF:0024.0001/input/input3
[   11.388609] input: ClockworkPI uConsole Keyboard as /devices/platform/soc/fe980000.usb/usb1/1-1/1-1.1/1-1.1:1.0/0003:1EAF:0024.0001/input/input4
[   11.389777] input: ClockworkPI uConsole as /devices/platform/soc/fe980000.usb/usb1/1-1/1-1.1/1-1.1:1.0/0003:1EAF:0024.0001/input/input5
[   11.390097] input: ClockworkPI uConsole Mouse as /devices/platform/soc/fe980000.usb/usb1/1-1/1-1.1/1-1.1:1.0/0003:1EAF:0024.0001/input/input6
[   11.390585] hid-generic 0003:1EAF:0024.0001: input,hidraw0: USB HID v1.10 Keyboard [ClockworkPI uConsole] on usb-fe980000.usb-1.1/input0
[   11.432087] cdc_acm 1-1.1:1.1: ttyACM0: USB ACM device
[   11.432207] usbcore: registered new interface driver cdc_acm
[   11.432214] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[   12.268328] brcmfmac: brcmf_cfg80211_set_power_mgmt: power save enabled
[   15.409366] tun: Universal TUN/TAP device driver, 1.6
[   15.416732] netlink: 'mihomo': attribute type 22 has an invalid length.
[   43.971134] systemd-journald[145]: /var/log/journal/2ebefcd9352b4b4ca9c9ccf0299b57b7/user-1000.journal: Realtime clock jumped backwards relative to last journal entry, rotating.

More analysis on the logs:

[   10.468225] [drm:vc4_dsi_host_transfer [vc4]] *ERROR* DSI transfer failed, resetting: -110
[   10.468333] panel-cwu50 fe700000.dsi.0: failed to enable vblank TE (-110)

The first points to drivers/gpu/drm/vc4/vc4_dsi.c:L1335
Second to drivers/gpu/drm/panel/panel-cwu50.c:L334

Looks like it’s happening in a call stack:

cwu50_prepare → mipi_dsi_dcs_set_tear_on → … → vc4_dsi_host_transfer

So by the time cwu50_prepare is called, the DSI subsystem is not properly initialized yet.

https://forums.raspberrypi.com/viewtopic.php?t=352740

^ suggests adding a single line before panel init to initialize the DSI subsystem first:

My AXP228 patch also seems to be working because the energy/power readings are picked up by various power managers.

The latest rpi official kernel release (note: no ArchLinux kernel flags yet!) are now with us.

2 Likes

Next steps:

2 Likes

after you get the CM4 uConsole squared away think you’d be able to do it CM4 for the DevTerm.

yes (20 chars chipi chipi chapa chapa

Ideally my support matrix would be: [DevTerm, uConsole] \crossproduct [A06, CM4]

1 Like

@Rex could you do a quick test to confirm the glxgears performance?
Mine is laggy on fullscreen (720p), and I suspect the raspberrypi 3d drivers are not installed properly.

@yatli Here you go

1 Like

thanks! bigger window please :smiley: !
because I’m also seeing 60fps on initial window size (smol)


there its like 3/4 of the screen. still running the same.

  • You getting slow downs when enlarging?
1 Like