The Notebook Review forums were hosted by TechTarget, who shut down them down on January 31, 2022. This static read-only archive was pulled by NBR forum users between January 20 and January 31, 2022, in an effort to make sure that the valuable technical information that had been posted on the forums is preserved. For current discussions, many NBR forum users moved over to NotebookTalk.net after the shutdown.
Problems? See this thread at archive.org.

    Sony Vaio S13 IPS Display BIOS / Brightness Issue solved (EDID)

    Discussion in 'VAIO / Sony' started by mistaminista, Mar 14, 2015.

  1. mistaminista

    mistaminista Newbie

    Reputations:
    9
    Messages:
    2
    Likes Received:
    5
    Trophy Points:
    5
    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

     
    Jaguar, Darkimmortal, t456 and 2 others like this.
  2. anytimer

    anytimer Notebook Virtuoso

    Reputations:
    302
    Messages:
    2,160
    Likes Received:
    321
    Trophy Points:
    101
    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. :vbthumbsup:
     
  3. ijozic

    ijozic Notebook Deity

    Reputations:
    122
    Messages:
    877
    Likes Received:
    186
    Trophy Points:
    56
    Would this work through a VM by any chance?
     
  4. ijozic

    ijozic Notebook Deity

    Reputations:
    122
    Messages:
    877
    Likes Received:
    186
    Trophy Points:
    56
    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).
     
  5. Darkimmortal

    Darkimmortal Notebook Evangelist

    Reputations:
    22
    Messages:
    307
    Likes Received:
    5
    Trophy Points:
    31
    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
  6. end368

    end368 Notebook Enthusiast

    Reputations:
    0
    Messages:
    10
    Likes Received:
    1
    Trophy Points:
    6
    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.
     
  7. Darkimmortal

    Darkimmortal Notebook Evangelist

    Reputations:
    22
    Messages:
    307
    Likes Received:
    5
    Trophy Points:
    31
    If this is from a live usb, run apt-get update first.
     
  8. end368

    end368 Notebook Enthusiast

    Reputations:
    0
    Messages:
    10
    Likes Received:
    1
    Trophy Points:
    6
    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
     
  9. Darkimmortal

    Darkimmortal Notebook Evangelist

    Reputations:
    22
    Messages:
    307
    Likes Received:
    5
    Trophy Points:
    31
    Yes run the following in terminal:

    sudo apt-get update
     
    end368 likes this.
  10. end368

    end368 Notebook Enthusiast

    Reputations:
    0
    Messages:
    10
    Likes Received:
    1
    Trophy Points:
    6
    that's really nice of you! Thank you, I spent whole days on figuring out this... really appreciated your help!
     
    Darkimmortal likes this.
  11. end368

    end368 Notebook Enthusiast

    Reputations:
    0
    Messages:
    10
    Likes Received:
    1
    Trophy Points:
    6
    apt-get update first
    thank you for helping, I am now gone to step 8
    (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
     
  12. end368

    end368 Notebook Enthusiast

    Reputations:
    0
    Messages:
    10
    Likes Received:
    1
    Trophy Points:
    6
    hi, I am working on step 8 on the link (5) step after typed sudo ./edid-rw 0 | edid-decode, the terminal responds sudo: ./edid -rw: command not found. do you know what went wrong?
     
  13. Darkimmortal

    Darkimmortal Notebook Evangelist

    Reputations:
    22
    Messages:
    307
    Likes Received:
    5
    Trophy Points:
    31
    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.
  14. end368

    end368 Notebook Enthusiast

    Reputations:
    0
    Messages:
    10
    Likes Received:
    1
    Trophy Points:
    6
    I am sorry, luck of linux skill I am quite confuse please give me a hand, thank you for you patient. I have follow those step by step. but when I do "sudo ./edid-rw 0 | edid-decode" I got the following responds ( after step 5)
    1. 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
    2. Then we should download edid-rw utility:
      1
      git clone https://github.com/bulletmark/edid-rw
    3. And write-edid script that I wrote to simplify update process:
      1
      git clone https://github.com/ChalkElec/write-edid
    4. Activate i2c-dev kernel module to get access to I2C bus:
      1
      sudo modprobe i2c-dev
    5. 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
    responds from terminal

    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:~$
     
  15. end368

    end368 Notebook Enthusiast

    Reputations:
    0
    Messages:
    10
    Likes Received:
    1
    Trophy Points:
    6
    thanks alot finally done with the update really help displaying the bios.
     
    Last edited: Jul 21, 2015
  16. end368

    end368 Notebook Enthusiast

    Reputations:
    0
    Messages:
    10
    Likes Received:
    1
    Trophy Points:
    6
    thanks alot. after some search on google. fianlly got it done. thank you very much
     
  17. QuentinC

    QuentinC Newbie

    Reputations:
    0
    Messages:
    5
    Likes Received:
    0
    Trophy Points:
    5
    Wow !!! This is awesome !!!
    Works like a charm !!! Thanks a lot !!!!!!!
     
  18. y590

    y590 Notebook Guru

    Reputations:
    5
    Messages:
    62
    Likes Received:
    4
    Trophy Points:
    16
    thanks mistaminista,

    used a bunch of this info to get a lenovo y580 replacement lcd working right
     
  19. y590

    y590 Notebook Guru

    Reputations:
    5
    Messages:
    62
    Likes Received:
    4
    Trophy Points:
    16
    thanks for the write up mistaminista. helped me a bunch! can you tell me anything more about the edid.bin file that you created and just put the timing info in? to know what magic you did to create that would be a joy! (without the wiki beat down)