I’m trying to use the BBB as a (very) lightweight NAS. Unfortunately, I’m a bit disappointed with the transfer speed I can achieve over the USB port. I’ve now tried different kernels such as Robert C Nelsons 3.8.13-bone28 and 3.12.0-rc5-bone6, different USB storage devices (such as a USB 2.0 flash drive and a USB 3.0 hard disk), and tried both directly attaching the flash drive to the BBB as well as using a powered USB hub. The HD of course only works on the hub. The BBB is running on a 5V external power supply.
Using different tools (hdparm and dd) the USB read speed always maxes out at about 9MB/s which is far less than the same devices deliver on other systems (e.g. about 25MB/s on my Raspberry Pi).
Does anyone have an idea why this is the case or how this can be improved?
Well anything above 12 Megabytes/second is going to go to waste for your case anyhow. Max theoretical for 100Mbit / fast ethernet is 12 Megabytes / second. You will never see that ever. Still, I’ve booted from USB over the host port and I am getting 10.6 MB/s. This is even with an old PATA<->USB 2.0 with no features according to hdparm.
Also, you do not need a hub. Using an external powered hard drive case would work fine. I’d also imagine the hub is slowing things down some for you.
Well, I’ve checked out the official TI Kernel v3.2 and now I get speeds well beyond 20MB/s. Does anyone have a clue why the newer Kernels are so much worse?
Can I ask what your root file system is? We are using Ubuntu 12.04 and require faster USB throughput, but have not yet gotten any newer kernels to work for us.
It allows you to cross compile the TI kernel. Note that you need a serial connection to access the console (an FTDI cable probably is the best choice). I couldn’t get the network based boot to work, but creating an SD card with the TI root file system and the TI kernel on it was successful after some trial and error. I only tried USB, so I don’t know if the rest of the BBB hardware works with this kernel.
(*) There still seem to be some rough edges with respect to the BBB
Thanks Thomas. I was able to compile a kernel using that route but received some errors on boot. I’ll try again, with the knowledge that someone has gotten it to work.