[drm] *ERROR* mstb 0000000057b5b857 port 1: DPCD read on addr 0x4b0 for 1 bytes NAKed

Michel Dänzer michel.daenzer at mailbox.org
Thu Feb 17 15:54:13 UTC 2022


On 2022-02-16 15:39, Jocelyn Falempe wrote:
> Hi,
> 
> When using a Lenovo dock, I often get this error message on dmesg:
> 
> [drm] *ERROR* mstb 0000000057b5b857 port 1: DPCD read on addr 0x4b0 for 1 bytes NAKed
> 
> It's caused by fwupd which tries to read from /dev/drm_dp_aux4
> 
> I opened an issue on fwupd:
> https://github.com/fwupd/fwupd/issues/4284
> 
> But it turns out, it's probably an issue in the drm mst code instead.
> 
> When I connect my Dock (Lenovo Thinkpad Thunderbold 3 Gen 2), I get 3 drm_dp_aux[] created:
> 
> /dev/drm_dp_aux[456]
> 
> Reading from this devices at any address will always get the NAKed error above, unless there is an actual DP monitor connected (HDMI monitor or nothing connected gives a NAK)
> 
> Each time I connect or disconnect a monitor on the dock, this 3 /dev/drm_dp_aux[] are destroyed and recreated.
> 
> So I think the device /dev/drm_dp_aux[] should be created only if there is an actual monitor connected that can reply to it.
> What's the purpose of providing userspace a device which can't be read or written ? (or maybe just fail the open() call, like Mario suggested on the fwupd issue, so the devices are still there with the same numbering)
> 
> On the other hand, we can also consider that it's expected to get NAck in drm_dp_send_dpcd_read() and replace drm_err() with drm_dbg()
> 
> what do you think ?
> 

Adding Lyude, AFAIK she's looked into this before.


-- 
Earthling Michel Dänzer            |                  https://redhat.com
Libre software enthusiast          |         Mesa and Xwayland developer


More information about the dri-devel mailing list