firmware
firmware copied to clipboard
Waveshare NVME Hat and Official DSI Panel Overlay Problem
There appears to be an issue with the firmware that became noticable with the 6.6 kernel update. Specifically, when I use a combination of the Waveshare NVME hat (https://www.waveshare.com/wiki/PCIe_TO_M.2_HAT+) along with the official Raspberry Pi display, the firmware fails to apply the overlay properly. If I remove the HAT+ detection from the equation by either removing the hat from the board (so the i2c can no longer be read at boot) or I add force_eeprom_read=0
into my config.txt, I am able to boot successfully with all hardware working as expected.
Logs and detailed troubleshooting steps can be seen at this thread here: https://github.com/raspberrypi/linux/issues/6035
To reproduce this issue: Physically attach the Waveshare NVME hat to a Raspberry Pi 5 running the current 6.6 Linux kernel. Specify dtoverlay=vc4-kms-dsi-7inch
in your config.txt. Note that you do not physically need the panel attached, you just need to specify the overlay to load. Observe the output of sudo vclog -m
and see that the official overlay could not be applied.
After updating to 6.6 kernel dmesg
show following error messages.
[ 3.101465] [drm] Initialized vc4 0.0.0 20140616 for gpu on minor 1
[ 4.381834] vc4_dsi fe700000.dsi: transfer interrupt wait timeout
[ 4.381849] vc4_dsi fe700000.dsi: instat: 0x00000000
[ 4.381860] [drm:vc4_dsi_host_transfer [vc4]] *ERROR* DSI transfer failed, resetting: -110
[ 4.597827] tc358762 fe700000.dsi.0: error initializing bridge (-110)_
[ 4.600073] Console: switching to colour frame buffer device 100x30
[ 4.615993] vc4-drm gpu: [drm] fb0: vc4drmfb frame buffer device
[ 811.953788] edt_ft5x06 10-0038: Unable to fetch data, error: -121
[ 1060.744029] edt_ft5x06 10-0038: Unable to fetch data, error: -121
[ 1499.311460] edt_ft5x06 10-0038: Unable to fetch data, error: -121
[ 2080.704464] edt_ft5x06 10-0038: Unable to fetch data, error: -121
[ 2953.490823] edt_ft5x06 10-0038: Unable to fetch data, error: -121
[ 3029.663595] edt_ft5x06 10-0038: Unable to fetch data, error: -121
[ 3325.086514] edt_ft5x06 10-0038: Unable to fetch data, error: -121
[ 3370.582988] edt_ft5x06 10-0038: Unable to fetch data, error: -121
[ 3691.738032] edt_ft5x06 10-0038: Unable to fetch data, error: -121
[ 4095.813818] edt_ft5x06 10-0038: Unable to fetch data, error: -121
[ 4196.931107] edt_ft5x06 10-0038: Unable to fetch data, error: -121
[ 4204.767207] edt_ft5x06 10-0038: Unable to fetch data, error: -121
[ 4403.057696] edt_ft5x06 10-0038: Unable to fetch data, error: -121
[ 4529.051152] edt_ft5x06 10-0038: Unable to fetch data, error: -121
[ 5377.748165] edt_ft5x06 10-0038: Unable to fetch data, error: -121
My config is Pi4 Model B + Official Raspberry Pi 7" touchscreen. I also use this splitter https://smarticase.com/products/smartipi-touch-2-cable-replacement-set
config.txt
# Enable audio (loads snd_bcm2835)
dtparam=audio=on
# Automatically load overlays for detected cameras
camera_auto_detect=1
# Automatically load overlays for detected DSI displays
display_auto_detect=1
# Automatically load initramfs files, if found
auto_initramfs=1
# Enable DRM VC4 V3D driver
dtoverlay=vc4-kms-v3d
max_framebuffers=2
# Don't have the firmware create an initial video= setting in cmdline.txt.
# Use the kernel's default instead.
disable_fw_kms_setup=1
# Run in 64-bit mode
arm_64bit=1
# Disable compensation for displays with overscan
disable_overscan=1
# Run as fast as firmware / board allows
arm_boost=1
[cm4]
# Enable host mode on the 2711 built-in XHCI USB controller.
# This line should be removed if the legacy DWC2 controller is required
# (e.g. for USB device mode) or if USB support is not required.
otg_mode=1
[all]