2011-10-03

Flashing a NEC/RENESAS USB 3.0 uPD720200/uPD720200A firmware

It looks like NEC/Renesas are releasing steady releases of their popular USB 3.0 controllers drivers and firmwares. In case you have such a controller, you probably want to check the following page for the latest version.

One of the problems I found with the latest firmware update (4015) is that the GUI Renesas upgrade utility just didn't work for my controller, on Windows 7 x64. Even worse, it created commandline processes ad-infinitum, which, apart from obviously clogging up the system, is the last thing you want to see, as repeated erase/flash cycles can really wear out a flash chip.

The good thing however is that the firmware upgrade comes with a commandline flashing utility (W200FW35.exe), so you might as well use that, and flash the firmware manually. Having a commandline utility may also help with a flashrom implementation in the future, since it should be fairly straightforward to reverse engineer. The one thing you have to be careful of however, when using W200FW35.exe, is that you need to select the right SPI-Flash-ROM device type for flashing, and that the included batch files, which are set to a specific type, may not match the one you have.

Issuing W200FW35.exe /? will provide more information. First, in an elevated command prompt, start by issuing /srom ? to identify your chip and check that the flashing utility can access it:

C:\uPD720200_uPD720200A_FW_Updater>W200FW35.exe /srom ?
Bus:0x04 Device:0x00 Function:0x00
This Device is uPD720200A(Revision 4).
    W25X10BV/20BV/40BV(WINBOND)/EN25F05/10/20/40/(EON)/A25L512/010/020/040(AMIC) Type : 3, PageSize = 0x100, Chip Erase = 0xC7
Then, if you have a uPD720200A based controller, you probably want to issue:
W200FW35.exe /srom 0 /dump backup.mem
W200FW35.exe /srom 0 /write F401502.MEM cfg.ini
/srom 0 above ensures that the flash type will be autoselected. Or, in this case, we could have used /srom 3. If you use an srom parameter other than 0, be mindful that using the wrong type will result in both garbage in and garbage out.
As digitaldiatribe also points out, if you have more than one Renesas chip on your system, you will also need to add the /address switch to select the right one. Update: As pointed out by Eluder, the latest firmwares from Renesas no longer come with the W200FW35.exe commandline utility. It can still be obtained from the "3.0.2.8.0.8 (uPD720200) & 4.0.1.5.0.2 (uPD720200a)" archive available on the link provided above.

43 comments:

  1. Thanks for this, I was having the exact issue with the multiple cmd.exe processes.

    A slight note for users with 2 controllers of the chips, make sure to use the /address function and use the aforementioned w200FW35.exe /srom ? to identify the devices!

    ReplyDelete
  2. Thanks you... You save me. I just incorrectly flashed my USB 3.0 ExpressCard 54 and I didn't know how to fix it. Then I found your article and I set srom to 3 and then it finally wrote the firmware correctly.

    ReplyDelete
  3. I have problem with this one on my Toshiba laptop described here-
    http://forums.toshiba.com/t5/Computer-Troubleshooting/Portege-R835-USB-3-0-port-problem-Shutdown-everytime/m-p/237356
    I tried what you wrote. didnt solve it

    Do you anything about it?

    ReplyDelete
  4. Is your issue with flashing the firmware, or is the issue with the fact that the USB 3.0 port shuts down in an intermittent manner?
    If the former, does "W200FW35.exe /srom 0 /dump backup.mem" work? If not, then it may be that the flashing software is not able to access the firmware chip, so it could be that Toshiba did something special for bus access, or a permission problem (are you running your DOS prompt as administrator?)
    If the latter, then it's a software or hardware issue with the Renesas chip itself, or the way Toshiba interfaces with it, in which case you should let Renesas known about the issue.

    ReplyDelete
  5. Thanks for this post, I'm glad to know that others are having this issue and there is a workaround. I was trying to accomplish the same thing via the Rosewill package that I received (RC-505 board) but I had to extract the files from the installer itself as they weren't provided outright.
    One note is that when my installer "forkbombed" and I killed the spawned processes, the installer complained that it couldn't identify the controller version. That suggests that the issue in this case was detection, not that the firmware image was being written over and over.

    Unfortunately when I run the W200FW35.exe executable with any arguments other than /? I receive an error message that the xhc200w library did not initialize correctly (Exit/error code -32).
    The xhc200w.dll & .sys files are present in the program directory. I even tried loading the dll with regsvr32.exe to no avail.

    The checksums for the xhc200w files in the Renesas firmware version 3.0.2.8.0.8 & 4.0.1.5.0.2 (As per the website) download referenced in your post are:
    xhc200w.dll
    CRC32: E48B5D61
    MD5: 2C3844FEB46845DF0AC89C706AB18929
    SHA-1: C404ED976B1E2B8D834F60CC6525E232462D27CF

    xhc200w.sys
    CRC32: 506418D6
    MD5: 8DB93A0DAEF80478D934A0C573916DCD
    SHA-1: CBF59496327386FC82C9A5210ABC2F3412E31DA6

    Any assistance would be appreciated, even if someone can just verify that the files I have are correct. I'm going to try running the executable in a few different compatibility modes or even under a 32bit OS (WinPE or Wine). I may try to disassemble the .dll to see if there are any details on what the error code means if I don't get any further.

    Thanks!

    ReplyDelete
  6. Just wanted to say thanks, been trying to flash my motherboard's Renesas controller for the longest time, and it never worked using the updated. Never knew I could do it via command line.
    Thanks to this post, I was able to finally successfully update the firmware!

    ReplyDelete
  7. I'm trying to flash the Renesas USB 3 controller on my Asus P8P67 Deluxe motherboard using the command line procedure. I currently have firmware version 3025. The command line I entered is:

    w200fw35 /srom 2 /address 03-00-00 /write F401502.mem cfg.ini

    The message I get is:

    This firmware revision is 4.
    This chip revision is 3.
    Revision is mismatch.

    Where am I going wrong?

    Thanks.

    Peter

    ReplyDelete
  8. Please ignore my last question above. The answer became obvious. Better to do this stuff when I'm awake than half asleep.

    ReplyDelete
    Replies
    1. What did you do to fix the issue as I'm stumped at the moment?

      Delete
  9. Thank you... You save my day ;-)

    ReplyDelete
  10. Hi

    I have a gigabyte x58a-ud7, the controller is uPD720200 Revision 3, and the OS is Win7 Pro 64bit.

    Now I use the last driver 2.1.28.1 (even if everywhere in my system it detect as 2.1.28.0) and the firmware 3028.

    I updated firmware 3028 normally by the relative installer. Now I have some problem for the last firmware.. as you've written, the normale installer don't work. Precisely, using the compatibility mode for Win XP SP2, the installation apparently well done, but after restart the pc, the firmware version detected is the same, 3028..

    Now i tried to follow your instruction, but I have one more problem.. when I use the command for update ('W200FW35.exe /srom 0 /write F401502.MEM cfg.ini') I recive this message:

    [Target Device]Bus:0x01 Device:0x00 Function0x00
    This Device is uPD720200(Revision 3).
    Update SROM Image error (-41)

    Can you help me?

    Sorry for my english, isn't my frist language :-)

    thnx

    ReplyDelete
    Replies
    1. This comment has been removed by the author.

      Delete
  11. par,
    Perhaps you gotta type F302808.MEM instead of F401502.MEM (as was listed by Pete), because your revision is 3, not 4

    Pete,
    got the same mistake as par, but my rev. number is 4 (as in the case you've listed)
    made an attempt to use GUI upgrade utility, but it ended up with error (Win7x64), so tried the command line method
    "/srom ?" command gave me the following:

    Bus:0x05 Device:0x00 Function:0x00
    This Device is uPD720200A(Revision 4).
    MX25L5121E/1021E(MACRONIX) Type : 4, PageSize = 0x20, Chip Erase = 0x60

    backup went normal, but "/srom 0 /write F401502.MEM cfg.ini" resulted in:

    [Target Device]Bus:0x05 Device:0x00 Function0x00
    This Device is uPD720200A(Revision 4).
    Update SROM Image error (-41)

    Please help me find the solution to this

    ReplyDelete
  12. Thnx cOOper

    I had not thought.. but wherever there is no reference about the revision, but only about the name of the controller ..

    I take as a reference station-drivers, here's the page about it
    http://www.station-drivers.com/forum/viewtopic.php?f=32&t=3169&p=11158 # p11158
    nothing is said about the revision of the controller..

    However, you may have guessed .. Pete maybe can give a confirmation ..

    thnx

    ReplyDelete
  13. Sorry to all, I was wrong.. cOOper has guessed :)

    "Le firmware 4.0.1.5 et par defaut sur les cartes mères à partir de la P67 et ne peux pas s'appliquer sur les cartes mères ayant un firmware 3.x."

    ReplyDelete
  14. i dont understand !!! i have dell xps 17 that usb 3.0 problem please help me

    ReplyDelete
  15. Hi cOOper.
    I'm afraid I can't help you with error -41.
    I suggest that you contact Renesas Support, starting with the page at:
    https://renesas.zendesk.com/home

    ReplyDelete
  16. C:\uPD720200_uPD720200A_FW_Updater>W200FW35.exe /srom ?
    Bus:0x03 Device:0x00 Function:0x00
    This Device is uPD720200A(Revision 4).
    MX25L512/2005/4005A/4005C/2006E/4006E(MACRONIX)/Pm25LD512C/010C/020C(Chingis) Type : 2, PageSize = 0x100, Chip Erase = 0x60
    C:\uPD720200_uPD720200A_FW_Updater>W200FW35.exe /srom 2 /write F401502.MEM cfg.ini
    [Target Device]Bus:0x03 Device:0x00 Function:0x00
    This Device is uPD720200A(Revision 4).
    Erase Serial ROM.... 100%
    Erase complete
    Write Serial ROM.... 100%
    Write complete
    Verify Serial ROM.... 100%
    Verify complete

    C:\uPD720200_uPD720200A_FW_Updater>

    Flashing worked now but the Renesas Electronics USB 3.0 Host Controller Utility still shows Firmware Version: 4015. I also installed driver 2.1.28.1 but the Utility still shows driver version: 2.1.28.0.

    Thank you very much.

    ReplyDelete
  17. Nikolaus,

    It looks to me like you flashed firmware 4015 rev 02 (F401502.MEM), so the host controller utility should show Firmware Version: 4015.
    I also installed the 2.1.28.1 driver files, and the version displayed is 2.1.28.0, so it looks like Renesas simply forgot to properly update the version.

    In other words, don't worry: you are using the latest firmware and driver.

    ReplyDelete
  18. I have renesas usb 3.0 expresscard 54 and windows 7 32 bit.
    i have tried to do the command

    W200FW35.exe /srom ?

    but not run beacause the compatibility mode for Win XP SP2 not exist ( only windows vista ,vista sp1, vista sp2 and windows server 2008 sp1 ).

    Why windows don't show me the compatibility mode for Win XP SP2 ?

    Sorry for my english :)
    thanks alot.

    ReplyDelete
  19. Hi AP3,

    I'm not entirely sure expresscard are entirely supported with the method above. I suggest you contact Renesas support, as they may have a better idea:
    https://renesas.zendesk.com/home

    ReplyDelete
  20. Hi Pete,

    As I am still having lots of problems with my renesas usb 3.0 expresscard 34 (uPD720200 and windows 7 64 bit), with Firmware Version 3.0.2.8.0.8 and Drivers Version 2.1.28.1, I'd like to know if you did investigate the meaning and try to change the parameters in cfg.ini file ? espcially the [EnableClockRequest] option ?
    Thanks
    jean

    ReplyDelete
  21. I haven't. But I would suggest you contact Renesas support, and if you can find information about the parameters, please let me know.

    ReplyDelete
    Replies
    1. Hi Pete,
      I did give up with my uPD720200, and bought an Expresscard with Renesas uPD720202. I did install the last Firmware and driver and it seems to work, but as I am travelling this month, I want be able to test iy with my usb3 HDD.
      There is still an [EnableClockRequest] parameter in the cfg_202_v2.ini file, but I did not investigate.
      regards.

      Delete
  22. Hi Pete. i found your post a few months ago. i tried to update FW on my laptop (is an HP 8540w) i dunno if i need to update it as i dont know what version ive got...

    it just keeps failing

    here is the output

    C:\Users\Carlos\Desktop\sp48109\64>w200fw20 /srom ?
    Bus:0x45 Device:0x00 Function:0x00
    AT25F512/A/B(ATMEL) Type : 1, PageSize = 0x80, Chip Erase = 0x62

    C:\Users\Carlos\Desktop\sp48109\64>w200fw20 /srom 0 /write F302108.MEM cfg.ini /
    log necusb3.log
    [Target Device] Bus:0x45 Device:0x00 Function:0x00
    Erase Serial ROM.... 75% ^C

    it freezes at 75%. im using FW utility from HP. am i doing something wrong with this?

    thanks

    ReplyDelete
  23. 1- Use the last version of install program, w200fw35.exe and not w200fw20. (It should also give your version).
    2- Ensure you are running your DOS prompt as administrator.
    3- Please read carefully all the comments above on this page : Did the dump work ? Do you have 2 controllers ?

    ReplyDelete
  24. Renesas uPD720202 firmware update to 2.0.1.1:

    firmware, flash tool ---> station-drivers.com

    W201FW20.exe /srom 0 /write K2011070.mem cfg_202_v2.ini

    Install driver 3.0.20.0.
    Done! :)

    Hardware: Transcend PDC3 PCI-e card (with NEC/Renesas USB3 controller)

    Anyway, thanks again Pete! ;)

    ReplyDelete
  25. I have SilverStone SST-EC01-P (NEC uPD720200). W200FW35.exe /srom ? keeps saying "Device not found!" Any ideas?

    ReplyDelete
    Replies
    1. Updated my SilverStone SST-EC01-P from firmware version 2006 to version 2013. No problems. Where I went wrong. First the SST-EC01-P uses the NEC uPD720202 chip not the uPD720200. Download the file "Flash pour Firmwares sous Ms-Dos/Windows/Linux" then add the latest *.mem file to the x64 directory. Follow Giannichedda instructions above.

      Delete
  26. The latest version of the driver (3.0.3.4/4.0.2.0) does not contain the W200FW35.exe flash utility. It also has a very basic .ini file, so I'm wondering, is it safe to use the old flash util (W200FW35.exe) to flash and do we use the included W200FWUP.ini file in the latest download, or do we use the older cfg.ini included with the older updates?

    ReplyDelete
  27. I just updated my NEC/Renesas USB 3.0 Firmware 3028 To 3034 .. Here is the package I used to update the firmware..

    http://vip.asus.com/forum/view.aspx?id=20120724023105787&board_id=1&model=P8P67+DELUXE&page=1&SLanguage=en-us

    ReplyDelete
  28. @Eluder: I'm pretty sure using the old flash utility should be safe, as the flashing protocol is not something that will change between one version and the next. The older cfg.ini is what you should use, along with the newer firmware file.

    ReplyDelete
  29. Thanks guys, I got the process completed using the method posted on the Asus forums.

    ReplyDelete
  30. a working flasher with instructions can be found on station-drivers forum too

    http://www.station-drivers.com/forum/viewtopic.php?f=32&t=3825#p14447

    bye

    ReplyDelete
  31. Update 2.0.1.1 to 2.0.1.7:

    -Step 1: Update to 2.0.1.3
    [url]http://goo.gl/QCybJ[/url]
    [code]W201FW20.exe /srom 0 /write K2013080.mem cfg_202_v2.ini[/code]

    -Step 2:
    Get 2.0.1.7 from station-drivers.com, and follow the instruction.

    (uPD720202@win7x64)

    ReplyDelete
  32. Thanks, however after upgrade, Renesas utility said I have no suitable device! I had to install the driver again.

    c:\tmp>W200FW35.exe /srom ?
    Bus:0x03 Device:0x00 Function:0x00
    This Device is uPD720200A(Revision 4).
    MX25L512/2005/4005A/4005C/2006E/4006E(MACRONIX)/Pm25LD512C/010C/020C(Chingis
    ) Type : 2, PageSize = 0x100, Chip Erase = 0x60
    Bus:0x06 Device:0x00 Function:0x00
    This Device is uPD720200A(Revision 4).
    MX25L512/2005/4005A/4005C/2006E/4006E(MACRONIX)/Pm25LD512C/010C/020C(Chingis
    ) Type : 2, PageSize = 0x100, Chip Erase = 0x60
    --------------------------------------------------------
    c:\tmp>W200FW35 /srom 0 /address 03-00-00 /dump backup-03-F4015.mem
    [Target Device]Bus:0x03 Device:0x00 Function:0x00
    This Device is uPD720200A(Revision 4).
    Read Serial ROM.... 100%
    Dump complete
    ------------------------------------------------------------------------
    c:\tmp>W200FW35 /srom 0 /address 06-00-00 /dump backup-06-F4015.mem
    [Target Device]Bus:0x06 Device:0x00 Function:0x00
    This Device is uPD720200A(Revision 4).
    Read Serial ROM.... 100%
    Dump complete
    ---------------------------------------------------------------------------
    c:\tmp>W200FW35 /srom 0 /address 03-00-00 /write F402003.MEM cfg.ini
    [Target Device]Bus:0x03 Device:0x00 Function:0x00
    This Device is uPD720200A(Revision 4).
    Erase Serial ROM.... 100%
    Erase complete
    Write Serial ROM.... 100%
    Write complete
    Verify Serial ROM.... 100%
    Verify complete
    ----------------------------------------------------------------------------
    c:\tmp>W200FW35 /srom 0 /address 06-00-00 /write F402003.MEM cfg.ini
    [Target Device]Bus:0x06 Device:0x00 Function:0x00
    This Device is uPD720200A(Revision 4).
    Erase Serial ROM.... 100%
    Erase complete
    Write Serial ROM.... 100%
    Write complete
    Verify Serial ROM.... 100%
    Verify complete

    ReplyDelete
  33. Awesome page! Helped me update usb3 dual controllers without issues. Thanks!

    ReplyDelete
  34. NEC uPD720200 USB 3.0 Host Controller Win7 machine. I thought my NEC uPD720200 USB 3.0 Host Controller was dead, would hang on flashing. But I moved it to a different slot and removed two other cards(SATA and FireWire) temporarily and now it works. Set at Driver 1.0.18.0 and FW 3021. I was flashing to get more functionality like sleep settings. Don't flash unless something won't work. My USB 3.0 drive was working fine. I already bought another USB 3.0 card. I will return. Win7 64bit

    ReplyDelete
  35. Anyone get a failure on attempting to backup the original rom?
    (This Device is uPD720200
    Serial ROM read error <-1>

    ReplyDelete
    Replies
    1. On write attempt I get "Serial ROM write error <-17>"

      Delete
  36. Not sure if anyone is still reading this...
    Trying to update my NEC USB3 D720200F1 on my GA-HA55-USB3 motherboard.
    Following the command
    D200FW36 /srom 0 /writeall update.mem cfg.ini

    I get...
    Bad command or file name.

    Not sure what to do next.
    Anyone?

    ReplyDelete