BPI-M3 using SSD on SATA-Port

I use Ubuntu 15.10 (20151203) and will use a SSD on SATA-Port. In syslog was found: Mar 6 22:01:55 bananapi kernel: [ 6.012499] scsi 0:0:0:0: Direct-Access INTENSO SSD 128GB 0016 PQ: 0 ANSI: 4 Mar 6 22:01:55 bananapi kernel: [ 6.013909] usb 1-1.3.4: New USB device found, idVendor=13ba, idProduct=0017 Mar 6 22:01:55 bananapi kernel: [ 6.013917] usb 1-1.3.4: New USB device strings: Mfr=0, Product=1, SerialNumber=0 Mar 6 22:01:55 bananapi kernel: [ 6.013924] usb 1-1.3.4: Product: Generic USB K/B Mar 6 22:01:55 bananapi kernel: [ 6.018119] generic-usb 0003:13BA:0017.0001: input,hidraw0: USB HID v1.10 Keyboard [Generic USB K/B] on usb-sunxi-ehci-1.3.4/input0 Mar 6 22:01:55 bananapi kernel: [ 6.075015] sd 0:0:0:0: Attached scsi generic sg0 type 0 Mar 6 22:01:55 bananapi kernel: [ 6.075707] sd 0:0:0:0: [sda] 250069676 512-byte logical blocks: (128 GB/119 GiB) Mar 6 22:01:55 bananapi kernel: [ 6.076700] sd 0:0:0:0: [sda] Write Protect is off Mar 6 22:01:55 bananapi kernel: [ 6.076708] sd 0:0:0:0: [sda] Mode Sense: 03 00 00 00 Mar 6 22:01:55 bananapi kernel: [ 6.077699] sd 0:0:0:0: [sda] No Caching mode page present Mar 6 22:01:55 bananapi kernel: [ 6.077706] sd 0:0:0:0: [sda] Assuming drive cache: write through Mar 6 22:01:55 bananapi kernel: [ 6.080947] sd 0:0:0:0: [sda] No Caching mode page present Mar 6 22:01:55 bananapi kernel: [ 6.080953] sd 0:0:0:0: [sda] Assuming drive cache: write through Mar 6 22:01:55 bananapi kernel: [ 6.084063] sda: sda1 sda2 sda3 < sda5 > Mar 6 22:01:55 bananapi kernel: [ 6.087677] sd 0:0:0:0: [sda] No Caching mode page present Mar 6 22:01:55 bananapi kernel: [ 6.087685] sd 0:0:0:0: [sda] Assuming drive cache: write through Mar 6 22:01:55 bananapi kernel: [ 6.087693] sd 0:0:0:0: [sda] Attached SCSI disk Mar 6 22:01:55 bananapi kernel: [ 6.120604] generic-usb 0003:13BA:0017.0002: input,hidraw1: USB HID v1.10 Mouse [Generic USB K/B] on usb-sunxi-ehci-1.3.4/input1 Mar 6 22:01:55 bananapi kernel: [ 7.099134] [DISP] disp_hdmi_set_detect,line:404:hdmi1’s mgr is NULL Mar 6 22:01:55 bananapi kernel: [ 7.111170] rtc_gettime(333): read time 1970-1-1 1:0:14 Mar 6 22:01:55 bananapi kernel: [ 7.120863] rtc0 rtc0: setting system clock to 1970-01-01 01:00:14 UTC (3614) Mar 6 22:01:55 bananapi kernel: [ 7.133615] sunxi_get_soc_bin: slow chip Mar 6 22:01:55 bananapi kernel: [ 7.142444] CPU Budget:Register notifier Mar 6 22:01:55 bananapi kernel: [ 7.150725] CPU Budget:register Success

but I cannot mount it.

If it connect with a USB-Controller then was the SSD also found

----- with use a USB to ATA/ATAPI bridge the INTENSO SSD 128GB was correct found and install Mar 9 09:30:22 bananapi kernel: [ 415.572025] usb 1-1.3.3: New USB device found, idVendor=152d, idProduct=2338 Mar 9 09:30:22 bananapi kernel: [ 415.572067] usb 1-1.3.3: New USB device strings: Mfr=1, Product=2, SerialNumber=5 Mar 9 09:30:22 bananapi kernel: [ 415.572098] usb 1-1.3.3: Product: USB to ATA/ATAPI bridge Mar 9 09:30:22 bananapi kernel: [ 415.572124] usb 1-1.3.3: Manufacturer: JMicron Mar 9 09:30:22 bananapi kernel: [ 415.572148] usb 1-1.3.3: SerialNumber: F52628003801 Mar 9 09:30:22 bananapi kernel: [ 415.574871] scsi1 : usb-storage 1-1.3.3:1.0 Mar 9 09:30:22 bananapi mtp-probe: checking bus 1, device 6: “/sys/devices/platform/sunxi-ehci.1/usb1/1-1/1-1.3/1-1.3.3” Mar 9 09:30:22 bananapi mtp-probe: bus: 1, device: 6 was not an MTP device Mar 9 09:30:22 bananapi mtp-probe: checking bus 1, device 6: “/sys/devices/platform/sunxi-ehci.1/usb1/1-1/1-1.3/1-1.3.3” Mar 9 09:30:22 bananapi mtp-probe: bus: 1, device: 6 was not an MTP device Mar 9 09:30:23 bananapi kernel: [ 416.572709] scsi 1:0:0:0: Direct-Access INTENSO SSD 128GB PQ: 0 ANSI: 5 Mar 9 09:30:23 bananapi kernel: [ 416.579427] sd 1:0:0:0: Attached scsi generic sg1 type 0 Mar 9 09:30:23 bananapi kernel: [ 416.580140] sd 1:0:0:0: [sdb] 250069680 512-byte logical blocks: (128 GB/119 GiB) Mar 9 09:30:23 bananapi kernel: [ 416.581555] sd 1:0:0:0: [sdb] Write Protect is off Mar 9 09:30:23 bananapi kernel: [ 416.581608] sd 1:0:0:0: [sdb] Mode Sense: 28 00 00 00 Mar 9 09:30:23 bananapi kernel: [ 416.582873] sd 1:0:0:0: [sdb] No Caching mode page present Mar 9 09:30:23 bananapi kernel: [ 416.589062] sd 1:0:0:0: [sdb] Assuming drive cache: write through Mar 9 09:30:23 bananapi kernel: [ 416.599478] sd 1:0:0:0: [sdb] No Caching mode page present Mar 9 09:30:23 bananapi kernel: [ 416.605630] sd 1:0:0:0: [sdb] Assuming drive cache: write through Mar 9 09:30:23 bananapi kernel: [ 416.614261] sdb: sdb1 sdb2 sdb3 < sdb5 > Mar 9 09:30:23 bananapi kernel: [ 416.619766] sd 1:0:0:0: [sdb] No Caching mode page present Mar 9 09:30:23 bananapi kernel: [ 416.626044] sd 1:0:0:0: [sdb] Assuming drive cache: write through Mar 9 09:30:23 bananapi kernel: [ 416.632896] sd 1:0:0:0: [sdb] Attached SCSI disk Mar 9 09:30:23 bananapi kernel: [ 416.917977] EXT4-fs (sdb1): mounted filesystem with ordered data mode. Opts: (null) Mar 9 09:30:23 bananapi udisksd[914]: Mounted /dev/sdb1 at /media/pi/48051e4d-3629-489f-be52-30bbf7e2b725 on behalf of uid 1000 Mar 9 09:30:24 bananapi kernel: [ 417.042865] EXT4-fs (sdb2): mounted filesystem with ordered data mode. Opts: (null) Mar 9 09:30:24 bananapi udisksd[914]: Mounted /dev/sdb2 at /media/pi/fd5cb260-7ad2-427c-9f71-df575de15ca8 on behalf of uid 1000 Mar 9 09:34:30 bananapi udisksd[914]: Error performing housekeeping for drive /org/freedesktop/UDisks2/drives/INTENSO_SSD_128GB_F52628R03801: Error updating SMART data: sk_disk_smart_read_data: Operation not supported (udisks-error-quark, 0)

and I can work with the SSD.

What is to do for using SSD on SATA-Port???

Thanks

You need to buy another board for example the real Banana Pi since the M3 has no SATA: http://linux-sunxi.org/Banana_Pi_M3#SATA

Dragan: Sorry-BananaPi M3 has an SATA-Port. In your link I found, that tests were made with SSD/ext4 - Only with lower speed. For which applications else the SATA port is intended. Since the SSD hard drive is recognized by the KERNEL, it could yet be a missing module. I hope someone can help.

Nope. It’s an onboard USB to SATA bridge that is slow as hell. That’s a difference since you’re not able to deal with SATA directly and the disk is always connected via USB instead and using this ‘SATA port’ is the best way to ensure ultra slow disk access. Since it’s USB other drivers and features are used: No NQC for example, only slow USB BOT mode. But the main problem is the GL830 bridge used. So if you want to connect an SSD avoid the ‘SATA port’ since this slows things unnecessarily down.

BTW: The OS image you’re using misses nearly all of these necessary fixes: https://github.com/BPI-SINOVOIP/BPI-M3-bsp/commits/master (maybe one of those makes the USB to SATA bridge work? Who knows? Who cares? Connecting anything to this so called ‘SATA port’ is a bad idea anyway)

Tom warum nimmst du nicht das neuste Image?

2.Febrary 2016 BPI-Berryboot (Ubuntu Mate 15.10 w/GPU support) http://www.banana-pi.org/download.html

or just released Ubuntu Mate 15.10 for BPI-M3 GPU PowerVR SGX544MP (2016 March 17) http://forum.banana-pi.org/t/ubuntu-mate-15-10-for-bpi-m3-gpu-powervr-sgx544mp-20160317

I know Dragan, both are shit but at least some fixes are inside compare to the one he took from December '15.

In his situation it’s definitely a feature and not a bug not being able to use the so called ‘SATA port’ on the M3 since he wants to use an expensive/fast SSD and not an old laptop HDD lying around.

Using any external USB enclosure his SSD might run up to twice as fast compared to the slowest ‘SATA port’ in the world :smile:

BTW: By reading the log output it looks like udisksd not already being ready directly after startup so in case the SSD should really run permanently in ultra slow mode connected to the ‘SATA port’ then adding it to fstab should solve the problem.

Thanks for the answers. I’ll try the new image and the idea of “fstab” pursue. The goal is to boot from the faster SATA disk. But here I do not understand the use of bpi-bootsel and also can not find the config-file “uEnv.txt”. But this is certainly a new Topic.

Forget about that, the fastest storage device and the one where you should put the rootfs on is the internal eMMC. Using an USB disk (be it connected to the crappy onboard SATA bridge or any more suitable in an external enclosure) will always slow things down.

Booting from SATA and using an SSD is a great idea if you buy a board that features SATA (like the way more cheaper and in most areas also faster Banana Pi M1) but on boards that use the horrible GL830 bridge it’s the worst idea. The interal eMMC is way faster than any disk and especially any device connected to the ‘SATA port’: http://forum.armbian.com/index.php/topic/474-quick-review-of-banana-pi-m3/

Dragan is 100% right. To proof his comment, go to this page on the bottom - in the block-diagramm you see how the SATA is attached. This is also mentioned in the specification table: SATA (up to 2TB USB-to-SATA; GL830)

Fast = eMMC Slow = “SATA”

@Tido I have install Ubuntu Mate 15.10 for BPI-M3 GPU PowerVR SGX544MP (2016 March 17) and here I can use the “uEnv.txt” to boot from USB-device. But here now is the whole advantage of 8 cores CPU by far too low speed USB unusable. One possibility could still exist in the use of Gigabit Lan. For this would greatly help a guide for the use of a fast SATA disk via LAN. Incidentally, for ensuring a CPU clock of 1.8GHz I have established a heat sink with fan operation. So I come under increased CPU load only up to 56 ° C CPU temperature. In order for the 1.8GHz be maintained at all times.

Hi Thomas

Well, at least you’re now a small step further :smile: I am sorry, I never had a M3 in my hand. TK has received a sample and did some testing.

CPU clock, this should be controlled by the software, similar to your PC. no load = save energy high load = increase frequency - work hard. Don’t get Dragan started on that topic - killing cores instead of throttling and so on…

Boot /keep your operating-system in eMMC (please believe it) Keep your data on the harddisk.

Given this information, what do you want to do with the M3 ?

Ok, I have no intention to change the control of the operating system via the clock frequency and CPU temperature! But with the active cooling, I can keep the clock in the upper range of 1.8 GHz. My idea was to use the BPI-M3 as a workstation. And over the LAN should all relevant data stored centrally on a server. So can be accessed from various stations on it. However, it fails precisely because so far (USB speed) that the workstation is even too slow.

The M3 comes with 2x USB 2.0

To sum it up, USB 2.0 specification incorporates speeds: USB 2.0 Hi-Speed 480Mbits/second USB 2.0 Full-Speed 12Mbits/second

480 / 8 = 60Mb/s theoretically. Did you already make some benchmarks with really fast MemoryStick, SSD or HDD ?

If you are not familiar with Benchmarking: Casual benchmarking: you benchmark A, but actually measure B, and conclude you’ve measured C. Good example regarding bonnie++: http://www.brendangregg.com/ActiveBenchmarking/bonnie++.html

If you don’t reach good performance identify the bottleneck.

Txt about benchmarking I copied from TK (the forum guru of benchmarking).

I have made test with bonnie++ Here the result: Writing intelligently…done Rewriting…done Reading a byte at a time…done Reading intelligently…done start 'em…done…done…done…done…done… Create files in sequential order…done. Stat files in sequential order…done. Delete files in sequential order…done. Create files in random order…done. Stat files in random order…done. Delete files in random order…done. Version 1.97 ------Sequential Output------ --Sequential Input- --Random- Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks– Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP bananapi 4G 52 98 29928 28 15772 15 460 99 34705 13 1379 75 Latency 386ms 309ms 552ms 54388us 161ms 761ms Version 1.97 ------Sequential Create------ --------Random Create-------- bananapi -Create-- --Read— -Delete-- -Create-- --Read— -Delete– files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP 16 8400 75 +++++ +++ 11105 81 9610 82 +++++ +++ 10592 82 Latency 1886us 1940us 3003us 1802us 89us 1339us 1.97,1.97,bananapi,1,1459004683,4G,52,98,29928,28,15772,15,460,99,34705,13,1379,75,16,8400,75,+++++,+++,11105,81,9610,82,+++++,+++,10592,82,386ms,309ms,552ms,54388us,161ms,761ms,1886us,1940us,3003us,1802us,89us,1339us

Test on 2016/03/26 bananapi m3 Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf /dev/root 114G 42G 67G 39% / devtmpfs 750M 0 750M 0% /dev tmpfs 1006M 944K 1006M 1% /dev/shm tmpfs 1006M 12M 995M 2% /run tmpfs 5,0M 4,0K 5,0M 1% /run/lock tmpfs 1006M 0 1006M 0% /sys/fs/cgroup /dev/mmcblk0p1 256M 61M 196M 24% /boot tmpfs 202M 36K 202M 1% /run/user/1000 tmpfs 202M 28K 202M 1% /run/user/1002

The /dev/root/ is a SSD 128GByte on USB2.0 port

Hi Tom,

Uhh, hard to read… Shitty adjusted forum-software - you couldn’t paste code as code.

Do you still have the file ‘formated’ ? If so can you use this service here http://pastebin.com/ and send us the link? (no sign up needed :slight_smile: )

Here it is.

Someone sent you a link that outlines why to avoid bonnie++ and you use bonnie++?

Banana Pi M3 customers are really somewhat special. Why did you measure? Do you think your M3 does not use the most crappy USB-to-SATA bridge in the world?

Well, this was what you wrote - boonie++ 1.03e suxxs, but Tom tested with v1.97

Take 7 The version of bonnie++ used here was 1.03e, which is currently at the top of the bonnie++ homepage. By going to the experimental releases and running 1.96, I found that the first test has changed. …

Bonnie and bonnie++ are not unusually bad – there are many aspects I like about them, and they have served people well in many cases. The take-away here is to analyze whatever you do use.

About the USB-SATA :

/dev/mmcblk0p1  256M    61M    196M   24% /boot
/dev/root       114G    42G     67G   39% /

The /dev/root/ is a SSD 128GByte on USB 2.0 port

@tomde, can you explain the test scenario : From which storage did you boot the M3? Could you tell bonnie++ to benchmark the SSD on the USB 2.0 port?

By default start bpi m3 from the SD card (/dev/mmcblk0p1) the kernel routine. The file uEnv.txt I modified so that then the boot-file sytem is used by the SSD disk. (… root = / dev / mmcblk0p2 changed to root = / dev / sdb1). The bonnie ++ - test is performed so that the data files are created in the user’s home directory. In my case on the SSD drive.

Nope, by default the M3 tries to start from the only reasonable media you still ignore: the fast internal eMMC. To get an idea how wrong it is to use the ultra slow GL830 USB-to-SATA bridge, install iozone (apt-get install iozone3) and compare using

iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2

(tests with a few different record sizes). The eMMC is several times faster than anything connected to the crappy GL830:

                                                          random    random
          kB  reclen    write  rewrite    read    reread    read     write
      102400       4     4378     2626     5659     7929     8329     5106
      102400      16    13302    13674    27495    27399    26636    13430
      102400     512    22770    23383    54337    54592    52669    23046
      102400    1024    23582    23381    60522    61165    61159    23364
      102400   16384    24577    25005    72832    72809    72435    25216