lcd panel edid eeprom error manufacturer
This topic describes how vendors and manufacturers can override the Extended Display Identification Data (EDID) of any monitor through an INF file, and provides a sample INF file (Monsamp.inf).
All monitors, analog or digital, must support EDID, which contains information such as the monitor identifier, manufacturer data, hardware identifier, timing info, and so on. This data is stored in the monitor’s EEPROM in a format that is specified by VESA.
Monitors provide the EDID to Microsoft Windows components, display drivers, and some user-mode applications. For example, during initialization the monitor driver queries the Windows Display Driver Model (WDDM) driver for its brightness query interface and device driver interface (DDI) support, which is in the EDID. Incorrect or invalid EDID information on the monitor’s EEPROM can therefore lead to problems such as setting incorrect display modes.
The better solution, described here, is for the manufacturer to implement an INF file that contains the correct EDID info, and have the customer download it to the computer that is connected to the monitor. Windows extracts the updated EDID information from the INF and provides it to components instead of using the EEPROM EDID information, effectively overriding the EEPROM EDID.
In addition to replacing the EDID information, a vendor can provide an override for the monitor name and the preferred display resolution. Such an override is frequently made available to customers through Windows Update or digital media in the shipping box, and receives higher precedence than the EDID override mentioned here. Guidelines for achieving this can be found in Monitor INF File Sections.
Each block is numbered, starting with 0 for the initial block. To update EDID info, the manufacturer’s INF specifies the number of the block to be updated and provides 128 bytes of EDID data to replace the original block. The monitor driver obtains the updated data for the corrected blocks from the registry and uses the EEPROM data for the remaining blocks.
The monitor manufacturer implements an INF that contains the updated EDID information and downloads the file to the user’s computer. This can be done through Windows Update or by shipping a CD with the monitor.
The monitor driver checks the registry during initialization and uses any EDID information that"s stored there instead of the corresponding information on EEPROM. EDID information that has been added to the registry always takes precedence over EEPROM EDID info.
The block number is a zero-indexed value of the EDID block to override. The data bytes should be formatted as 128 hexadecimal integers that contain the binary EDID data. The "0x1" value after the block number is a flag indicating that this registry value contains binary data (FLG_ADDREG_BINVALUETYPE).
Manufacturers must update only those EDID blocks that are incorrect. The system obtains the remaining blocks from EEPROM. The following example shows the relevant sections of an INF that updates EDID blocks 0, 4, and 5. The monitor driver obtains blocks 1 - 3 and any extension blocks that follow block 5 from EEPROM:
I replaced the lcd screen on my Dell Inspiron 1525 because it was broken while downloading a service pack update when my dog knocked it off the table, cracking the screen and interupting the download. After that it would not boot so I had to format my hard drive. I could still see some of the screen after formatting my hard drive on broken screen. I then ordered a new screen and now I have a black screen. External output works fine. I also tested the screen in another Inspiron and the new screen is good. I am getting the error code 2000-0321 unable to access edid eeprom. Flashed the latest BIOS but that did not help. In the BIOS in reads- unknown screen type. I then put the cracked screen back in and now I am not able to see anything at all on that screen, either. But a smaller screen from a different Dell Laptop works. Any ideas how to resolve this??
The 24C04 is a 4K Bit EEPROM used to store monitor display control data. This memory is not directly accessible by the consumer; the adjustments are entered into the OSD menu, then the MCU writes the new data to the EEPROM. The information stored in the EEPROM is limited to specific parameters controlled by the monitor MCU.
The 24C02 is a 2K Bit EEPROM used to store monitor EDID information for use by the host PC. This information is written at the factory, and cannot be altered or deleted by the consumer.
The 24C16 is a 16K Bit EEPROM used to store monitor display control data. This memory is not directly accessed by the consumer; rather the adjustments are entered to the OSD display. The MCU then writes this information to the EEPROM. The information stored in the EEPROM is limited to specific display parameters that are controlled by the monitor MCU.
The 24C02 is a 2K Bit EEPROM used to store monitor EDID information for use by the host PC. This information is written at the monitor factory, and cannot be altered or deleted by the consumer.
The trouble started when I activated Intel"s integrated, on-board graphics controller. I connected the digital output and made it the primary adapter in the BIOS. The screen remained dark. I switched monitors around and realized why: The EDID from the digital input was broken.
After some research, I realized that EDID issues are actually fairly common. The EEPROMs used to store the information are not always write-protected. Some people say hot-plugging the cables can cause corruption.
First off, let me mention that the Linux kernel has a great way to deal with the issue. It can load EDID information on a non-permanent basis like firmware via the kernel command line. In my case, I included the EDID file in the initrd and reconfigured my bootloader with:
It worked great! I simply used the EDID data from the analog input, even though monitors present slightly different EDID data on their analog and digital inputs. I am not sure why or when it matters.
Going through these steps with the kernel is good for two reasons. Firs, it shows you if the EDID you are about to flash actually makes your monitor perform better. (Without EDID data, most systems offer only lower VESA resolutions.) Second, it will give you confidence that there is an acceptable backup solution in case you break the EEPROM, although I think that particular risk is small.
All monitor connectors, such as VGA, DVI and HDMI, have dedicated pins that do nothing but read the EDID information from monitors. They use the I2C protocol. It was designed for serial communications between integrated circuits. All graphics cards can read this bus, and many can write to it.
For example, I successfully overwrote the digital EDID for my ViewSonic monitor with the analog version, but it ended up not working. In retrospect, it was probably a cabling issue (more on that later) but I chose to restore the original digital version, which was surprisingly easy.
You can use cat to store each piece of information in a separate file. I inspected the files with parse-edid and wxedid and gave them meaningful names such as:
Please do not forget to switch your cables around to get the other inputs also. For each monitor that is fully functional you should have two EDID files—one for the analog and another for the digital input.
The method above seems to work only for the EDID that were recognized as valid. For any others (and hopefully it is just one) we will use the eeprom driver:
The folder contains a bunch of devices and buses but we only care about those with a start offset of 0x50. The data is similar to the edid data above, but here you get the actual hardware contents. In my case, all monitors used 256 byte EEPROMS.
Once again I used cat to save the data returned by each of the eeprom devices. Unlike the EDIDs, which can be of variable length, all data here was 256 bytes long (although all higher bytes were empty).
Use tools like parse-edid, hexdump or wxedid to figure out which eeprom corresponds to the broken EDID. (You may have to tell wxedid to ignore the checksum.) Make a copy of the broken file.
An early version of the service manual for my monitor stated that both analog and digital EDIDs were identical. Initially, simply programmed the working analog data into the broken digital input. Still, the monitor was not recognized on reboot (although I now think it was a cabling issue). That is how I ended up patching the digital file.
I opened up two instances of wxedid. One was for the working and another for the broken EDID, respectively. (Again, you may have to tell the program to ignore the checksum on the broken file.) I then adjusted a few parts of the broken digital data to look more like the working analog copy.
When I asked wxedid to compute the checksum—hey presto—it matched the existing record. The data I added probably restored the EDID to what it was once. I used wxedid to save it as a *.bin file. The length was 128 bytes long, which was what I expected.
Some of the hexdumps can look a little different from one to another. In my case, some were on a byte basis, while another used two-byte words. Just make sure you are looking at the same thing. Again, the broken EDID should be in the bus number you memorized above.
Writing to EEPROMs is a very dangerous operation. You can literally destroy your computer. You just have to write to the wrong place, or perhaps write too much data. There is particular risk with your DRAM chips.
Serious EEPROM programmers should use other software options instead. The i2c-tools maintainers only ship a version that changes a single byte, but it is enough for us.
Finally, please verify with i2cdump that the EEPROM contains the correct data now. Reboot to see if your BIOS and the Linux kernel agree with your assessment.
In my case, I encountered a vexing problem. Even though the data in the EEPROM was clearly correct, neither the BIOS nor the kernel accepted the first EDID during reboots (and dmesg showed it was defective).
A method of changing EDID of a memory of a motherboard in response to replacing an LCD panel of a computer with a different one comprises detecting a chipset; reading a SM bus base or GPIO base; activating a writing mechanism; selecting compatible EDID; writing the EDID into the memory; detecting an error; and closing the writing mechanism. The invention can be embodied by means of software rather than hardware. Thus, it is much convenient.
The present invention relates to method of changing settings of a motherboard and more particularly to a method of changing an EDID (extended display identification data) stored in memory of a motherboard by means of software rather than hardware in response to replacing an LCD (liquid crystal display) panel of a computer with a different one.
Conventionally, an LCD panel of computer has a unique EDID which is defined by VESA (Video Electronic Standards Association) standard. Electrical characteristics of an LCD panel are stored in EDID. EDID is a protocol of DDC (display data channel) for enabling a computer to correctly identify specifications of the LCD panel for control. EDID is typically stored in an EEPROM (electrically erasable programmable read-only memory) of a motherboard. This means that EDID is unique to each motherboard. Thus, the motherboard and thus the computer may not function normally if the original LCD panel is replaced by a new one of different brand. For solving this problem, the only method is to remove the EEPROM from the motherboard prior to burning in a compatible EDID into the EEPROM. Further, it is required to remove the EEPROM from the motherboard prior to burning in changed parameters of EDID into the EEPROM if parameters of LCD panel are required to change. In view of the above, it is not convenient. Hence, a need for improvement exists. SUMMARY OF THE INVENTION
It is an object of the present invention to provide a method of changing EDID of a memory of a motherboard in response to replacing an LCD panel of a computer with a different one, comprising the steps of detecting a chipset; reading a SM bus base or GPIO (General Purpose Input Output) base; activating a writing mechanism; selecting compatible EDID; writing the EDID into the memory; detecting error; and closing the writing mechanism.
Referring to FIG. 1, a LCD VGA (Video Graphics Array) controller of the invention accesses EDID of a desired LCD via a SM (system management) bus (or I2C bus) of DVOI (Digital Video Output Interface) and a selector. As such, initialization data for illuminating LCD panel can be obtained. Hence, different LCD panels can be controlled by changing EDID with respect to factors such as brightness adjustment, etc.
Referring to FIG. 2, there is shown a process of the invention. The process comprises the steps of detecting a chipset for determining whether it is VIA 686B or Intel 815 (step 21); reading SM bus base or GPIO (General Purpose Input Output) base (step 22) if the determination step is positive else ending the process; activating a writing mechanism if the reading is correct (step 23); selecting compatible EDID (step 24); writing EDID into EEPROM (step 25); detecting error (step 26) if the writing is correct; and closing the writing mechanism (step 27) prior to ending the process.
Referring to FIG. 3, there is shown a screen of the invention. As shown, a predetermined number of ID files are available to select on the screen. The ID files comprise standard 640*480 pixels (31), standard 800*600 pixels (32), standard 1024*768 single and dual pixels (33 and 34), and others for selecting a bin file (35). The process of the invention will store EDID in memory (e.g., EEPROM) if the selected EDID is compatible with that of the LCD panel. Referring to FIG. 4, stored filenames and associated information are shown on the screen. EDID comprises a number of parameters adapted to change. For example, a maximum horizontal image size is defined in address 15 h, and Gamma value to be transmitted is defined in address 17 h. These parameters are recorded in a bin file. Changes of the parameters can be carried out by editing the bin file and clicking the others (35) option of the above screen to write the changed EDID.
In brief, the invention can carry out a method of changing an EDID stored in memory of a motherboard by means of software rather than hardware if the original LCD panel is replaced by a new one of different brand. As an end, a plug and display feature can be obtained.
1. A method of changing EDID of a memory of a motherboard in response to replacing an LCD panel of a computer with a different one, comprising the steps of:
EDID data exchange is a standardized means for a display to communicate its capabilities to a source device. The premise of this communications is for the display to relay its operational characteristics, such as its native resolution, to the attached source, and then allow the source to generate the necessary video characteristics to match the needs of the display. This maximizes the functional compatibility between devices without requiring a user to configure them manually, thus reducing the potential for incorrect settings and adjustments that could compromise the quality of the displayed images and overall reliability of the system.
Generally, the source device will be a computer graphics card on a desktop or laptop PC, but provisions are in place for many other devices, including HDTV receivers and DVRs, DVD and Blu-ray Disc players, and even gaming consoles, to read EDID and output video accordingly. Originally developed for use between analog computer-video devices with VGA ports, EDID is also now implemented for DVI, HDMI, and DisplayPort.
EDID was developed by VESA - the Video Electronics Standards Association, with version 1.0 introduced in 1994 within version 1.0 of the DDC standard. See Table 1.
Prior to the development of EDID, pins 4, 11, 12, and 15 on the VGA connector were sometimes used to define monitor capabilities. These ID bit pins carried either high or low values to define different screen resolutions. VESA extended this scheme by redefining VGA connector pins 9, 12, and 15 as a serial bus in the form of the DDC - Display Data Channel. This allowed for much more information to be exchanged, so that EDID and other forms of communication were possible between the source and the display.
As display types and capabilities increased, 128 bytes became insufficient, and both EDID and DDC were extended so that multiple 128-byte data blocks could be exchanged. This is known as E-EDID and has been implemented in many consumer devices. In fact, the CEA - Consumer Electronics Association has defined its own EDID extensions to cover additional video formats and to support advanced multi-channel audio capabilities.
In December 2007, VESA released DisplayID, a second generation of EDID. It is intended to replace all previous versions. DisplayID is a variable length data structure, of up to 256 bytes, that conveys display-related information to attached source devices. It is meant to encompass PC display devices, consumer televisions, and embedded displays such as LCD screens within laptops, without the need for multiple extension blocks. DisplayID is not directly backward compatible with previous EDID/E-EDID versions, but is not yet widely incorporated in AV products.
The base EDID information of a display is conveyed within a 128-byte data structure that contains pertinent manufacturer and operation-related data. See Table 2. The current EDID version defines the structure as follows:
The general structure of CEA-861 extension data is shown in Table 3. CEA-861 allows for a variable number of 18-byte detailed timing descriptions to be included. For example, video timing details for 1080i, which is popular for consumer displays but not for PCs, can be communicated. CEA-861 also specifies a variable length "CEA Data Block Collection" for describing parameters such as display colorimetry, and advanced audio capabilities including surround sound format, audio sampling rate, and even speaker configuration and placement. The significance of the CEA-861 extension is that it aims to address previous operational disparities experienced with integrating consumer-based display devices into computer-based commercial AV systems, allowing for proper conveyance of EDID information between devices.
EDID information is typically exchanged when the video source starts up. The DDC specifications define a +5V supply connection for the source to provide power to a display"s EDID circuitry so that communication can be enabled, even if the display is powered off. At startup, the video source will send a request for EDID over the DDC. The EDID/DDC specifications support hot plug detection, so that EDID information can also be exchanged whenever a display is reconnected to a video source. Hot plug detection is not supported for VGA, but is supported in digital interfaces including DVI, HDMI, and DisplayPort. For these interfaces, the display device will supply a voltage on an HPD - Hot Plug Detect pin, to signal to the video source device that it is connected. The absence of a voltage on the HPD pin indicates disconnection. The video source device monitors the voltage on the HPD pin and initiates EDID requests as it senses incoming voltage.
Display devices can have various levels of EDID implementation and, in some cases, they may lack EDID information altogether. Such inconsistencies can cause operational issues ranging from overscan and resolution problems, to the display device not displaying the source content at all.
Possible CauseThe source device, such as a PC graphics card, or laptop, cannot read the EDID information from the display. As a result, in some cases the PC will not output any video signal.
While hot plug detection is supported for DVI, HDMI, and DisplayPort, EDID communication problems can arise from inconsistencies in the implementation of HPD signaling between devices from different manufacturers. This frequently becomes an issue for professional integration, since the ability to switch digital video signals is a necessity.
Possible CauseA PC cannot read the EDID information, so it defaults to a standard resolution, such as 640x480. If the user subsequently attempts to manually set the resolution to match the display, some graphics card drivers may enforce the lower default resolution and create a scrolling/panning desktop without actually changing the video resolution.
The PC is able to read the EDID information, but the graphics card limits the output resolution to XGA 1024x768, a resolution most displays can accommodate, ensuring a usable image and reducing the likelihood of no image being displayed. If this does not match the native resolution of the display, fonts will likely appear to be abnormally large, small, or fuzzy.
The PC is connected to multiple displays with different native resolutions. Since it can only read EDID from one display, the output will be mismatched in resolution with all other displays, resulting in less than optimal image quality, or no image displayed at all. This issue is a common occurrence in professional systems when video signals need to be distributed or routed to multiple displays.
Software such as Extron EDID Manager can be used to help troubleshoot possible compatibility issues between the display device and the source. EDID Manager is available as a free download from Extron"s Web site, www.extron.com. It is a useful software tool that allows you to read the display"s EDID and determine whether a graphic card and the display device may be experiencing EDID handshake problems.
AV systems typically comprise several remotely located displays and often include multiple source devices. It is important to realize this can potentially contribute to EDID-related issues. The necessity to switch, distribute, and route signals from sources to displays presents a considerable challenge in terms of ensuring proper EDID communications and therefore reliable system operation.
For example, systems that employ RGBHV-based distribution have no means of passing EDID information from the display to the source. This could become problematic in system designs where laptops and computers with expectation of seeing EDID are connected into the system. Since EDID information is not being provided to these devices, some of the aforementioned EDID communication issues may occur.
Extron products include features to help prevent or solve many of them by properly managing EDID communications between sources and displays in AV systems. These features provide automatic and continuous EDID management with attached source devices, ensuring proper power-up and reliable output of content.
EDID Emulation is a feature of many Extron DVI and HDMI products, including switchers, distribution amplifiers, and matrix switchers. It maintains constant EDID communication with source devices by providing pre-stored EDID information for various signal resolutions. A user can select the desired signal resolution, and then the corresponding EDID block is conveyed to all attached source devices. This EDID information is constantly available to the sources, even in a switching application where inputs are regularly selected and de-selected. The output of the sources should match the native resolution of the intended display device.
EDID Minder® is an advanced, Extron exclusive technology for EDID management. It encompasses EDID Emulation, but also incorporates an additional level of "intelligence." Extron products with EDID Minder® can communicate with the display device, and automatically capture and store EDID information from the display. See Figure 3. This captured information can then be used as the reference EDID for the sources. EDID Minder® is a standard feature in most Extron DVI and HDMI extenders, switchers, distribution amplifiers, and matrix switchers, as well as products that incorporate DVI or HDMI switching.
The functional role of a given product as a distribution amplifier, switcher, or matrix switcher determines the complexity of EDID Minder® implementation. Matrix switching environments represent the most difficult EDID management situation, with simultaneous EDID communications required for multiple inputs and outputs. The displays connected to the outputs are very likely to be of different models and native resolutions. The EDID information between them is different and needs to be conveyed to the source devices. Proper EDID management within the system is crucial to consistent and reliable operation.
Extron HDMI and DVI matrix switchers with EDID Minder® achieve this by managing EDID communications for each input/output tie. EDID Minder® first analyzes the EDID for all displays connected to the system, applies a complex algorithm to determine a common resolution, refresh rate and color space, and then uses the EDID protocol to set up the input sources. This powerful convenience feature simplifies system setup for the integrator, helps ensure consistent and reliable image display, and makes system operation virtually transparent to the end user.
My LCD panel has worked at last! I think EDID is the key problem.Kernel won"t drive the lcd if it can"t get the panel information by EDID port or the built-in bin files.Unfortunately my board has neither of those.After I made my own edid file based on the panel"s datesheet ,the lcd got work!Here is what I did:
What I did is to download the EDID files from https://github.com/torvalds/linux/tree/master/Documentation/EDID to my BeagleBone Black and make it. An error happened here see output below. I know I must miss some thing, can tyrael or anyone help me about this?
I get the above error message and bluescreen when the computer is just sitting idle does nothing. Usually, it"s when the internet is open, but not surf. Can someone help me understand this. The graphics card is an Intel 82945 G express shipset family and I checked to see if it is up-to-date and the pilot said he is up to date.
Service driver or defective peripheral system. A chauffeur service or defective peripheral system could be responsible for this error. The hardware problems, such as BIOS incompatibilities, conflicts of memory and IRQ conflicts can also generate this error.
If the verification of the message bug list a driver by name, disable or remove that driver. In addition, disable or remove drivers or services that have been recently added. If the error occurs during the startup sequence and the system partition is formatted with the NTFS file system, you may be able to use Safe Mode to rename or to delete the faulty driver. If the driver is used as part of the start-up procedure of the system Safe Mode, you must start the computer by using the Recovery Console to access the file.
If the problem is associated with Win32k.sys, the source of the error may be a third-party remote control program. If this software is installed, you can remove the system startup service using the recovery and then Console by removing the offending system service file.
Check the system log in Event Viewer for additional error messages that might help identify the device or driver responsible for control of bug 0x1E. You can disable the cache in memory of the BIOS to try to resolve the error. You must also run the diagnostics of material, especially the scanner memory, which provides the manufacturer of the system. For more information about these procedures, see the manual of your computer.
The error that generates this message may occur after the first reboot during Windows Setup, or after installation is complete. A possible cause of the error is lack of disk space for installation and the system BIOS incompatibilities. For any problems during the installation of Windows that are associated with lack of disk space, reduce the number of files on the hard disk drive target. Search and delete temporary files that you do not have to have, files hidden Internet, application backup files and files saved.chk, which contain fragments of files on disk scans. You can also use an another hard disk drive with more free space for the installation.
I"m faced with an interesting issue! One of our client Dell laptop does not show POST/Dell splash screen when powered on. Eventually, after a minute or two, the Windows login screen appears. I"ve replaced the LCD panel, updated BIOS, drained power, reseated everything possible, and even re-imaged the HD. Dell diagnostics gives me this error: LCD EDID - Unable to access EDI EEPROM, even after replacing the LCD panel. I"m beginning to suspect that the motherboard is the culprit here. Anyone seen this type of issue before?Just out of curiosity, what does Dell Support have to say about that error?
I"m faced with an interesting issue! One of our client Dell laptop does not show POST/Dell splash screen when powered on. Eventually, after a minute or two, the Windows login screen appears. I"ve replaced the LCD panel, updated BIOS, drained power, reseated everything possible, and even re-imaged the HD. Dell diagnostics gives me this error: LCD EDID - Unable to access EDI EEPROM, even after replacing the LCD panel. I"m beginning to suspect that the motherboard is the culprit here. Anyone seen this type of issue before?Just out of curiosity, what does Dell Support have to say about that error?
SOLVED! I replaced the LVDS cable, and I am now able to see the Dell splash screen and also access BIOS and PXE boot. Diagnostics no longer reports an error. It"s a beautiful day - birds are chirping, flowers are blooming, people are happy. Thank you all for the support!!!
However on my Lenovo laptop these "files" were empty, perhaps they"re different on your system. I found this forum thread that showed sample output from the VGA EDID.