Upgrading my Chumby 8 kernel part 12: UART woes
Doug Brown faced challenges with UART driver while upgrading Chumby 8 kernel. He traced delays to a Broadcom BCM63xx UART driver commit, resolving output delay by manually triggering data transmission, revealing driver complexities.
Read original articleIn a series of blog posts, Doug Brown details his challenges with the UART driver while upgrading the kernel on his Chumby 8 device. Initially opting for the deprecated pxa driver due to issues with the 8250_pxa driver, he later encountered delays in console output after updating to Linux 6.9. Through a Git bisect process, he traced the problem to a commit intended to fix issues with the Broadcom BCM63xx UART driver. Despite the logical changes made in the commit, Doug found that the UART output was delayed until a character was manually input. By analyzing register values and toggling interrupts, he managed to manually trigger the transmission of pending data. Doug's debugging efforts revealed insights into the UART's behavior and highlighted the complexities of driver interactions in kernel development.
Related
Upgrading my Chumby 8 kernel part 11: SD/CF card reader
Doug Brown discusses upgrading the Chumby 8 kernel, addressing an SD/CF card reader issue by modifying the USB storage driver and implementing a userspace daemon to manage the device effectively.
Debugging hardware is hard
Debugging hardware can be complex. A case study involving communication problems between STM32 MCU and ESP32 WiFi chips in Pickup device revealed an unexpected glitch in the STM32's auto-calibration feature affecting UART communication. Disabling it resolved the issue, emphasizing the need for thorough hardware and software analysis.
The weirdest QNX bug I've ever encountered
The author encountered a CPU usage bug in a QNX system's 'ps' utility due to a 15-year-old bug. Debugging revealed a race condition, leading to code modifications and a shift towards open-source solutions.
Pwning a Brother labelmaker, for fun and interop
The author explores vulnerabilities in a Brother label maker, discovering outdated software and potential exploits like executing arbitrary code. Challenges arise, including unintentional device configuration issues and limited understanding of printer systems.
Linux's DRM Panic "Screen of Death" Sees Patches for QR Code Error Messages
Linux 6.10 introduces DRM Panic, a new panic screen with QR code support for kernel errors. The feature, written in Rust, aims to streamline error message capture and analysis for improved efficiency.
Related
Upgrading my Chumby 8 kernel part 11: SD/CF card reader
Doug Brown discusses upgrading the Chumby 8 kernel, addressing an SD/CF card reader issue by modifying the USB storage driver and implementing a userspace daemon to manage the device effectively.
Debugging hardware is hard
Debugging hardware can be complex. A case study involving communication problems between STM32 MCU and ESP32 WiFi chips in Pickup device revealed an unexpected glitch in the STM32's auto-calibration feature affecting UART communication. Disabling it resolved the issue, emphasizing the need for thorough hardware and software analysis.
The weirdest QNX bug I've ever encountered
The author encountered a CPU usage bug in a QNX system's 'ps' utility due to a 15-year-old bug. Debugging revealed a race condition, leading to code modifications and a shift towards open-source solutions.
Pwning a Brother labelmaker, for fun and interop
The author explores vulnerabilities in a Brother label maker, discovering outdated software and potential exploits like executing arbitrary code. Challenges arise, including unintentional device configuration issues and limited understanding of printer systems.
Linux's DRM Panic "Screen of Death" Sees Patches for QR Code Error Messages
Linux 6.10 introduces DRM Panic, a new panic screen with QR code support for kernel errors. The feature, written in Rust, aims to streamline error message capture and analysis for improved efficiency.