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)
AndrewSE
Posts: 4
Joined: 28 Jun 2014, 15:55

Re: Firmware upgrade using Linux tool, requires no hardware

Post by AndrewSE » 29 Jun 2014, 09:10

Ok I figured out the bus part, but I bricked my monitor after the update.

No power...I'm trying the process again on another laptop. Monitor still detects and I can still pull the i2c info.

Is there a way to wipe the chip ? or is that what the whole dump process does ? any advice would be great ! Tthank you.

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

Re: Firmware upgrade using Linux tool, requires no hardware

Post by AndrewSE » 29 Jun 2014, 10:57

so this is what i get...

Code: Select all

2097152 bytes (2.1 MB) copied, 0.00469218 s, 447 MB/s
ubuntu@ubuntu:~/flashrom$ tr '\000' '\377' < /dev/zero | dd of=firm.bin bs=1k count=2k
2048+0 records in
2048+0 records out
2097152 bytes (2.1 MB) copied, 0.00457499 s, 458 MB/s
ubuntu@ubuntu:~/flashrom$ dd if=firm.bin of=firmware.bin conv=notrunc4096+0 records in
4096+0 records out
2097152 bytes (2.1 MB) copied, 0.00620586 s, 338 MB/s
ubuntu@ubuntu:~/flashrom$ sudo ./flashrom -p mstarddc_spi:dev=/dev/i2c-1:49 -c "MX25L1605A/MX25L1606E" -w firm.bin
flashrom v0.9.7-r1822 on Linux 3.13.0-24-generic (i686)
flashrom is free software, get the source code at http://www.flashrom.org

Calibrating delay loop... OK.
Info: Will try to use device /dev/i2c-1 and address 0x49.
Info: WILL reset the device at the end.
Found Macronix flash chip "MX25L1605A/MX25L1606E" (2048 kB, SPI) on mstarddc_spi.
Reading old flash chip contents... done.
Erasing and writing flash chip... Erase/write done.
Verifying flash... VERIFIED.
ubuntu@ubuntu:~/flashrom$ 
still no power

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

Re: Firmware upgrade using Linux tool, requires no hardware

Post by AndrewSE » 29 Jun 2014, 17:56

So out of frustration I packed up my bricked Benq and will return it tomorrow as a defective unit. (I've only had it since Thursday)

I managed to find another one with V2 pre-installed at the other end of the city....

pipomolo42
Posts: 30
Joined: 24 Apr 2014, 06:08

Re: Firmware upgrade using Linux tool, requires no hardware

Post by pipomolo42 » 01 Jul 2014, 06:58

AndrewSE wrote:

Code: Select all

ubuntu@ubuntu:~/flashrom$ tr '\000' '\377' < /dev/zero | dd of=firm.bin bs=1k count=2k
ubuntu@ubuntu:~/flashrom$ dd if=firm.bin of=firmware.bin conv=notrunc4096+0 records in
ubuntu@ubuntu:~/flashrom$ sudo ./flashrom -p mstarddc_spi:dev=/dev/i2c-1:49 -c "MX25L1605A/MX25L1606E" -w firm.bin
Well, it seems you flashed your screen with the firm.bin file, which contains only 0xff characters.

At some point, you qhould have done "dd if=XL2411Z_V2_20131209_8B72.BIN of=firmware.bin conv=notrunc", and then flashed using firmware.bin, not firm.bin

myhatred
Posts: 4
Joined: 08 Jul 2014, 01:45

Re: Firmware upgrade using Linux tool, requires no hardware

Post by myhatred » 08 Jul 2014, 02:01

Hi There,

I read this thread thoroughly but also ran into this Problem: "errno6: spi nbyte program fialed during command execution at adress 0x2900"

The backup of the Firmware took about 35 minutes.

I tried 2 Different Laptops already. I know that i didn't do anything wrong, because all output looks exactly the same as in the tutorial until the write/erase part. The Monitors LED is now dead, but i still can access 0x49 (ISP).

I looked up the way i2c is working and i think the Problem might come with either the clock of the serial connection or the drivers (Both were Intel Onboard) in ubuntu.

I still have 2 100 Ohm Resistors and 2 NPN transistors flying around (and the LPT Connector) so i could build the DIY Kit.
I also have 2 Computers left with nvidia VGA Cards ( GTX770 and GT620 )
Ah and i used the cable that was shipped with the Minitor ( Benq XL2411Z)

my question is now: which option should i try first?

Shinjed
Posts: 1
Joined: 08 Jul 2014, 15:13

Re: Firmware upgrade using Linux tool, requires no hardware

Post by Shinjed » 08 Jul 2014, 15:20

I just did the firmware upgrade on my Benq XL2411Z following the steps on an old laptop of mine. After trying out different version of linux I could finally go through the whole guide on Linux Mint 15, I started the final step of erasing the old and installing the new FW in the terminal and left the computer alone for about an hour. When I came back I noticed it was done, said that it was also verified to be complete and I was full of glee at finally being able to try out the lightstrobe thingy on this monitor. As soon as I sat down I noticed the power led wasn't glowing, not even orange as in standby and I thought nothing of it, I plugged it back into my main PC and it didn't work then either, tried removing the power cable for a few minutes and nothing then either.

I then took and replugged it into the laptop and checked in terminal so it wasn't bricked and the i2c could still be identified, it was still recognized as an benq xl2411z aswell. I then thought something might've gone wrong and did the whole process again which took about an hour only to in the end find out that the FW was indeed installed correctly since at time it was going to start writing to the chip it said it was identical to what I was trying to patch in.

Now then, is this monitor bricked and how the heck can it be if everything apparently worked?

I got no errors, I did however notice a strange thing, the expand command didn't work in terminal but the fw already installed was already reported as over 2000kb so I didn't think much of it.

Please help me resolve this issue, would like to try this monitor out in the next day or so to know if I feel satisfied with it so I can still return it in case I am not.

myhatred
Posts: 4
Joined: 08 Jul 2014, 01:45

Re: Firmware upgrade using Linux tool, requires no hardware

Post by myhatred » 09 Jul 2014, 02:13

i solved my problem now. I just tried many different old laptops until finally the upgrade worked with an ati mobility radeon x300 vga Card.

Following VGA cards were not working for me: Intel GMA X4500 Intel GMA 3150 and Intel GMA 3300

I think all the GMA from intel have a problem with the i2c-protocol. I can asume this, because i have about 10 different Notebooks with this Chipsets (Dell,Msi,Acer,lenovo) And none of them could upgrade the Firmware. So is you run into errno6 just try a different VGA Card

User avatar
pepuri
Posts: 2
Joined: 03 May 2014, 04:11

Re: Firmware upgrade using Linux tool, requires no hardware

Post by pepuri » 16 Jul 2014, 14:15

Succesfully done. Thank you.

entrerigc
Posts: 1
Joined: 18 Jul 2014, 09:36

Re: Firmware upgrade using Linux tool, requires no hardware

Post by entrerigc » 18 Jul 2014, 09:37

EDIT: succesfully updated, not too hard at the end. Thanks to the community and specially to pipomolo42, you are the MAN, BENQ should offer you a job.
Last edited by entrerigc on 22 Jul 2014, 04:42, edited 1 time in total.

localstring
Posts: 2
Joined: 20 Jul 2014, 11:46

Re: Firmware upgrade using Linux tool, requires no hardware

Post by localstring » 20 Jul 2014, 12:20

Hello, I'm from Germany and I would like to flash my BenQ 2411Z to V2 Firmware. But after executing the following commands

Code: Select all

# 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
i get this error:

Code: Select all

mstarddc_spi.c: In function ‘mstarddc_spi_init’:
mstarddc_spi.c:151:2: error: implicit declaration of function ‘register_spi_programmer’ [-Werror=implicit-function-declaration]
  register_spi_programmer(&spi_programmer_mstarddc);
  ^
mstarddc_spi.c: At top level:
mstarddc_spi.c:223:21: error: variable ‘spi_programmer_mstarddc’ has initializer but incomplete type
 static const struct spi_programmer spi_programmer_mstarddc = {
                     ^
mstarddc_spi.c:224:2: error: unknown field ‘type’ specified in initializer
  .type = SPI_CONTROLLER_MSTARDDC,
  ^
mstarddc_spi.c:224:2: error: excess elements in struct initializer [-Werror]
mstarddc_spi.c:224:2: error: (near initialization for ‘spi_programmer_mstarddc’) [-Werror]
mstarddc_spi.c:225:2: error: unknown field ‘max_data_read’ specified in initializer
  .max_data_read = 256,
  ^
mstarddc_spi.c:225:2: error: excess elements in struct initializer [-Werror]
mstarddc_spi.c:225:2: error: (near initialization for ‘spi_programmer_mstarddc’) [-Werror]
mstarddc_spi.c:226:2: error: unknown field ‘max_data_write’ specified in initializer
  .max_data_write = 256,
  ^
mstarddc_spi.c:226:2: error: excess elements in struct initializer [-Werror]
mstarddc_spi.c:226:2: error: (near initialization for ‘spi_programmer_mstarddc’) [-Werror]
mstarddc_spi.c:227:2: error: unknown field ‘command’ specified in initializer
  .command = mstarddc_spi_send_command,
  ^
mstarddc_spi.c:227:2: error: excess elements in struct initializer [-Werror]
mstarddc_spi.c:227:2: error: (near initialization for ‘spi_programmer_mstarddc’) [-Werror]
mstarddc_spi.c:228:2: error: unknown field ‘multicommand’ specified in initializer
  .multicommand = default_spi_send_multicommand,
  ^
mstarddc_spi.c:228:2: error: excess elements in struct initializer [-Werror]
mstarddc_spi.c:228:2: error: (near initialization for ‘spi_programmer_mstarddc’) [-Werror]
mstarddc_spi.c:229:2: error: unknown field ‘read’ specified in initializer
  .read = default_spi_read,
  ^
mstarddc_spi.c:229:2: error: excess elements in struct initializer [-Werror]
mstarddc_spi.c:229:2: error: (near initialization for ‘spi_programmer_mstarddc’) [-Werror]
mstarddc_spi.c:230:2: error: unknown field ‘write_256’ specified in initializer
  .write_256 = default_spi_write_256,
  ^
mstarddc_spi.c:230:2: error: excess elements in struct initializer [-Werror]
mstarddc_spi.c:230:2: error: (near initialization for ‘spi_programmer_mstarddc’) [-Werror]
mstarddc_spi.c:231:2: error: unknown field ‘write_aai’ specified in initializer
  .write_aai = default_spi_write_aai,
  ^
mstarddc_spi.c:231:2: error: excess elements in struct initializer [-Werror]
mstarddc_spi.c:231:2: error: (near initialization for ‘spi_programmer_mstarddc’) [-Werror]
cc1: all warnings being treated as errors
make: *** [mstarddc_spi.o] Error 1
make: *** Waiting for unfinished jobs....
make: *** wait: No child processes.  Stop.
I really need your help because I don't really understand anything. Could someone of you help me, please? Sorry for my poor English...

Post Reply