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)
Sparrow
Posts: 2
Joined: 13 Mar 2020, 13:24

Re: Firmware upgrade using Linux tool, requires no hardware

Post by Sparrow » 13 Mar 2020, 18:20

Hi there,

I have now heard myself pulling an update onto my monitor, unfortunately it just doesn't work for me anymore! = (After the first update, the monitor remains black. However, I can still see it with ubuntu and can write in flash. However, in verifying it always stops. I don't know why? Can you help me please?

ubuntu@ubuntu:~/Desktop/flashrom/flashrom$ sudo i2cdump -r 0-127 1 0x50No 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]
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 28 7f 45 54 00 00 ........??(?ET..
10: 03 18 01 03 0e 3c 22 78 2e 14 d1 a5 58 52 a2 26 ?????<"x.???XR?&
20: 0c 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 55 50 21 00 00 1e 00 00 00 ff 00 4e 31 45 E.UP!..?.....N1E
50: 30 30 36 34 34 53 4c 30 0a 20 00 00 00 fd 00 18 00644SL0? ...?.?
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 37 32 30 5a 0a 00 ea .BenQ XL2720Z?.?
ubuntu@ubuntu:~/Desktop/flashrom/flashrom$ sudo ./flashrom -p mstarddc_spi:dev=/dev/i2c-1:49
flashrom v0.9.7- on Linux 4.4.0-142-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 "MX25L1605" (2048 kB, SPI) on mstarddc_spi.
Found Macronix flash chip "MX25L1605A/MX25L1606E" (2048 kB, SPI) on mstarddc_spi.
Found Macronix flash chip "MX25L1605D/MX25L1608D/MX25L1673E" (2048 kB, SPI) on mstarddc_spi.
Multiple flash chip definitions match the detected chip(s): "MX25L1605", "MX25L1605A/MX25L1606E", "MX25L1605D/MX25L1608D/MX25L1673E"
Please specify which chip definition to use with the -c <chipname> option.
ubuntu@ubuntu:~/Desktop/flashrom/flashrom$ sudo ./flashrom -p mstarddc_spi:dev=/dev/i2c-1:49 -c "MX25L1605A/MX25L1606E" -w firmware.bin
flashrom v0.9.7- on Linux 4.4.0-142-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... FAILED at 0x00000000! Expected=0x02, Found=0xb0, failed byte count from 0x00000000-0x001fffff: 0xfe
Your flash chip is in an unknown state.
Please report this on IRC at chat.freenode.net (channel #flashrom) or
mail flashrom@flashrom.org, thanks!
ubuntu@ubuntu:~/Desktop/flashrom/flashrom$


I have already tried 2 different laptops including 2 different cables. Unfortunately, all without success. Unfortunately, it is not possible to write the backup because the same error always occurs. The monitor remains black. The cables were VGA cables. Furthermore I tried it on a desktop computer. Unfortunately, I don't find the monitor there in the bus system

Sparrow
Posts: 2
Joined: 13 Mar 2020, 13:24

Re: Firmware upgrade using Linux tool, requires no hardware

Post by Sparrow » 14 Mar 2020, 05:31

Today I tried again with firmware 007 and after there was an error message for the first time I started the flash again straight away and lo and behold, it worked and I'm now on FW 007. You don't have to understand why it is 10x not working and then suddenly it works. I really didn't do anything different at the time ...

User avatar
Chief Blur Buster
Site Admin
Posts: 7555
Joined: 05 Dec 2013, 15:44
Location: Toronto, Ontario, Canada
Contact:

Re: Firmware upgrade using Linux tool, requires no hardware

Post by Chief Blur Buster » 15 Mar 2020, 17:22

Sparrow wrote:
14 Mar 2020, 05:31
Today I tried again with firmware 007 and after there was an error message for the first time I started the flash again straight away and lo and behold, it worked and I'm now on FW 007. You don't have to understand why it is 10x not working and then suddenly it works. I really didn't do anything different at the time ...
Wow, that's pretty strange if it succeeded on the 10th try.

I guess the combination was to restart immediately after the error message.

It might have caused a behaviour change (e.g. skipping an errored bus) that led to subsequent success (e.g. reaching the correct bus).
Head of Blur Busters - BlurBusters.com | TestUFO.com | Follow @BlurBusters on Twitter

       To support Blur Busters:
       • Official List of Best Gaming Monitors
       • List of G-SYNC Monitors
       • List of FreeSync Monitors
       • List of Ultrawide Monitors

pure94
Posts: 1
Joined: 26 Mar 2020, 15:56

Re: Firmware upgrade using Linux tool, requires no hardware

Post by pure94 » 26 Mar 2020, 15:58

Sparrow wrote:
13 Mar 2020, 18:20
Hi there,

I have now heard myself pulling an update onto my monitor, unfortunately it just doesn't work for me anymore! = (After the first update, the monitor remains black. However, I can still see it with ubuntu and can write in flash. However, in verifying it always stops. I don't know why? Can you help me please?

ubuntu@ubuntu:~/Desktop/flashrom/flashrom$ sudo i2cdump -r 0-127 1 0x50No 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]
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 28 7f 45 54 00 00 ........??(?ET..
10: 03 18 01 03 0e 3c 22 78 2e 14 d1 a5 58 52 a2 26 ?????<"x.???XR?&
20: 0c 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 55 50 21 00 00 1e 00 00 00 ff 00 4e 31 45 E.UP!..?.....N1E
50: 30 30 36 34 34 53 4c 30 0a 20 00 00 00 fd 00 18 00644SL0? ...?.?
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 37 32 30 5a 0a 00 ea .BenQ XL2720Z?.?
ubuntu@ubuntu:~/Desktop/flashrom/flashrom$ sudo ./flashrom -p mstarddc_spi:dev=/dev/i2c-1:49
flashrom v0.9.7- on Linux 4.4.0-142-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 "MX25L1605" (2048 kB, SPI) on mstarddc_spi.
Found Macronix flash chip "MX25L1605A/MX25L1606E" (2048 kB, SPI) on mstarddc_spi.
Found Macronix flash chip "MX25L1605D/MX25L1608D/MX25L1673E" (2048 kB, SPI) on mstarddc_spi.
Multiple flash chip definitions match the detected chip(s): "MX25L1605", "MX25L1605A/MX25L1606E", "MX25L1605D/MX25L1608D/MX25L1673E"
Please specify which chip definition to use with the -c <chipname> option.
ubuntu@ubuntu:~/Desktop/flashrom/flashrom$ sudo ./flashrom -p mstarddc_spi:dev=/dev/i2c-1:49 -c "MX25L1605A/MX25L1606E" -w firmware.bin
flashrom v0.9.7- on Linux 4.4.0-142-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... FAILED at 0x00000000! Expected=0x02, Found=0xb0, failed byte count from 0x00000000-0x001fffff: 0xfe
Your flash chip is in an unknown state.
Please report this on IRC at chat.freenode.net (channel #flashrom) or
mail flashrom@flashrom.org, thanks!
ubuntu@ubuntu:~/Desktop/flashrom/flashrom$


I have already tried 2 different laptops including 2 different cables. Unfortunately, all without success. Unfortunately, it is not possible to write the backup because the same error always occurs. The monitor remains black. The cables were VGA cables. Furthermore I tried it on a desktop computer. Unfortunately, I don't find the monitor there in the bus system
Hi Sparrow, seems you and i have had the exact same issue! :( I cant seem to detect the flash chip anymore, but monitor is detected just no display not even a powerbutton weird

rokki
Posts: 2
Joined: 02 May 2020, 12:47

Re: Firmware upgrade using Linux tool, requires no hardware

Post by rokki » 02 May 2020, 14:25

Hello,

I wanted to upgrade my six year old XL2411Z monitor with V1 to the V4. After some workarounds caused by old links I was able to connect my monitor trough the vga-port of an old laptop (I have installed Ubuntu 14.04 on the hard drive).
When I listed the i2c bus (sudo i2cdetect -l) it showed up the common table

Code: Select all

     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: -- -- -- -- -- -- -- --                         
Afterwards I dumped all detected flash chip definitions (MX25L1605, MX25L1605A/MX25L1606E, MX25L1605D/MX25L1608D/MX25L1673E), which took surprisingly long (20+ minutes for each chip). So I flashed the "MX25L1605A/MX25L1606E" with the V4 firmware:

Code: Select all

rokki@rokki-ESPRIMO-Mobile-V5505:~/Desktop/flashrom$ sudo ./flashrom -p mstarddc_spi:dev=/dev/i2c-1:49 -c "MX25L1605A/MX25L1606E" -w firmware.bin
flashrom v0.9.7- on Linux 4.4.0-142-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... Error sending write command: errno 6.
spi_nbyte_program failed during command execution at address 0x0
Reading current flash chip contents...  done. Looking for another erase function.
Error sending write command: errno 6.
spi_nbyte_program failed during command execution at address 0x0
Reading current flash chip contents...  done. Looking for another erase function.
Error sending write command: errno 6.
spi_nbyte_program failed during command execution at address 0x0
Reading current flash chip contents...  done. Looking for another erase function.
Error sending write command: errno 6.
spi_nbyte_program failed during command execution at address 0x0
Reading current flash chip contents...  done. Looking for another erase function.
Error sending write command: errno 6.
spi_nbyte_program failed during command execution at address 0x0
Looking for another erase function.
No usable erase functions left.
FAILED!
Uh oh. Erase/write failed. Checking if anything has changed.
Reading current flash chip contents... done.
Apparently at least some data has changed.
Your flash chip is in an unknown state.
Please report this on IRC at chat.freenode.net (channel #flashrom) or
mail flashrom@flashrom.org, thanks!
Info: Reset command was not sent. Either the noreset=1 option was used , or an error occured.
The firmware upgrade failed because of the error no 6. The orange LED was still on. I tried to turn off the monitor, but the LED remained on. So I unplugged the monitor for 10 minutes. The monitor is not starting anymore (blackscreen, LED off).
I decided to transfer the backup but got the same error message. However, the table had changed.

Code: Select all

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- 49 -- -- -- -- -- -- 
50: 50 -- -- -- -- -- -- -- -- 59 -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         
rokki@rokki-ESPRIMO-Mobile-V5505:~/Desktop/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 30 7f 45 54 00 00   		........??0?ET..
10: 33 17 01 03 0e 35 1e 78 2e 9d e1 a6 54 54 9f 26    3????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 53 43 44     E.?*!..?.....SCD
50: 30 36 36 30 39 53 4c 30 0a 20 00 00 00 fd 00 18    06609SL0? ...?.?
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 31 31 5a 0a 00 76   .BenQ XL2411Z?.v
rokki@rokki-ESPRIMO-Mobile-V5505:~/Desktop/flashrom$ sudo ./flashrom -p mstarddc_spi:dev=/dev/i2c-1:49
flashrom v0.9.7- on Linux 4.4.0-142-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 "MX25L1605" (2048 kB, SPI) on mstarddc_spi.
Found Macronix flash chip "MX25L1605A/MX25L1606E" (2048 kB, SPI) on mstarddc_spi.
Found Macronix flash chip "MX25L1605D/MX25L1608D/MX25L1673E" (2048 kB, SPI) on mstarddc_spi.
Multiple flash chip definitions match the detected chip(s): "MX25L1605", "MX25L1605A/MX25L1606E", "MX25L1605D/MX25L1608D/MX25L1673E"
Please specify which chip definition to use with the -c <chipname> option.
rokki@rokki-ESPRIMO-Mobile-V5505:~/Desktop/flashrom$ sudo ./flashrom -p mstarddc_spi:dev=/dev/i2c-1:49 -c "MX25L1605A/MX25L1606E" -w backup.bin
flashrom v0.9.7- on Linux 4.4.0-142-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... Error sending write command: errno 6.
spi_nbyte_program failed during command execution at address 0x0
Reading current flash chip contents... done. Looking for another erase function.
Error sending write command: errno 6.
spi_nbyte_program failed during command execution at address 0x0
Reading current flash chip contents... done. Looking for another erase function.
Error sending write command: errno 6.
spi_nbyte_program failed during command execution at address 0x0
Reading current flash chip contents... done. Looking for another erase function.
Error sending write command: errno 6.
spi_nbyte_program failed during command execution at address 0x0
Reading current flash chip contents... done. Looking for another erase function.
Error sending write command: errno 6.
spi_nbyte_program failed during command execution at address 0x0
Looking for another erase function.
No usable erase functions left.
FAILED!
Uh oh. Erase/write failed. Checking if anything has changed.
Reading current flash chip contents...
The whole process was taking much more time than expected (transfer of firmware itself took 1,5 hours). But I can't figure out, what is going wrong. Perhaps the SPI patch is not correctly installed? (I used the links from richiehawtin, page 55 and put everything in the flashrom folder) Maybe some of you guys can help me.

Falkentyne
Posts: 2581
Joined: 26 Mar 2014, 07:23

Re: Firmware upgrade using Linux tool, requires no hardware

Post by Falkentyne » 02 May 2020, 23:37

rokki wrote:
02 May 2020, 14:25
Hello,

I wanted to upgrade my six year old XL2411Z monitor with V1 to the V4. After some workarounds caused by old links I was able to connect my monitor trough the vga-port of an old laptop (I have installed Ubuntu 14.04 on the hard drive).
When I listed the i2c bus (sudo i2cdetect -l) it showed up the common table

Code: Select all

     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: -- -- -- -- -- -- -- --                         
Afterwards I dumped all detected flash chip definitions (MX25L1605, MX25L1605A/MX25L1606E, MX25L1605D/MX25L1608D/MX25L1673E), which took surprisingly long (20+ minutes for each chip). So I flashed the "MX25L1605A/MX25L1606E" with the V4 firmware:

Code: Select all

rokki@rokki-ESPRIMO-Mobile-V5505:~/Desktop/flashrom$ sudo ./flashrom -p mstarddc_spi:dev=/dev/i2c-1:49 -c "MX25L1605A/MX25L1606E" -w firmware.bin
flashrom v0.9.7- on Linux 4.4.0-142-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... Error sending write command: errno 6.
spi_nbyte_program failed during command execution at address 0x0
Reading current flash chip contents...  done. Looking for another erase function.
Error sending write command: errno 6.
spi_nbyte_program failed during command execution at address 0x0
Reading current flash chip contents...  done. Looking for another erase function.
Error sending write command: errno 6.
spi_nbyte_program failed during command execution at address 0x0
Reading current flash chip contents...  done. Looking for another erase function.
Error sending write command: errno 6.
spi_nbyte_program failed during command execution at address 0x0
Reading current flash chip contents...  done. Looking for another erase function.
Error sending write command: errno 6.
spi_nbyte_program failed during command execution at address 0x0
Looking for another erase function.
No usable erase functions left.
FAILED!
Uh oh. Erase/write failed. Checking if anything has changed.
Reading current flash chip contents... done.
Apparently at least some data has changed.
Your flash chip is in an unknown state.
Please report this on IRC at chat.freenode.net (channel #flashrom) or
mail flashrom@flashrom.org, thanks!
Info: Reset command was not sent. Either the noreset=1 option was used , or an error occured.
The firmware upgrade failed because of the error no 6. The orange LED was still on. I tried to turn off the monitor, but the LED remained on. So I unplugged the monitor for 10 minutes. The monitor is not starting anymore (blackscreen, LED off).
I decided to transfer the backup but got the same error message. However, the table had changed.

Code: Select all

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- 49 -- -- -- -- -- -- 
50: 50 -- -- -- -- -- -- -- -- 59 -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         
rokki@rokki-ESPRIMO-Mobile-V5505:~/Desktop/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 30 7f 45 54 00 00   		........??0?ET..
10: 33 17 01 03 0e 35 1e 78 2e 9d e1 a6 54 54 9f 26    3????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 53 43 44     E.?*!..?.....SCD
50: 30 36 36 30 39 53 4c 30 0a 20 00 00 00 fd 00 18    06609SL0? ...?.?
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 31 31 5a 0a 00 76   .BenQ XL2411Z?.v
rokki@rokki-ESPRIMO-Mobile-V5505:~/Desktop/flashrom$ sudo ./flashrom -p mstarddc_spi:dev=/dev/i2c-1:49
flashrom v0.9.7- on Linux 4.4.0-142-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 "MX25L1605" (2048 kB, SPI) on mstarddc_spi.
Found Macronix flash chip "MX25L1605A/MX25L1606E" (2048 kB, SPI) on mstarddc_spi.
Found Macronix flash chip "MX25L1605D/MX25L1608D/MX25L1673E" (2048 kB, SPI) on mstarddc_spi.
Multiple flash chip definitions match the detected chip(s): "MX25L1605", "MX25L1605A/MX25L1606E", "MX25L1605D/MX25L1608D/MX25L1673E"
Please specify which chip definition to use with the -c <chipname> option.
rokki@rokki-ESPRIMO-Mobile-V5505:~/Desktop/flashrom$ sudo ./flashrom -p mstarddc_spi:dev=/dev/i2c-1:49 -c "MX25L1605A/MX25L1606E" -w backup.bin
flashrom v0.9.7- on Linux 4.4.0-142-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... Error sending write command: errno 6.
spi_nbyte_program failed during command execution at address 0x0
Reading current flash chip contents... done. Looking for another erase function.
Error sending write command: errno 6.
spi_nbyte_program failed during command execution at address 0x0
Reading current flash chip contents... done. Looking for another erase function.
Error sending write command: errno 6.
spi_nbyte_program failed during command execution at address 0x0
Reading current flash chip contents... done. Looking for another erase function.
Error sending write command: errno 6.
spi_nbyte_program failed during command execution at address 0x0
Reading current flash chip contents... done. Looking for another erase function.
Error sending write command: errno 6.
spi_nbyte_program failed during command execution at address 0x0
Looking for another erase function.
No usable erase functions left.
FAILED!
Uh oh. Erase/write failed. Checking if anything has changed.
Reading current flash chip contents...
The whole process was taking much more time than expected (transfer of firmware itself took 1,5 hours). But I can't figure out, what is going wrong. Perhaps the SPI patch is not correctly installed? (I used the links from richiehawtin, page 55 and put everything in the flashrom folder) Maybe some of you guys can help me.
I haven't kept up on this thread in years, but from what I remember, if you get that "errno 6" misspelled thing, you need to use another computer to flash it, either with VGA or DVI, or if you used DVI on your main computer, use VGA. If you can find a VERY old laptop (like 8-10 years old), you can try that, or a video card with a VGA port.

If none of that works, use Chief's updated links to buy the Mstar ISP device which will force flash the firmware (I own one of those).

rokki
Posts: 2
Joined: 02 May 2020, 12:47

Re: Firmware upgrade using Linux tool, requires no hardware

Post by rokki » 04 May 2020, 06:23

Falkentyne wrote:
02 May 2020, 23:37
rokki wrote:
02 May 2020, 14:25
Hello,

I wanted to upgrade my six year old XL2411Z monitor with V1 to the V4. After some workarounds caused by old links I was able to connect my monitor trough the vga-port of an old laptop (I have installed Ubuntu 14.04 on the hard drive).
When I listed the i2c bus (sudo i2cdetect -l) it showed up the common table

Code: Select all

     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: -- -- -- -- -- -- -- --                         
Afterwards I dumped all detected flash chip definitions (MX25L1605, MX25L1605A/MX25L1606E, MX25L1605D/MX25L1608D/MX25L1673E), which took surprisingly long (20+ minutes for each chip). So I flashed the "MX25L1605A/MX25L1606E" with the V4 firmware:

Code: Select all

rokki@rokki-ESPRIMO-Mobile-V5505:~/Desktop/flashrom$ sudo ./flashrom -p mstarddc_spi:dev=/dev/i2c-1:49 -c "MX25L1605A/MX25L1606E" -w firmware.bin
flashrom v0.9.7- on Linux 4.4.0-142-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... Error sending write command: errno 6.
spi_nbyte_program failed during command execution at address 0x0
Reading current flash chip contents...  done. Looking for another erase function.
Error sending write command: errno 6.
spi_nbyte_program failed during command execution at address 0x0
Reading current flash chip contents...  done. Looking for another erase function.
Error sending write command: errno 6.
spi_nbyte_program failed during command execution at address 0x0
Reading current flash chip contents...  done. Looking for another erase function.
Error sending write command: errno 6.
spi_nbyte_program failed during command execution at address 0x0
Reading current flash chip contents...  done. Looking for another erase function.
Error sending write command: errno 6.
spi_nbyte_program failed during command execution at address 0x0
Looking for another erase function.
No usable erase functions left.
FAILED!
Uh oh. Erase/write failed. Checking if anything has changed.
Reading current flash chip contents... done.
Apparently at least some data has changed.
Your flash chip is in an unknown state.
Please report this on IRC at chat.freenode.net (channel #flashrom) or
mail flashrom@flashrom.org, thanks!
Info: Reset command was not sent. Either the noreset=1 option was used , or an error occured.
The firmware upgrade failed because of the error no 6. The orange LED was still on. I tried to turn off the monitor, but the LED remained on. So I unplugged the monitor for 10 minutes. The monitor is not starting anymore (blackscreen, LED off).
I decided to transfer the backup but got the same error message. However, the table had changed.

Code: Select all

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- 49 -- -- -- -- -- -- 
50: 50 -- -- -- -- -- -- -- -- 59 -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         
rokki@rokki-ESPRIMO-Mobile-V5505:~/Desktop/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 30 7f 45 54 00 00   		........??0?ET..
10: 33 17 01 03 0e 35 1e 78 2e 9d e1 a6 54 54 9f 26    3????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 53 43 44     E.?*!..?.....SCD
50: 30 36 36 30 39 53 4c 30 0a 20 00 00 00 fd 00 18    06609SL0? ...?.?
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 31 31 5a 0a 00 76   .BenQ XL2411Z?.v
rokki@rokki-ESPRIMO-Mobile-V5505:~/Desktop/flashrom$ sudo ./flashrom -p mstarddc_spi:dev=/dev/i2c-1:49
flashrom v0.9.7- on Linux 4.4.0-142-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 "MX25L1605" (2048 kB, SPI) on mstarddc_spi.
Found Macronix flash chip "MX25L1605A/MX25L1606E" (2048 kB, SPI) on mstarddc_spi.
Found Macronix flash chip "MX25L1605D/MX25L1608D/MX25L1673E" (2048 kB, SPI) on mstarddc_spi.
Multiple flash chip definitions match the detected chip(s): "MX25L1605", "MX25L1605A/MX25L1606E", "MX25L1605D/MX25L1608D/MX25L1673E"
Please specify which chip definition to use with the -c <chipname> option.
rokki@rokki-ESPRIMO-Mobile-V5505:~/Desktop/flashrom$ sudo ./flashrom -p mstarddc_spi:dev=/dev/i2c-1:49 -c "MX25L1605A/MX25L1606E" -w backup.bin
flashrom v0.9.7- on Linux 4.4.0-142-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... Error sending write command: errno 6.
spi_nbyte_program failed during command execution at address 0x0
Reading current flash chip contents... done. Looking for another erase function.
Error sending write command: errno 6.
spi_nbyte_program failed during command execution at address 0x0
Reading current flash chip contents... done. Looking for another erase function.
Error sending write command: errno 6.
spi_nbyte_program failed during command execution at address 0x0
Reading current flash chip contents... done. Looking for another erase function.
Error sending write command: errno 6.
spi_nbyte_program failed during command execution at address 0x0
Reading current flash chip contents... done. Looking for another erase function.
Error sending write command: errno 6.
spi_nbyte_program failed during command execution at address 0x0
Looking for another erase function.
No usable erase functions left.
FAILED!
Uh oh. Erase/write failed. Checking if anything has changed.
Reading current flash chip contents...
The whole process was taking much more time than expected (transfer of firmware itself took 1,5 hours). But I can't figure out, what is going wrong. Perhaps the SPI patch is not correctly installed? (I used the links from richiehawtin, page 55 and put everything in the flashrom folder) Maybe some of you guys can help me.
I haven't kept up on this thread in years, but from what I remember, if you get that "errno 6" misspelled thing, you need to use another computer to flash it, either with VGA or DVI, or if you used DVI on your main computer, use VGA. If you can find a VERY old laptop (like 8-10 years old), you can try that, or a video card with a VGA port.

If none of that works, use Chief's updated links to buy the Mstar ISP device which will force flash the firmware (I own one of those).
Thank you for the reply! The laptop I used is very old and slow. I don't have another computer with vga or dvi output, except my standard desktop pc with dvi on the dedicated graphics card. I will try it this way today.
Yesterday I tried it again with the laptop. I wasn't successful again. Same errno 6 and very slow transfer (nearly two hours).

I ordered the recommended MSTAR ISP device but the earliest time of arrival will be the end of may. So I will have at least some more approaches on that monitor til this thing arrives.
_______________

Update: It finally worked with another laptop. Seems like this errno 6 is only fixable by using a different device.

towe
Posts: 4
Joined: 27 Jul 2019, 13:25

Re: Firmware upgrade using Linux tool, requires no hardware

Post by towe » 19 May 2020, 11:29

I gave my XL2420 another go today. Since I no longer have a PC with a compatible output, I opted to use a Raspberry Pi for flashing.

Hardware: Connect SDA, SCL and GND to the Raspberrys headers using 2.54mm female-female jumper cables and a male-male VGA cable.

Enable I2C in "raspi-config"

Install flashrom prerequisites:
sudo apt-get install pciutils
sudo apt-get install libftdi-dev
sudo apt-get install libusb-dev
sudo apt-get install libpci-dev
sudo apt-get install libusb-1.0

Get flashrom:
git clone https://github.com/flashrom/flashrom

Enable MSTAR support in the Makefile
CONFIG_MSTARDDC_SPI ?= yes

Load the I2C driver
sudo modprobe i2c-dev

List the buses
sudo i2cdetect -l

List the devices on the bus
sudo i2cdetect 1

Identify the chip
sudo ./flashrom -p mstarddc_spi:dev=/dev/i2c-1:49

Backup the current firmware
sudo ./flashrom -p mstarddc_spi:dev=/dev/i2c-1:49 -c "MX25L1605A/MX25L1606E/MX25L1608E" -r backup.bin

Create an empty, 2k "firmware.bin" file
tr '\000' '\377' < /dev/zero | dd of=firmware.bin bs=1k count=2k

Copy over the contents of your monitor firmware file over
dd if=monitor.bin of=firmware.bin conv=notrunc

Flash the firmware
sudo ./flashrom -p mstarddc_spi:dev=/dev/i2c-1:49 -c "MX25L1605A/MX25L1606E/MX25L1608E" -w firmware.bin



Flashing went perfectly fine with this, but my screen's colors are still oddly washed out. Especially yellows are very pale. Any clue what might cause that?

mleise
Posts: 3
Joined: 06 Apr 2020, 02:26

Re: Firmware upgrade using Linux tool, requires no hardware

Post by mleise » 21 May 2020, 14:46

Linux + Intel + TV resolution? I would check if `xrandr --output <your display port> --set "Broadcast RGB" "Full"` fixes the washed out look.

I've found this thread wondering if I could theoretically make changes to the firmware of my BenQ EW2755ZH monitor if I had too much time on my hands. Initially I thought you'd probably need to use a proprietary connector on the board or something, but using the VGA connector sounds reasonably simple. I just don't think I have a computer with I2C enabled VGA port around. An IBM T23 with S3 Savage is probably too old. In any case a test would be if flashrom can download the original firmware, correct?

AkellaThe
Posts: 2
Joined: 03 Jun 2020, 08:07

Re: Firmware upgrade using Linux tool, requires no hardware

Post by AkellaThe » 03 Jun 2020, 09:21

Any chance someone have firmware for xl2411p?

Post Reply