Tweakers,
Vorige week heb ik een BenQ XL2411z 24" 144hz monitor gekocht. De eerste indruk van deze monitor was wat gemengd. Als eerste de 144hz functie was een ware verademing t.o.v mijn oude 60hz scherm. Maar ik had erg veel last van ghosting en crosstalk (bewegende beelden liepen niet helemaal lekker). Na het fine-tunen van mijn settings bleef deze ghosting bestaan, en ben ik gaan zoeken.
BenQ erkend dit probleem, en heeft voor dit probleem nieuwe firmware voor de chip in de monitor vrij gegeven. Mooi! Toch? Niet helemaal. Om de firmware te updaten heb je een stukje hardware nodig wat je kan kopen voor slechts 50 euro (wat je slechts maar eenmalig nodig hebt..). Maar, BenQ is de moeilijkste niet. Je kan het scherm gewoon opsturen naar ze! Je hoeft slechts de verzendkosten van het scherm te betalen, en je bent je scherm maar een paar weken kwijt! Mooi!
Dat ging ik dus niet doen. Ik stuitte daarna op een forumpost op www.blurbusters.com waar iemand een Linux I2C programmer heeft geschreven (waarvoor hulde!), zodat je via de VGA aansluiting en een linux machine de firmware kan updaten!
Deze guide heeft voor mij gewerkt, maar ik heb ook wat problemen ondervonden! Daarom wil ik dit graag met jullie delen! Uiteraard is alles op eigen risico!
Wat heb je nodig?
De eerste regel moet aangevuld worden met "universe multiverse" zodat er staat:
Sla dit bestand op, en nu kunnen de development programmas installeren.
De packages zijn nu geïnstalleerd en kunnen worden geinitialiseerd. Tevens moet Flashrom gepatched worden.
Pak ook even de firmware uit (die download je in .rar formaat).
Nu moeten de drivers geladen worden.
Dit is een HEEL belangrijk stuk. Maak hier geen verkeerde keuzes want anders flash je de verkeerde chip, en sloop je wellicht je randapparatuur.
Ga door middel van i2cdetect X alle devices langs en zorg dat je onderstaande output te zien krijgt:
Bij mij was het op i2c bus 0 waar ik deze output kreeg. dus dit is de bus waarop ik moet flashen. Het kan zijn dat op jou machine de bus anders geadresseerd is, en verander in dat geval de dikgedrukte cijfers in onderstaande commando's naar de juiste bus.
Controleer nu of de juiste chip inderdaad gevonden is.
Maak een backup van de huidige firmware
Zorg dat de firmware exact 2mb in grootte wordt zodat de chip compleet gevuld wordt.
Schrijf de firmware weg naar de chip. DUBBEL CHECK JE I2C BUS!
Het lezen en schrijven van de firmware kan tot wel 15minuten duren. Denk dus niet dat er iets fout gegaan is als het lang duurt!
Toen ik dit alles had gedaan, kreeg ik m'n scherm niet meer aan! Blijkbaar was er iets fout gegaan tijdens het schrijven. Nadat ik dezelfde stappen had doorlopen op een andere PC werkte alles weer naar behoren, en draaide het scherm op V002! Nu is mijn ghosting verholpen en lijkt het alsof ik weer een nieuw scherm heb!
Vorige week heb ik een BenQ XL2411z 24" 144hz monitor gekocht. De eerste indruk van deze monitor was wat gemengd. Als eerste de 144hz functie was een ware verademing t.o.v mijn oude 60hz scherm. Maar ik had erg veel last van ghosting en crosstalk (bewegende beelden liepen niet helemaal lekker). Na het fine-tunen van mijn settings bleef deze ghosting bestaan, en ben ik gaan zoeken.
BenQ erkend dit probleem, en heeft voor dit probleem nieuwe firmware voor de chip in de monitor vrij gegeven. Mooi! Toch? Niet helemaal. Om de firmware te updaten heb je een stukje hardware nodig wat je kan kopen voor slechts 50 euro (wat je slechts maar eenmalig nodig hebt..). Maar, BenQ is de moeilijkste niet. Je kan het scherm gewoon opsturen naar ze! Je hoeft slechts de verzendkosten van het scherm te betalen, en je bent je scherm maar een paar weken kwijt! Mooi!
Dat ging ik dus niet doen. Ik stuitte daarna op een forumpost op www.blurbusters.com waar iemand een Linux I2C programmer heeft geschreven (waarvoor hulde!), zodat je via de VGA aansluiting en een linux machine de firmware kan updaten!
Deze guide heeft voor mij gewerkt, maar ik heb ook wat problemen ondervonden! Daarom wil ik dit graag met jullie delen! Uiteraard is alles op eigen risico!
Wat heb je nodig?
- Een machine met een VGA aansluiting.
- Een tweede scherm is erg handig.
- Een Linux distributie (een Live CD is voldoende). Ik heb Ubuntu Trusty 14.04 gebruikt.
- Tijd
- Geduld
- Een beetje Linux CLI kennis is handig voor eventuele foutmeldingen.
- Maak een bootable device (USB of CD) met de gewenste linux distributie. Hoe dit moet laat ik even buiten beschouwing in deze tutorial.
- Start de Linux distro.
- De BenQ firmware V2 voor het type monitor dat je hebt. Deze is te vinden op de BenQ site.
- Een I2C patch om te communiceren met de chip van je beeldscherm. welke je hier kan downloaden.
- Sluit je BenQ monitor aan via de VGA aansluiting. Test dat deze werkt, en zet hem daarna in stand-by.
code:
1
2
| # De sources.list aanpassen om de programmas te vinden sudo gedit /etc/apt/sources.list |
De eerste regel moet aangevuld worden met "universe multiverse" zodat er staat:
code:
1
| deb http://archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse |
Sla dit bestand op, en nu kunnen de development programmas installeren.
code:
1
2
3
4
5
| #update de package list. sudo apt-get update #installeer de packages sudo apt-get install i2c-tools subversion libpci-dev unrar |
De packages zijn nu geïnstalleerd en kunnen worden geinitialiseerd. Tevens moet Flashrom gepatched worden.
code:
1
2
3
4
| svn co svn://flashrom.org/flashrom/trunk flashrom cd flashrom wget -O- http://boeglin.org/static/benq/0001-Add-programmer-for-the-MSTAR-I2C-ISP-protocol.patch | patch -p1 make -j |
Pak ook even de firmware uit (die download je in .rar formaat).
code:
1
2
3
4
5
| # de downloadlocatie voor mij was in de Downloads map. cd Downloads # Pak het bestand voor de handigheid uit in de flashrom map die zojuist is aangemaakt. unrar e <Bestandsnaam>.rar ../flashrom cd ../flashrom |
Nu moeten de drivers geladen worden.
code:
1
2
| # laadt de I2C drivers sudo modprobe i2c-dev |
Dit is een HEEL belangrijk stuk. Maak hier geen verkeerde keuzes want anders flash je de verkeerde chip, en sloop je wellicht je randapparatuur.
code:
1
2
3
4
5
6
| # list alle i2c buses sudo i2cdetect -l # list i2c devices op bus 0 sudo i2cdetect [b]0[/b] # get EDID (0x50) van bus 0 sudo i2cdump -r 0-127 [b]0[/b] 0x50 |
Ga door middel van i2cdetect X alle devices langs en zorg dat je onderstaande output te zien krijgt:
code:
1
2
3
4
5
6
7
8
9
| 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- 37 -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- 49 -- -- -- -- -- -- 50: 50 -- -- -- -- -- -- -- -- 59 -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- |
Bij mij was het op i2c bus 0 waar ik deze output kreeg. dus dit is de bus waarop ik moet flashen. Het kan zijn dat op jou machine de bus anders geadresseerd is, en verander in dat geval de dikgedrukte cijfers in onderstaande commando's naar de juiste bus.
Controleer nu of de juiste chip inderdaad gevonden is.
code:
1
2
| # identificeer de flash chip, op bus 0 (/dev/i2c-0); address 0x49 sudo ./flashrom -p mstarddc_spi:dev=/dev/i2c-[b]0[/b]:49 |
Maak een backup van de huidige firmware
code:
1
| sudo ./flashrom -p mstarddc_spi:dev=/dev/i2c-[b]0[/b]:49 -c "MX25L1605A/MX25L1606E" -r backup.bin |
Zorg dat de firmware exact 2mb in grootte wordt zodat de chip compleet gevuld wordt.
code:
1
2
| tr '\000' '\377' < /dev/zero | dd of=firmware.bin bs=1k count=2k dd if=XL2411Z_V2_20131209_8B72.BIN of=firmware.bin conv=notrunc |
Schrijf de firmware weg naar de chip. DUBBEL CHECK JE I2C BUS!
code:
1
| sudo ./flashrom -p mstarddc_spi:dev=/dev/i2c-[b]0[/b]:49 -c "MX25L1605A/MX25L1606E" -w firmware.bin |
Het lezen en schrijven van de firmware kan tot wel 15minuten duren. Denk dus niet dat er iets fout gegaan is als het lang duurt!
Toen ik dit alles had gedaan, kreeg ik m'n scherm niet meer aan! Blijkbaar was er iets fout gegaan tijdens het schrijven. Nadat ik dezelfde stappen had doorlopen op een andere PC werkte alles weer naar behoren, en draaide het scherm op V002! Nu is mijn ghosting verholpen en lijkt het alsof ik weer een nieuw scherm heb!