PixelNAS

PixelNAS - это довольно интересная разработка от компании Third Man. Это ребята, которые работают в России. Я уже писал про Banananas. И PixelNAS тоже сделан по такому же принципу. Ребята взяли минипк мини ПК Firefly EC-3568J который работает на ARM процессоре и сделали для него несколько модулей. И получилось отличное решение для домашнего/мобильного NAS.

3aba55a60220c6cb7abf8a31cc6ab90e

Сам комп довольно довольно компактный и энергоэффективный

Спецификация

Название Характеристика
SoC Rockchip RK3568
CPU Quad-core 64-bit Cortex-A55, 2ГГц
GPU ARM G52 2EEOpenGL ES 1.1/2.0/3.2, OpenCL 2.0, Vulkan 1.1
NPU 0.8TOPS@INT8, встроенный AI ускоритель RKNN NPUCaffe/TensorFlow/TFLite/ONNX/PyTorch/Keras/Darknet
VPU 4K 60fps H.265/H.264/VP9 видео декодер1080P 100fps H.265/H.264 видео кодер8M ISP, поддержка HDR
RAM 8ГБ LPDDR432-bit, 1600МГц, поддержка all-data-link ECC
Storage 64ГБ eMMCM.2 PCIe3.0 x1 (2242 / 2280 NVME SSD)SATA3.0 до 5 SSD M.2 (2260 / 2280 SATA), программный RAID 0,1,5,6,10TF-Card Slot x1
Ethernet 2x Gigabit EthernetLAN (PoE) с поддержкой PoE+ (802.3AT, мощность 30Вт)
Wireless Mini PCIe для установки 4G LTE модема WiFi6 (802.11 ax)BT5.0
Display HDMI 2.0, 4K@60fps
Audio HDMI Audio
Interface 2x USB3.1 Gen1 (USB3.0)2x USB2.0
Size 180мм x 105мм x 47мм

Но самое интересное - в этот небольшой по габаритам ПК можно установить 5 дисков с UPS или 6 дисков. Что очень хорошо для такой компактной модели. Сами диски ставятся на дополнительную плату, которая уже подключается к основной плате. На картинке плата на пять дисков (плюс еще один NVME диск можно подключить на основной плате. В итоге получается 6 дисков.)

Ну и еще большой плюс в том, что тут есть emmc. Не понимаю почему в некоторых мини-пк ее не ставят (например в raspberry pi 5 ее почему-то нет). Но на мой личный взгляд такой тип памяти это огромный плюс. Это довольно быстрая память, ее обьема хватает чтобы поставить практически любой дистрибутив. И при этом это довольно стабильная память. В отличие от флешек тут не будет проблемы отвала всего при внезапном выключении питания. Ну и большой плюс в том, что не придется занимать какой-либо из дисков операционной системой. Диск останется только под данные.

b6bd95ff4eb49a97ca51e7daac144f68

Сам корпус не имеет вентиляторов. Соответственно он абсолютно тихий. За счет довольно грамотного проектирование все тепло от процессора и дисков уходит на довольно массивный алюминиевый корпус и эффективно рассеивается. Сам девайс практически не греется даже при интенсивном использовании.

Тут используются пять штук m.2 sata дисков (или 4 диска в случае с модулем с ups) и еще один диск NVME. Собственно в варианте с четырьмя дисками разумнее всего собирать raid10, а в варианте с пятью дисками, наверное, raid5 или raid6.

У самого девайса гигабитная сеть. Тут два порта. А это значит, что при желании можно настроить его как роутер. Так же тут есть Wifi, который можно настроить как на прием так и на раздачу интернета. Ну и вишенка на торте - LTE. Сюда можно вставить симку и пользоваться устройством где угодно (да еще и раздавать интернет).

Еще из интересного - очень хорошая энергоэффективность самого девайса. В рабочем режиме от потребляет около 10ватт, что очень удивляет. Сам девайс можно запитать от блока питания 12в, или от ethernet кабеля так как тут есть поддержка PoE. И еще один способ, который мне очень нравится - возможность запитать девайс от обычного повербанка. При этом есть еще и модуль с UPS, в котором есть две батареи, от которых сам девайс может жить около двух часов. (Но в данный момент это работает не как полноценный UPS, а скорее как обычный повербанк)

Скорость записи на рейд

Самое интересное, загадочное и непонятное для меня это скорость записи на рейд.

Обычно мы записываем данные на NAS одним их трех способов (может быть есть и другие, но я не смог их вспомнить пока писал статью):

  • Перекидывание файлов через самбу
  • Перекидывание через rsync
  • Перекидывание через scp

Так как я чаще всего пользуюсь линуксом, то вариантом с scp я пользуюсь чаще всего. Ну и еще копировать данные используя rsync или scp можно по разным протоколам. Можно по той же самбе или по ssh. (еще есть и какой-нибудь ftp, который уже вряд ли кто-то использует)

Так вот после тестирования я немного удивился. У самой железки ethernet интерфейс гигабитный. То есть максимальная скорость которую мы можем увидеть при копировании должна быть около 113 мегабайт в секунду. Но если я копирую что-то через scp по ssh, то я вижу что скорость упирается в 70 мегабайт в секунду.

203025.png

Меня это смутило. Ведь должно быть 113. После этого я попробовал скопировать то же самое через rsync но тоже по протоколу ssh и получил примерно такие же цифры

202829

При этом если копировать через самбу (Как привыкли пользователи винды), то нет никакого упора в сеть и мы видим максимально возможную скорость

203128

И если мы попробуем копировать через rsync но по протоколу самбы, то мы тоже не увидим проблем

204023

Поэтому у меня есть ощущение, что что-то не так с версией openssh. Возможно, в будущем с обновлениями эта штука пофиксится. Но честно говоря, вполне нормальные скорости, так что это не сильно большая проблема.

Ну и теперь про софтовую составляющую

SOFT

Установка ОС (хотя обычно уже все установлено)

Если вы покупаете этот девайс, но на нем уже будет операционная система. Но если все-таки вам захочется переустановить систему, то можете использовать вот этот образ. С ним все работает отлично.

И чтобы вам все установить вам нужно сделать следующее. Берем microsd карту и еще одну самую обычную флешку. На флешку просто скидываем файл PixelNAS_armbian.img. А на карту записываем этот же файл, но записываем его как образ. Это можно сделать через программу balenaEtcher или rufus.

После этого вставляем флешку в комп и загружаемся. После загрузки вставляем еще и нашу флешку.

Далее монтируем нашу флешку. И после этого копируем через dd файлик с образом с флешки в emmc

сам образ системы можно скачать тут

PixelNAS_armbian.img.xz

sudo unxz PixelNAS_armbian.img.xz
sudo dd if=PixelNAS_armbian.img of=/dev/mmcblk0 bs=10M

Ну или вы можете использовать фактически любую сборку для процессора RK3568, но в этом случае вам нужно будет добавить необходимый для этого компа device tree. Для этого вам надо скачать файл

rk3568-aio-3568j.dtb

И после того как вы установили ОС и до перезагрузки вам обязательно нужно будет сделать следующее (если не сделаете то порты на девайсе не будут работать):

Загрузиться с флешки, примонтировать раздел со свежеустановленной операционкой.

Если вы ставили ОС на emmc, то это вот так

переходим в директорию mnt

cd /mnt

и создадим тут какую-нибудь папку, например назовем ее tempboot

mkdir tempboot

теперь примонтируем раздел с бутом в эту директорию

sudo mount /dev/mmcblk0p1 /mnt/boot

После этого нам нужно взять файл rk3568-aio-3568j.dtb и скопировать его в /boot/dtb/rockchip/

Далее отредактируем файл /boot/dtb/rockchip/

убираем из этого файла все строки с “overlays”

Ищем строку с fdtfile и заменяем на fdtfile=rockchip/rk3568-aio-3568j.dtb

Перезагружаемся. Можно вынимать флешку и microsd. Система установлена.

Создаем рейд

Теперь нам нужно создать рейд. Лично я выбрал для себя модуль с четырьмя дисками и UPS. И мне кажется, что наиболее разумным в этом варианте будет использовать RAID10. Но вы можете использовать и любой другой. В этом варианте у меня еще останется NVME, который у меня не будет использоваться в рейде. Но я думаю, что я буду использовать его для каких-нибудь других целей. Например, настрою туда самбу.

Для начала установим mdadm командой

sudo apt install mdadm

У нас есть два NVME накопителя /dev/nvme0n1 и /dev/nvme1n1, сразу не размеченные и без файловой таблицы.

Если диски могли ранее быть участниками RAID массивов, то надо удалить суперблок: На всякий случай делаем так:

sudo mdadm --zero-superblock /dev/sda
sudo mdadm --zero-superblock /dev/sdb
sudo mdadm --zero-superblock /dev/sdc
sudo mdadm --zero-superblock /dev/sdd

Далее делаем следующее:

Создаём на каждом из них файловую таблицу (желательно GPT типа). (Это умеет делать fdisk, которая есть в большинстве дистрибутивов из коробки)

Создаём на каждом физическом устройстве по одному логическому разделу, размером в весь диск (в вашем случае)

Для этого выполняем команду для каждого нашего диска

fdisk /dev/sda

потом вписываем g и нажимаем энтер потом вписываем n и нажимаем энтер потом три раза нажимаем энтер соглашаяся с дефолтными значениями в конце вписываем w и нажимаем энтер

aio-3568j:~:# fdisk /dev/sdc

Welcome to fdisk (util-linux 2.36.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x3fe9d2fe.

Command (m for help): g
Created a new GPT disklabel (GUID: 190BB4F4-03CD-724D-BD8F-5B14478768C7).

Command (m for help): n
Partition number (1-128, default 1):
First sector (2048-234441614, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-234441614, default 234441614):

Created a new partition 1 of type 'Linux filesystem' and of size 111.8 GiB.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

После того как мы сделали все для всех четырех дисков выполним команду lsblk

lsblk

Выглядеть это должно так:

root@nanopi-r5c:~# lsblk
NAME         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda            8:0    0   1.9T  0 disk
└─sda1         8:1    0   1.9T  0 part
sdb            8:16   0   1.9T  0 disk
└─sdb1         8:17   0   1.9T  0 part
sdc            8:32   0   1.9T  0 disk
└─sdc1         8:33   0   1.9T  0 part
sdd            8:48   0   1.9T  0 disk
└─sdd1         8:49   0   1.9T  0 part
mtdblock0     31:0    0    16M  0 disk
mmcblk0      179:0    0  58.3G  0 disk
└─mmcblk0p1  179:1    0  57.6G  0 part /var/log.hdd
                                       /
mmcblk0boot0 179:32   0     4M  1 disk
mmcblk0boot1 179:64   0     4M  1 disk
zram0        251:0    0   3.8G  0 disk [SWAP]
zram1        251:1    0    50M  0 disk /var/log
zram2        251:2    0     0B  0 disk
nvme0n1      259:0    0 931.5G  0 disk
└─nvme0n1p1  259:1    0 931.5G  0 part
root@nanopi-r5c:~#

Ничего пока что не форматируем, прямо из двух разделов, не содержащих файловых систем, создаём RAID массив, командой (тут если вы решили использовать не raid10, а какой-то другой, то поменяйте)

aio-3568j:~:# mdadm --create --verbose /dev/md0 --level=raid10 --name=data --raid-disks=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
mdadm: layout defaults to n2
mdadm: layout defaults to n2
mdadm: chunk size defaults to 512K
mdadm: size set to 117152768K
mdadm: automatically enabling write-intent bitmap on large array
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

Процесс будет идти в фоне, посмотреть прогресс можно, выполнив команду:

cat /proc/mdstat

Personalities : [raid10]
md0 : active raid10 sdd1[3] sdc1[2] sdb1[1] sda1[0]
      234305536 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]
      [>....................]  resync =  1.4% (3293312/234305536) finish=39.7min speed=96745K/sec
      bitmap: 2/2 pages [8KB], 65536KB chunk

unused devices: <none>

Нужно будет дождаться полной синхронизации. Создаваться сам рейд будет очень долго. Особенно если у вас используются большие диски.

При создании raid10 из четырех m.2 sata дисков размером 128гб у меня ушло 34 минуты.

При создании raid10 из четырех m.2 sata дисков размерами по 2tb у меня ушло больше 11 часов.

root@nanopi-r5c:~# lsblk
NAME         MAJ:MIN RM   SIZE RO TYPE   MOUNTPOINTS
sda            8:0    0   1.9T  0 disk
└─sda1         8:1    0   1.9T  0 part
  └─md0        9:0    0   3.7T  0 raid10
sdb            8:16   0   1.9T  0 disk
└─sdb1         8:17   0   1.9T  0 part
  └─md0        9:0    0   3.7T  0 raid10
sdc            8:32   0   1.9T  0 disk
└─sdc1         8:33   0   1.9T  0 part
  └─md0        9:0    0   3.7T  0 raid10
sdd            8:48   0   1.9T  0 disk
└─sdd1         8:49   0   1.9T  0 part
  └─md0        9:0    0   3.7T  0 raid10
mtdblock0     31:0    0    16M  0 disk
mmcblk0      179:0    0  58.3G  0 disk
└─mmcblk0p1  179:1    0  57.6G  0 part   /var/log.hdd
                                         /
mmcblk0boot0 179:32   0     4M  1 disk
mmcblk0boot1 179:64   0     4M  1 disk
zram0        251:0    0   3.8G  0 disk   [SWAP]
zram1        251:1    0    50M  0 disk   /var/log
zram2        251:2    0     0B  0 disk
nvme0n1      259:0    0 931.5G  0 disk
└─nvme0n1p1  259:1    0 931.5G  0 part

Созданный рейд должен иметь имя /dev/md0 (но если вы загрузитесь с другого устройства, то вы, скорее всего увидите что-то типа /dev/md127, это можно будет смонтировать в любой каталог, и вы увидите свои данные. Или бывает, что такое мы получаем когда наш рейд отваливается по какой-либо причине. Далее мы разберем как с этим работать)

Сейчас нам нужно создать файловую систему. Форматируем командой:

sudo mkfs.ext4 /dev/md0

Если задаст вопрос, ответить yes, если будет выпендриваться, то добавить ключ -f

Собственно, всё, можно создать удобную точку монтирования, например :

cd /mnt
mkdir raid
cd raid

И смонтировать туда руками:

sudo mount /dev/md0 /mnt/raid

Проверим есть ли диск:

aio-3568j:raid:# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            3.7G     0  3.7G   0% /dev
tmpfs           770M  9.2M  760M   2% /run
/dev/mmcblk0p2   57G  1.4G   55G   3% /
tmpfs           3.8G     0  3.8G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
/dev/zram2      3.7G   84K  3.5G   1% /tmp
/dev/mmcblk0p1  256M   72M  185M  29% /boot
/dev/zram1       49M  1.2M   44M   3% /var/log
tmpfs           770M     0  770M   0% /run/user/0
/dev/md0        219G   28K  208G   1% /mnt/raid

Проверяем. Должно работать, но чтобы работало после перезагрузки, открываем под рутом в текстовом редакторе файл /etc/fstab и дописываем строку:

/dev/dm0 /mnt/md0     ext4    defaults        0       1

Но, лучше, вместо имени устройства, указать его UUID, который можно узнать, предварительно выполнив команду:

blkid | grep md0 | awk '{ print $2 }'

Команда выдаст что-то типа

UUID="2f930d08-0145-4724-9a2d-2f4888a46ac1"

Соответственно, прописываем со своим UUID. Должно выглядеть примерно так:

UUID="11f71f01-d282-4ddf-abe8-847b518c76b9" /mnt/md0     ext4    defaults        0       1

Нужно проверить корректность записи в fstab

сначала отмонтируем то, что монтировали руками:

sudo mount /dev/md0

Проверяем командой:

mount

Если не смонтирован /dev/md0, то выполняем

sudo mount -a

И, опять проверяем:

mount

Вот, теперь оно должно работать. Если траблы с записью, разбираемся с правами и группами (команды chmod chown, а иногда и usermod)

Неплохой идеей будет еще установить smartmontools, и посматривать за физическим состоянием здоровья накопителей.

sudo apt install smartmontools
smartctl -a /dev/nvme0n1
smartctl -a /dev/sda1
smartctl -a /dev/sdb1
smartctl -a /dev/sdc1
smartctl -a /dev/sdd1

Пересобираем ядро

Ну и самое главное что нам сейчас надо пересобрать ядро чтобы добавить туда mdadm

До того как пересобирать ядро нужно убедиться в двух вещах. Первая вещь это то, что у вас разлочена возможность менять ядро.

В принципе вы можете выполнить эту команду и если будет ошибка, то у вас оно залочено.

Чтобы разлочить нужно будет выполнить команду:

armbian-config

И в настройках нажать System > Defreeze

Ну а после обновления ядра можно опять залочить ядро для надежности и стабильности работы.

И вторая вещь в которой нужно убедиться - правильность конфига

Для этого нам надо взять и сначала выполнить команду

sudo mdadm --detail --scan --verbose

В результате выполнения команды у нас будет строка

ARRAY /dev/md0 level=raid10 num-devices=4 metadata=1.2 name=aio-3568j:0 UUID=4db34717:66cea0fa:a0843455:cc81379f
   devices=/dev/sda1,/dev/sdb1,/dev/sdc1,/dev/sdd1

Так вот нам нужно убедиться что у нас есть точно такая же строка в /etc/mdadm/mdadm.conf

Для этого можем выполнить

cat /etc/mdadm/mdadm.conf

и проверить такая же она или нет. Если такая же, то все ок, если не такая, то надо отредактировать ее и сделать так же как в выводе прошлой команды.

nano /etc/mdadm/mdadm.conf

Собственно после этого уже можем пересобрать ядро командой

sudo update-initramfs -u
root@nanopi-r5c:/mnt# sudo update-initramfs -u
update-initramfs: Generating /boot/initrd.img-6.6.63-current-rockchip64
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8156b-2.fw for module r8152
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8156a-2.fw for module r8152
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8153c-1.fw for module r8152
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8153a-4.fw for module r8152
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8153a-2.fw for module r8152
update-initramfs: Armbian: Converting to u-boot format: /boot/uInitrd-6.6.63-current-rockchip64
Image Name:   uInitrd
Created:      Tue Dec 10 14:04:24 2024
Image Type:   AArch64 Linux RAMDisk Image (gzip compressed)
Data Size:    15073530 Bytes = 14720.24 KiB = 14.38 MiB
Load Address: 00000000
Entry Point:  00000000
update-initramfs: Armbian: Symlinking /boot/uInitrd-6.6.63-current-rockchip64 to /boot/uInitrd
'/boot/uInitrd' -> 'uInitrd-6.6.63-current-rockchip64'
update-initramfs: Armbian: done.

Ну и после этого опять же имем в конфиг и лочим ядро если нужно.

armbian-config

Можем ребутнуться и убедиться что рейд смонтирован. Если переименовался в m127 то вы сделали что-то не так. Попробуйте поднимать и искать проблему.

Если рейд упал

Наш рейд при загрузке системы должен называться md0. Но иногда бывает что рейд падает. Когда он падает то он переименовывается в /dev/md127

Такое иногда бывает и страшного в этом ничего нет

И вот последовательность шагов которые нам надо будет сделать при падении

Для начала отмонтируем его

umount /mnt/raid

И остановим

mdadm --stop /dev/md127

Посмотрим что с ним случилось командой

mdadm --detail /dev/md0

В этой команде мы увидим проблему. Тут может быть все что угодно. Например, со временем может просто умерень один диск из четырех. Соответственно диск нужно будет поменять на другой. Ну или такое бывает если мы все эти четыре диска переместим в другой комп. Соответственно другой комп не увидит рейда.

После решения проблем пересобираем рейд

mdadm --assemble --update=name --name=0 /dev/md0 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1

Ну и не забываем добавить строку в файл. Или на всякий случай проверим что она есть и она там такая какая должна быть.

ARRAY /dev/md0 level=raid10 num-devices=4 metadata=1.2 name=aio-3568j:0 UUID=4db34717:66cea0fa:a0843455:cc81379f devices=/dev/sda1,/dev/sdb1,/dev/sdc1,/dev/sdd1

ВОССТАНАВЛИВАЕМ РЕЙД

А что делать если потом мы хотим как-то восстановить рейд?

Например, у нас произошла трагедия и полностью сдох комп на котором был рейд. Или наоборот мы их какого-то слабого компа хотим перенести диски в новый.

И мы просто взяли диски и воткнули их в другой комп. Что делать?

Втыкаем диски и вводим команду lsblk

aio-3568j:~:# lsblk
NAME         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda            8:0    0 111.8G  0 disk
└─sda1         8:1    0 111.8G  0 part
sdb            8:16   0 111.8G  0 disk
└─sdb1         8:17   0 111.8G  0 part
sdc            8:32   0 111.8G  0 disk
└─sdc1         8:33   0 111.8G  0 part
sdd            8:48   0 111.8G  0 disk
└─sdd1         8:49   0 111.8G  0 part
mtdblock0     31:0    0    16M  0 disk
mmcblk0      179:0    0  58.3G  0 disk
├─mmcblk0p1  179:1    0   256M  0 part /boot
└─mmcblk0p2  179:2    0  57.4G  0 part /
mmcblk0boot0 179:32   0     4M  1 disk
mmcblk0boot1 179:64   0     4M  1 disk
zram0        252:0    0   3.8G  0 disk [SWAP]
zram1        252:1    0    50M  0 disk /var/log
zram2        252:2    0   3.8G  0 disk /tmp
nvme0n1      259:0    0 931.5G  0 disk
└─nvme0n1p1  259:1    0 931.5G  0 part

Мы видим, что диски есть, но при этом они никуда не смонтированы, никак не определяются.

Устанавливаем mdadm

apt install mdadm

обновляем ядро

sudo update-initramfs -u

ребутимся

смотрим на рейд

sudo mdadm --detail --scan --verbose
ARRAY /dev/md/0 level=raid10 num-devices=4 metadata=1.2 name=aio-3568j:0 UUID=4db34717:66cea0fa:a0843455:cc81379f
   devices=/dev/sda1,/dev/sdb1,/dev/sdc1,/dev/sdd1

и переписываем наш конфиг в /etc/mdadm/mdadm.conf как это сказано выше в статье

Теперь командой

mdadm --detail /dev/md0

Смотрим что у нас есть рейд

SAMBA

Теперь можем еще установить и самбу. Я использую для этого NVME который не в рейде. Напомню, что в моем девайсе есть рейд из четырех дисков m2 sata и еще один nvme который не в модуле, а в основной плате.

Для того чтобы установить самбу выполняем команду:

sudo apt install samba

Теперь где-нибудь делаем директорию в которой будут храниться наши самбовские файлы, которые будут расшарены и после этого идем править файл /etc/samba/smb.conf

nano /etc/samba/smb.conf

В конец конфига добавляем эти строки

[sambashare]
    comment = Samba on Ubuntu
    path = /mnt/nvme/samba
    read only = no
    browsable = yes

сохраняем файл и перезагружаем сервис

sudo service smbd restart

Если есть ufw то не забываем добавить правило и для него:

sudo ufw allow samba

и еще надо будет создать пользователя для самбы

sudo smbpasswd -a username

Ну и все. Теперь можем коннектиться к нашей папке

И не забываем той папке которую мы создали для самбы дать права того пользователя который мы создали для самбы

sudo chown samba dm:dm

ENCRYPTION

Мы можем зашифровать любой из наших разделов. Для шифрования используем LUKS

Генерируем файл с паролем

dd if=/dev/random bs=32 count=1 of=/root/lukskey

Посмотрим создался ли он

cat /root/lukskey

Если все ок, то добавляем файл к нашему зашифрованному разделу

cryptsetup luksAddKey /dev/md0 /root/lukskey

И проверяем добавился ли новый ключ

cryptsetup luksDump /dev/md0

Теперь надо отредактировать файл crypttab

vim /etc/crypttab

Добавляем туда вот это

secret  /dev/md0       /root/lukskey

Теперь можем перезагрузить наше устройство и посмотреть

MODEM

Для начала давайте проверим установлен у нас модем и определяется ли он системой. Это делается командой lsusb

root@nanopi-r5c:~# lsusb
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 002: ID 05e3:0620 Genesys Logic, Inc. GL3523 Hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 2c7c:0125 Quectel Wireless Solutions Co., Ltd. EC25 LTE modem
Bus 001 Device 002: ID 05e3:0610 Genesys Logic, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Как мы видим модем у нас есть - Bus 001 Device 003: ID 2c7c:0125 Quectel Wireless Solutions Co., Ltd. EC25 LTE modem

Для начала надо установить modem manager

sudo apt install modemmanager

Посмотрим есть ли у нас модемы

mmcli -L

No modems were found

Видим что mmcli не видит нашего модема

Перезагружаемся и вводим эту команду еще раз

root@nanopi-r5c:~# mmcli -L
    /org/freedesktop/ModemManager1/Modem/0 [QUALCOMM INCORPORATED] QUECTEL Mobile Broadband Module

И после перезагрузки мы видим, что наш модем найден.

Теперь можем посмотреть статус нашего модема

root@nanopi-r5c:~# mmcli -m 0
  -----------------------------------
  General  |                    path: /org/freedesktop/ModemManager1/Modem/0
           |               device id: c2c67a9e305123a929768e39798a35f55cb5726e
  -----------------------------------
  Hardware |            manufacturer: QUALCOMM INCORPORATED
           |                   model: QUECTEL Mobile Broadband Module
           |       firmware revision: EC20CEHCLGR06A05M1G
           |          carrier config: Volte_OpenMkt-Commercial-CMCC
           | carrier config revision: 05012011
           |            h/w revision: 10000
           |               supported: gsm-umts, lte, tds
           |                          cdma-evdo, lte, tds
           |                          lte, tds
           |                          cdma-evdo, gsm-umts, lte, tds
           |                 current: cdma-evdo, gsm-umts, lte, tds
           |            equipment id: 868274069190777
  -----------------------------------
  System   |                  device: /sys/devices/platform/fd000000.usb/xhci-hcd.9.auto/usb1/1-1/1-1.3
           |                 drivers: option, qmi_wwan
           |                  plugin: quectel
           |            primary port: cdc-wdm0
           |                   ports: cdc-wdm0 (qmi), ttyUSB0 (qcdm), ttyUSB1 (gps),
           |                          ttyUSB2 (at), ttyUSB3 (at), wwan0 (net)
  -----------------------------------
  Status   |                   state: failed
           |           failed reason: sim-missing
           |             power state: on
  -----------------------------------
  Modes    |               supported: allowed: 2g; preferred: none
           |                          allowed: 3g; preferred: none
           |                          allowed: 2g, 3g; preferred: 3g
           |                          allowed: 2g, 3g; preferred: 2g
           |                          allowed: 2g, 4g; preferred: 4g
           |                          allowed: 2g, 4g; preferred: 2g
           |                          allowed: 3g, 4g; preferred: 4g
           |                          allowed: 3g, 4g; preferred: 3g
           |                          allowed: 2g, 3g, 4g; preferred: 4g
           |                          allowed: 2g, 3g, 4g; preferred: 3g
           |                          allowed: 2g, 3g, 4g; preferred: 2g
           |                 current: allowed: 2g, 3g, 4g; preferred: 4g
  -----------------------------------
  Bands    |               supported: egsm, dcs, eutran-1, eutran-3, eutran-5, eutran-8,
           |                          eutran-34, eutran-38, eutran-39, eutran-40, eutran-41, cdma-bc0
           |                 current: egsm, dcs, eutran-1, eutran-3, eutran-5, eutran-8,
           |                          eutran-34, eutran-38, eutran-39, eutran-40, eutran-41, cdma-bc0
  -----------------------------------
  IP       |               supported: ipv4, ipv6, ipv4v6

Статус у нас сейчас failed из-за того, что мы не вставили симку

Симка тут вставляется чуть большего размера, чем они сейчас идут обычно, поэтому вставлять надо с переходником (эти переходники обычно идут с симкой когда ее покупаешь).

И пока я не нашел переходник история с модемом ставится на паузу.

Contents

comments powered by Disqus