[SOLVED] jflash spi eval license

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • [SOLVED] jflash spi eval license

    I got the J-Link EDU 9.4 a while back and have been wanting to learn how to use it but never really had an opportunity. Recently, I bricked my Asus laptop by flashing a bad BIOS. After some research I found a procedure to re-flash the BIOS and would like to use my EDU unit to do so. But since it is an EDU I obviously get the "no valid license found" error.

    I was wondering if there is a possibility to get a trial license for jflash spi? I have no commercial use for the unit, this is for my learning purposes only and I would like to use your tooling versus getting other hardware and using flashrom or another utility.

    Thanks
    Chris
  • Hi Chris,


    Please use this key in order to use J-Flash (SPI) with the J-Link EDU with the S/N you specified during registration (269402317):
    License_JFlash_V0_S269402317_E170608_K48933C9F
    Please note that this key is only valid during the next 30 days.

    Good luck with the laptop repair!

    Best regards,
    Niklas
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.
  • So I think I messed up my bios further, which just means that I need to find someone who can provide me with a good dump.

    I hooked up CS,CLK,DI,DO and provided 3v3 from external source to JLink VTref and to chip VCC. I grounded JLink's CS,CLK,DI,DO GNDs. Odd thing was that when I grounded chip GND the JLink would not detect the chip. So... I left the chip's GND disconnected, which seemed to satisfy JFlash_SPI.

    The bios was detected not as Winbond W25Q32BV but as:

    Source Code

    1. - Read SPI Flash Id = 0xEF 40 16
    2. - Found SPI Flash: Spansion S25FL032K


    I then dumped the chip to file (tried both on OSX and Ubuntu):

    Source Code

    1. ./JFlashSPI -speed 1000 -connect -readchip -saveas asus.bin


    I took a peek at the dump with a hex editor and it looked mostly empty, which I also found strange. But since I got the same result on OSX and Ubuntu, I proceeded to reconstruct the file using instructions found on the Internet for "ASUS G74 BIOS BRICK". I then programmed the chip with the reconstructed file, but when I read the chip again, it was mostly empty.

    What am I doing wrong?

    Thanks
    Chris





  • Hi Chris,


    The bios was detected not as Winbond W25Q32BV but as:

    C Source Code

    1. - Read SPI Flash Id = 0xEF 40 16
    2. - Found SPI Flash: Spansion S25FL032K


    Well it sounds plausible to me that ASUS may had multiple SPI-Flash suppliers for their products.
    What does it say on the chip?

    I grounded JLink's CS,CLK,DI,DO GNDs.

    ??

    Odd thing was that when I grounded chip GND the JLink would not detect the chip. So... I left the chip's GND disconnected, which seemed to satisfy JFlash_SPI.

    This sounds odd. If you did no connect GND on the SPI Flash, where did the power supply come from?
    Could/can you measure how much current the external power supply was providing?

    I took a peek at the dump with a hex editor and it looked mostly empty, which I also found strange. But since I got the same result on OSX and Ubuntu, I proceeded to reconstruct the file using instructions found on the Internet for "ASUS G74 BIOS BRICK". I then programmed the chip with the reconstructed file, but when I read the chip again, it was mostly empty.


    My recommends steps are (in no particular order):
    -1. Find out if this SPI device is really the bios chip.
    0. Try to find a person to guide you the progress, in the ASUS forum, on reddit.com/r/techsupport or in other places, since we do not have any information on ASUS Notebooks/Bios and can not invest time in researching it.
    1. Find out the exact name of the SPI device.
    2. Find the documentation of the SPI device. If S25FL032K is correct, this pdf should be the helpful: mouser.com/ds/2/100/spansion%20inc._s25fl032k_00-933787.pdf (Spansion merged with Cypress, Spansion documentation for the S25FL032K seems to be no longer available.)
    3. Check if some sort of read/write protection is active
    4. Check if the power supply is insufficient and therefore, the write procedure does not work
    5. Did you solder the chip out? Did you solder it in correctly?
    6. If you did not solder it out, did supplying 3.3V cause any damage?

    If 3) or 4) is the cause of the issue, i would expect that J-Flash SPI throws an error during verification.
    Did the content of the SPI Flash change at all?


    Best regards,
    Niklas
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.
  • Thanks for the tips. I do think that wiring is one of my issues. I have a bus pirate coming in so I'm going to give that a shot, then I will try the JLink again.

    Chip definitely says Winbond on it. Yes that is the flash (based on pictures from other Asus users), and I'm connecting it with probes from my Saleae in-circuit.

    JFlash does throw during verification.

    3v3 supply verified.

    So pins 6,8,10,14 are grounded.
    3v3 into VTref.
    When I did not ground the JLink, JFlash reported VTref anywhere from 1v to 4v, so grounding the above pins made sense.

    So yes, my biggest mystery at this point is why grounding chip's GND pin causes JFlash not to connect to the chip.

    The post was edited 1 time, last by cmisztur ().

  • Hi Chris,


    So pins 6,8,10,14 are grounded.

    That makes sense.
    However, this:
    I grounded JLink's CS,CLK,DI,DO GNDs.

    is a misconception, J-Link only has one GND (all GND pins are connected internally)
    Therefore, you only need to connect one of the pins(6,8,10,12,14) to GND (some GND as the target), but connecting multiple of these pins to ground does not cause any harm.


    Best regards,
    Niklas
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.
  • Hi,


    thanks for the update.
    I hope everything worked well!

    Best regards,
    Niklas
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.