The B156HTN03.0 uses the same timings/impedance/voltages as the B156HAN01.2, so if the HTN works then so should the HAN. Might be worth a try to modify the corresponding .inf; download and install the regular ' Hotkey Features Integration' driver and see which files are written. Make a copy of those and edit the corresponding inf to include the ID of the HAN01.2 and overwrite the installed driver with this modified version.
-
-
I had actually played around with this download previously, as well as the Monitor.inf that is downloadable from the support website. However, I have not been able to come up with a working solution. -
Weird, you'd think it'd work with the native panel, at least. This is from the readme;
-
Talked to tech support. They tried for almost 2 days straight, even elevating to senior tech... and they have no idea what is going on.
They did mention to me that they will include this issue into a request for a future update though. So it is promisingKenstang likes this. -
-
So I tried to use:
Phoenix EDID Designer - to pull up the EDID of the old TN panel and copied it over to the new IPS panel -> saved it as a .dat -> opened with MonAssetManager -> created an .inf -> tried to install the INF but received a BSOD...
Anyone know how to get the .inf files to get installed correctly when generated from Monitor Asset Manager (Even when I use the current registry-active display panel info from monitor asset manager and create an .inf and try to install that .inf, it still gives me a bsod)? -
Has anyone had any luck in finding a remedy for this problem?
-
Doesn't look it.
-
Yea, I got tired of fooling with it and just returned it unfortunately. Issues ruined an otherwise seemingly great unit.
-
I've faced the same problem. Still no solution, but i can approve it works in BIOS
Last edited: Sep 10, 2015 -
There's still Option 1:
That last byte should've been 6B if it was successful... Anyway, have all the tools necessary pre-installed on a live+persistent bootable linux (non-uefi). Can make an image of that install and you'd need only to flash the .img to a large (≥16GB) usb stick. The actual commands necessary aren't that difficult, actually; using edid-rw makes things a bit simpler. To make this work we need the 'raw data' section (MonInfo -> Create INF) of both a working panel (LEN4080, say) and the actual panel present. With a hex copy/paste it's possible to only overwrite the headers, while leaving actual timing data intact.
Second-to-last resort:
If the eeprom happens to be write-protected as well; the vbios is contained in the bios (oprom). Swapping out Lenovo's Intel vbios by a generic, newer vbios might do the trick. Hopefully this Lenovo bios can be read with MMTool or UEFI BIOS Updater ... -
Hardware
I have Lenovo T450s (so it's not the same t550s, it's a 14.0" laptop).
Originally it came with a AUO TN HD+ screen (B140RTN03.0)
I've updated it to an AUO IPS FHD screen (B140HAN01.2)
Inside it have an Intel HD 5500 build in GPU
Software
I Use Windows 10 64bit
Compatibility
According to the list of the part numbers ( https://download.lenovo.com/parts/ThinkPad/thinkpad_t450s_fru_list.pdf ) it's originally compatible with AUO B140HAN01.3 but according to my researches it should be compatible also with AUO B140HAN01.2
One guy said he updated with no issue (expect killing the fuse first) his T450 (without s) ( http://forum.notebookreview.com/threads/t440s-lg-auo-screen-replacement.743388/page-11 )
Symptoms
- The screen it at maximum brightness and no possibility to adjust it.
- In BIOS i can freely adjust the brightness
- The brightness that set in BIOS remains until Windows 10 starting to load. After the loading logo it reset up to maximum
- If I uninstall the Intel HD Graphics driver the windows won't change the brightness that I set in the BIOS before, but cannot change inside windows.
Questions
- Maybe if I could find a generic FullHD driver instead of the nvidia, could it work?
- At the beginning you recommended two options.
> Create an INF file for the monitor. Is it still an option or did you find a proof before why it fails?
> Fake the EDID number of the screen. On this part i've got lost. First of all where is this number stored? In windows registry or in the BIOS? So maybe if i have to go in this way and you could explain the behavior of this part and the goal what we want to reach would be great.
- Is it dangerous to play with these EDID number? Can i make a brick from my laptop? How to avoid it?
- Is it possible to install the T440s drivers somehow to this device, because with that notebook this screen is 100% compatible.
P.S I'm not fully stupid for these things, have a good knowlege of softwares and some good bases of hardware (i'm a software engineer). Just don't have any background about these monitor and driver things.
Thank you very much for your help!Last edited: Sep 11, 2015 -
- uninstall HD
- override inf
- take full permission of the edid registry keys
- re-install HD
Worth a try, no?
In order for this to work you need both an 'approved' edid and the one of the panel you've swapped in. These can then be hex-edited together into a custom, approved edid. This is pretty much guaranteed to work, only the edid flashing part iself is a bit ... tricky.
It is possible to write-protect the eeprom afterwards, but flashing = flashing. Actually, as it uses I2C for communication there's a considerably higher risk than with an SPI bios. There's been plenty of bricks, not just due to poor drivers, but also due to simple probe queries just to list the various devices on the I2C bus. Done properly, it should be fine.
-
Generic driver:
Just tried to set back the windows built in generic driver. It supports the FHD. Result is partial success: it doesn't override the light that i set in the BIOS. But infortunatelly the bios forget it on every reboot
Changing the inf file:
Could you tell some details about it? What is the goal in this situation, so how to trick with the inf file? And how to do it? (tools, registry info, etc)
Direct communication without driver:
Can you imagine that maybe there is a software that directly communicate with the hardware avoiding the driver? This way maybe it could be an out-of-box solution
BIOS:
Maybe i would not go in this way then, because i'm not an expert at all and don't want to make a brick from my laptop...
Maybe if someone goes through the process i would try to reproduce the same, but playing around without knowledge would be kind of foolness...
Anyway if i can go through with this hell i have to give you some beers, because you help a lot! -
Made some research, and it seems like intel still not support overriding edid files through inf files:
https://communities.intel.com/thread/25904?start=15&tstart=0
So seems like the only was is to flash the monitor edid file but i'm afraid of it... -
I've tried to update the EDID info in my monitor. Put everything together but it seems write-protection is active, so i could not update the edid info. Now i try to look into removing write protection
-
-
-
I've get my edid info from the monitor to a bin file. After edited it to simply change it's id from 1.2 to 1.3 (i've found a hex info on the net of an AUO 1.3 edid) and updated the checksum (used the Phoenix stuff for this)
After tried three different type of software to write it back to the monitor but all of them said I/O error, write error, etc (edid-rw, write-edid, and i2cdump)
With the write-edid it was clean it tried from byte to byte and all of them has failed.
http://support.lenovo.com/us/en/pro...ies-laptops/thinkpad-t450s/downloads/DS102109
Under it on my pc i think i've found the flash files:
https://drive.google.com/file/d/0B_W2RxPQwHy2OGZ1UTRrWUZlU00/view?usp=sharing
So what is your suggestion?
P.S.: under ubuntu i can adjust the brightness without any issue...DD
Last edited: Sep 14, 2015t456 likes this. -
Too bad about the result. My panel is also write-protected, there's a WP-bit on the eeprom that handles this. Flipping this (1->0 or 0>1) would disable write-protect, thing is; what address? You'd change it back afterwards, of course.
Since you have the tools prepared already; please make a backup:
Code:sudo i2cdump -r 0-127 XYZ 0x50 > edidexport.txt
Strange thing is; those strings are complete edids, tow-to-tow. But now for the really weird part ... it contains the B140HAN01.2 as well:
Errr ...
Extracted both bios-embedded edids: Lenovo ThinkPad T450s - edids.
Look, for all intents and purposes you shouldn't even be having this issue at all. Make a dual boot with 7 or 8 and see what happens. -
And here comes the real strange part: I've just compared the 1.2 EDID file to my monitor (extracted directly from the monitor through linux). Ant it's not the same!!!
Mine doesn't contain for example the exact product id: B140HAN01.2 but also the name is different! So it looks like my monitor's edid is not in the white list actually.
I've uploaded my real edid here: https://drive.google.com/file/d/0B_W2RxPQwHy2LV9ncUZIYXBrcDg/view?usp=sharing
Do you think it's possible to change the monitor whitelist in my BIOS and flash it? Can it solve the problem? And why? Where these information used? By Intel Graphics driver? Because as you see the linux doesn't care with it, so it's only important for windows.
I've did with windows 8 without any result. I think it's because of the thing that i've discovered above: my edid doesn't match any of them hardcoded in the bios. -
Even better is that they've kept (inserted, really) the original panel nr. just in case they needed that for themselves! Normally the PnP id alone (AUO123D) would suffice to id the panel 1:1, but by overwriting the id with ' LEN****' this will , of course, no longer work.
It's Lenovo, so ... all of the above, most likely.
Kinda wonder; what you'd get if you used the linux extract with the original display?
Anyway, flashing the edid eeprom would not be preferable here. The AUO version is perfectly fine and by changing to 'LEN' you cause problems for future swaps and, perhaps, other drivers as well (if they rely on PnP ids, that is). -
So what are your plans? How to modify and test safely the bios file?
Moreover, if it makes my bios a brick, how to rollback to the original bios in that situation?
-
.
Hm, think there's an easier option since it's just a driver block. Try asking other Lenovo+Intel HD+B140HAN01.2 or B140HAN01.3 users to export ' HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet' (~20-30MB). With some searching it should be possible to track down the right key that's responsible for this. Edit your own registry to match and it should work. -
-
Something funny from their bios readme (at the bottom):
Code:Revision : 01 -------------------------------------------------------------------------------- Software name BIOS Update CD (ISO image file for bootable CD) Support model ThinkPad T450, T450s Operating Systems Microsoft Windows 8.1 64-bit Microsoft Windows 8 32-bit, 64-bit Microsoft Windows 7 32-bit, 64-bit Refer to marketing materials to find out what computer models support which Operating Systems. Version 1.16 -------------------------------------------------------------------------------- VERSION INFORMATION The following versions of UEFI BIOS and ECP (Embedded Controller Program) have been released to date. (BIOS ID: HBETxxWW) ------------------- Package BIOS (BIOS ID) ECP (ECP ID) Rev. Issue Date --------- ---------------- ---------------- ---- --------------- 1.16 1.16 (JBET51WW) 1.01 (JBHT14WW) 01 2015/07/28 1.15 1.15 (JBET50WW) 1.00 (JBHT13WW) 01 2015/06/24 1.14 1.14 (JBET49WW) 1.00 (JBHT13WW) 01 2015/05/25 1.13 1.13 (JBET48WW) 1.00 (JBHT13WW) 01 2015/05/07 1.12 1.12 (JBET47WW) 1.00 (JBHT13WW) 01 2015/04/02 1.10 1.10 (JBET45WW) 1.00 (JBHT13WW) 01 2015/02/25 1.04 1.04 (JBET39WW) 1.00 (JBHT13WW) 01 2015/01/13 <1.13> - (New) Updated EDID table.
And, since you have tools ready, run 'sudo i2cdump 1 0x50' and post the result. Presuming, of course that '1' is your bus and '50' is the edid address.
-
Here is the link: https://drive.google.com/file/d/0B_W2RxPQwHy2dWFQRzk4YzBJZk0/view?usp=sharing
Does the BIOS have also a checksum? can we corrupt it because we change the edid descriptions?
I've read some topics and it looks like if we fail with the flash we can fallback with a good bios on an usb stick, i don't know...
I can send the i2cdump later because now i'm in a hurry... -
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: 00 ff ff ff ff ff ff 00 06 af 3d 12 00 00 00 00 ........??=?....
10: 00 16 01 04 95 1f 11 78 02 84 e5 a4 56 50 a0 26 .??????x????VP?&
20: 0d 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01 ?PT...??????????
30: 01 01 01 01 01 01 14 37 80 b8 70 38 24 40 10 10 ???????7??p8$@??
40: 3e 00 35 ad 10 00 00 18 b8 24 80 b8 70 38 24 40 >.5??..??$??p8$@
50: 10 10 3e 00 35 ad 10 00 00 18 00 00 00 00 00 00 ??>.5??..?......
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 ...............?
70: 00 11 39 f9 0a 3c 96 11 1e 24 96 20 20 20 00 85 .?9??<???$? .?
80: 00 ff ff ff ff ff ff 00 06 af 3d 12 00 00 00 00 ........??=?....
90: 00 16 01 04 95 1f 11 78 02 84 e5 a4 56 50 a0 26 .??????x????VP?&
a0: 0d 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01 ?PT...??????????
b0: 01 01 01 01 01 01 14 37 80 b8 70 38 24 40 10 10 ???????7??p8$@??
c0: 3e 00 35 ad 10 00 00 18 b8 24 80 b8 70 38 24 40 >.5??..??$??p8$@
d0: 10 10 3e 00 35 ad 10 00 00 18 00 00 00 00 00 00 ??>.5??..?......
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 ...............?
f0: 00 11 39 f9 0a 3c 96 11 1e 24 96 20 20 20 00 85 .?9??<???$? .?
But i think it's fully the same that i've sent you before in the edid bin file (i've used tcpdump for this). Or may i missed something? -
If you've used write-edid.sh properly then there shouldn't be an I/O error at all, even with a write-protect. Follow these instructions to the letter and try writing the B140HAN01.2 white-list edid.Last edited: Jan 1, 2016 -
Hi,
very interrested in this discussion.
I just ordered an AUO B140HAN01.2 panel for my Lenovo T450s HD+.
I though it would be compatible, but no :'( -
I have a T450s with the same issue. I replaced my crappy 1600x900 display with the newer LG, FRU 04X5916 and now I only have brightness control in the BIOS but not in windows. Multiple combinations of removing and and reinstalling drivers to no avail. I'm about to where I'm just going to reinstall windows 7 or possibly upgrade to windows 10.
-
-
Here is the file from my laptop: https://www.dropbox.com/s/he14h7ggkoipmyd/monitor.inf?dl=0
-
Maybe I've forgot to mention one part, but don't know if it was important. The lm-sensors gave me an error when i tried to scan the i2c. It told me doesn't know it's driver. But the other progs worked (for example when i had to read the edid with any of them). So i think maybe it's not important, but i wanted you to know this.
Anyway, i feel the BIOS hack very tricky and dangours. Because if i kill my monitor it's only 80usd, but if i kill my bios it will cost more...
One more thing: previously we've talked about to create a custom monitor inf file, but you or somebody have said the intel driver ingores it.
I've tried to contact them and here is a topic about it. Some people also want to have the edid override support:
https://communities.intel.com/thread/25904?start=30&tstart=0Last edited: Sep 19, 2015 -
1. Downgrade your intel driver to the Windows Basic Display Driver (it's built in). This way if you adjust your brightness during boot the windows won't override it. But every time it forgets. So you have to do it on every boot.
2. Switch to linux. There your brightness control works properly -
Code:lubuntu@lubuntu:~/EDID/write-edid$ sudo bash ./write-edid.sh 6 edid_12_update_simple.bin Writing byte 0x00 to bus 6, chip-adress 0x50, data-adress 0x00 Error: Write failed Writing byte 0xFF to bus 6, chip-adress 0x50, data-adress 0x01 Error: Write failed Writing byte 0xFF to bus 6, chip-adress 0x50, data-adress 0x02 Error: Write failed Writing byte 0xFF to bus 6, chip-adress 0x50, data-adress 0x03 Error: Write failed Writing byte 0xFF to bus 6, chip-adress 0x50, data-adress 0x04 Error: Write failed Writing byte 0xFF to bus 6, chip-adress 0x50, data-adress 0x05 Error: Write failed Writing byte 0xFF to bus 6, chip-adress 0x50, data-adress 0x06 Error: Write failed Writing byte 0x00 to bus 6, chip-adress 0x50, data-adress 0x07 Error: Write failed Writing byte 0x06 to bus 6, chip-adress 0x50, data-adress 0x08 Error: Write failed Writing byte 0xAF to bus 6, chip-adress 0x50, data-adress 0x09 Error: Write failed Writing byte 0x3D to bus 6, chip-adress 0x50, data-adress 0x0a Error: Write failed Writing byte 0x13 to bus 6, chip-adress 0x50, data-adress 0x0b Error: Write failed Writing byte 0x00 to bus 6, chip-adress 0x50, data-adress 0x0c Error: Write failed Writing byte 0x00 to bus 6, chip-adress 0x50, data-adress 0x0d Error: Write failed Writing byte 0x00 to bus 6, chip-adress 0x50, data-adress 0x0e Error: Write failed Writing byte 0x00 to bus 6, chip-adress 0x50, data-adress 0x0f Error: Write failed Writing byte 0x26 to bus 6, chip-adress 0x50, data-adress 0x10 Error: Write failed Writing byte 0x17 to bus 6, chip-adress 0x50, data-adress 0x11 Error: Write failed Writing byte 0x01 to bus 6, chip-adress 0x50, data-adress 0x12 Error: Write failed Writing byte 0x04 to bus 6, chip-adress 0x50, data-adress 0x13 Error: Write failed Writing byte 0x95 to bus 6, chip-adress 0x50, data-adress 0x14 Error: Write failed Writing byte 0x1F to bus 6, chip-adress 0x50, data-adress 0x15 Error: Write failed Writing byte 0x11 to bus 6, chip-adress 0x50, data-adress 0x16 Error: Write failed Writing byte 0x78 to bus 6, chip-adress 0x50, data-adress 0x17 Error: Write failed Writing byte 0x02 to bus 6, chip-adress 0x50, data-adress 0x18 Error: Write failed Writing byte 0x84 to bus 6, chip-adress 0x50, data-adress 0x19 Error: Write failed Writing byte 0xE5 to bus 6, chip-adress 0x50, data-adress 0x1a Error: Write failed Writing byte 0xA4 to bus 6, chip-adress 0x50, data-adress 0x1b Error: Write failed Writing byte 0x56 to bus 6, chip-adress 0x50, data-adress 0x1c Error: Write failed Writing byte 0x50 to bus 6, chip-adress 0x50, data-adress 0x1d Error: Write failed Writing byte 0xA0 to bus 6, chip-adress 0x50, data-adress 0x1e Error: Write failed Writing byte 0x26 to bus 6, chip-adress 0x50, data-adress 0x1f Error: Write failed Writing byte 0x0D to bus 6, chip-adress 0x50, data-adress 0x20 Error: Write failed Writing byte 0x50 to bus 6, chip-adress 0x50, data-adress 0x21 Error: Write failed Writing byte 0x54 to bus 6, chip-adress 0x50, data-adress 0x22 Error: Write failed Writing byte 0x00 to bus 6, chip-adress 0x50, data-adress 0x23 Error: Write failed Writing byte 0x00 to bus 6, chip-adress 0x50, data-adress 0x24 Error: Write failed Writing byte 0x00 to bus 6, chip-adress 0x50, data-adress 0x25 Error: Write failed Writing byte 0x01 to bus 6, chip-adress 0x50, data-adress 0x26 Error: Write failed Writing byte 0x01 to bus 6, chip-adress 0x50, data-adress 0x27 Error: Write failed Writing byte 0x01 to bus 6, chip-adress 0x50, data-adress 0x28 Error: Write failed Writing byte 0x01 to bus 6, chip-adress 0x50, data-adress 0x29 Error: Write failed Writing byte 0x01 to bus 6, chip-adress 0x50, data-adress 0x2a Error: Write failed Writing byte 0x01 to bus 6, chip-adress 0x50, data-adress 0x2b Error: Write failed Writing byte 0x01 to bus 6, chip-adress 0x50, data-adress 0x2c Error: Write failed Writing byte 0x01 to bus 6, chip-adress 0x50, data-adress 0x2d Error: Write failed Writing byte 0x01 to bus 6, chip-adress 0x50, data-adress 0x2e Error: Write failed Writing byte 0x01 to bus 6, chip-adress 0x50, data-adress 0x2f Error: Write failed Writing byte 0x01 to bus 6, chip-adress 0x50, data-adress 0x30 Error: Write failed Writing byte 0x01 to bus 6, chip-adress 0x50, data-adress 0x31 Error: Write failed Writing byte 0x01 to bus 6, chip-adress 0x50, data-adress 0x32 Error: Write failed Writing byte 0x01 to bus 6, chip-adress 0x50, data-adress 0x33 Error: Write failed Writing byte 0x01 to bus 6, chip-adress 0x50, data-adress 0x34 Error: Write failed Writing byte 0x01 to bus 6, chip-adress 0x50, data-adress 0x35 Error: Write failed Writing byte 0x14 to bus 6, chip-adress 0x50, data-adress 0x36 Error: Write failed Writing byte 0x37 to bus 6, chip-adress 0x50, data-adress 0x37 Error: Write failed Writing byte 0x80 to bus 6, chip-adress 0x50, data-adress 0x38 Error: Write failed Writing byte 0xB8 to bus 6, chip-adress 0x50, data-adress 0x39 Error: Write failed Writing byte 0x70 to bus 6, chip-adress 0x50, data-adress 0x3a Error: Write failed Writing byte 0x38 to bus 6, chip-adress 0x50, data-adress 0x3b Error: Write failed Writing byte 0x24 to bus 6, chip-adress 0x50, data-adress 0x3c Error: Write failed Writing byte 0x40 to bus 6, chip-adress 0x50, data-adress 0x3d Error: Write failed Writing byte 0x10 to bus 6, chip-adress 0x50, data-adress 0x3e Error: Write failed Writing byte 0x10 to bus 6, chip-adress 0x50, data-adress 0x3f Error: Write failed Writing byte 0x3E to bus 6, chip-adress 0x50, data-adress 0x40 Error: Write failed Writing byte 0x00 to bus 6, chip-adress 0x50, data-adress 0x41 Error: Write failed Writing byte 0x35 to bus 6, chip-adress 0x50, data-adress 0x42 Error: Write failed Writing byte 0xAD to bus 6, chip-adress 0x50, data-adress 0x43 Error: Write failed Writing byte 0x10 to bus 6, chip-adress 0x50, data-adress 0x44 Error: Write failed Writing byte 0x00 to bus 6, chip-adress 0x50, data-adress 0x45 Error: Write failed Writing byte 0x00 to bus 6, chip-adress 0x50, data-adress 0x46 Error: Write failed Writing byte 0x18 to bus 6, chip-adress 0x50, data-adress 0x47 Error: Write failed Writing byte 0xB8 to bus 6, chip-adress 0x50, data-adress 0x48 Error: Write failed Writing byte 0x24 to bus 6, chip-adress 0x50, data-adress 0x49 Error: Write failed Writing byte 0x80 to bus 6, chip-adress 0x50, data-adress 0x4a Error: Write failed Writing byte 0xB8 to bus 6, chip-adress 0x50, data-adress 0x4b Error: Write failed Writing byte 0x70 to bus 6, chip-adress 0x50, data-adress 0x4c Error: Write failed Writing byte 0x38 to bus 6, chip-adress 0x50, data-adress 0x4d Error: Write failed Writing byte 0x24 to bus 6, chip-adress 0x50, data-adress 0x4e Error: Write failed Writing byte 0x40 to bus 6, chip-adress 0x50, data-adress 0x4f Error: Write failed Writing byte 0x10 to bus 6, chip-adress 0x50, data-adress 0x50 Error: Write failed Writing byte 0x10 to bus 6, chip-adress 0x50, data-adress 0x51 Error: Write failed Writing byte 0x3E to bus 6, chip-adress 0x50, data-adress 0x52 Error: Write failed Writing byte 0x00 to bus 6, chip-adress 0x50, data-adress 0x53 Error: Write failed Writing byte 0x35 to bus 6, chip-adress 0x50, data-adress 0x54 Error: Write failed Writing byte 0xAD to bus 6, chip-adress 0x50, data-adress 0x55 Error: Write failed Writing byte 0x10 to bus 6, chip-adress 0x50, data-adress 0x56 Error: Write failed Writing byte 0x00 to bus 6, chip-adress 0x50, data-adress 0x57 Error: Write failed Writing byte 0x00 to bus 6, chip-adress 0x50, data-adress 0x58 Error: Write failed Writing byte 0x18 to bus 6, chip-adress 0x50, data-adress 0x59 Error: Write failed Writing byte 0x00 to bus 6, chip-adress 0x50, data-adress 0x5a Error: Write failed Writing byte 0x00 to bus 6, chip-adress 0x50, data-adress 0x5b Error: Write failed Writing byte 0x00 to bus 6, chip-adress 0x50, data-adress 0x5c Error: Write failed Writing byte 0x00 to bus 6, chip-adress 0x50, data-adress 0x5d Error: Write failed Writing byte 0x00 to bus 6, chip-adress 0x50, data-adress 0x5e Error: Write failed Writing byte 0x00 to bus 6, chip-adress 0x50, data-adress 0x5f Error: Write failed Writing byte 0x00 to bus 6, chip-adress 0x50, data-adress 0x60 Error: Write failed Writing byte 0x00 to bus 6, chip-adress 0x50, data-adress 0x61 Error: Write failed Writing byte 0x00 to bus 6, chip-adress 0x50, data-adress 0x62 Error: Write failed Writing byte 0x00 to bus 6, chip-adress 0x50, data-adress 0x63 Error: Write failed Writing byte 0x00 to bus 6, chip-adress 0x50, data-adress 0x64 Error: Write failed Writing byte 0x00 to bus 6, chip-adress 0x50, data-adress 0x65 Error: Write failed Writing byte 0x00 to bus 6, chip-adress 0x50, data-adress 0x66 Error: Write failed Writing byte 0x00 to bus 6, chip-adress 0x50, data-adress 0x67 Error: Write failed Writing byte 0x00 to bus 6, chip-adress 0x50, data-adress 0x68 Error: Write failed Writing byte 0x00 to bus 6, chip-adress 0x50, data-adress 0x69 Error: Write failed Writing byte 0x00 to bus 6, chip-adress 0x50, data-adress 0x6a Error: Write failed Writing byte 0x00 to bus 6, chip-adress 0x50, data-adress 0x6b Error: Write failed Writing byte 0x00 to bus 6, chip-adress 0x50, data-adress 0x6c Error: Write failed Writing byte 0x00 to bus 6, chip-adress 0x50, data-adress 0x6d Error: Write failed Writing byte 0x00 to bus 6, chip-adress 0x50, data-adress 0x6e Error: Write failed Writing byte 0x02 to bus 6, chip-adress 0x50, data-adress 0x6f Error: Write failed Writing byte 0x00 to bus 6, chip-adress 0x50, data-adress 0x70 Error: Write failed Writing byte 0x11 to bus 6, chip-adress 0x50, data-adress 0x71 Error: Write failed Writing byte 0x39 to bus 6, chip-adress 0x50, data-adress 0x72 Error: Write failed Writing byte 0xF9 to bus 6, chip-adress 0x50, data-adress 0x73 Error: Write failed Writing byte 0x0A to bus 6, chip-adress 0x50, data-adress 0x74 Error: Write failed Writing byte 0x3C to bus 6, chip-adress 0x50, data-adress 0x75 Error: Write failed Writing byte 0x96 to bus 6, chip-adress 0x50, data-adress 0x76 Error: Write failed Writing byte 0x11 to bus 6, chip-adress 0x50, data-adress 0x77 Error: Write failed Writing byte 0x1E to bus 6, chip-adress 0x50, data-adress 0x78 Error: Write failed Writing byte 0x24 to bus 6, chip-adress 0x50, data-adress 0x79 Error: Write failed Writing byte 0x96 to bus 6, chip-adress 0x50, data-adress 0x7a Error: Write failed Writing byte 0x20 to bus 6, chip-adress 0x50, data-adress 0x7b Error: Write failed Writing byte 0x20 to bus 6, chip-adress 0x50, data-adress 0x7c Error: Write failed Writing byte 0x20 to bus 6, chip-adress 0x50, data-adress 0x7d Error: Write failed Writing byte 0x00 to bus 6, chip-adress 0x50, data-adress 0x7e Error: Write failed Writing byte 0x5D to bus 6, chip-adress 0x50, data-adress 0x7f Error: Write failed Writing done, here is the output of i2cdump -y 6 0x50: No size specified (using byte-data access) 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef 00: 00 ff ff ff ff ff ff 00 06 af 3d 12 00 00 00 00 ........??=?.... 10: 00 16 01 04 95 1f 11 78 02 84 e5 a4 56 50 a0 26 .??????x????VP?& 20: 0d 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01 ?PT...?????????? 30: 01 01 01 01 01 01 14 37 80 b8 70 38 24 40 10 10 ???????7??p8$@?? 40: 3e 00 35 ad 10 00 00 18 b8 24 80 b8 70 38 24 40 >.5??..??$??p8$@ 50: 10 10 3e 00 35 ad 10 00 00 18 00 00 00 00 00 00 ??>.5??..?...... 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 ...............? 70: 00 11 39 f9 0a 3c 96 11 1e 24 96 20 20 20 00 85 .?9??<???$? .? 80: 00 ff ff ff ff ff ff 00 06 af 3d 12 00 00 00 00 ........??=?.... 90: 00 16 01 04 95 1f 11 78 02 84 e5 a4 56 50 a0 26 .??????x????VP?& a0: 0d 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01 ?PT...?????????? b0: 01 01 01 01 01 01 14 37 80 b8 70 38 24 40 10 10 ???????7??p8$@?? c0: 3e 00 35 ad 10 00 00 18 b8 24 80 b8 70 38 24 40 >.5??..??$??p8$@ d0: 10 10 3e 00 35 ad 10 00 00 18 00 00 00 00 00 00 ??>.5??..?...... e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 ...............? f0: 00 11 39 f9 0a 3c 96 11 1e 24 96 20 20 20 00 85 .?9??<???$? .?
Code:lubuntu@lubuntu:~/EDID/write-edid$ sudo i2cdetect -l i2c-0 i2c i915 gmbus ssc I2C adapter i2c-1 i2c i915 gmbus vga I2C adapter i2c-2 i2c i915 gmbus panel I2C adapter i2c-3 i2c i915 gmbus dpc I2C adapter i2c-4 i2c i915 gmbus dpb I2C adapter i2c-5 i2c i915 gmbus dpd I2C adapter i2c-6 i2c DPDDC-A I2C adapter i2c-7 i2c DPDDC-B I2C adapter i2c-8 i2c DPDDC-C I2C adapter i2c-9 smbus SMBus I801 adapter at efa0 SMBus adapter lubuntu@lubuntu:~$ sudo i2cdump -r 0-127 6 0x50 No size specified (using byte-data access) WARNING! This program can confuse your I2C bus, cause data loss and worse! I will probe file /dev/i2c-6, address 0x50, mode byte Probe range limited to 0x00-0x7f. Continue? [Y/n] y 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef 00: 00 ff ff ff ff ff ff 00 06 af 3d 12 00 00 00 00 ........??=?.... 10: 00 16 01 04 95 1f 11 78 02 84 e5 a4 56 50 a0 26 .??????x????VP?& 20: 0d 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01 ?PT...?????????? 30: 01 01 01 01 01 01 14 37 80 b8 70 38 24 40 10 10 ???????7??p8$@?? 40: 3e 00 35 ad 10 00 00 18 b8 24 80 b8 70 38 24 40 >.5??..??$??p8$@ 50: 10 10 3e 00 35 ad 10 00 00 18 00 00 00 00 00 00 ??>.5??..?...... 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 ...............? 70: 00 11 39 f9 0a 3c 96 11 1e 24 96 20 20 20 00 85 .?9??<???$? .?
-
Try running that as root first. And do DPDDC-B and DPDDC-C show anything edid-like (i2cdetect xyz)? Weird thing is that i2cdump shows two edids, identical though ... maybe it needs to be written to both at once? So a 256 byte edid?
Extracted all white-listed edids from the bios: Lenovo ThinkPad - white-list edid.7z
Code:panel nr. real pnp id lenovo pnp id ------------ ----------- ------------- B140HAN01.2 AUO123D LEN40A3 B140HAN01.3 ? LEN40A3 B140RTN03.0 ? LEN40A1 B140XTN02.6 ? LEN40A0 B140XTN02.A ? LEN40A0 LP140WD2-TPD1 ? LEN40A1 LP140WF1-SPK1 ? LEN40A3 LP140WF3-SPD1 ? LEN40A3 LP140WF6-SPB1 ? LEN40A9 LP140WHU-TPBJ ? LEN40A0 LTN140AT31-401 ? LEN40A0 LTN140HL**-*** SDC4C48 ? LTN140HL05-401 ? LEN40A9 LTN140KT14-401 ? LEN40A1 N140BGE-EA3 ? LEN40A0 N140FGE-EA2 ? LEN40A1 ------------------------------------------
Closest match Lenovo uses is the LTN140HL05-401, flash that edid (see instructions). Hopefully you'll have better luck writing those than grosmar ...
.
Last edited: Jan 1, 2016 -
Checked DPDDC-B and DPDDC-C, but they are empy.... Any idea? -
Well, maybe write-protected after all. Try ' sudo i2cdetect X', with X = edid bus. There should be more than just the address 0x50:
Code:root@it:~# sudo i2cdetect 6 WARNING! This program can confuse your I2C bus, cause data loss and worse! I will probe file /dev/i2c-6. 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: -- 11 -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: 50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- root@it:~#
Failing that; the bios flash. Can make that bios, but you'd need to do the research yourself as how to flash a modded Lenovo bios. Search how they manage that with the wifi card whitelists and report back. -
Code:0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- 37 -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: 50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --
Code:it@it:~$ sudo i2cdump -y 6 0x37 No size specified (using byte-data access) 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef 00: 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 HHHHHHHHHHHHHHHH 10: 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 HHHHHHHHHHHHHHHH 20: 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 HHHHHHHHHHHHHHHH 30: 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 HHHHHHHHHHHHHHHH 40: 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 HHHHHHHHHHHHHHHH 50: 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 HHHHHHHHHHHHHHHH 60: 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 HHHHHHHHHHHHHHHH 70: 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 HHHHHHHHHHHHHHHH 80: 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 HHHHHHHHHHHHHHHH 90: 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 HHHHHHHHHHHHHHHH a0: 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 HHHHHHHHHHHHHHHH b0: 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 HHHHHHHHHHHHHHHH c0: 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 HHHHHHHHHHHHHHHH d0: 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 HHHHHHHHHHHHHHHH e0: 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 HHHHHHHHHHHHHHHH f0: 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 HHHHHHHHHHHHHHHH
So yeah the bios the only remaining stuff... but i'm ****ing afraid of it -
Remember the registry option, too; just ask any T450s user (preferably with fhd panel) for the export.Last edited: Sep 21, 2015 -
ok,
So I received my t450s and the AUO replacement screen....
And I can't change brightness too :'(
I'll try later to apply the EDID tweaks, but for now I uploaded my monitor asset file:
monitor.inf -
And the next step, if I well understand, is to flash the EDID of my panel to replace
AUO123D with LEN40A3? -
Exactly (using the correct LEN40A3 .bin, of course). Hopefully your AUO isn't write-protected ...
-
ok, could you point me to the correct procedure to flash?
I'm a little lost in all your discussion with grosmar ^^ -
See here for the guide and download Lenovo ThinkPad - white-list edids.7z for the edids.
Think I forgot to install 7z with that image, so unzip the correct .bin somewhere on a local hdd first or install 7z from the live usb stick. Should be some space left for additional installs, but 1GB doesn't leave much to spare. -
No luck.
My EDID is write-protected too :'(
So I guess we'll have to use a modded bios!Last edited: Sep 23, 2015 -
I found this link
Seems to "unbrick" the BIOS.
I'll try tonight to upgrade my bios using this method.
If it works, maybe I could try a modded bios with less risks, but is there a modded bios available for edid white-list?
And if the edid is white-listed, why only the brightness controll doesn't work? And why it's ok on linux?Last edited: Sep 23, 2015 -
Another way is the regitrsy tweak.
According to this MSDN link, it should be possible to
override the edid during initializatio
So if we replace the EDID with LEN40A3 one (or add an EDID_override key) maybe it should work? -
And finally, I received a reply from my screen dealer:
Last edited: Sep 23, 2015
w550s/t550 LCD screen replacement - brightness set at max.
Discussion in 'Lenovo' started by giggidy, Apr 5, 2015.