firmware icon indicating copy to clipboard operation
firmware copied to clipboard

Waveshare NVME Hat and Official DSI Panel Overlay Problem

Open macromorgan opened this issue 11 months ago • 1 comments

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.

macromorgan avatar Mar 15 '24 19:03 macromorgan

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]

skotniczny avatar Mar 16 '24 12:03 skotniczny