Odroid-XU4 | USB Drive Speed (54% write/160% read) boost

So, I just got a major speed boost on my USB3 bus.

By compiling a 4.2.0 kernel and enabling the uas (usb attached scsi) module, I got a bump from 109MB/s to 168MB/s (54% increase) on the write speed and a bump from 79MB/s to 209MB/s (160% increase) on the read speed.

Nice, is this on a SSD?


1GB test file
2TB drive: http://www.newegg.com/Product/Product.aspx?Item=N82E16822148834
USB 3.1 Enclosure: http://www.newegg.com/Product/Product.aspx?Item=N82E16817392088

UAS is a beast at pumping data through a USB3 hub. :sunglasses:

I also have 2 5TB Seagate Expansion Drives that also loaded with the uas module, but they have data in use, so I didn’t test them

I used the hardkernel repository with the 4.2.0-rc1 branch and got the blue LED heartbeat functions back, but the /proc/cpuinfo is still not reporting “SAMSUNG EXYNOS (Flattened Device Tree)” instead of “Odroid-XU3”, so the dietpi banner is stating “unknown”.

but, with some tweaks to the default config file, I got the kernel to build with 4 built-in cpu governors (powersave, conservative, ondemand [default], & performance). And, I got the uas driver to build and load.

I think that I can modify the source file properly to get it to report the correct CPU string, too. I’ll let you know.



Can we expect to have 4.2.0 delivered soon?

Fourdee doesn’t maintain the kernel used in the core Odroid-XU3/4 distro, so it’s unlikely to be “officially” supported “soon”. Meverick just updated the official kernel packages and they were still 3.10.96+ .

that being said, I’m am working on getting DietPi to properly recognize my XU4 with the 4.2.0 kernel. Currently, it reports “Unknown Model”

(and I’ve never built a kernel package for distribution, so… :neutral_face: )

Can we have 3.10.96+ with uas support?

Is Maverick reading this forum?

UAS was not added to the Linux kernel until 3.15.

I have no experience back-porting on the kernel and wouldn’t even know where to begin. I’m still testing on my 4.2-rc1 kernel build. If I can get it working correctly and build a valid package, then I’ll discuss with Fourdee about adding it (as a feature add) to DietPi. But currently, your best best is to follow/modify the build instructions on the Odroid wiki

here: http://odroid.com/dokuwiki/doku.php?id=en:xu4_building_kernel


  • These instructions are centered around cross compiling (I actually built the kernel on my XU4)
  • These instructions are clearly labeled “Experimental”
  • the hardkernel fork seems to have better support for the XU4 hardware than the tobetter fork mentioned above. It can be found here: https://github.com/hardkernel/linux/tree/odroidxu4-v4.2-rc1
  • the config does not build the uas module by default. it needs to be added to the .config file
  • the config also doesn’t add support for multiple cpu governors (only performance)… You’ll want to add the others. I use ondemand with pretty good results.
  • As I’m typing this, I realized that I didn’t test mass-storage on the 4.2 kernel, so I’m not 100% that the speed increase is from the UAS driver or the kernel upgrade… I will test this tonight.
  • Using any kernel on an Odroid XU4, other than meverick’s, will break DietPi. It will no longer properly identify the hardware (I’m working on the fix for this)

And, I cannot speak for Meverick. sorry

Thank you for update.