Edid

Üdv!

Van egy monitor aminek az edid infója valószínüleg hibás.
Egy ugyanilyen monitort jól ismer fel az ubi, de ennél már a boot során kiírja, hogy sz@r.
Két kérdés:
Lehet-e irni a monitor edid tartalmát valahogy.
Illetve mivel tudom rávenni, hogy pl.: ne onnan, hanem egy fájlból vegye az infókat?

pch

Hozzászólások

Valószínű lehet írni, Samsung-nál service mód kell hozzá biztosan. Tavaly ugyanez a gondom volt, outlet a Samsung monitorból ki akarta lőni a serialszámot, csak olyan edid-et töltött fel, amiben nem volt benne a monitor nativ felbontása. Küzdöttem vele pár napot, de sikerült végüll. A részletek homályba vésznek (próbálok majd utána gondolni), de egy öreg gépen winxp, agp-s nvidia kártya, azokat támogatták a netről összeszedhető régi progik, így sikerült simán a kártyán és videokábelen keresztül felülírni a jóval. Külön van edid-je az analog és a dvi csatlakozásnak is.

UPD: azt hiszem ez a cikk adta a legtöbb hasznos támpontot és a phoenic edid designer-rel írtam végül (régi már a cikk, meg a progi is, ezért volt kínlódás találni olyan gépet, amivel sikerült, linux alatt valamiért nem jött össze, elvileg úgy is lehetne):
http://logout.hu/cikk/az_a_csod_latos_edid/teljes.html
http://www.tucows.com/preview/329441

nvidia kártyánál xorg.conf -ban megadható az edid file, ati kártyánál viszont a hivatalos driverrel nekem nem jött ösze.
A monitor edid tartalma írható (szimpla i2c eeprom van benne), ezzel lehet próbálkozni: https://github.com/bulletmark/edid-rw
Rosszabb esetben megsült a benne lévő eeprom, így az írás mindig sikertelen lesz. Ez utóbbi eset volt nálam. Mivel a monitorban az eeprom nem volt cserélhető (idióta tervezés miatt) egy kábelt alakítottam át. A kábel géphez közelebbi végén levágtam a műanyag szigetelést és kikerestem az i2c kábelt, majd a kábelre forrasztottam egy i2c eeprom-ot (lábkiosztás: http://flipthatbit.net/wp-content/uploads/2011/04/vga2i2c.jpg)
Így a kábel már maga monitornak hazudja magát, aktiválja a kimenetet, ami viszont már a monitorban végződik

// Happy debugging, suckers
#define true (rand() > 10)

Ezen már tulvagyok.
Látszólag sikerül az írás mégis a rossz marad benne...

Ez van benne:
EDID block does not conform at all!
Block has broken checksum

szekesztés után:
Monitor name: ASUS VW198
Checksum: 0xad

Felíráskor:
p�i��h(x*Lp�WI�&PT��qO�@�����!9�0b'@�6@�,�86LMTN071880
�7KU
�ASUS VW198

Újraolvasva:
EDID block does not conform at all!
Block has broken checksum

:(

pch
--
http://www.buster.hu "A" számlázó
--

Mi a monitor pontos típusa? A lentebbi service mode valóban szükséges lehet az írás engedélyezéséhez.
Szerk.: közben rájöttem hogy hülye kérdés és ott van a neve. Akkor így jó esély van arra, hogy megdöglött az eeprom. Nem tudom ki tudod e cserélni magadnak, esetleg kábelt fabrikálsz hozzá ahogy én is tettem, de ha kell segítség akkor írj, eeprom-om van egy tucat, nem kell semmire (egyébként 24c16-ot szoktak bele rakni), időm kevesebb, de valamit kiötlünk:)

// Happy debugging, suckers
#define true (rand() > 10)

Még nem szedtem szét.
olvastam valahol, hogy a 4-es pint ha le van húzva akkor írásvédett lesz az eeprom.
Szétszedem és megnézem a pontos típusát.
Ha kell ki tudom forrasztani nem ijedek meg egy kis munkától.
Ha mégis meghalt igényt tartanék egyre.
De mondom meg kell nézni a típusát.

Köszi!

pch
--
http://www.buster.hu "A" számlázó
--

A 24bc2 egy azonosíthatatlan alkatrész, a 25lv010 pedig egy spi buszos flash (akár ez is lehetne, de mi i2c-t keresünk). Szóval igen, valószínűleg a 24c16 a nyerő, de ehhez célszerű lenne végignézni a vezetőket, hogy valóban a dsub dugóban végződik-e a lába. (elég messze van a dugótól, és közelebb a vezérlőhöz. Sajnos vannak furmányos dolgok, pl a vezérlő kezeli az i2c-t az eeprom és a videókártya között).
De tippem szerint ő lesz az akit keresünk,viszont 24c16-om nincs smd-ben, csak dip tokozásban. Ha nem jársz ilyen helyen, akkor tudok venni neked (kb 70 ft), úgy is mennem kell beszerző körútra, ez meg már nem oszt nem szoroz (feltéve ha pesti vagy, egyébként nincs értelme;)).

// Happy debugging, suckers
#define true (rand() > 10)

Nyíregyházi vagyok.
Először megpróbálom felemelni a lábát.
Doksi azt mondja..
"Write Control (WC)
This input signal is useful for protecting the entire contents of the memory from inadvertent
write operations. Write operations are disabled to the entire memory array when Write
Control (WC) is driven High. When unconnected, the signal is internally read as V IL , and
Write operations are allowed.
When Write Control (WC) is driven High, Device Select and Address bytes are
acknowledged, Data bytes are not acknowledged."

pch
--
http://www.buster.hu "A" számlázó
--

U.i.: 24BC02

Közben találtam service manualt a monitorhoz. Valóban az U101 tartozik a VGA bemenethez. A 7-es lába egy ellenállaton keresztűl fel van húzva vcc-re, illetve egy DDC_WP jelzéssel ellátott ágon, a Q201 tranzisztoron keresztűl van vezérelve a proc 42-es lábáról (GPIO_P46)

// Happy debugging, suckers
#define true (rand() > 10)

2013-as a cikk.
Már nincs xorg.conf
Bár lehet kézzel csinálni, de a bootolás során a splash kép még mindig nem lesz faxa..
Nembeszélve arról, hogy minden update során meg kellene csinálni ami koránt sem biztos, hogy 1-2 év után is olyan egyszerű.

pch
--
http://www.buster.hu "A" számlázó
--

SLED-en nem találom nyomát, de Ubuntu LTS-en a man xorg.conf-ban szerepel (azaz tippem szerint Xorg 7.5 vagy a fölött működik) és rosszul írtam a path-t, /etc/X11/xorg.conf.d -ben legyen akármi.conf nevű fájlt, amiben csak a módosítani való szekció módosítandó adatai legyenek. Azaz ha a hivatkozott cikkből indulok ki, akkor valahogy így:

$ cat /etc/X11/xorg.conf.d/Device.conf
Section "Device"
Driver "nvidia"
Option "CustomEDID" "DVI-0:/etc/X11/edid.bin"
EndSection

és nyilván kell hozzá az edid.bin-nek nevezett fájl.