detection and reporting of replacement and aftermarket parts
From: David Heidelberg <david@ixit.cz>
Date: 2026-06-26 15:01:31
Also in:
linux-input, lkml
Hello. As we port Linux phones to the mainline kernel, we often encounter devices with replaced screens (and touchscreens). Many these devices are replaced with original parts, but mostly in Asia markets, very often replacement parts are not original, but knockoffs. I would see value in providing information via tools and/or GUI [1] to the users, that parts of their phone has been replaced. There is multiple reasons, including user awareness when buying the device, or developer debugging user problem being aware that device been serviced. Right now, I'm not aware any vendor (outside of Apple, which is unsupported by Linux) shipping list of serial number of the components in the phone inside some memory region or EEPROM. When we **can** do with information currently available, is to detect: 1. different chip used, than what manufacturer declared (e.g. matching the model device-tree compatible property), thus implying replacement part 2. the chip not being fully compliant with the vendor specification, thus implying non-original part This doesn't cover all cases, but could already give user and developer valuable information why: 1. component isn't fully supported (let say driver doesn't have support for this variant) 2. component misbehave, if non-original part doesn't follow specification properly I think the display/touchscreen part is most often affected, so thus why I would like to start discussion here, but I think this issue apply to many other components (I recall some FTDI discussions long time ago) In the end, would be nice to have devlink-info-like [2] reporting in the input subsystem extended by not only reporting on-device / in-memory firmware, but also the driver reporting non-complaint non-original replacements (Cc: netdev). I'm very interested in feedback or/and ideas how this situations can be handled. Thank you David [1] https://support.apple.com/en-us/102658 [2] https://docs.kernel.org/networking/devlink/devlink-info.html