Despite Amlogic roadmap claiming none of the upcoming Amlogic TV box SoCs will support USB 3.0, I’ve been informed that Amlogic S905X might already support USB 3.0. So I had a check with NEXBOX A5 TV box.
First we can see dwc3 (DesignWare USB3) module is loaded:
1 2 3 4 |
lsmod Module Size Used by dwc3 17981 0 mali 233433 36 |
then this happens when I connect a USB 3.0 hard drive or flash drive:
1 2 3 |
[ 4812.378262@0] usb 1-2: new high-speed USB device number 7 using xhci-hcd [ 4812.798557@0] usb-storage 1-2:1.0: USB Mass Storage device detected [ 4812.801416@0] scsi1 : usb-storage 1-2:1.0 |
The important point here is xhci, which stands for “eXtensible Host Controller Interface” and supports USB 1.x to USB 3.x devices.
The next step is to check performance, but since S905X is running Android 6.0, I went through permission issues with both A1SD bench and Disk Speed apps, so I reverted to using dd to read a large file to /dev/null.
Result with USB 3.0 hard drive:
1 2 3 4 |
dd if=Sintel-Bluray.iso of=/dev/null bs=1024*1024*32 47+1 records in 47+1 records out 1593180160 bytes transferred in 42.681 secs (37327620 bytes/sec) |
That’s about 35.6 MB/s, which would be an excellent USB 2.0 transfer rate, but not quite USB 3.0 material, and the drive can achieve around 100MB/s in a Linux computer with USB 3.0 port.
Results with USB 3.0 flash drive:
1 2 3 4 |
dd if=Sintel-Bluray.iso of=/dev/null bs=1024*1024*32 47+1 records in 47+1 records out 1593180160 bytes transferred in 72.088 secs (22100490 bytes/sec) |
That’s 21.07 MB/s, which is quite typical for USB 2.0 transfers.
So while a USB 3.0 driver is loaded into memory, those results don’t quite point to much better performance. [Update: After further study, the speed is also limited to 480 Mbps (USB 2.0 speed), see comments below]
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
USB 3.0 driver exists in kernel for some time. USB 3.0 is used in some TV SoCs only. dwc3 module however is used for usb2 too (before aml used aml_dwc_otg if I remember correctly).
Try lsusb -t, it will display the device speed
@memeka
I think the option is not enabled in busybox:
@Jean-Luc Aufranc (CNXSoft)
But checking the speed manually, I can see 5 Gbps is reported:
@Jean-Luc Aufranc (CNXSoft)
But the actual flash drive is limited to 480 Mbps:
So I guess that settles it
but … at the end, even if USB3.0 is supported by SoC, kernel, drivers, etc …. what really matter is the connector: if the external connector is USB2.0, with no added lines for USB3.0 support …. the speed will be 480Mbps anyway.
@gaetano
You’re right… So most probably S905X does not expose the extra signals either (I don’t have documents to check this), and Amlogic is just using the same driver for USB 2.x and USB 3.x then?
Texas Instruments also appears to use DWC3 limited to USB 2.0 for for AM437x -> http://processors.wiki.ti.com/index.php/Linux_Core_DWC3_User's_Guide#AM437x:
S905x doesn’t support USB 3.0, there are two USB2.0 port from the SOC, which is same with previous version S905.
Hopefully next generation of TV SoCs bring USB3 support. This would be great, as it could finally mean very cheap NAS boxes.
Whenever I plug a USB 3.0 device into my A5, it powers off and needs to be rebooted.
@Chrisbox
It might be a power supply issue.