Tutorial How to Update Firmware of JMicron JMS578 - USB3.0 - Sata Enclosure (Black Screen/Lock/Music Stop)

Wanderson Boy Rodrigues

Member
OP
Newcomer
Joined
Aug 3, 2015
Messages
6
Trophies
0
XP
76
Country
Brazil
I Don't know if anyone already found this solution, but I'v decided to share it with all of you anyways.

My Previously Wii drive is dead, I'v decided to buy USB Sata Enclosures/Cases, USB 3.0 for the "Fast" transfer of the WBFS files from my PC to External HD, But I'v Found, in many forums that JMicron is a Cheap Chinese Company, and Most of his Sata Enclosures, suffer from Power Management on their Firmware, and for that reason they shut down the HDD and The Nintendo Wii doesn't bring it up again.

Even in Windows is a pain in the ass, always wait for the drive Boot up, making this cases a pain in the ass, as I already said.

Said That, Let's go to the Solution

My Cristal Sata Slim USB 3.0 Case, came with the JMicron JMS578 Chip

8f7caad2-6790-4740-9718-33a08777ce46.jpg d386df1e-9e8c-4033-9f8f-4bc8e5f94bb2.jpg e9f72a01-087b-476a-ab93-92c625158a64.jpg ec18c7b9-5a72-419e-b02a-12a33406d9c3.jpg

After Many Research I'v Found a Firmware that worked great on disabling the Spin Down (Power Management) of Crystal Slim Case

There are no way to Write, Read Firmware if there no HDD Attach to the Enclosure, And is Safe to Update FW, no harm will happen to the HDD, but it is necessary.

First, as aways, backup The Original FW of the Hdd case using the FwUpdateTool_v1_19_16_24.exe Software AND MAKE SURE THAT YOUR CASE USES JMicron JMS578

Open the "JMS578_PPE_v124.01.00.02.bin" is not the latest, bur was the one that works better on my Wii, And Ps2 etc.

After That. check the [ X ] RD Version BOX and [ X ] Including JM557 NVRAM.

Write the Firmware, safety Unplug and You are Good to Go/Test

There are plenty Others Firmwares that I'v Found, Feel Free to test it.

Maybe this tip Work with other Cases, JMS583 JMS580 JMS578 JMS576 JMS562 JMS561U, With Corresponding Firmware if they have the same problem, Just Search for PPE ( PowerPlus) FW and try to get the NVRAM configs of Spin Down.

Happy Playing Super Mario Galaxy Again. And hope this help someone.
Sorry for my Bad English, mods Feel Free to Move this Tread, and fix my speech, and layout Share it anywhere. Thanks for the many years this forums helped me.
 

Attachments

  • JMicron JMS578 Sata Crystal Enclosure FWUpdate.zip
    1 MB · Views: 1,664
Last edited by Wanderson Boy Rodrigues,

GothicIII

Well-Known Member
Member
Joined
Jan 4, 2015
Messages
785
Trophies
0
Age
33
XP
1,430
Country
Gambia, The
Ehm how do you avoid chinese products if everything is produced in china? Want to produce electronic chips by yourself or what?
JMicron is a very big company and its chips are widely used in many consumer hardware. I would go so far and claim that even you own hardware with JMicron chips on it. They are specialized in sata and usb but provide everything around it (e.g RAID controller/NAS/USB adapter etc.).

@TS: Thank you very much for this information. I did not know that you could do a firmware update for sata/usb enclosures.
 

Wanderson Boy Rodrigues

Member
OP
Newcomer
Joined
Aug 3, 2015
Messages
6
Trophies
0
XP
76
Country
Brazil
I Agree, Jmicron is a great company, and provides chipsets for many other companys, in this case of the power management, is a problem with compatbility when using on old harwares, like ps2 and Wii, but is meant to be a feature.

The problem is that this sata enclosure, has no brand in it, and not support by a manufactured company like Sony, Samsung and others, and had none support at all.
 

NoobletCheese

Well-Known Member
Member
Joined
Aug 12, 2018
Messages
364
Trophies
0
Age
22
XP
620
Country
United States
Thanks OP for all your research, however I found that on my JMS578 enclosure, JMS578_PPE_v124.01.00.02.bin sets the spin down timer to 3 minutes. On the original firmware 00.02.00.04.bin I have 15 minutes. According to this, the default spin down time is 3 minutes, so maybe my enclosure can't read the spin down time properly and is just defaulting to 3 minutes?

Anyway, I followed the guide in that link to patch the spin down time manually under Linux and it worked. Here is the patched .bin for anyone who wants it. I have used the enclosure successfully on the Wii U and a PVR.
 
Last edited by NoobletCheese,
  • Like
Reactions: jeannotte

Wanderson Boy Rodrigues

Member
OP
Newcomer
Joined
Aug 3, 2015
Messages
6
Trophies
0
XP
76
Country
Brazil
Thanks OP for all your research, however I found that on my JMS578 enclosure, JMS578_PPE_v124.01.00.02.bin sets the spin down timer to 3 minutes. On the original firmware 00.02.00.04.bin I have 15 minutes. According to this, the default spin down time is 3 minutes, so maybe my enclosure can't read the spin down time properly and is just defaulting to 3 minutes?

Anyway, I followed the guide in that link to patch the spin down time manually under Linux and it worked. Here is the patched .bin for anyone who wants it. I have used the enclosure successfully on the Wii U and a PVR.

Thank god you are born, thanks for sharing the FW changed in linux, heard and find about how to change but know nothing on linux.
And your blessed soul came to our post.

I'm gonna test it in my wii, and will add to the first post if you don't mind, thanks for your work.

Edit: After Testing it keeps giving me Black Screen on Super Mario Galaxy. Sooooo Sad....
 
Last edited by Wanderson Boy Rodrigues,
  • Like
Reactions: jeannotte

Wanderson Boy Rodrigues

Member
OP
Newcomer
Joined
Aug 3, 2015
Messages
6
Trophies
0
XP
76
Country
Brazil
Sorry to hear that. Was it due to enclosure putting the drive to sleep?
I do think so.

I think it has a "sleep mode", as you said, the case simple turn of the drive, turn of itself, or both.

After many research, I'v found that this enclosure, has this "feature" called "Dormancy Mode" and so few docs in the web, even in windows is a pain in the ass because when you need to access the drive there's a 5 second time gap, a wait time for the enclosure to "turn on" again. the drive responde is awfull.

A feature that is not a feature, but many thanks for your efforts to help, hope we find an solution.

Even an E-mail to Jmicron I'v send, but no response.
 
Last edited by Wanderson Boy Rodrigues,

NoobletCheese

Well-Known Member
Member
Joined
Aug 12, 2018
Messages
364
Trophies
0
Age
22
XP
620
Country
United States
Maybe there are other microcontrollers on the circuitboard which have their own power management policy which is still in effect.

Or maybe it's a compatibility issue between v173.01.00.02 and your enclosure, in which case maybe try patching your enclosure's original factory firmware with the Linux tool. Feel free to upload it somewhere and I'll patch it for you.
 
Last edited by NoobletCheese,

tamtamtommy

New Member
Newbie
Joined
Oct 20, 2020
Messages
4
Trophies
0
Age
41
XP
17
Country
Canada
How well is USB 3.0 functioning for you @Wanderson Boy Rodrigues ?
I have a 3.0 SSD Qualcom, and it can run all the games, but loading USB Loader GX hangs.

My workaround:
  1. Unplug the SSD
  2. Launch USB Loader GX
  3. Wait until the "Waiting for your slow USB drive" message
  4. Plug in the SSD
  5. Everything works!
Do you get the same issue? Or does everything load instantly?
(I think this also blocks me from creating Auto loading USB Loader GX forwarding channels)

My SSD: Gigastone 500GB External SSD USB 3.1 Type C, Read Speed up to 550MB/s, 3D NAND, Ultra Slim. Model B07NTGXX6X
 

NoobletCheese

Well-Known Member
Member
Joined
Aug 12, 2018
Messages
364
Trophies
0
Age
22
XP
620
Country
United States
So I've been using JMS578_173010002_nospindown.bin for a while on my Wii U without issues, however I started getting random black screens of death saying the USB device had been disconnected.

I observed that if I do a hard AC reset of both the Wii U and enclosure, then it seems to be ok. But if I put Wii U into standby mode and then power it on the next time, it becomes unreliable with random black screens of death.

For several months before this I had been using my enclosure's original firmware 00020004.bin which has a default spindown time of 15 minutes, and never had any black screens. I only wanted to remove the spindown timer for convenience when using the enclosure with a PVR and Windows PC.

I tried patching my enclosure's original 00020004.bin with the Linux tool to remove the spindown timer, and I started getting random black screens again. So it seems that patching the spindown timer with the Linux tool breaks the compatibility with Wii U, and this seems consistent with Rodrigues' observations. btw the drive works fine on my PVR and Windows PC.

Here is the original unpatched 00020004.bin with its 15 min spindown timer, which is working for me on the Wii U without any black screens (yet!): https://drive.google.com/file/d/1JIUNoU6bmWWGByiNegsIjUHCaBWiXcg7/view?usp=sharing

With 00020004.bin, I noticed that if I leave the Wii U at the home screen for >15mins, or pause a game for >15mins, the drive does not spin down. But it does spin down if I plug it into a Windows PC and leave it for >15mins. So maybe the spindown timer is not actually related to this problem after all? To determine the spindown state I'm just using a stopwatch and feeling for HDD vibration through the enclosure.

There is one more thing I need to try to confirm that patching with the Linux tool is the culprit for Wii U compatibility issues: patching the firmware *only* using the Linux tool. Because I have been patching it with Linux, then dumping the firmware using the Windows tool, and then uploading the patched firmware using the Windows tool. I say this because I noticed the MD5 checksums of the dumped .bin files are not the same when I mix usage of the Linux and Windows firmware tools, even though they are supposed to be bitwise identical. Also the Windows firmware tool reports a different value in the 'Flash type' field despite them both being flashed with the same binary.

It may also be worth disabling the power saving settings in the Wii U system menu just in case.
 

Wanderson Boy Rodrigues

Member
OP
Newcomer
Joined
Aug 3, 2015
Messages
6
Trophies
0
XP
76
Country
Brazil
Maybe there are other microcontrollers on the circuitboard which have their own power management policy which is still in effect.

Or maybe it's a compatibility issue between v173.01.00.02 and your enclosure, in which case maybe try patching your enclosure's original factory firmware with the Linux tool. Feel free to upload it somewhere and I'll patch it for you.

Original of my enclosure
JMS578_STD_v00.04.00.07 Original da Case - Backup.zip

The latest Found at Oxdroid
bin-16028_jms578_std_v00.04.01.04_self_power_odd_20190611.zip

Because of the name, i'v thought, odd mean optical drive disc ? and for that reason was the best to try.
if you can patch it =D

But I'v think it was not related to spin down, but to a sleep mode on enclosure.

How well is USB 3.0 functioning for you @Wanderson Boy Rodrigues ?
I have a 3.0 SSD Qualcom, and it can run all the games, but loading USB Loader GX hangs.

My workaround:
Unplug the SSD
Launch USB Loader GX
Wait until the "Waiting for your slow USB drive" message
Plug in the SSD
Everything works!
Do you get the same issue? Or does everything load instantly?
(I think this also blocks me from creating Auto loading USB Loader GX forwarding channels)

My SSD: Gigastone 500GB External SSD USB 3.1 Type C, Read Speed up to 550MB/s, 3D NAND, Ultra Slim. Model B07NTGXX6X

This happened a time ago, the Workaround that I'v Found was load the wiiexplorer, start usb drive, and start the usbloadergx or wiiflowlite thought it, and it will create a save file that works arround.

Already found that, Usb 3.0 Enclosures are not full compatible with all ios, Tried 36, 222, 254, 255 and 256.

The issue is not any ios start the drive correctly, and it hangs, try other ios in the Usbloader Default menu, and create this save file on wiiflow, using wiiexplorer

After that, there are no Hangs on loading loaders, these are more likely to happen with broken ios images, Everythin works fine even with usbloadergx or WiiflowLite.

I'm on a Retail Wii, and using HDD.

So I've been using JMS578_173010002_nospindown.bin for a while on my Wii U without issues, however I started getting random black screens of death saying the USB device had been disconnected.

I observed that if I do a hard AC reset of both the Wii U and enclosure, then it seems to be ok. But if I put Wii U into standby mode and then power it on the next time, it becomes unreliable with random black screens of death.

For several months before this I had been using my enclosure's original firmware 00020004.bin which has a default spindown time of 15 minutes, and never had any black screens. I only wanted to remove the spindown timer for convenience when using the enclosure with a PVR and Windows PC.

I tried patching my enclosure's original 00020004.bin with the Linux tool to remove the spindown timer, and I started getting random black screens again. So it seems that patching the spindown timer with the Linux tool breaks the compatibility with Wii U, and this seems consistent with Rodrigues' observations. btw the drive works fine on my PVR and Windows PC.

Here is the original unpatched 00020004.bin with its 15 min spindown timer, which is working for me on the Wii U without any black screens (yet!): (linkremoved so i can post)

With 00020004.bin, I noticed that if I leave the Wii U at the home screen for >15mins, or pause a game for >15mins, the drive does not spin down. But it does spin down if I plug it into a Windows PC and leave it for >15mins. So maybe the spindown timer is not actually related to this problem after all? To determine the spindown state I'm just using a stopwatch and feeling for HDD vibration through the enclosure.

There is one more thing I need to try to confirm that patching with the Linux tool is the culprit for Wii U compatibility issues: patching the firmware *only* using the Linux tool. Because I have been patching it with Linux, then dumping the firmware using the Windows tool, and then uploading the patched firmware using the Windows tool. I say this because I noticed the MD5 checksums of the dumped .bin files are not the same when I mix usage of the Linux and Windows firmware tools, even though they are supposed to be bitwise identical. Also the Windows firmware tool reports a different value in the 'Flash type' field despite them both being flashed with the same binary.

It may also be worth disabling the power saving settings in the Wii U system menu just in case.

Thanks again for your work, Will try all of it.

This JMS578 was a "bad" choice, I will stay away from it for the time, or at least if we not found any solution.

Have a seagate 3.0 expansion that works fine, but is connected on my ps3 with a lot of games, and for sure I don't need 2 tb on wii, so Theres no option to use it on it.

In few words My black screens occurs when playing Super Mario Galaxy, and non strong demand games.

Example, when playting the same level for to long. The music stop and I don't even see it happen, I play all the level, in the best way to it freeze at the end, this is so anoying, have to replay over and over many levels and hard reset it, so many times that ruins the fun.

And because of that left my wii off, until I Solve the problem.

------------------------------------------------------

There are many information on this
https://forum.odroid.com/viewtopic.php?t=28535
 

Attachments

  • JMS578_STD_v00.04.00.07 Original da Case - Backup.zip
    24.8 KB · Views: 356
  • bin-16028_jms578_std_v00.04.01.04_self_power_odd_20190611.zip
    25.1 KB · Views: 333
Last edited by Wanderson Boy Rodrigues,
  • Like
Reactions: NoobletCheese

NoobletCheese

Well-Known Member
Member
Joined
Aug 12, 2018
Messages
364
Trophies
0
Age
22
XP
620
Country
United States
00020004.bin seemed to be working, but today it froze again with a black screen and 'USB device has been disconnected' error message.

This was after leaving the console and enclosure in standby for a few days. This is consistent with your comments about a possibly bugged deep sleep mode (unrelated to spin down timer) and the observation that a hard AC reset fixes it temporarily.

However, the fact that I experienced no issues for several months before I flashed anything to the enclosure using the Windows tool, makes me suspicious of the Windows tool. i.e merely dumping and reflashing the same original firmware seems to have created the issue in my case.

All that's left for me now is to try flashing directly with the Linux tool instead. It can also disable the the SATA hot swap function which I will try (by default my enclosure seems to have it enabled).

I use my Linux-based PVR to run the tool, but another option may be to create a bootable USB Linux command prompt drive.
 

NoobletCheese

Well-Known Member
Member
Joined
Aug 12, 2018
Messages
364
Trophies
0
Age
22
XP
620
Country
United States
I tried flashing various configurations of firmware directly via the Linux tool, without success.

The reboots have become even worse for me now, with consistent freezing after a few minutes of gameplay.

Still confused why I didn't have this issue before I flashed anything. Maybe flashing the firmware after games are already installed confuses the Wii U somehow? Maybe Wii U keeps it's own registry of devices and games on those devices, then you flash firmware, it's suddenly a different device?

I suppose I could try starting from scratch with an empty drive and install the games to it from scratch, and then never flash any new firmware to the device. Not sure if I have the patience for it though :)

In the meantime I seem to be having success by powering on the console first, then attaching the USB cable. It's quite annoying to have to do this at every boot though. Might just try another enclosure.
 

NoobletCheese

Well-Known Member
Member
Joined
Aug 12, 2018
Messages
364
Trophies
0
Age
22
XP
620
Country
United States
Have you tried using a different USB cable?

I forgot that I was using a different cable back when I was having no issues, so I swapped it back to that one and I haven't been able to reproduce a crash yet.

Not getting my hopes up, but prior to swapping the cable the darn thing wouldn't stop crashing, 4 times in the last 3 hours. Now I can't seem to get it to crash.

I inspected the pinout of both cables and they appear the same USB type A to type B, with 9 pins on each end. Apparently there's a type b connector which has 2 extra pins for power, but I'm not sure if that's relevant.

Also according to this, firmware 0.1.x.x is for self-powered, 0.2.x.x is for bus-powered, which doesn't make sense given mine is self-powered (AC adaptor) and shipped with 0.2.0.4.
 
Last edited by NoobletCheese,

NoobletCheese

Well-Known Member
Member
Joined
Aug 12, 2018
Messages
364
Trophies
0
Age
22
XP
620
Country
United States
It's looking like the cable might be the culprit as I've still not been able to reproduce a crash or problems detecting the drive after several hours of standby.
 

NoobletCheese

Well-Known Member
Member
Joined
Aug 12, 2018
Messages
364
Trophies
0
Age
22
XP
620
Country
United States
Just reporting that swapping the USB cable has completely solved the issue for me. Never had a single freeze since, been happily playing Mario 64 for the last couple of weeks.

Apologies if I wasted anyone's time or contributed to anyone's wild goose chase.

Would be interested to know if cable swap helped OP.
 

Wanderson Boy Rodrigues

Member
OP
Newcomer
Joined
Aug 3, 2015
Messages
6
Trophies
0
XP
76
Country
Brazil
Just reporting that swapping the USB cable has completely solved the issue for me. Never had a single freeze since, been happily playing Mario 64 for the last couple of weeks.

Apologies if I wasted anyone's time or contributed to anyone's wild goose chase.

Would be interested to know if cable swap helped OP.

Great News, Will try it later, Changed de USB3 cable to another USB3 ?

No need to apologize, all effort for the greater good are very welcome.

I't seems nonsense to be an cable issue but Who Knows, I Don't have any other USB 3.0 cable, only the one that came with the enclosure, Only have a Samsung with USB 3.0 but is Microusb Type A.

Doesn't Know anything about "bus powered" "self powered" The Jmicron give no explanation os their products, and never answered my Email, as expected.

Will try with a 2.0 cable and see what wee got, now have 4 cheaps 2.0 cables haha.



Anyways Have Soved my issues so far Buying generic 2.0 cases ( Still in testing in the post moment)

EDIT

After mannyyyyy testing, no black screens after all, some misfortune on ps2 but is a 500mah usb port problem. Solved with soldering usb ports internally. So Far So Good, but a lot of Heat have been made with those cases.


3521909d-3cb1-4b94-aa7b-94b889f01788-jpg.235561



Hope Your Solution Helps, will try soon as get a cable , Already Sold one of my crystal enclosures, keeped one for fast transfer rates, and Buyed 2.0 one for wii, one fo 360, one for a ps2 friend, and a backup one for Who Knows.

Greeting for All.
 

Attachments

  • 3521909d-3cb1-4b94-aa7b-94b889f01788.jpg
    3521909d-3cb1-4b94-aa7b-94b889f01788.jpg
    77.8 KB · Views: 3,617
Last edited by Wanderson Boy Rodrigues,
  • Like
Reactions: NoobletCheese

SunYeYu123456

New Member
Newbie
Joined
Jan 30, 2021
Messages
1
Trophies
0
Age
23
XP
9
Country
China
Hello and thank you for sharing the firmware. It seems that you are discussing the problem of hard disk box hibernation. I found a software that can modify the hard disk sleep time. I will put the software in the link below. This software is provided by ORICO, a local (Chinese) hard disk box manufacturer, but I don't like their product because its circuit board components are poor and its power supply is also poor.The sleep mode of hard disk can be changed by changing EEPROM. If the position in the figure is filled with 0, it means that the hard disk box will not sleep.In addition, I would like to make it clear that updating EPPROM does not affect the firmware support for uasp and trim functions.As far as I know, in our country, the early firmware of jms578 chip already supported trim technology, but the early firmware of asm1153e did not support trim technology.But at this time, if you can buy a new asm1153e chip, the firmware of the hard disk box should support trim. And asm1153e and jms578 can use professional software to modify the sleep time. Finally, I want to say that jmicron is as good as asmedia. Jms578 and asm1153e are widely used in Seagate's and Western Digital's mobile hard disks. Asmedia, in particular, is a subsidiary of ASUS and has good technical strength. So please don't lose confidence in Chinese products. All of the above are about the 2.5-inch hard disk case. If you are using a 3.5-inch hard disk box, you also need to pay attention to the problem of power supply. I recommend that 8t enterprise mechanical hard disk use a 12v3a power supply to ensure sufficient starting current. There are other questions about hard disk. Please ask me. I'll try my best to reply.:)
 

Attachments

  • 2.png
    2.png
    188.1 KB · Views: 595
  • JMMassProd2_v1_16_14_25.zip
    3.3 MB · Views: 327
Last edited by SunYeYu123456,

NoobletCheese

Well-Known Member
Member
Joined
Aug 12, 2018
Messages
364
Trophies
0
Age
22
XP
620
Country
United States
Finally, I want to say that jmicron is as good as asmedia. Jms578 and asm1153e are widely used in Seagate's and Western Digital's mobile hard disks. Asmedia, in particular, is a subsidiary of ASUS and has good technical strength. So please don't lose confidence in Chinese products. All of the above are about the 2.5-inch hard disk case. If you are using a 3.5-inch hard disk box, you also need to pay attention to the problem of power supply. I recommend that 8t enterprise mechanical hard disk use a 12v3a power supply to ensure sufficient starting current.

Yeah I don't see anything wrong with the JMS578 3.5" controller. I'm using it on a Windows 7 PC, Linux STB, and Wii U, and experience no issues once I swapped the USB cable, then all my issues went away. So it was a faulty cable for me, that's all. Power supply is 12v2a, for a 1TB WD Green 3.5" drive.
 
Last edited by NoobletCheese,
General chit-chat
Help Users
    The Real Jdbye @ The Real Jdbye: i've heard of getting run over by a car but never a dog lol