Interested to know /why/ USB3 is not reliable for unRAID flash/boot drive.


14 posts in this topic Last Reply

Recommended Posts

Hiya,

 

Please don't take this as an attack in any way. I'm genuinely interested in the technical* reason/s USB2 just works, and USB3 is flakey. I started on USB3, and it was actually fine to begin with. But when i started adding Dockers, VMs and Apps, i started to get weird quirks. So i put it in USB2 as recommended and everything stabilised.

 

Why is USB3 not suitable to boot unRAID?

 

*Not too technical 😅

 

Thanks :)

 

Link to post

Nobody knows for sure since there hasn't been any scientific research into it. So take what I'm saying with a grain of salt.

 

USB 3.0 is faster and with speed comes heat. A lot of USB sticks are poorly designed in terms of thermal - especially the micro tiny style.

  • Trapped heat is problematic.
    • Metal expands, which may loosen pins contact
    • Plastic and metal expand at different rate so the plastic casing may deform the metal parts, causing short circuit or loose contact
    • Heat may actually damage the storage cells.
      • USB 3.0 sticks tend to be larger capacity, which is achieved by packing more data into practically the same amount of space. So when there is data corruption, more data is corrupted.
    • And the heat contribution may also come from the surrounding ports as well, not just the stick itself.
  • This explains why plugging USB 3.0 sticks on USB 2.0 ports help. Running it at slower speed generates less heat.
    • This is just anecdotal again but that's how I have been running my micro stick with limited issues for years now. Having said those famous last words, it probably is gonna die soon LOL 🤣

 

Link to post

I ran Linux Mint off the same (model) USB stick previously over USB3 and i didn't experience any issues. My use wasn't extensive, but it was long and active enough to get quite warm. I'm going to guess it was probably doing more than the unRAID stick because the way unRAID uses the RAM.

 

It might be the BIOS implementation of USB3 on some devices - but you'd think on newer systems this would have been well and truly ironed out. USB3 is well over a decade old now (3.1 came out in 2013). Many unRAID systems appear to be old desktops though :) Mine is! Some Linux distros are designed to run live rather than installed. I haven't looked into whether they're problematic on USB3. I routinely install Linux distros via USB3 which would be quite intense read - works fine every time.

 

Does the Slackware base have trouble with it if run live?

 

I remember on my new Ryzen system a couple of years ago, i installed Arch (first time ever) and things were awesome. Then - it started locking up. It always seemed to do it when i moved the mouse (not always, just sometimes). I tested the theory by moving mouse around really fast and aggressive - it'd cause it to lock up. I spent days researching this and in the end i discovered a post something like the the one below.

https://askubuntu.com/questions/457901/usb-2-0-device-scanner-does-not-work-with-xhci-hcd-on-usb-3-0-system

 

Unfortunately, i had also just applied updates when i also turned of xhci in the UEFI (now i'm telling the story, i can't remember if i turned it off, or changed the setting to something else). And my system became stable. So was it the microcode update i'd just installed, or the USB UEFI setting? I was so happy my system wasn't freezing anymore i didn't turn it back on to test it.

 

So yeah - maybe inconsistent/unreliable kernel implementations of some USB drivers is a problem.

 

Kinda sux though. It was nice booting my unRAID in about 1/3 the time of USB2.

 

Link to post

Most of the problems seem to occur during the boot process.  And there is a lot of stuff going during an Unraid boot.  First, the BIOS will detect the USB drive and recognize that it is a bootable drive.  When it detects the drive does it detect it as UBS3 or does it just assume that it is a USB2 drive?  (Fifteen years ago, I had a AMD MB that detected all USB flash drives as USB1 and the boot proceeded at USB1 speeds! Once Unraid was running the USB drive was running at USB2 speeds.)   The BIOS then starts the boot process by loading the boot menu.  The default on the boot menu is Unraid and that will start loading.  The Linux core will definitely being using the boot drive as a USB3 drive.   

 

So let's look at what has happened during this process.  BIOS detects USB drive.  BIOS passes the drive off to the Boot_Loader/Boot_Menu process.   The Boot Loader will now pass the USB drive off to the Slackware Linux Core.  If anything goes wrong during this pass-off process, the drive could easily lose its identity as the Unraid boot drive. 

 

So why does not LimeTech  fix it?  Here is the problem.  It only happens for a very small percentage of systems.  It has always been fixable by simply plugging the USB boot drive into a USB2 port.  The difference in boot speed between a USB2 and USB3 port for Unraid is well under five seconds.  And the problem could will be in the Boot Loader or the BIOS. Both of which are outside of LimeTech's control. 

 

The question of why USB2 drives 'seem' to be more reliable than USB3 is complicated to answer.  One factor could be that USB3 die sizes have to be smaller to permit the higher speed.  (USB2 drives have been around much longer and they are now a cash cow.  They are being manufactured on tried and true processes that will never be updated because any change wouldn't sell any more product!)   USB3 is still evolving as manufacturers try to pack more cells in the same volume and simultaneously achieve faster write and read speeds.  (Faster speeds are much more important as the capacity of these devices increase...)  They are always pushing the boundaries of the technology.  Plus, they want to make them at the lowest possible cost!  (Plus, if they screw up a little and make something really bad, they can just change the package a bit and rename the product.  And go right selling it... 😈  )

Edited by Frank1940
Link to post
1 hour ago, itimpi said:

I think that USB3 support during the boot process can be flaky with some BIOS's.   I would expect this to progressively improve over time.

I had a BIOS update that dropped previously supported USB3 boot (worked for 6 months), move to USB2 port and was golden again.

Link to post

Flash drives are treated by the manufacturers as disposable, one-time use devices.  They hope and pray that you lose them.  (How many flash drives have you actually lost?).  Part of the reason why the vast majority of them only include a very small hole to allow you to attach them somehow to something, and that hole is easily broken.  They want you to lose them.

 

Since they are considered a disposable single use item, every millionth of a cent that they can save on manufacturing amounts to a significant increase in their profits.  USB3 due to its faster bandwidth presumably has higher tolerances that makes them inherently unreliable if the manufacturer chooses a capacitor that costs them slightly less.  On USB2 the tolerances are larger, and less noticeable.

 

But, this isn't to say that USB3 drives do not work.  One of my servers has a USB3 flash and it runs no problems.

 

As an aside, the problems aren't limited to unRaid / Linux.  Ever notice that every once in a while a barebones Windows box will "bing" that a device has been unplugged and then plugged back in?

 

As a humorous aside, I ran across this listing on ebay a while ago, and bought one for the hell of it.  I fully realized that I was throwing away my money, but wanted to see it for myself  2TB Flash Drive

 

Windows dutifully reports it as a 2TB drive

image.png.cfb1c9ad7d3f1b2757d694dde1c1255a.png

 

Neat thing is that it's actually only an 32GB drive (as the listing does state in its fine print - All writes after 32GB are ignored by the device, and Windows doesn't report any error)

 

Also, caveat emptor.  Flash Drives are very widely counterfeited in China.  I have a counterfeit 64GB Kingston DTSE9 I ordered via China that is by far the flakiest device I've ever had (confirmed counterfeit from Kingston based upon the GUID).  Only buy a flash from a reputable supplier, never directly from China.

Link to post
18 minutes ago, Squid said:

Neat thing is that it's actually only an 8GB drive (as the listing does state in its fine print - All writes after 8GB are ignored by the device, and Windows doesn't report any error)

Have you looked at it through    Control Panel   >>>  Administrative Tools   >>>   Computer Management   >>>   Storage    >>>  Disk Management  and see what the partitioning looks like...

Link to post
3 minutes ago, Frank1940 said:

Have you looked at it through    Control Panel   >>>  Administrative Tools   >>>   Computer Management   >>>   Storage    >>>  Disk Management  and see what the partitioning looks like...

image.png.ff788629145bb7f2e38f71ddf2d47c11.png

Link to post
37 minutes ago, Squid said:

Flash Drives are very widely counterfeited in China.  I have a counterfeit 64GB Kingston DTSE9 I ordered via China that is by far the flakiest device I've ever had (confirmed counterfeit from Kingston based upon the GUID).  Only buy a flash from a reputable supplier, never directly from China.

Another thing with drives directly from China is that you can easily get a 'Rubber Ducky' with a Malware load.  See here for info on Rubber Ducky:

 

        https://hackmag.com/security/rubber-ducky/

 

EDIT:   One of the security Gurus did this with flash drives that phoned home and 'dropped' them around a security conference.   A very high percentage of them phoned home showing that even Security Experts will violate the most basic rule of security:  Never attach a device an unknown orgin to an secured system!

 

    

Edited by Frank1940
Link to post
  • 1 month later...
19 minutes ago, DBJordan said:

Is there a way to downgrade a usb 3 port to only support usb 2? I have no usb 2 ports on my motherboard.

Are you really truly sure that statement is accurate?  Did you check the headers on the MB? 

Link to post
10 minutes ago, Frank1940 said:

Are you really truly sure that statement is accurate?  Did you check the headers on the MB? 

Thanks for the sanity check -- I was only looking at the backplane. It does indeed have a USB 2 header on the MB. I'll connect it and give it a whirl.

 

Thanks!

 

Link to post
4 hours ago, DBJordan said:

Thanks for the sanity check -- I was only looking at the backplane. It does indeed have a USB 2 header on the MB. I'll connect it and give it a whirl.

 

Thanks!

 

I'm using this head cable for my boot drive:

 

https://www.amazon.com/gp/product/B015F6QXKO/

 

Most motherboard USB2 headers are 10 pin, so this plugs right in. Not to say that 5 pin or 4 pin cables (like StarTech one that most people here use) won't work, but the advantage of this cable is that it gives me 2 ports and some length so I can route it to somewhere more convenient.

Edited by Phoenix Down
Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.