Slow USB disk read/write speeds

Hello,

I would like to ask for help determining why my disk speeds are so low.
I expect at least 60MB/s write speeds and above 100MB/s read speeds.

Devices:

  • Vero4k+
  • Maxtor M3 2TB USB disk brand new

USB disk formatted with command:
mkfs.ext4 /dev/sda1 -T largefile -m 1 -L vero

Speeds:

  • SMB copy over 1GB wired - 25MB/s max write
  • hdparm buffered read test - 31.96 MB/sec
  • dd read test - 36.5 MB/s

Logs: https://paste.osmc.tv/avusotuyiv

If you need any more details please tell me.

Thank you
Zoltan

I’d imagine the cpu is the bottleneck

The Veros have USB 2.0 ports with a theoretical limit of 480 Mbit/s. The values you see are fine for USB 2.0 devices.

Sorry the title was wrong, the connected USB disk’s speed is so low not the USB port’s.
The CPU is not the bottleneck, I checked the usage with top during the test’s 17% on 1/4 core only.

I will reformat the drive to NTFS and check the speeds on my Win10 machine to exclude the possibility of a wrong usb drive.
Before I reformatted it Itried to run a new test with dd but the drive just got unreachable. I had to remove it from the Vero for a reboot to complete.

The write speed tops at 80MB/s on the reformatted NTFS drive. The drive is ok.

It’s something on the Vero that causes the slow speeds. I’m suspecting that maybe the drive doesn’t get enough power through USB. Can I check that somehow?

As @JimKnopf already noted, the limitation is the USB2 port. The speeds you report in post #1 are not abnormally slow. For a discussion of this issue, see Vero 4K+ Still Usb 2.0?

Yeah you are right. Just tested the drive on my PC using an USB 2.0 port and the speed was 40MB/s top. I guess the lower speed on Linux is the NTFS overhead.

I’m a little disappointed about this. I don’t want to use NTFS because of the CPU overhead but if I use SMB the transfer will took ages because of the USB 2.0 limitation.

I will stick with NTFS so I could transfer the files faster using USB3. Devs @osmc should really add at least 1 USB 3.0 to the Vero.

If I recall correctly, adding a USB 3.0 port would require a whole different SoC; the S905D doesn’t support it.

If you want to move the drive to and fro between PC and Vero you could try formatting it as exFAT - under Linux that’s still less efficient than ext4 but not as bad as NTFS. Alternatively you could keep the drive plugged into the PC all the time and just stream evening across the LAN. If you’re concerned about bandwidth doing that, using autofs to access a SMB share is faster than doing it at the Kodi level.

It’s also possible to get the PC to expose the drive to the network as NFS.

All your suggestions are great but this setup is a gift for my brother who is not familiar with Linux at all. He doesn’t want to run the PC all the time to stream his contents, that would kill the reason of this setup, the 0-24h available kodi box.

I had 3 crashes with ext4 during last week that I could not recover the drive at all so I’m not satisfied with that.
I will do some tests with NTFS if the Vero’s CPU could handle the load and try exFAT after that. I have also set up samba so he doesn’t need to unplug the drive all the time.

Hi, do you use dvbt dongle and external drive?? If so u should have powered USB hub. Not enough power can cause crashes of drive.

Hi,
No only the OSMC remote and the USB drive is connected.

Just tested NTFS playback with a high bitrate 1080p movie and a simultanious file copy over SMB and the Vero handled it without any problem. SMB speed was ok, ~20MB/s.
I think I stay on NTFS.

If the drive is a hard drive (as opposed to a solid state or flash drive) then you should connect it to a powered USB hub. The Vero’s USB ports can’t provide enough current to power a hard drive reliably. (This may well be what caused your disk crashes).

It’s a portable Maxtor M3 USB drive with 1 USB connector. It didn’t crash with NTFS so far.

If it were me, I would use a powered hub with that.