Contribute
Register

[SUCCESS] Gigabyte Designare Z390 (Thunderbolt 3) + i7-9700K + AMD RX 580

Hello @jb007,

That would be awesome! But be aware that this is very very tricky. Apply the clip very gently.

Not using a SOIC clip, using very small IC clips.
I'm trying to read it now. I'm getting:
Annotation 2020-03-15 104902.jpg

All the LED's are being lit up on bottom of mobo from the 3.3V. I suspect the one of the /WP in being held up. I have a hotair rework station, so I will remove the chip and read. If it can't be read out of circuit then it has some sort of read protection... plan B then!
 
Not using a SOIC clip, using very small IC clips.
I'm trying to read it now. I'm getting:
View attachment 454550
All the LED's are being lit up on bottom of mobo from the 3.3V. I suspect the one of the /WP in being held up. I have a hotair rework station, so I will remove the chip and read. If it can't be read out of circuit then it has some sort of read protection... plan B then!
Wow! If you can remove the chip, please photograph the steps. We would love to see the procedure!!!
 
Not using a SOIC clip, using very small IC clips.
I'm trying to read it now. I'm getting:
View attachment 454550
All the LED's are being lit up on bottom of mobo from the 3.3V. I suspect the one of the /WP in being held up. I have a hotair rework station, so I will remove the chip and read. If it can't be read out of circuit then it has some sort of read protection... plan B then!
I also have Mobo LED alight during CH341A programmer ready to read/write :)
 
Any chance you have a real Mac you can test TB <---> TB connection?
Sure! This is the next level .. with another Hackintosh :) .. but I don't think that Target disk feature is possible, one of the two hacks should reboot on special state guaranteed by real Apple boot firmware (EFI drivers) not included on Clover/Open Core. Probably for next Christmas :p
 
@scottkendall I think all of our approaches are imperfect as it’s a work in progress. I have An ASRock motherboard with built in Alpine Ridge and have managed to get a full Thunderbolt tree with drivers loaded, TBT and USB-C Hotplug by using an SSDT with no firmware mod. It’s based mainly on the great work done by @Elias64Fr and @CaseySJ. I’m still not convinced it’s working properly, am waiting for the arrival of a thunderbolt cable so I can test using a tbt2 cable and an Apple tbt2 to tbt3 adapter to connect the hack to a real MacBook Pro. I can’t mod the firmware as the board has the crippled Alpine Ridge 6240 Low Power chip. I’ll post the SSDT if it doesn’t turn out to be a delusion...
I can volunteer to run the SSDT test. I have a similar board with the same crippled TB chip :). I've tried flashing it with modified firmware but no luck. The NVM version was 14 and I couldn't find anything closer to it in the official Apple firmware. Take a look if you want to - attached is the official NVM.
 

Attachments

  • ASRock_z390_itx_new.bin.zip
    105.8 KB · Views: 69
Wow! If you can remove the chip, please photograph the steps. We would love to see the procedure!!!
@CaseySJ
Got the chip off the motherboard. Still can't read it, so I'm putting on my logic probe and capturing (hopefully) what is being written/read when I try to read using my RPi and flashrom. I'm also looking at the PDF for the W25Q16DV. Might take me a while to do.

Code:
C:\Users\jb>ssh pi@rp
pi@rp's password:
Linux rp 4.19.97-v7+ #1294 SMP Thu Jan 30 13:15:58 GMT 2020 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sun Mar 15 01:13:25 2020 from 192.168.1.114
  `.::///+:/-.        --///+//-:``    pi@rp
 `+oooooooooooo:   `+oooooooooooo:    -----
  /oooo++//ooooo:  ooooo+//+ooooo.    OS: Raspbian GNU/Linux 10 (buster) armv7l
  `+ooooooo:-:oo-  +o+::/ooooooo:     Host: Raspberry Pi 3 Model B Plus Rev 1.3
   `:oooooooo+``    `.oooooooo+-      Kernel: 4.19.97-v7+
     `:++ooo/.        :+ooo+/.`       Uptime: 9 mins
        ...`  `.----.` ``..           Packages: 513 (dpkg)
     .::::-``:::::::::.`-:::-`        Shell: bash 5.0.3
    -:::-`   .:::::::-`  `-:::-       Terminal: /dev/pts/0
   `::.  `.--.`  `` `.---.``.::`      CPU: BCM2835 (4) @ 1.400GHz
       .::::::::`  -::::::::` `       Memory: 55MiB / 926MiB
 .::` .:::::::::- `::::::::::``::.
-:::` ::::::::::.  ::::::::::.`:::-
::::  -::::::::.   `-::::::::  ::::
-::-   .-:::-.``....``.-::-.   -::-
 .. ``       .::::::::.     `..`..
   -:::-`   -::::::::::`  .:::::`
   :::::::` -::::::::::` :::::::.
   .:::::::  -::::::::. ::::::::
    `-:::::`   ..--.`   ::::::.
      `...`  `...--..`  `...`
            .::::::::::
             `.-::::-`

pi@rp:~ $ sudo flashrom -p linux_spi:dev=/dev/spidev0.1,spispeed=1024 -r test.bin
flashrom  on Linux 4.19.97-v7+ (armv7l)
flashrom is free software, get the source code at https://flashrom.org

Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
No EEPROM/flash device found.
Note: flashrom can never write if the flash chip isn't found automatically.
pi@rp:~ $ sudo flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=1024 -r test.bin
flashrom  on Linux 4.19.97-v7+ (armv7l)
flashrom is free software, get the source code at https://flashrom.org

Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
No EEPROM/flash device found.
Note: flashrom can never write if the flash chip isn't found automatically.
pi@rp:~ $ sudo flashrom -V -p linux_spi:dev=/dev/spidev0.0,spispeed=1024 -r test.bin
flashrom  on Linux 4.19.97-v7+ (armv7l)
flashrom is free software, get the source code at https://flashrom.org

flashrom was built with libpci 3.5.2, GCC 8.2.0, little endian
Command line (5 args): flashrom -V -p linux_spi:dev=/dev/spidev0.0,spispeed=1024 -r test.bin
Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
Initializing linux_spi programmer
Using device /dev/spidev0.0
Using 1024 kHz clock
The following protocols are supported: SPI.
Probing for AMIC A25L05PT, 64 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for AMIC A25L05PU, 64 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for AMIC A25L10PT, 128 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for AMIC A25L10PU, 128 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for AMIC A25L20PT, 256 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for AMIC A25L20PU, 256 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for AMIC A25L40PT, 512 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for AMIC A25L40PU, 512 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for AMIC A25L80P, 1024 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for AMIC A25L16PT, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for AMIC A25L16PU, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for AMIC A25L512, 64 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for AMIC A25L010, 128 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for AMIC A25L020, 256 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for AMIC A25L040, 512 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for AMIC A25L080, 1024 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for AMIC A25L016, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for AMIC A25L032, 4096 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for AMIC A25LQ16, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for AMIC A25LQ032/A25LQ32A, 4096 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for AMIC A25LQ64, 8192 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Atmel AT25DF021, 256 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Atmel AT25DF041A, 512 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Atmel AT25DF081, 1024 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Atmel AT25DF081A, 1024 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Atmel AT25DF161, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Atmel AT25DF321, 4096 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Atmel AT25DF321A, 4096 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Atmel AT25DF641(A), 8192 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Atmel AT25DL081, 1024 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Atmel AT25DL161, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Atmel AT25DQ161, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Atmel AT25F512, 64 kB: probe_spi_at25f: id1 0x00, id2 0x00
Probing for Atmel AT25F512A, 64 kB: probe_spi_at25f: id1 0x00, id2 0x00
Probing for Atmel AT25F512B, 64 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Atmel AT25F1024(A), 128 kB: probe_spi_at25f: id1 0x00, id2 0x00
Probing for Atmel AT25F2048, 256 kB: probe_spi_at25f: id1 0x00, id2 0x00
Probing for Atmel AT25F4096, 512 kB: probe_spi_at25f: id1 0x00, id2 0x00
Probing for Atmel AT25FS010, 128 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Atmel AT25FS040, 512 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Atmel AT26DF041, 512 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Atmel AT26DF081A, 1024 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Atmel AT26DF161, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Atmel AT26DF161A, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Atmel AT26F004, 512 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Atmel AT45CS1282, 16896 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Atmel AT45DB011D, 128 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Atmel AT45DB021D, 256 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Atmel AT45DB041D, 512 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Atmel AT45DB081D, 1024 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Atmel AT45DB161D, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Atmel AT45DB321C, 4224 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Atmel AT45DB321D, 4096 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Atmel AT45DB321E, 4096 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Atmel AT45DB642D, 8192 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for ESMT F25L008A, 1024 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for ESMT F25L32PA, 4096 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25B05, 64 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25B05T, 64 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25P05, 64 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25B10, 128 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25B10T, 128 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25P10, 128 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25B20, 256 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25B20T, 256 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25P20, 256 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25B40, 512 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25B40T, 512 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25P40, 512 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25B80, 1024 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25B80T, 1024 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25P80, 1024 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25B16, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25B16T, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25P16, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25B32, 4096 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25B32T, 4096 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25P32, 4096 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25B64, 8192 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25B64T, 8192 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25P64, 8192 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25F05, 64 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25F10, 128 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25F20, 256 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25F40, 512 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25F80, 1024 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25F16, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25F32, 4096 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25F64, 8192 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25Q40, 512 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25Q80(A), 1024 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25Q16, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25Q32(A/B), 4096 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25Q64, 8192 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25Q128, 16384 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25QH16, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25QH32, 4096 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25QH64, 8192 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25QH128, 16384 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25S10, 128 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25S20, 256 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25S40, 512 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25S80, 1024 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25S16, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25S32, 4096 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon EN25S64, 8192 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for ESI ES25P40, 512 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for ESI ES25P80, 1024 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for ESI ES25P16, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for GigaDevice GD25LQ40, 512 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for GigaDevice GD25LQ80, 1024 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for GigaDevice GD25LQ16, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for GigaDevice GD25LQ32, 4096 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for GigaDevice GD25LQ64(B), 8192 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for GigaDevice GD25LQ128, 16384 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for GigaDevice GD25Q512, 64 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for GigaDevice GD25Q10, 128 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for GigaDevice GD25Q20(B), 256 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for GigaDevice GD25Q40(B), 512 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for GigaDevice GD25Q80(B), 1024 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for GigaDevice GD25Q16(B), 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for GigaDevice GD25Q32(B), 4096 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for GigaDevice GD25Q64(B), 8192 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for GigaDevice GD25Q128B, 16384 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for GigaDevice GD25Q128C, 16384 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for GigaDevice GD25T80, 1024 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for GigaDevice GD25VQ21B, 256 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for GigaDevice GD25VQ40C, 512 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for GigaDevice GD25VQ41B, 512 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for GigaDevice GD25VQ80C, 1024 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for GigaDevice GD25VQ16C, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Intel 25F160S33B8, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Intel 25F160S33T8, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Intel 25F320S33B8, 4096 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Intel 25F320S33T8, 4096 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Intel 25F640S33B8, 8192 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Intel 25F640S33T8, 8192 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Macronix MX23L1654, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Macronix MX23L3254, 4096 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Macronix MX23L6454, 8192 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Macronix MX23L12854, 16384 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Macronix MX25L512(E)/MX25V512(C), 64 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Macronix MX25L1005(C)/MX25L1006E, 128 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Macronix MX25L2005(C)/MX25L2006E, 256 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Macronix MX25L4005(A/C)/MX25L4006E, 512 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Macronix MX25L8005/MX25L8006E/MX25L8008E/MX25V8005, 1024 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Macronix MX25L1605, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Macronix MX25L1605A/MX25L1606E/MX25L1608E, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Macronix MX25L1605D/MX25L1608D/MX25L1673E, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Macronix MX25L1635D, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Macronix MX25L1635E, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Macronix MX25L3205(A), 4096 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Macronix MX25L3205D/MX25L3208D, 4096 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Macronix MX25L3206E/MX25L3208E, 4096 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Macronix MX25L3273E, 4096 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Macronix MX25L3235D, 4096 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Macronix MX25L6405, 8192 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Macronix MX25L6405D, 8192 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Macronix MX25L6406E/MX25L6408E, 8192 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Macronix MX25L6436E/MX25L6445E/MX25L6465E/MX25L6473E, 8192 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Macronix MX25L12805D, 16384 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Macronix MX25L12835F/MX25L12845E/MX25L12865E, 16384 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Macronix MX25U1635E, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Macronix MX25U3235E/F, 4096 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Macronix MX25U6435E/F, 8192 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Macronix MX25U12835F, 16384 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Macronix MX25L6495F, 8192 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M25P05-A, 64 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M25P05, 64 kB: probe_spi_res1: id 0x0
Probing for Micron/Numonyx/ST M25P10-A, 128 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M25P10, 128 kB: probe_spi_res1: id 0x0
Probing for Micron/Numonyx/ST M25P20, 256 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M25P20-old, 256 kB: probe_spi_res1: id 0x0
Probing for Micron/Numonyx/ST M25P40, 512 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M25P40-old, 512 kB: probe_spi_res1: id 0x0
Probing for Micron/Numonyx/ST M25P80, 1024 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M25P16, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M25P32, 4096 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M25P64, 8192 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M25P128, 16384 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M25PE10, 128 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M25PE20, 256 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M25PE40, 512 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M25PE80, 1024 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M25PE16, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M25PX80, 1024 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M25PX16, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M25PX32, 4096 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M25PX64, 8192 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M45PE10, 128 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M45PE20, 256 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M45PE40, 512 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M45PE80, 1024 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M45PE16, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST N25Q016, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST N25Q032..1E, 4096 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST N25Q032..3E, 4096 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST N25Q064..1E, 8192 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST N25Q064..3E, 8192 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST N25Q128..1E, 16384 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST N25Q128..3E, 16384 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Nantronics N25S10, 128 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Nantronics N25S20, 256 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Nantronics N25S40, 512 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Nantronics N25S80, 1024 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Nantronics N25S16, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for PMC Pm25LD256C, 32 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for PMC Pm25LD512(C), 64 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for PMC Pm25LD010(C), 128 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for PMC Pm25LD020(C), 256 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for PMC Pm25LD040(C), 512 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for PMC Pm25LQ020, 256 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for PMC Pm25LQ040, 512 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for PMC Pm25LQ080, 1024 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for PMC Pm25LQ016, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for PMC Pm25LQ032C, 4096 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for PMC Pm25LV512(A), 64 kB: probe_spi_res2: id1 0x0, id2 0x0
Probing for PMC Pm25LV010, 128 kB: probe_spi_res2: id1 0x0, id2 0x0
Probing for PMC Pm25LV010A, 128 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for PMC Pm25LV020, 256 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for PMC Pm25LV040, 512 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for PMC Pm25LV080B, 1024 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for PMC Pm25LV016B, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Sanyo LE25FW106, 128 kB: probe_spi_res2: id1 0x0, id2 0x0
Probing for Sanyo LE25FW406A, 512 kB: probe_spi_res2: id1 0x0, id2 0x0
Probing for Sanyo LE25FU406B, 512 kB: probe_spi_res2: id1 0x0, id2 0x0
Probing for Sanyo LE25FU406C/LE25U40CMC, 512 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Sanyo LE25FW203A, 256 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Sanyo LE25FW403A, 512 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Sanyo LE25FW418A, 512 kB: probe_spi_res2: id1 0x0, id2 0x0
Probing for Sanyo LE25FW806, 1024 kB: probe_spi_res2: id1 0x0, id2 0x0
Probing for Sanyo LE25FW808, 1024 kB: probe_spi_res2: id1 0x0, id2 0x0
Probing for Spansion S25FL004A, 512 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Spansion S25FL008A, 1024 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Spansion S25FL016A, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Spansion S25FL032A/P, 4096 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Spansion S25FL064A/P, 8192 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Spansion S25FL204K, 512 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Spansion S25FL208K, 1024 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Spansion S25FL116K/S25FL216K, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Spansion S25FL132K, 4096 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Spansion S25FL164K, 8192 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Spansion S25FL127S-64kB, 16384 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Spansion S25FL127S-256kB, 16384 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Spansion S25FL128P......0, 16384 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Spansion S25FL128P......1, 16384 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Spansion S25FL128S......0, 16384 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Spansion S25FL128S......1, 16384 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Spansion S25FL129P......0, 16384 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Spansion S25FL129P......1, 16384 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for SST SST25LF020A, 256 kB: probe_spi_rems: id1 0x0, id2 0x0
Probing for SST SST25LF040A, 512 kB: probe_spi_res2: id1 0x0, id2 0x0
Probing for SST SST25LF080(A), 1024 kB: probe_spi_res2: id1 0x0, id2 0x0
Probing for SST SST25VF512(A), 64 kB: probe_spi_rems: id1 0x0, id2 0x0
Probing for SST SST25VF010(A), 128 kB: probe_spi_rems: id1 0x0, id2 0x0
Probing for SST SST25VF020, 256 kB: probe_spi_rems: id1 0x0, id2 0x0
Probing for SST SST25VF020B, 256 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for SST SST25VF040, 512 kB: probe_spi_rems: id1 0x0, id2 0x0
Probing for SST SST25VF040B, 512 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for SST SST25VF040B.REMS, 512 kB: probe_spi_rems: id1 0x0, id2 0x0
Probing for SST SST25WF020A, 256 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for SST SST25WF040B, 512 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for SST SST25WF080B, 1024 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for SST SST25VF080B, 1024 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for SST SST25VF016B, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for SST SST25VF032B, 4096 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for SST SST25VF064C, 8192 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for SST SST25WF512, 64 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for SST SST25WF010, 128 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for SST SST25WF020, 256 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for SST SST25WF040, 512 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for SST SST25WF080, 1024 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Winbond W25Q40.V, 512 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Winbond W25Q80.V, 1024 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Winbond W25Q16.V, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Winbond W25Q32.V, 4096 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Winbond W25Q64.V, 8192 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Winbond W25Q128.V, 16384 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Winbond W25Q20.W, 256 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Winbond W25Q40.W, 512 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Winbond W25Q80.W, 1024 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Winbond W25Q16.W, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Winbond W25Q32.W, 4096 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Winbond W25Q64.W, 8192 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Winbond W25Q128.W, 16384 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Winbond W25X10, 128 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Winbond W25X20, 256 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Winbond W25X40, 512 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Winbond W25X80, 1024 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Winbond W25X16, 2048 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Winbond W25X32, 4096 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Winbond W25X64, 8192 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Unknown SFDP-capable chip, 0 kB: No SFDP signature found.
Probing for AMIC unknown AMIC SPI chip, 0 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Atmel unknown Atmel SPI chip, 0 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Eon unknown Eon SPI chip, 0 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Macronix unknown Macronix SPI chip, 0 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for PMC unknown PMC SPI chip, 0 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for SST unknown SST SPI chip, 0 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for ST unknown ST SPI chip, 0 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Sanyo unknown Sanyo SPI chip, 0 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Winbond unknown Winbond (ex Nexcom) SPI chip, 0 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Generic unknown SPI chip (RDID), 0 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00
Probing for Generic unknown SPI chip (REMS), 0 kB: probe_spi_rems: id1 0x0, id2 0x0
No EEPROM/flash device found.
Note: flashrom can never write if the flash chip isn't found automatically.
pi@rp:~ $
 
@jb007,

On my Raspberry Pi 4, I have to use this command:

sudo flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=1024 -r test.bin

This chip is notoriously difficult to work with. But on my board it's W25Q80DV not W25Q16DV. Try this:
  • Apply 2.5V to Pin 1 (Vcc)
  • Try reading the chip.
  • Disconnect Pin 3.
  • Try reading the chip.
  • Reconnect Pin 3.
  • Try reading the chip.
  • Remove Pin 1 (yes, no Vcc)
  • Try reading the chip.
In each case, check the bin file to make sure it contains sensible-looking data.
 
@jb007,

On my Raspberry Pi 4, I have to use this command:

sudo flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=1024 -r test.bin

Any reason you're using:

sudo flashrom -p linux_spi:dev=/dev/spidev0.1,spispeed=1024 -r test.bin
I was mucking around with both spidev0.0 and 0.1 Both give same results. I'm just about to try with a pullup resitor on /CS as it's power has to come up at the same time as VCC 3.3V in our case....
 
Hi @CaseySJ,

What do you think about this :headbang: :

View attachment 454541

This the Z390 Designare firmware patched with few bytes (less than 10) by using OSY86 tbpatch terminal app .. EGPU and XHC2 devices are fully operating on full thunderbolt tree .. without any add-on SSDT.. but just PXSX property :headbang::headbang::headbang:
This is awesome!! The trick is to first activate Thunderbolt Bus using the custom TbtOnPch SSDT, then run tbpatch, and finally remove the TbtOnPch SSDT, but inject PCI-Thunderbolt = 0x01 on RP05.PXSX.

Devil in the details! :)

I'm still in the process of recovering from an EFI folder crash. Will attempt this procedure soon!
In theory this process is doable, but timing is mission critical. I bricked my Thunderbolt controller because of a timing problem, but fortunately (after 2 hours) I managed to recover by using an external flasher.

This procedure is actually quite amazing because it does not require an external flasher. The only issue is timing. Let me explain -- because I totally attempted this a few hours ago and totally messed it up at the final step! :)
  1. First we have to replace the standard Thunderbolt SSDT with an extensively modified SSDT that (partially) enables Thunderbolt Bus without the need for flashing the firmware.
  2. We need to boot with a Thunderbolt device connected in order for Thunderbolt Bus to appear.
  3. Thunderbolt devices will stop functioning after about 20 seconds.
  4. The Osy86 tbpatch tool will magically work for those first 20 seconds.
    • This is what we mean by timing is mission critical.
  5. To make full use of those 20 seconds, we can open Terminal and type sudo tbpatch list <ENTER>. An error will appear, but we can ignore it.
  6. Then we quit all applications, but we keep Terminal running.
  7. Now we shutdown. And flip power switch on PSU to OFF for 5-10 seconds. Then reboot.
    • Make sure that you choose to reopen application/Finder windows on reboot.
  8. When system boots up, go ahead and login.
  9. Now you have less than 20 seconds to go to the Terminal window, press up-arrow to retrieve the last command, and press ENTER to run it. Type your admin password and press ENTER.
  10. Now sudo tbpatch list should return valid output.
After this we repeat Steps 5-10, but with a different tbpatch command that modifies less than 10 bytes in firmware. This must also be done within 20 seconds, but if you are even 1 second late, you will brick your Thunderbolt chip. This happened to me 2 hours earlier.

It took a lot of experimentation to flash a working image back to the Designare's Thunderbolt chip. The Raspberry Pi was the only tool that could do it, but after a lot of fiddling. The CH341a did not work. The Reveltronics REVELPROG-IS did not work.

So unless we can enlarge the time window from 20 seconds to about 45-60 seconds, then I cannot recommend this procedure.

The procedure is truly amazing. I was shocked to see that it works! But timing is so very critical that failure rates are going to be very high.


This is what happens when you get the timing off by even 1 second. After this, the Titan Ridge controller was dead.
Screen Shot 2020-03-14 at 5.17.39 PM.png

Titan Ridge controller is dead:

Screen Shot 2020-03-14 at 5.25.58 PM.png
 
Last edited:
Back
Top