Hi,
I've run into a very strange problem trying to use external USB-3 drives with my Macs.
The main setup is this:
* Mac Mini (2018) / MacOS Catalina 10.15.4
* External dual bay 2.5" HDD Enclosure IB-RD2253-U31 (ASM1352R Chipset)
* 2 SanDisk Plus SSD 1TB each
The disks are set up as an AppleRaid stripe set for maximum performance (there is backup happening to a NAS). The enclosure is hooked up to one of the USB-C ports of the Mac-Mini. The enclosure is also hooked up to an external power supply.
Things looked great initially. I was getting throughput around 500-650 MB/sec.
However, with continued used, I noticed that sometimes access to the volume would hang. Reconnecting the enclosure would solve this. I noticed that I could "force" the hangups by running "diskutil verifyVolume disk<n>" in a terminal. It would pass maybe 1 or 2 times and then it would hang and eventually report an error like this:
> ...
> Checking the fsroot tree
> error (oid 0x8d2) apfs_root: btn: dev_read_finish(2322209, 1): Input/output error
> fsroot tree is invalid
> The volume /dev/rdisk6 could not be verified completely
> File system check exit code is 0
When I would run it again, it would hang for a while and then report another error
> ...
> error: failed to read container superblock
> File system check exit code is 8
> Restoring the original state found as unmounted
> Error: -69845: File system verify or repair failed
> Underlying Error: 8
Reconnecting the enclosure would make it work again and the error could then be reproduced again.
I tried different (high quality) cables and different ports (USB-A, USB-C). I also tried going through a USB-3 hub. Always the same behavior. I tried to put different hard-drive (non-SSD) into the enclosure. Same behavior. I got the enclosure replaced. Same behavior (with both SSD and HDD on all ports). I then exchanged the enclosure to a different model using a different Chipset (JMS56x Series). Again I ran into similar problems.
I tried with a MacBookPro (2017) also running 10.15.4 and got the same behavior with all variations described above. I even tried an older MacBook that still had 10.14 on it. Same problems.
When I hook up any of the drive combinations with a USB-2 cable, everything is stable. Obviously, at a much lower speed (35-40 MB/sec) as would be expected with USB-2
Running ioreg in the terminal, I can see that when using USB-3 connection the volume is attached using IOUSBMassStorageUASDriver.
When using USB-2 connection it uses IOUSBMassStorageDriver (no UAS aka. USB attached SCSI)
Using a Lenovo Laptop running Windows-10, there seemed to be no such problems with both enclosures.
So in summary, whenever I hook up an external drive via USB-3 on any of these computers, the behavior is unreliable.
I'm at a bit of a loss as to what to make of this. Is anyone using a similar setup successfully or did anyone ever encounter similar problems? What else could be tried here? It looks like the UAS driver might just not be working correctly here - but I would expect such a thing to be noticed by many users pretty quickly.
Anyone has some idea what might be going on or what I might try to get this to run?
I've run into a very strange problem trying to use external USB-3 drives with my Macs.
The main setup is this:
* Mac Mini (2018) / MacOS Catalina 10.15.4
* External dual bay 2.5" HDD Enclosure IB-RD2253-U31 (ASM1352R Chipset)
* 2 SanDisk Plus SSD 1TB each
The disks are set up as an AppleRaid stripe set for maximum performance (there is backup happening to a NAS). The enclosure is hooked up to one of the USB-C ports of the Mac-Mini. The enclosure is also hooked up to an external power supply.
Things looked great initially. I was getting throughput around 500-650 MB/sec.
However, with continued used, I noticed that sometimes access to the volume would hang. Reconnecting the enclosure would solve this. I noticed that I could "force" the hangups by running "diskutil verifyVolume disk<n>" in a terminal. It would pass maybe 1 or 2 times and then it would hang and eventually report an error like this:
> ...
> Checking the fsroot tree
> error (oid 0x8d2) apfs_root: btn: dev_read_finish(2322209, 1): Input/output error
> fsroot tree is invalid
> The volume /dev/rdisk6 could not be verified completely
> File system check exit code is 0
When I would run it again, it would hang for a while and then report another error
> ...
> error: failed to read container superblock
> File system check exit code is 8
> Restoring the original state found as unmounted
> Error: -69845: File system verify or repair failed
> Underlying Error: 8
Reconnecting the enclosure would make it work again and the error could then be reproduced again.
I tried different (high quality) cables and different ports (USB-A, USB-C). I also tried going through a USB-3 hub. Always the same behavior. I tried to put different hard-drive (non-SSD) into the enclosure. Same behavior. I got the enclosure replaced. Same behavior (with both SSD and HDD on all ports). I then exchanged the enclosure to a different model using a different Chipset (JMS56x Series). Again I ran into similar problems.
I tried with a MacBookPro (2017) also running 10.15.4 and got the same behavior with all variations described above. I even tried an older MacBook that still had 10.14 on it. Same problems.
When I hook up any of the drive combinations with a USB-2 cable, everything is stable. Obviously, at a much lower speed (35-40 MB/sec) as would be expected with USB-2
Running ioreg in the terminal, I can see that when using USB-3 connection the volume is attached using IOUSBMassStorageUASDriver.
When using USB-2 connection it uses IOUSBMassStorageDriver (no UAS aka. USB attached SCSI)
Using a Lenovo Laptop running Windows-10, there seemed to be no such problems with both enclosures.
So in summary, whenever I hook up an external drive via USB-3 on any of these computers, the behavior is unreliable.
I'm at a bit of a loss as to what to make of this. Is anyone using a similar setup successfully or did anyone ever encounter similar problems? What else could be tried here? It looks like the UAS driver might just not be working correctly here - but I would expect such a thing to be noticed by many users pretty quickly.
Anyone has some idea what might be going on or what I might try to get this to run?