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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help