ITСooky

IT-рецепты съедобные и не очень!

Выбираем USB диск для Raspberry Pi, под загрузку OS, на mSATA или NVMe!

дата 22.08.2020

Raspberry Pi почему то упорствует и не ставит в свои платы eMMC или интерфейсв для mSATA или NVMe дисков, скорость SD конечно хватает в основном, но на фоне других микрокомпьютеров это уже смотрится позорненько!

Беру Raspberry Pi 4 v1.1 память 4Gb.
Надо ставить Raspberry Pi OS (32-bit) Lite (ранее известный как Raspbian) в этой версии нет Desktop окружения.
Качаю её тут www.raspberrypi.org/downloads/raspbian/
А вот тут качаю установщик https://www.raspberrypi.org/downloads/

Чтобы ssh работал, на карте в BOOT разделе надо сделать файл с именем ssh и оно после этого будет работать. После этого можно карту вставлять в малинку, подключать ethernet кабель, включать и смотреть какой малинка получила IP я посмотрел на роутере.
ifconfig

Имя: pi
пароль: raspberry

Обновляюсь, это важно
sudo apt update
sudo apt full-upgrade

Подключаю x856 и x870 и смотрю появились ли
lsusb
вот они

Bus 002 Device 003: ID 174c:0856 ASMedia Technology Inc. 
Bus 002 Device 002: ID 152d:0583 JMicron Technology Corp. / JMicron USA Technology Corp. 

Можно еще вот так посмотреть и попытаться опознать их в /dev устройствах
sudo blkid

Сначала замеряю скорость SD

sudo hdparm -Tt --direct /dev/mmcblk0
Синтетический тест показывает такие цифры

/dev/mmcblk0:
 Timing O_DIRECT cached reads:    84 MB in  2.02 seconds =  41.62 MB/sec
 HDIO_DRIVE_CMD(identify) failed: Invalid argument
 Timing O_DIRECT disk reads: 126 MB in  3.03 seconds =  41.59 MB/sec

Создаю файл это уже более реальная скорость
sudo dd if=/dev/zero of=test.file count=10000 bs=1048576

10000+0 records in
10000+0 records out
10485760000 bytes (10 GB, 9.8 GiB) copied, 344.778 s, 30.4 MB/s

Тесты SupTronics X856 v1.0
У меня noname диск mSATA на чипсете SW2259XT, размером 1Tb, набран двумя чипами, модель в прошивке MT-1TB — Kingspec такие продает, но у меня noname. Маркировка на чипах пожалуй стерта, совсем плохо читается PF29R04T2A00CTJI

X856 mSATA SSD Shield на чипсете ASM1153e, доп питания не требует берет всё от USB

SupTronics X856 v1.0 вносит помехи в работу Wi-Fi на Raspberry Pi. 2,4Mgz полностью не работает, не возможно подклбючиться к AP, а 5Mhz может частично работать. Говорят это из-за USB переходника!

Удаляю на нем все делаю раздел EXT4 и тестирую
sudo hdparm -Tt --direct /dev/sda

/dev/sda:
 Timing O_DIRECT cached reads:   582 MB in  2.01 seconds = 290.23 MB/sec
 Timing O_DIRECT disk reads: 932 MB in  3.00 seconds = 310.42 MB/sec

И тест создания файла
sudo dd if=/dev/zero of=test.file count=10000 bs=1048576

10000+0 records in
10000+0 records out
10485760000 bytes (10 GB, 9.8 GiB) copied, 71.2469 s, 147 MB/s

Повторяю тест после загрузки Raspberry Pi OS c этого диска
sudo dd if=/dev/zero of=test2.file count=10000 bs=1048576

10000+0 records in
10000+0 records out
10485760000 bytes (10 GB, 9.8 GiB) copied, 48.2232 s, 217 MB/s

хм скорость выше гораздо!

Тесты SupTronics X870 v1.3
Для тестов беру свой 256Gb KingSpec M.2 NVMe SSD NE Series 2280 PCIE Gen3x4.
X870 M.2 NVMe SSD Shield требует дополнительного питания, если скорость будет низкой так говорят его создатели. Используется чип JMS583.

Тут у меня отломан разъем под доп питание типа два пальца… не знаю как так получилось!

Тесты скорости без доп питания
делаю папку и монтирую туда диск, он уже в EXT4
sudo mkdir /mnt/nvme
sudo mount /dev/sda /mnt/nvme

Этот тест не любит X870 — или может еще что не знаю… но скорость 65 килобайт показывает и ошибки!
sudo hdparm -Tt --direct /dev/sdb
вот такой результат

/dev/sdb:
 Timing O_DIRECT cached reads:     2 MB in 31.61 seconds =  64.78 kB/sec
SG_IO: bad/missing sense data, sb[]:  70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 Timing O_DIRECT disk reads:   4 MB in 63.79 seconds =  64.21 kB/sec

При этом реальный файл создает с нормально хорошей скоростью
sudo dd if=/dev/zero of=test2.file count=10000 bs=1048576
вот

10000+0 records in
10000+0 records out
10485760000 bytes (10 GB, 9.8 GiB) copied, 74.1407 s, 141 MB/s

Добавлю питания — зарядка от телефона подключаю к micro USB разъему на x870
sudo hdparm -Tt --direct /dev/sdb
все еще также он не любит x870, но все еще чудовищно маленькая скорость показывается

/dev/sdb:
 Timing O_DIRECT cached reads:   184 MB in 32.40 seconds =   5.68 MB/sec
SG_IO: bad/missing sense data, sb[]:  70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 Timing O_DIRECT disk reads: 156 MB in 32.44 seconds =   4.81 MB/sec

А файл создается быстрее
sudo dd if=/dev/zero of=test.file count=10000 bs=1048576

10000+0 records in
10000+0 records out
10485760000 bytes (10 GB, 9.8 GiB) copied, 49.8541 s, 210 MB/s

x870 на таком же чипе как и следующий испытуемый на JMS583 — при этом ему доп питания не требуется, а скорости такие же. Что-то SupTronics плохо схематичили свой x870!

Тесты Blueendless SSD M2 PCIe NVMe/NGFF Тип C к USB 3,1
Вставляю тот же диск 256Gb KingSpec M.2 NVMe SSD NE Series 2280 PCIE Gen3x4.

Монтирую его и тестиру.
sudo hdparm -Tt --direct /dev/sdc
а тут эта команда нормально сработала

/dev/sdc:
 Timing O_DIRECT cached reads:   546 MB in  2.00 seconds = 272.56 MB/sec
SG_IO: bad/missing sense data, sb[]:  70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 Timing O_DIRECT disk reads: 852 MB in  3.00 seconds = 283.83 MB/sec

sudo dd if=/dev/zero of=test2.file count=10000 bs=1048576

10000+0 records in
10000+0 records out
10485760000 bytes (10 GB, 9.8 GiB) copied, 49.6426 s, 211 MB/s

ИТОГО: Cкорсть M2 NVMe диска на Raspberry через USB3 такая же как у mSATA!!! Беру в продакшин x856, он удобнее подключается не через кабель, а через маленький переходник. X870 заменил x872 с уже USB переходником, но разьемы под внешнее питание остались. Скрость 211 mb/s видимо реальный передел USB3 на Raspberry Pi. На Khadas Edge-V MAX где поддержка NVMe дисков встроенная, скорость доходила до 311 mb/s что тоже далеко от пределов NVMe/

Делаем загрузку Raspberry Pi с USB
Смотрим какая сейчас прошивка
vcgencmd bootloader_version

Apr 16 2020 18:11:26
version a5e1b95f320810c69441557c5f5f0a7f2460dfb8 (release)
timestamp 1587057086

Непоследняя — обновляемся, для этого меняем в файле
sudo vi /etc/default/rpi-eeprom-update
слово critical на stable

смотрим какие прошивки есть в
ls /lib/firmware/raspberrypi/bootloader/stable/
так как я в самом начале обновился, у меня там есть новые

ставим последную pieeprom-2020-07-31.bin
sudo rpi-eeprom-update -d -f /lib/firmware/raspberrypi/bootloader/stable/pieeprom-2020-07-31.bin

перезагружаемся
смотрим
vcgencmd bootloader_version

Jul 31 2020 14:43:39
version f8d1dc69144b10b4bd78b4b6d08658ac3005726d (release)
timestamp 1596203019

теперь последняя

x856 у нас с диском подключен и опредляется как sda
Как нибуть скачиваем и кладем на малинку посдедний образ 2020-05-27-raspios-buster-lite-armhf.img на сайте нет прямой ссылки, так что как-нибудь!

Пишим этот образ на X856
sudo dd bs=4M if=2020-05-27-raspios-buster-lite-armhf.img of=/dev/sda conv=fsync

Монтируем первый раздел в впапку например /mnt/m2
sudo mount /dev/sda1 /mnt/m2
тут создаем файл для ssh
sudo touch /mnt/nvme/ssh

Далее нам нужно туда же положить файлы для загрузки OS — сначала их качаем
sudo cd /home/pi
sudo wget https://github.com/raspberrypi/firmware/archive/master.zip
sudo unzip master.zip

теперь копируем
sudo cp /home/pi/firmware-master/boot/*.elf /mnt/m2/
sudo cp /home/pi/firmware-master/boot/*.dat /mnt/m2/

После этого выключаем малинку, вынимаем SD карту и включаемся!

Все чудесным образом грузится, смотрим какие диски у нас есть
lsblk -o NAME,FSTYPE,LABEL,MOUNTPOINT,SIZE,MODEL
Один всего — и как раз тот самый в 1 терабайт

NAME   FSTYPE LABEL  MOUNTPOINT   SIZE MODEL
sda                             953.9G MT-1TB
|-sda1 vfat   boot   /boot        256M 
`-sda2 ext4   rootfs /          953.6G 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *