Display-EDID verändern: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: '''WORK IN PROGRESS''' '''WORK IN PROGRESS''' '''WORK IN PROGRESS''' Thinkpads überprüfen beim starten ob das verbaute Display auch tatsächlich ein originales ist.<...) |
Keine Bearbeitungszusammenfassung |
||
Zeile 8: | Zeile 8: | ||
== Vorraussetzungen == | == Vorraussetzungen == | ||
*Das alte Display ist noch eingebaut oder dessen EDID bekannt | |||
*Ein funktionierender externer Monitor | |||
Fals die Modifikation unter Windows erfolgt benötigt man noch eine registrierte Version von PowerStrip | *Generelle Kompatibilität zwischen Display und ThinkPad | ||
*Fals die Modifikation unter Windows erfolgt benötigt man noch eine registrierte Version von PowerStrip(~$30) | |||
== Vorgehen unter Windows == | == Vorgehen unter Windows == | ||
Zeile 42: | Zeile 43: | ||
sudo modprobe '''i2c-i801''' | sudo modprobe '''i2c-i801''' | ||
sudo modprobe i2c-dev | sudo modprobe i2c-dev | ||
Jetzt wird die Bus-Nummer des Displays am gefundenen SMBus ermittelt: | |||
$ sudo i2cdetect -l | |||
i2c-0 i2c i915 gmbus disabled I2C adapter | |||
i2c-1 i2c i915 gmbus ssc I2C adapter | |||
i2c-2 i2c i915 GPIOB I2C adapter | |||
i2c-3 i2c i915 gmbus vga I2C adapter | |||
i2c-4 i2c i915 GPIOA I2C adapter | |||
i2c-'''5''' i2c i915 gmbus '''panel''' I2C adapter | |||
i2c-6 i2c i915 GPIOC I2C adapter | |||
i2c-7 i2c i915 gmbus dpc I2C adapter | |||
i2c-8 i2c i915 GPIOD I2C adapter | |||
i2c-9 i2c i915 gmbus dpb I2C adapter | |||
i2c-10 i2c i915 GPIOE I2C adapter | |||
i2c-11 i2c i915 gmbus reserved I2C adapter | |||
i2c-12 i2c i915 gmbus dpd I2C adapter | |||
i2c-13 i2c i915 GPIOF I2C adapter | |||
i2c-14 i2c DPDDC-B I2C adapter | |||
i2c-15 i2c DPDDC-D I2C adapter | |||
i2c-16 smbus SMBus I801 adapter at 1c00 SMBus adapter | |||
Hier sitzt das Panel am Bus nummer '''5''' | |||
Die letzte fehlende Information ist die Adresse des EPROM's an diesem Port: | |||
$ sudo i2cdetect '''5''' | |||
WARNING! This program can confuse your I2C bus, cause data loss and worse! | |||
I will probe file /dev/i2c-5. | |||
I will probe address range 0x03-0x77. | |||
Continue? [Y/n] Y | |||
0 1 2 3 4 5 6 7 8 9 a b c d e f | |||
00: -- -- -- -- -- -- -- -- -- -- -- -- -- | |||
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- | |||
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- | |||
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- | |||
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- | |||
50: '''50''' -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- | |||
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- | |||
70: -- -- -- -- -- -- -- -- | |||
Damit haben wir alles zusammen und können das Display an Bus '''5''' und Adresse '''0x50''' ansprechen.<br/> | |||
Fals hier mehrere Adressen gefunden werden, so kann man diese einzeln Auslesen und an der Ausgabe erkennen ob es sich um die EDID des Display handelt(siehe nächster Abschnitt). | |||
=== Auslesen der EDID-Iformationen === | === Auslesen der EDID-Iformationen === |
Version vom 31. Dezember 2011, 20:22 Uhr
WORK IN PROGRESS WORK IN PROGRESS WORK IN PROGRESS
Thinkpads überprüfen beim starten ob das verbaute Display auch tatsächlich ein originales ist.
Bei einem Wechsel auf ein nicht-Lenovo Display wird dieses als solches erkannt und kann nicht genutzt werden.
Um eine Nutzung dennoch zu ermöglichen muss die EDID des Display angepasst werden um ein Lonovofabrikat vorzutäuschen.
Vorraussetzungen
- Das alte Display ist noch eingebaut oder dessen EDID bekannt
- Ein funktionierender externer Monitor
- Generelle Kompatibilität zwischen Display und ThinkPad
- Fals die Modifikation unter Windows erfolgt benötigt man noch eine registrierte Version von PowerStrip(~$30)
Vorgehen unter Windows
Vorgehen unter Linux
Achtung Gefahr!
Ich möchte an dieser Stelle ausdrücklich dadrauf hinweisen das bei Fehlern in den kommenden Kommandos schwerwiegende Schäden an der restlichen Hardware entstehen können!
Bei Unklarheiten unbedingt beim Techniker oder Forum des Vertrauens nachfragen und nicht einfach drauf los doktoren!
Die Modifikation, oder der Versuch der Modifikation, erfolgt ausdrücklich auf eigene Gefahr!
Benötigte Pakete
Um die EDID zu verändern werden folgende Pakete benötigt:
- i2c-tools
- lm-sensors
Diese lassen sich unter Ubuntu/LiuxMint bequem per apt-get installieren:
sudo apt-get install i2c-tools lm-sensors
Identifizierung des SMBus und Display-RAM
Jetzt gilt es den Vorhandenen SMBus Controller zu identifizieren.
Am einfachsten geht dies durch das starten des sonsor-detect Scripts von lm-sensors.
$ sudo /usr/sbin/sensors-detect (...) Do you want to probe the I2C/SMBus adapters now? (YES/no): Using driver `i2c-i801' for device 0000:00:1f.3: Intel ICH9 (...)
In diesem Fall wird ein I2C/SMBus gefunden und der passende Treiber als i2c-i801 identifiziert.
Da das Script den Treiber am Ende wieder entlädt muss dieser erneut geladen werden.
Hinzu kommt noch ein Modul das von den i2c-tools benötigt wird.
sudo modprobe i2c-i801 sudo modprobe i2c-dev
Jetzt wird die Bus-Nummer des Displays am gefundenen SMBus ermittelt:
$ sudo i2cdetect -l i2c-0 i2c i915 gmbus disabled I2C adapter i2c-1 i2c i915 gmbus ssc I2C adapter i2c-2 i2c i915 GPIOB I2C adapter i2c-3 i2c i915 gmbus vga I2C adapter i2c-4 i2c i915 GPIOA I2C adapter i2c-5 i2c i915 gmbus panel I2C adapter i2c-6 i2c i915 GPIOC I2C adapter i2c-7 i2c i915 gmbus dpc I2C adapter i2c-8 i2c i915 GPIOD I2C adapter i2c-9 i2c i915 gmbus dpb I2C adapter i2c-10 i2c i915 GPIOE I2C adapter i2c-11 i2c i915 gmbus reserved I2C adapter i2c-12 i2c i915 gmbus dpd I2C adapter i2c-13 i2c i915 GPIOF I2C adapter i2c-14 i2c DPDDC-B I2C adapter i2c-15 i2c DPDDC-D I2C adapter i2c-16 smbus SMBus I801 adapter at 1c00 SMBus adapter
Hier sitzt das Panel am Bus nummer 5
Die letzte fehlende Information ist die Adresse des EPROM's an diesem Port:
$ sudo i2cdetect 5 WARNING! This program can confuse your I2C bus, cause data loss and worse! I will probe file /dev/i2c-5. I will probe address range 0x03-0x77. Continue? [Y/n] Y 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: 50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --
Damit haben wir alles zusammen und können das Display an Bus 5 und Adresse 0x50 ansprechen.
Fals hier mehrere Adressen gefunden werden, so kann man diese einzeln Auslesen und an der Ausgabe erkennen ob es sich um die EDID des Display handelt(siehe nächster Abschnitt).