Bookworm 6.12.y for the uConsole and DevTerm


@Rex were you aware that floppy drives are compatible with your build? :joy:

11 Likes

:rofl:
No, but it doesn’t surprise me that’s it’s in the kernel still. That floppy drive is almost as big as the uConsole.

3 Likes

Hi @Rex

I think i might have found an issue with the audio when trying to drive sound over a set of USB headphones from the USB A port.

This is when using a CM5

The sound is extremely quiet even when cranked to max volume, is this expected?

Thanks :slight_smile:

EDIT: I was able to use fn+shift+vol keys to increase the volume but to listen at normal volume there is a large ammount of distortion in the audio as if increasing the volume is only setting an overdrive.

1 Like

The max output on the stock USB lanes on the uConsole is 6w. What are your headphones rated for? If they are 10-15w then you wont be able to get the max volume out of them.

1 Like

Thank you so much Rex! I have just upgrade kernel to newest one v6.12.21. Everything runs so smooth! The only thing is still a problem on my uConsole CM5Lite is the Orange Led does not light up when charging. I got it lighting up when in kernel 6.12.17 even when I shut the machine down. I don’t know what special I installed into firmware, until then the orange led does not light up anymore even I re-install kernel .17 above. Much appreciated, Rex!

1 Like

I’m going to be looking into the charge light this week.

1 Like

Are we safe to update or should we avoid doing so to avoid breaking things?

default updates via sudo apt update && sudo apt upgrade are safe

if you somehow overwrite custom kernel – it will die as uconsole requires custom kernel. but it generally out of normal usage.

1 Like

You can update normally and you’ll receive my kernel updates just like a normal RPi OS install.

If I can’t boot from SD card, how am I supposed to change the eeprom settings in raspi-config on my CM5 Lite?

You can boot the CM5 in a IO board to make the changes, or try a few different SD cards to find one that works. Smaller are more likely to work and you only have to use that SD to make the change. The EEPROM changes will stay with the module so you can switch back to a bigger SD.

I was able to get it booting off an SD card after using the bootloader update utility image from RPi imager to get the latest version

2 Likes

That’s good to know.

Hi Rex,

I have a quick question i wanted to ask, I use a CM5 Uconsole and ive ran into an issue when charging.

When I have a low battery level if i start charging device whenever I open an application it will take itself off charge for some reason, once i get above 50% it will be fine.

When this happens i can hear a squealing noise which i think is coming from the voltage regulator

I use x2 fogstar 4000mah batteries.

Could there be any reason for this? How can I get around the issue or is it just a byproduct of using the higher power draw of the CM5?

Thanks in advance

and few messages below

I tried to compile the latest kernel from Rex’s github repo on my ubuntu 24.04

here is the steps:

export CROSS_COMPILE=aarch64-linux-gnu-
export DTS_SUBDIR=broadcom
export IMAGE=Image.gz
export KERNEL=kernel8


make O=build bcm2711_defconfig
scripts/config --file build/.config --set-val CONFIG_WERROR y

make O=build -j 2 $IMAGE modules dtbs

but met an error

....
# cmd_gen_symversions_c sound/soc/soc-generic-dmaengine-pcm.o
  if aarch64-linux-gnu-nm sound/soc/soc-generic-dmaengine-pcm.o 2>/dev/null | grep -q ' __export_symbol_'; then aarch64-linux-gnu-gcc -E -D__GENKSYMS__ -Wp,-MMD,sound/soc/.soc-generic-dmaengine-pcm.o.d -nostdinc -I../arch/arm64/include -I./arch/arm64/include/generated -I../include -I./include -I../arch/arm64/include/uapi -I./arch/arm64/include/generated/uapi -I../include/uapi -I./include/generated/uapi -include ../include/linux/compiler-version.h -include ../include/linux/kconfig.h -include ../include/linux/compiler_types.h -D__KERNEL__ -mlittle-endian -DCC_USING_PATCHABLE_FUNCTION_ENTRY -DKASAN_SHADOW_SCALE_SHIFT= -fmacro-prefix-map=../= -Werror -std=gnu11 -fshort-wchar -funsigned-char -fno-common -fno-PIE -fno-strict-aliasing -mgeneral-regs-only -DCONFIG_CC_HAS_K_CONSTRAINT=1 -Wno-psabi -mabi=lp64 -fno-asynchronous-unwind-tables -fno-unwind-tables -mbranch-protection=pac-ret -Wa,-march=armv8.5-a -DARM64_ASM_ARCH='"armv8.5-a"' -DKASAN_SHADOW_SCALE_SHIFT= -fno-delete-null-pointer-checks -O2 -fno-allow-store-data-races -fstack-protector-strong -fno-omit-frame-pointer -fno-optimize-sibling-calls -ftrivial-auto-var-init=zero -fno-stack-clash-protection -fpatchable-function-entry=4,2 -falign-functions=8 -fstrict-flex-arrays=3 -fno-strict-overflow -fno-stack-check -fconserve-stack -Wall -Wundef -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Werror=strict-prototypes -Wno-format-security -Wno-trigraphs -Wno-frame-address -Wno-address-of-packed-member -Wmissing-declarations -Wmissing-prototypes -Wframe-larger-than=2048 -Wno-main -Wno-dangling-pointer -Wvla -Wno-pointer-sign -Wcast-function-type -Wno-stringop-overflow -Wno-array-bounds -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wenum-conversion -Wextra -Wunused -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-packed-not-aligned -Wno-format-overflow -Wno-format-truncation -Wno-stringop-truncation -Wno-override-init -Wno-missing-field-initializers -Wno-type-limits -Wno-shift-negative-value -Wno-maybe-uninitialized -Wno-sign-compare -Wno-unused-parameter -mstack-protector-guard=sysreg -mstack-protector-guard-reg=sp_el0 -mstack-protector-guard-offset=1424 -I../sound/soc -Isound/soc  -DMODULE  -DKBUILD_BASENAME='"soc_generic_dmaengine_pcm"' -DKBUILD_MODNAME='"snd_soc_core"' -D__KBUILD_MODNAME=kmod_snd_soc_core ../sound/soc/soc-generic-dmaengine-pcm.c | scripts/genksyms/genksyms   -r /dev/null >> sound/soc/.soc-generic-dmaengine-pcm.o.cmd; fi
# LD [M]  sound/soc/snd-soc-core.o
  aarch64-linux-gnu-ld -EL  -maarch64elf -z noexecstack --no-warn-rwx-segments   -r -o sound/soc/snd-soc-core.o @sound/soc/snd-soc-core.mod 
# cmd_gen_order sound/soc/modules.order
  {   echo sound/soc/snd-soc-core.o;   cat sound/soc/codecs/modules.order;   cat sound/soc/generic/modules.order;   cat sound/soc/apple/modules.order;   cat sound/soc/adi/modules.order;   cat sound/soc/amd/modules.order;   cat sound/soc/atmel/modules.order;   cat sound/soc/au1x/modules.order;   cat sound/soc/bcm/modules.order;   cat sound/soc/cirrus/modules.order;   cat sound/soc/dwc/modules.order;   cat sound/soc/fsl/modules.order;   cat sound/soc/google/modules.order;   cat sound/soc/hisilicon/modules.order;   cat sound/soc/jz4740/modules.order;   cat sound/soc/loongson/modules.order;   cat sound/soc/img/modules.order;   cat sound/soc/intel/modules.order;   cat sound/soc/mediatek/modules.order;   cat sound/soc/meson/modules.order;   cat sound/soc/mxs/modules.order;   cat sound/soc/kirkwood/modules.order;   cat sound/soc/pxa/modules.order;   cat sound/soc/qcom/modules.order;   cat sound/soc/raspberrypi/modules.order;   cat sound/soc/rockchip/modules.order;   cat sound/soc/samsung/modules.order;   cat sound/soc/sh/modules.order;   cat sound/soc/sof/modules.order;   cat sound/soc/spear/modules.order;   cat sound/soc/sprd/modules.order;   cat sound/soc/starfive/modules.order;   cat sound/soc/sti/modules.order;   cat sound/soc/stm/modules.order;   cat sound/soc/sunxi/modules.order;   cat sound/soc/tegra/modules.order;   cat sound/soc/ti/modules.order;   cat sound/soc/uniphier/modules.order;   cat sound/soc/ux500/modules.order;   cat sound/soc/xilinx/modules.order;   cat sound/soc/xtensa/modules.order;   cat sound/soc/sdw_utils/modules.order; :; } > sound/soc/modules.order
# cmd_gen_order sound/modules.order
  {   cat sound/core/modules.order;   cat sound/i2c/modules.order;   cat sound/drivers/modules.order;   cat sound/isa/modules.order;   cat sound/pci/modules.order;   cat sound/ppc/modules.order;   cat sound/arm/modules.order;   cat sound/sh/modules.order;   cat sound/synth/modules.order;   cat sound/usb/modules.order;   cat sound/firewire/modules.order;   cat sound/sparc/modules.order;   cat sound/spi/modules.order;   cat sound/parisc/modules.order;   cat sound/pcmcia/modules.order;   cat sound/mips/modules.order;   cat sound/soc/modules.order;   cat sound/atmel/modules.order;   cat sound/hda/modules.order;   cat sound/x86/modules.order;   cat sound/xen/modules.order;   cat sound/virtio/modules.order; :; } > sound/modules.order
make[2]: *** [/home/guu/data/github/cuu/ClockworkPi-linux/Makefile:1944: .] Error 2
make[1]: *** [/home/guu/data/github/cuu/ClockworkPi-linux/Makefile:224: __sub-make] Error 2
make[1]: Leaving directory '/home/guu/data/github/cuu/ClockworkPi-linux/build'
make: *** [Makefile:224: __sub-make] Error 2

What are these error?

Here’s how I cross compile it

git clone --depth=1 https://github.com/ak-rex/ClockworkPi-linux
cd ClockworkPi-linux

KERNEL=kernel8
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- bcm2711_defconfig
make -j"$(nproc)" ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- Image headers modules dtbs
make -j"$(nproc)" ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- bindeb-pkg
1 Like

I had the same issues but managed to fix with an older and smaller sized card.
Once it booted and i can verify that via a second screen i was able to finish the firmware update.
Also note that in case it fails there’s a fallback img from the RPi foundation that reverts the firmware version.
I think there might be a way to use that directly to have it force flash the newest good version.

1 Like

Yeah, I have a smaller Samsung Evo card being delivered today that will hopefully work better. Was looking at my unused cards are realized I only have Sandisk Ultras

wait… i know i’m an idiot… but can I just order a CM5 and put it in my uConsole (when i get it) or my DevTerm (with CM4 board) ???