Firmware upgrade using Linux tool, requires no hardware

Adjusting BENQ Blur Reduction and DyAc (Dynamic Acceleration) including Blur Busters Strobe Utility. Supports most BenQ/Zowie Z-Series monitors (XL2411, XL2420, XL2720, XL2735, XL2540, XL2546)
alex667
Posts: 29
Joined: 07 Jun 2014, 10:30

Re: Firmware upgrade using Linux tool, requires no hardware

Post by alex667 » 12 Jun 2014, 14:43

I am trying for many hours...
I can't get the xl24.... .BIN in my flashrom folder. I am downloading it to there but I just doesnt find it.

ShaneIyer
Posts: 1
Joined: 14 Jun 2014, 00:55

Re: Firmware upgrade using Linux tool, requires no hardware

Post by ShaneIyer » 14 Jun 2014, 01:10

quintosh wrote:*snip*

Installed every necessary tool using these commands:

Code: Select all

type "sudo gedit /etc/apt/sources.list";
an editor opens, add "universe multiverse" at the end of the second line, to it reads "deb http://archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse" Save, then exit the editor;
type "sudo apt-get update", to update the package list;
type "sudo apt-get install i2c-tools subversion libpci-dev" to install required packages.

And then went ahead with the other code.
"Hashtag" lines are to be ignored.
Put the .BIN that contains the firmware in /flashrom/ after executing the first line.
# build
svn co svn://flashrom.org/flashrom/trunk flashrom
cd flashrom
wget -O- http://boeglin.org/static/benq/0001-Add ... ocol.patch | patch -p1
make -j

# load i2c-dev driver
sudo modprobe i2c-dev

# list all i2c buses
sudo i2cdetect -l
((You have to determine which bus connects to your BenQ monitor. This were neither the obvious ones when I used VGA nor when I used DVI. Just go through all the buses and Y the queries for probes (Z for Germans ;)

# list i2c devices on bus 1
sudo i2cdetect 1
# get EDID (0x50) from bus 1
sudo i2cdump -r 0-127 XX 0x50 //Replace XX with the proper bus. One is the "main monitor" you're using, one is the BenQ. Just look at the names

# identify flash chip, on bus 1 (/dev/i2c-1) at address 0x49
sudo ./flashrom -p mstarddc_spi:dev=/dev/i2c-XX:49 //Same thing here. Should know the actual I2C bus now.

# dump current firmware
sudo ./flashrom -p mstarddc_spi:dev=/dev/i2c-XX:49 -c "MX25L1605A/MX25L1606E" -r backup.bin //Replace XX with the I2C bus. The process of reading the flash took about 5 minutes. Looking into other posts, people seemed to have problems with this. Look around on page 2-4.

# extend firmware to 2MB, to match the flash chip size
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 //If this tells you that a file is missing, you messed up somewhere. Check if both files firmware.bin and XL2411Z_V2_20131209_8B72.BIN (<-- this is the firmware for my monitor. If you have a different one the file is called different) are in /home/flashrom/

# write firmware
sudo ./flashrom -p mstarddc_spi:dev=/dev/i2c-XX:49 -c "MX25L1605A/MX25L1606E" -w firmware.bin //Replace XX again. Re-reading, writing and verifying the flash took about 15 minutes.
If everything worked your monitor should tell you to exit Burn-in mode. The flashing colors will always chase you whenever your monitor goes to sleep, so just disable it. There's a few ways to do that, but I don't know which one did it for me. Try looking around on page 3 or Google. If you successfully enabled the service menu for the XL2411Z, you should be able to enter it by pressing the Exit button (button right next to the power button) and navigate to Burn-in mode using the other buttons.

Enable Blur Reduction by hitting the far left button on the XL2411Z twice. Some (like me) might still run into the problem that strobelight tells you that it hasn't detected a Z-series monitor.See: http://www.blurbusters.com/benq/strobe- ... otdetected.
If none of the steps work, try shuffling around different picture modes.

And if it does work, then congratulations!
So it took me a good few hours to figure it out, but once I got the kinks worked out, it worked just fine for me. I first tried with a Core2Duo laptop, but didn't realize the monitor had to be in standby mode ( I was reading the instructions off the desktop ) and it took an age to read the flash, so I just ended up canceling it. Then I decided to follow quintosh's guide and the first time around, I kept the monitor I upgraded from on DVI hooked up to my R7 250X and my 2411z on the onboard VGA on my Z87 board. Then when I kept turning off the 2411z in the display list (Ubuntu 14.04 LiveCD btw), the display driver would keep crashing. So as a result, I just put both monitors on the VGA/DVI connections on my motherboard and kept the display only on my older monitor. After that, following the instructions was a piece of cake. Turns out my onboard VGA was on i2c-10 so that worked out well for me.

Anyway, running firmware v2. What should I set the strobe settings to? Or should I just use the utility for that?

fateswarm
Posts: 9
Joined: 07 Apr 2014, 19:09

Re: Firmware upgrade using Linux tool, requires no hardware

Post by fateswarm » 15 Jun 2014, 13:37

Holy.. this should be plastered all over the pages about the monitors. I didn't notice this info for a month.

rapt0r
Posts: 17
Joined: 02 Jan 2014, 13:11
Location: North West England, UK

Re: Firmware upgrade using Linux tool, requires no hardware

Post by rapt0r » 19 Jun 2014, 04:44

Success!
Image

Great work Pipomolo42 and the Chief, gonna have a play with the BBSUtility today :D

sanjuro
Posts: 8
Joined: 24 Mar 2014, 07:17

Re: Firmware upgrade using Linux tool, requires no hardware

Post by sanjuro » 20 Jun 2014, 10:28

what if "sudo modprobe i2c-dev" and "sudo i2cdetect -l" do nothing? i mean after enter it does not write nothing just goes to another commandline.
Output from "lsmod | grep i2c":

Code: Select all

i2c_dev                14027  0 
i2c_algo_bit           13413  1 nouveau
i am on gtx780, xl2720z connected via hdmi->vga adapter, ubuntu 14.04, thanks

rapt0r
Posts: 17
Joined: 02 Jan 2014, 13:11
Location: North West England, UK

Re: Firmware upgrade using Linux tool, requires no hardware

Post by rapt0r » 20 Jun 2014, 11:39

I would guess you didn't the i2c tools loaded using the commands:-

Code: Select all

sudo apt-get update
sudo apt-get install i2c-tools subversion libpci-dev
The 1st command outputs nothing

Code: Select all

sudo modprobe i2c-dev
but the 2nd should give you a list of buses

Code: Select all

sudo i2cdetect -l

sanjuro
Posts: 8
Joined: 24 Mar 2014, 07:17

Re: Firmware upgrade using Linux tool, requires no hardware

Post by sanjuro » 20 Jun 2014, 12:24

thanks for answer, but i installed i2c-tools, therefore it is little weird for me too

sanjuro
Posts: 8
Joined: 24 Mar 2014, 07:17

Re: Firmware upgrade using Linux tool, requires no hardware

Post by sanjuro » 24 Jun 2014, 02:21

succesfully upgraded using girlfriends netbook, for that unpatient, read took half an hour and write more than hour, but in the final firmware is v2

varkanoid
Posts: 2
Joined: 24 Jun 2014, 12:04

Re: Firmware upgrade using Linux tool, requires no hardware

Post by varkanoid » 24 Jun 2014, 17:07

quintosh wrote:Successfully got it working after 7 hours (I was running into a lot of hardware problems which I can't be bothered listing)

If you don't have an i-series CPU or if you're using a Laptop then don't bother flashing your firmware using this "tutorial". VGA cable to connect the BenQ is ok. BIOS will be different if your motherboard doesn't match mine, just look around. Watch out for proper filenames representing the V2 firmware for your monitor in the code.
Relevant hardware for me:
BenQ XL2411Z, MSi H87M-G43, i7-4770, Nvidia GTX 760 (Set it to boot with integrated graphic configurations in BIOS), my TV, a HDMI cable, a DVI cable, a USB stick

....snip

And if it does work, then congratulations!
Big kudos to Quintosh I have just followed his guide and it worked 100% I now have V2 firmware and no expense - just Linux and a VGA cable. MARVELOUS.

:lol:

AndrewSE
Posts: 4
Joined: 28 Jun 2014, 15:55

Re: Firmware upgrade using Linux tool, requires no hardware

Post by AndrewSE » 28 Jun 2014, 15:57

Hello... Thank you for this post.

I'm a little stuck on what my bus location is

Code: Select all

ubuntu@ubuntu:~/flashrom$ sudo i2cdetect 1
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-1.
I will probe address range 0x03-0x77.
Continue? [Y/n] y
     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: -- -- -- -- -- -- -- --                         
ubuntu@ubuntu:~/flashrom$ sudo i2cdump -r 0-127 1 0x50
No size specified (using byte-data access)
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-1, address 0x50, mode byte
Probe range limited to 0x00-0x7f.
Continue? [Y/n] y
     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 09 d1 2c 7f 45 54 00 00    ........??,?ET..
10: 03 18 01 03 0e 35 1e 78 2e 9d e1 a6 54 54 9f 26    ?????5?x.???TT?&
20: 0d 50 54 a5 6b 80 d1 c0 45 7c 61 7c 81 80 81 bc    ?PT?k???E|a|????
30: 95 3c 31 7c 01 01 02 3a 80 18 71 38 2d 40 58 2c    ?<1|???:??q8-@X,
40: 45 00 13 2a 21 00 00 1e 00 00 00 ff 00 44 31 45    E.?*!..?.....D1E
50: 30 35 37 36 36 53 4c 30 0a 20 00 00 00 fd 00 18    05766SL0? ...?.?
60: 78 0f 87 15 00 0a 20 20 20 20 20 20 00 00 00 fc    x???.?      ...?
70: 00 42 65 6e 51 20 58 4c 32 34 32 30 5a 0a 00 c6    .BenQ XL2420Z?.?
ubuntu@ubuntu:~/flashrom$ 

Post Reply