As most people who did the IPS display swap seem to have problems with using it in BIOS or Bootmode I decided to put a solution for it online.
I had the same issue after installing the IPS display and spent lots of hours searching for a older BIOS than R0142C5. By now I am quite sure that (even if you you would get such a BIOS from sony) this is not the solution. In addition, who would ever like to do a Downgrade if it its not necessary
The real problem is the 128 Bit EDID (Extended Display Identification Data) which is stored in a small eeprom chip (mostly 24Lxxxx) in displays controller board. So if we swap the display we also swap the EDID which (in our case) is different in many characteristics like Vendor, Modell, Timings, Colours...
In a higher OS (like Windows, Linux, etc.) our graphics card has a well made driver which contains its own display information. So - in our case - its the Intel HD 4000 Windows Driver which either has usable information about our IPS display or (in all probability) just doesnt recognize the swap until we dont make a BIOS change.
In BIOS mode the HD 4000 doesnt have a complex driver and so it has to trust the EDID information which it gets through LVDS. Maybe its a missing timing or information without our graphics card cant control the display or - more likely - it is just prevented by sony BIOS to use another display (like many laptop vendors seem to do it).
So if we really want to get our IPS display to fit to our SVS13 we need to change its EDID information as near to the original non-ips display as possible. Just copying the whole EDID could cause our IPS to stop working because our laptop would use the wrong timings. So it is necessary to make a new EDID code and write it to the IPS displays eeprom:
(1) First thing to say: For this procedure it doesnt matter if you set your your graphics card switch to stamina or speed. In either way EDID flashing will be possible with Intel HD graphics adapter. The nvidia card seems to be only an additional adapter for 3D calculation (like former 3dfx Vodoo if you still know it, so the intel card is still used for direct connection to the display.
(2) Unfortunately EDID flashing is not possible under Windows because Intel HD drivers seem to permit it: powerstrip tool doesnt get a direct connection. But dont worry, you can make a Linux USB stick in just some minutes and basic linux skills sufficient. So go to: "http://www.ubuntu.com/download/desktop/create-a-usb-stick-on-windows" and create your own USB-Stick.
(3) You can swap to your old display if you would like to read out your original displays EDID data and make an EDID data for yourself. But if you have had a CHIMEI INNOLUX N133FGE-L31 in your SVS13 you can skip this step and use my attached binary file.
(4) Start Ubuntu: If you do this with your IPS display, try to make sure your system will boot from stick. There is also a boot selection where you have to press "Enter" to boot Ubuntu.
(5) Install universe package with this code: sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"
(6) Follow the linux commands:
$ sudo apt-get install i2c-tools lm-sensors
$ sudo /usr/sbin/sensors-detect
Type "n" for no until you get to this question:
"Do you want to probe the I2C/SMBus adapters now? (YES/no)"
Type "y" for yes
Answer should be: "Using driver `i2c-i801' for device 0000:00:1f.3: Intel ICH9"
$ sudo modprobe i2c-i801 (if answer contained i2c-801)
$ sudo modprobe i2c-dev
$ sudo i2cdetect -l
Example Answer:
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
In this case your panel is connected to bus number 5.
$ sudo i2cdump -r 0-127 5 0x50 b
If everything worked you get this answer:
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 30 E4 60 03 00 00 00 00 ........0?`?....
10: 00 15 01 03 80 1D 11 78 0A 00 05 00 00 00 00 00 .??????x?.?.....
20: 00 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01 .PT...??????????
30: 01 01 01 01 01 01 2E 26 40 B8 60 84 0C 30 30 30 ??????.&@?`??000
40: 23 00 26 a6 10 00 00 19 00 00 00 00 00 00 00 00 #.&??..?........
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 fe 00 4C .............?.L
60: 47 20 44 69 73 70 6C 61 79 0A 20 20 00 00 00 FE G Display? ...?
70: 00 4C 50 31 33 33 57 44 32 2D 53 4C 42 31 00 9B .LP133WD2-SLB1.?
(7) For IBM thinkpad display swaps it seems to work if you only change vendor and type of display (in this case 30 E4 60 03), but this didn't work out for me so (in my attached bin file) I changed everything but the timing information. Because it would be about 100 manual steps to change every necessary byte you need another tool to flash the whole eeprom.
(8) Follow steps 1-6 at "http://www.chalk-elec.com/?p=1905" to install edid-rw and write-edid.sh
(9) Use my attached binary (you have to copy it in write-edid.sh folder) with step 8 and check edid afterwards
If everything worked you should finally have a display in BIOS, etc. and of course will never have to swap back to the old display!
Link to modded IPS Binary EDID File:
https://drive.google.com/file/d/0B_aIV1n5AJtEZ0JyZlpucmpkaFU/view?usp=sharing
-
-
Even though this doesn't apply to me - I have a different model - I have to appreciate both your hard work and your willingness to help others.
-
Would this work through a VM by any chance?
-
Just did it with the Ubuntu running from the USB stick. Thanks for all your effort; with such detailed foolproof instructions it worked of course (my panel was at ID 14).
-
Absolutely incredible work discovering this technique - I have the same laptop and LG display model and it worked perfectly with your file!
Edit: It could be my imagination, but it looks like the display brightness has a lower minimum now. The LG panel was too bright for my tastes at the lowest setting previously - now it seems to go as low as the Chimei. No doubt there's also some battery life savings here too.Last edited: Jul 17, 2015 -
hi, thank you very much for having this post, the ips is really great but without the bios display, holds it's benifit. now finally got solved.
I have a problem with (5) and (6)install universe package "with this code: sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe""
(6) Follow the linux commands: $ sudo apt-get install i2c-tools lm-sensors
I got error "unable to locate package i2c-tools"
e: package 'lm-sensors' has no installation candidate.
I wonder maybe the link above has updated? or any error i made?
any advise is much appreciated. -
-
thank you for replying, yes I did it with a live usb, I am sorry I am not familiar with linux for "run apt-get update first." how to do it by type it in the terminal ? or
-
sudo apt-get updateend368 likes this. -
that's really nice of you! Thank you, I spent whole days on figuring out this... really appreciated your help!
Darkimmortal likes this. -
apt-get update first
(8) Follow steps 1-6 at "http://www.chalk-elec.com/?p=1905" to install edid-rw and write-edid.sh.
everything seems to be working but for here on the link step (5) below after typed in sudo ./edid-rw 0 | edid-decode
I got other error :"sudo ./edid - rw:command not found.
do you know what's went wrong?
"Now we should find which I2C bus is used by our HDMI adapter. The simplest way is to try bus numbers one by one with command like:
1
sudo ./edid-rw 0 | edid-decode -
-
You need to be in the directory of the stuff you git clone'd and you might also need to chmod +x it
end368 likes this. -
- First of all, lets install required tools. We will need Python SMBus library to read/write data to I2C bus, and EDID decode tools to represent EDID data in human-readable form:
1
sudo apt-get install python-smbus edid-decode - Then we should download edid-rw utility:
1
git clone https://github.com/bulletmark/edid-rw - And write-edid script that I wrote to simplify update process:
1
git clone https://github.com/ChalkElec/write-edid - Activate i2c-dev kernel module to get access to I2C bus:
1
sudo modprobe i2c-dev - Now we should find which I2C bus is used by our HDMI adapter. The simplest way is to try bus numbers one by one with command like:
1
sudo ./edid-rw 0 | edid-decode
ubuntu@ubuntu:~$ sudo ./edid-rw 2 | edid-decode
sudo: ./edid-rw: command not found
Extracted contents:
header: 00 00 00 00 00 00 00 00
serial number: 00 00 00 00 00 00 00 00 00 00
version: 00 00
basic params: 00 00 00 00 00
chroma info: 00 00 00 00 00 00 00 00 00 00
established: 00 00 00
standard: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
descriptor 1: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
descriptor 2: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
descriptor 3: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
descriptor 4: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
extensions: 00
checksum: 00
No header found
Manufacturer: @@@ Model 0 Serial Number 0
EDID version: 0.0
Analog display, Input voltage level: 0.7/0.3 V
Sync:
Image size is variable
Gamma: 1.00
Monochrome or grayscale display
Established timings supported:
Standard timings supported:
non-conformant standard timing (0 horiz)
non-conformant standard timing (0 horiz)
non-conformant standard timing (0 horiz)
non-conformant standard timing (0 horiz)
non-conformant standard timing (0 horiz)
non-conformant standard timing (0 horiz)
non-conformant standard timing (0 horiz)
non-conformant standard timing (0 horiz)
Manufacturer-specified data, tag 0
Manufacturer-specified data, tag 0
Manufacturer-specified data, tag 0
Manufacturer-specified data, tag 0
Checksum: 0x0
EDID block does not conform at all!
Bad year of manufacture
Manufacturer name field contains garbage
ubuntu@ubuntu:~$ - First of all, lets install required tools. We will need Python SMBus library to read/write data to I2C bus, and EDID decode tools to represent EDID data in human-readable form:
-
thanks alot finally done with the update really help displaying the bios.
Last edited: Jul 21, 2015 -
-
Wow !!! This is awesome !!!
Works like a charm !!! Thanks a lot !!!!!!! -
thanks mistaminista,
used a bunch of this info to get a lenovo y580 replacement lcd working right -
Sony Vaio S13 IPS Display BIOS / Brightness Issue solved (EDID)
Discussion in 'VAIO / Sony' started by mistaminista, Mar 14, 2015.