bulletmark / edid-rw

A utility to read and write a display EDID value.
169 stars 22 forks source link

IOError: [Errno 5] Input/output error #6

Closed pr3ddi closed 8 years ago

pr3ddi commented 8 years ago

Hi, I get an IOError (Xubuntu 15.04, 64bit, python 2.7.9), can you help ?

sudo ./edid-rw -w 1 -f < edid.bin Traceback (most recent call last): File "./edid-rw", line 141, in main() File "./edid-rw", line 125, in main dev.write(i, val) File "./edid-rw", line 52, in write self.smb.write_byte_data(EDID_ADDR, n, val) IOError: [Errno 5] Input/output error

bulletmark commented 8 years ago

What happens when you read it? I.e. type:

sudo edid-rw 1 | edid-decode
pr3ddi commented 8 years ago

sudo ./edid-rw 1 | edid-decode Extracted contents: header: 50 ff ff ff ff ff ff 00 serial number: 10 ac 5f a0 4c 46 43 31 30 14 version: 01 03 basic params: 80 33 1d 78 ee chroma info: ee 95 a3 54 4c 99 26 0f 50 54 established: a5 4b 00 standard: 71 4f 81 80 d1 c0 01 01 01 01 01 01 01 01 01 01 descriptor 1: 02 3a 80 18 71 38 2d 40 58 2c 45 00 fd 1e 11 00 00 1e descriptor 2: 00 00 00 ff 00 48 56 38 58 50 30 42 4e 31 43 46 4c 0a descriptor 3: 00 00 00 fc 00 44 45 4c 4c 20 55 32 33 31 31 48 0a 20 descriptor 4: 00 00 00 fd 00 38 4c 1e 53 11 00 0a 20 20 20 20 20 20 extensions: 00 checksum: 61

No header found Manufacturer: DEL Model a05f Serial Number 826492492 Made week 48 of 2010 EDID version: 1.3 Digital display Maximum image size: 51 cm x 29 cm Gamma: 2.20 DPMS levels: Standby Suspend Off Supported color formats: RGB 4:4:4, YCrCb 4:2:2 Default (sRGB) color space is primary color space First detailed timing is preferred timing Established timings supported: 720x400@70Hz 640x480@60Hz 640x480@75Hz 800x600@60Hz 800x600@75Hz 1024x768@60Hz 1024x768@75Hz 1280x1024@75Hz Standard timings supported: 1152x864@75Hz 1280x1024@60Hz 1920x1152@60Hz Detailed mode: Clock 148.500 MHz, 509 mm x 286 mm 1920 2008 2052 2200 hborder 0 1080 1084 1089 1125 vborder 0 +hsync +vsync Serial number: HV8XP0BN1CFL Monitor name: DELL U2311H Monitor ranges: 56-76HZ vertical, 30-83kHz horizontal, max dotclock 170MHz Checksum: 0x61 (should be 0x11) EDID block does not conform at all! Block has broken checksum

pr3ddi commented 8 years ago

diff

edid0.txt is from a DELL U2311H working edid1.txt is from a DELL U2311H broken, which I am trying to fix

bulletmark commented 8 years ago

In discussion about a similar problem at http://stackoverflow.com/questions/30325351/ioerror-errno-5-input-output-error-while-using-smbus-for-analog-reading-thr somebody suggests that the write may be too fast for the hardware so try adding "-s.01" option to delay between writes. This switch was added in commit e092929d70aff7587aa0f1a35a950dcfdcb60ceb by somebody else who found they needed it.

pr3ddi commented 8 years ago

I have tried adding the sleep option, even with bigger values than .01, but it did not work. Inserting a "print i" in line 125 shows that it is the first write that fails. Could it be that the EEPROM is write protected somehow ? The service menu of the monitor says something like "EDID ADDRESS 7C", but 7C is too high (i2c error message) and reading over 50 works fine. Any other ideas ? Thanks for your help so far :-)

bulletmark commented 8 years ago

Sorry, can't offer anything else ..

pr3ddi commented 8 years ago

ok, thanks anyway