Изменения от 11.02.2021
У нас было 2 пакета коннекторов rj-45, четыре роутера, три адаптера USB-ATA, восемь флешек, два SSD диска, полсотни BIN файлов прошивок, десяток ESPшек, два одноплатных микрокомпьютера, китайские хабы и километры витой пары категории 5E. Не то, чтобы это был необходимый запас для модернизации и увеличения памяти. Но если начал модернизировать, становится трудно остановиться. Единственное что вызывало у меня опасение — это роутер TP-Link TL-MR3020. Нет ничего более беспомощного, безответственного и испорченного, чем упоротые MR3020. Я знал, что рано или поздно мы перейдем и на эту дрянь.
Это продолжение, начало:
- TP-Link TL-MR3020 супер роутер - комбайн для нищебродов. Часть I, вступительная
В роутере TP-Link TL-MR3020 мало памяти, и это его не одна, но основная проблема. Оперативной памяти всего то 64 МБ, а на самом деле еще меньше.
Заходим на сайт OpenWrt: https://openwrt.org и посмотрим какие требования OpenWrt предоставляет к роутерам
- С 2019 года прекращается поддержка устройств с 4 Мб флэш-памяти / 32 Мб ОЗУ (прошивка 19.07 последняя для этих устройств) А значит нам нужно больше 8МВ флеш памяти и больше 64МВ оперативной памяти. Старичок TP-Link TL-MR3020 V3 подходит под эти требования (у него 64МВ оперативной памяти и 8МБ флэш), но скажу сразу, это минимум и дополнительные пакеты у нас просто не влезут.
Поэтому будем ухлублять и расширять.
Физическая часть
Разберемся что нам нужно.
Что нужно?
Все просто, возьмём фен, предварительно приготовим новую микросхему памяти, сдуем старую и накатаем новую. Э, нет! Так мы делать не будем! Это очень сложно, нудно и с неопределенным результатом
Но нам обязательно понадобится порт USB и он у нас есть! К нему мы будем подключать внешние носители информации, давайте разберемся какие
А вообще что мы можем подключить из носителей информации:
- USB флешки;
- USB адаптер с картами памяти SD и MicroSD (ну это почти как флешки);
- Различные жесткие диски
Можете подключить все это, но помните, что к сожалению, на интенсивный обмен информации сегодняшние флешки и SD карты не рассчитаны. Это касается записи. И если вы установите программное обеспечение которое активно ведет запись на носитель информации, а например активно пишет все что имеет дело с базами данных, это всё программы "Умного дома", например Domoticz, в этом случает флешка долго не проживет. У меня флешки и SD карты с умным домом жили не более 2-4 недель, потом безвозвратно дохли.
Использовать флешки для расширения памяти роутера не самый лучший вариант, так как они не предназначены для активного обмена и формации и в основном не предназначены для активно записи. Лучше использовать жёсткие диски (HDD и SSD)
Вот на жестких дисках остановимся подробнее. Напомню какие они бывают
Диски для ПК делятся
По месту расположения
- Внешние
- Внутренние
По разъемам
- SATA
- mSATA
- M.2
- Слот PCI-E
- PATA (IDE) (устаревший)
- SCSI (устаревший)
Форм фактор
- USB 2.0
- USB 3.0
- M.2 (делятся по длине: 2240, 2260, 2280)
- 2,5 дюйма
- 3,5 дюйма
Протоколы передачи данных
- PATA
- SATA (AHCI)
- NVMe
По способам хранения информации
- HDD
- SSD
Классификация еще больше, но тут обозначены самые основные типы.
Итак нам обязательно нужен внешний жесткий диск с интерфейсом USB 2.0, можно попытаться использовать 3,0, но в этом нет никакого смысла, быстрее работать не будет, а стоит он дороже. У меня кстати с USB 3,0 почему то вообще не заработало. Поэтому, лучше всего использовать самый дешевый диск или адаптер диска USB 2.0 - ATA.
Про стандарт "A" (Application Performance Class) для карт памяти MicroSD
Кстати недавно узнал, оказывается, есть еще карты памяти MicroSD с буковкой A2, пишут что это карты с контроллером, как у SSD дисков - то есть много и часто писать/читать мелкие файлы им не страшно. Но на самом деле все не совсем так, вот про стандарт вкратце
В 2016 году был принят стандарт Application Performance Class (обозначается буквой А)
- A1 - показатель IOPS (операций ввода/вывода в секунду) не ниже при чтении 1500, записи 500. Установившаяся скорость передачи данных не меньше 10 Мбайт/с.
- A2 - показатель IOPS не ниже при чтении 4000, при записи 2000. Установившаяся скорость передачи данных не меньше 10 Мбайт/с.
Стандарт создавался для применения карт памяти с Android-устройствами, а именно для расширения встроенной памяти Android-устройств. Обычные карты оптимизированы для работы с мультимедийными материалами и приложениями, но не предназначены для хранения программ. В этом же случае карта превращается в защищённый накопитель для приложений и игр. Представитель такой карты например: SanDisk Extreme
А теперь давайте вернемся к нашим дискам и примерам.
Примеры
Для примера, каким диском пользуюсь я, купил самый дешевый адаптер USB - SATA с корпусом, вполне ничего.
В сборе с роутером
Сам диск используйте на свое усмотрение, это может быть и внешний диск или внутренний с USB - SATA адаптером. Это может быть SSD или HDD диск. Можете подключить любые диски, но что бы выход был USB 2.0.
Для примера я использую вот такие диски SSD, почему? А потому как:
- тихо;
- не чувствительны к механическим нагрузкам (умеренным);
- мало потребляют и этот пункт самый главный.
Покупайте самые дешевые, характеристики тут не важны, кроме одной - наработка на отказ, чем больше тем лучше. Т. е. нам нужен диск который не сломается и без проблем будет работать, работать и работать. Понимаю, что такой сложно найти, но читайте отзывы.
Но можете использовать и старые из ноутбука, то же неплохой вариант.
Можете даже использовать совсем старые с IDE интерфейсом
Но у меня почему то не работает, мне кажется из за кривого адаптера USB - IDE
Или например вот такие, монстры из прошлого века.
Но помните три пункта:
- Нужен адаптер USB - IDE который, кстати уже купить затруднительно, а стоит он дорого.
- Неизвестно сколько проработают такие жесткие диски, время не щадит никого и даже жесткие диски
- Они сравнительно много кушают, в смысле потребляют электричества и тут нужно помнить о питании (организовывать отдельное питание, использовать достаточные по сечению провода, (статья на канале) подводить 12 вольт для последнего диска и так далее)
Поэтому, а стоит ли игра свеч?
О вкусном и здоровом питании
И еще, помните о питании! Это логично и понятно, высокосортные диски формата 3,5 дюйма будут жрать больше, SSD диски меньше, старые диски IDE жрут больше, новые меньше. Помня о питании, само собой разумеющиеся, выбираете нужный блок питания из расчета потребление роутера плюс потребление жесткого диска. И еще помните о шнуре подключения, у него должны быть достаточно толстые провода, о проводах на канале есть статья: "Про провода (AWG, USB, о питании и витой паре)"
И сколько все это потребляет тока?
В пике сам роутер кушает 500мА (0.5А)
Жесткие диски потребляют по разному, у них и напряжение питания разное:
Вот например старый еще IDE жесткий диск
Суммарно получается около 5А, 25Вт (если все перевести все на 5 вольт)
- HDD 3,5дюйма - 25 Вт (1A - 5в; 1,5А - 12в)
- На старте при раскрутке шпинделя HDD потребляет до 30 Вт (6А для 5 вольт, 2.5 для 12 вольт)
- 2,5 дюйма - 4 Вт (0,8A)
- SSD - 3 Вт (0,6А)
Из расчета становится понятным, что SSD диск, достаточно хороший вариант, так как широко распространены блоки питания в 2A.
Итак, возьмем среднее значение - 1A. А значит блок питания нужно не менее 2А, лучше 3А для диска HDD 2,5 или, что еще лучше диск SSD
Для примера как можно использовать вот такой блок питания.
Его с избытком хватит
Или я использую вот такой блок питания от планшета, купил в Ашане со скидкой, потому как с таким "игольчатым" разъемом они, типа, никому не нужны. На само деле мне и даже очень.
Он 2А, на проводе видите надпись, 24 AWG это сечение провода (статья на канале: "Про провода (AWG, USB, о питании и витой паре) ") на нормальное исчисление это 0,2мм²
Или например вот такой блок питания
O USB замолвим слово
Кроме того мы много чего собираемся подключать, но разъем USB у нас только один и поэтому нам понадобился USB- хаб (USB-hub)
USB- хаб выбираете самый дешевый, как всегда можно заказать через Ali, хотя нам возможно понадобится его перепаять на внешнее питание, но к этому мы еще вернемся.
А пока просто озвучим нужен USB хаб, для примера вот
Вот такой Франкенштейн, просто для примера, у меня с внешним питанием и да один порт сгорел, ну бывает.
Собираем все вместе
Ножки, ручки, огуречник - получился человечек, супер роутер!
А теперь собираем все вместе, пока можно и без хаба, тут уж как сработает ваша фантазия и кривизна рук, для примера, у меня вот так
Или вот как собран Orange PI PC2 в корпусе для хранения мелочевки (тогда еще не было 3D принтера), блока питания и SSD, фото для примера и стимуляции фантазии.
Что именно я использую в данном проекте
В данном проекте я буду использовать вот такой жесткий диск
Самый дешевый адаптер USB-SATA 2.0 и конечно роутер
Логическая часть
На этом физическая сборка закончилась переходим к логической части и программного конфигурированию всего
Подготовка жесткого диска или флешки
Для увеличение памяти нам нужно разбить диск специальным образом
Файловая система
И начнем мы конечно с файловой системы
Маленький ликбез по файловым системам
- Ext2 Стандартная для Linux Быстрая в угоду стабильности. Устаревшая, но может использоваться если нужна производительность.
- Ext3 Стандартная для Linux Журналирование. Устаревшая
- Ext4 Стандартная для Linux Журналирование, максимальный размер раздела до одного экзабайта. Выбор
- JFS IBM для AIX UNIX Альтернатива для файловых систем ext, устаревшая была разработана в IBM и использовалась в качестве альтернативы для файловых систем ext. Устаревшая
- ReiserFS Под руководством Ганс Райзера Альтернативы ext3, поддерживает только Linux. Устаревшая XFS Silicon Graphics Используется в собственной операционной системе (2001 г). Устаревшая.
- Btrfs Отказоустойчивая, администрируемая. Размещение на нескольких разделах, поддержка подтомов, изменение размера на лету, создание мгновенных снимков, высокая производительность. Многими пользователями считается нестабильной, но используется как файловая система по умолчанию в OpenSUSE и SUSE Linux. Выбор
На сегодняшний момент две продвинутые системы Ext4 и Btrfs, что касается роутеров естественно файловая система EXT (Ext2 или Ext4). Я лично выбираю Ext4 так как она более стабильна, а скорости на USB 2.0 все равно не получится.
Итак, с файловой системой определились: Ext4.
Разделы диска
Теперь разобьём диск на разделы определенным образом
Я предлагаю три раздела:
- 1) swap
- 2) overlay
- 3) mr3020
Если первые два раздела названы так вполне логично, то третий раздел можете назвать как вам удобно в сети очень часто называют "home"
Но что за первые два раздела и почему так названы, разберемся.
- Swap - или раздел подкачки это раздел дополнительной виртуальной памяти, а если понятным языком то это расширение оперативной памяти за счет другого носителя информации, обычно жесткого диска (HDD, SSD) или флешки. Отдельные фрагменты памяти, обычно неактивные, курсируют из ОЗУ на жесткий диск (флешку) и обратно.
- Оverlay - это место в памяти роутера которую OpenWRT использует для изменяемых данных (таких как конфигурационные файлы или пакеты программ). Мы установим новый overlay поверх старого, старый при этом останется. Это важно, так как если по каким то причинам к носителю информации не будет доступа то загрузится не новый смонтированный и настроенный overlay, а старый без всех настроек и программ.
Какого объема должны быть эти разделы?
1. swap - 1Гб
2. overlay - 1Гб
3. mr3020 - все остальное место
Таких объемов хватит за глаза, вы можете сократить их в два, а то и в три раза и их все равно хватит, так как у меня SSD мне не холодно и не жарко, что 5Гб, что 3 или 1Гб, просто взял круглые числа.
С файловой системой определились и с объемами то же.
Практическая реализация
Теперь переходим к практической реализации
Жёсткий диск вы можете отформатировать по крайне мере двумя способами
1. На самом роутере используя только OpenWrt
2. Подготовить жесткий диск отдельно в Linux, а затем поставить в роутер.
3. Подготовить жесткий диск в специальной программе
Третий и второй способ это использование только носителя информации (жёсткого диска) без роутера, жесткий диск подключается к ПК.
Начнем с конца, третий способ.
Готовим носитель информации в специальной программе
Качаем бесплатную программу MiniTool Partition Wizard Free Edition, устанавливаем и подготавливаем жесткий диск.
Для "Swap", первого раздела, выбирайте разметку "Linux Swap" для всего остального Ext4
Перейдем к второму способу подготовка носителя информации в Linux
Это можно сделать так же двумя путями, используя :
- ПК с физически установленным Linuxом
- виртуальные машины c Linuxом на компьютере с WIndows.
Я чуть затрону (но только затрону) второй способ так как он самый легкий, но если у вас уже есть установленная машина физическая или виртуальная. Если нет рекомендую установить, так как если уж вы начали этим заниматься то Linux все равно понадобится.
Про виртуальные машины
Я пользуюсь VM VirtualBox, а выбора то особенного и нет, Hyper-V (встроенные в Windows 10 pro, enterprise) под Linux не работает
VM VirtualBox можно скачать
1) VM VirtualBox ( https://www.virtualbox.org )основной пакет для Windows
2 ) Расширение пакета для поддержки USB - VirtualBox 6.0.12 (VirtualBox 6.1.18 Oracle VM VirtualBox Extension Pack)
В виртуальной среде я пользуюсь операционной системой (ОС) Linux Mint https://linuxmint.com
А в самой Linux Mint я пользуюсь пакетом gparted
Для разбивки жёсткого диска, флешки устанавливаем пакет gparted в Mint (Ubuntu, Debian)
Зайдите в Терминал и введите:
sudo apt update
sudo apt install gparted
Запуск
sudo gparted
Изначально жесткий диск - не размечен
Разбили на разделы
Для "Swap", первого раздела, выбирайте "linux-swap"
Напомню: 1 Гигабайт это 1024 Мегабайт
Подготовка жесткого диска (флешки) на роутере средствами OpenWrt
Начинается самое интересное
Разбиваем жесткий диск (флешку) прямо на роутере возможно это предпочтительный вариант, на самом деле он кажется сложным, но это не так. Так как все равно рано или поздно нужно будет многие вещи делать из командной строки, так просто удобнее и быстрее, а иногда это единственный вариант.
Подключаем жесткий диск к роутеру по USB, подключаем роутер шнуром Lan, подаем питание.
Заходим в WEB интерфейс (LuCi) роутера через браузер.
И первым делом настраиваем и (или) проверяем настройки сети, у меня это второй (на самом деле четвертый) роутер в сети и мои настройки специфичны, они замазаны.
1. Это адрес вашего роутера, по нему Вы вошли в WEB интерфейс
2. Обязательно укажите шлюз (IPv4 gateway), это IP адрес вашего основного роутера в сети, очень часто он: 192.168.1.1.
3. Можете вписать DNS сервер (Use custom DNS servers), ну например публичный гугловский: 8.8.8.8
Далее в System>Administration>SSH Access и проверяем настройки они должны быть такие.
По умолчанию все так и должно быть, но на всякий случай проверим. Суть в том, что должен быть открыт доступ по SSH.
Загружаем Putty
Мы его скачивали в прошлой серии: "Роутер TP-Link TL-MR3020 - начало, установка OpenWrt. Часть II" Но я напомню.
PuTTY - свободно распространяемый клиент для различных протоколов удалённого доступа, включая SSH, SCP, SFTP, Telnet и др.
При первом подключении формируется ключ безопасности SSH, отвечаем "ДА"
Запрос: login и password
- login это root, так установлено по умолчанию
- Password (пароль) - вводим тот пароль который используем для входа в WEB интерфейс роутера
Буковки не видны при вводе пароля. Его не видно, но он есть!
При правильном вводе, английскими буквами мы попадаем куда надо.
И дальше мы работаем уже непосредственно с роутером, компьютер это только наш терминал, экран и клавиатура и все.
Внимание! Роутер должен быть подключен к сети, сеть должна быть настроена иначе ничего не получится так как пакеты берутся из сети (в данном конкретном случае)
USB
Так как диск у нас подключен к USB нам понадобятся утилиты для работы по USB, да логика железная.
Должны быть установлены пакеты:
- kmod-usb-core
- kmod-usb-ohci
- kmod-usb2
- kmod-usb-storage
- kmod-fs-ext4
- fdisk
- block-mount
Все они установлены по умолчанию за исключением
- kmod-usb-storage
- kmod-fs-ext4
- fdisk
- block-mount
Для начала установим kmod-usb-storage, все остальные пакеты по мере необходимости с объяснениями зачем они нужны. Для установки пакетов роутер должен быть подключен к сети интернет, мы оттуда будем качать пакеты, и помните, пока у нас мало памяти, не качайте все подряд.
Установка:
opkg update
opkg install kmod-usb-storage
Разберёмся что это такое и зачем это нужно.
opkg это программа в роутере, менеджер пакетов.
opkg update этой строкой мы обновляем пакеты доступные нам для роутера, иными словами роутер подключившись к репозитариям узнает какие пакеты и какой версии ему доступны.
Ну со строкой opkg install kmod-usb-storage понятно, мы устанавливаем нужный нам пакет.
Мы делаем все это уже через терминал и командую строку, вы можете делать это через Люсю
LuCI - это то же программа которая выводит информацию в WEB интерфейс, а вы это все видите в браузере войдя по адресу роутера. На самом деле все чуть по другому
LuCI это веб-ориентированный интерфейс конфигурирования, написанный на языке программирования Lua, отсюда Lua Configuration Interface. Но LuCI работает не один, а с вебсервером uHTTPd. Но об этом потом.
Заходим в System>Software и вот пожалуйста устанавливайте, удаляйте, все что угодно.
Но это не самый лучший вариант так как все равно рано или поздно придется переключатся на командую строку и настраивать все через терминал. А так, работая в терминале мы ощущаем себя настоящими хакерами, еще бы монохромные зелёненькие буквы, эх...
Возвращаемся к терминалу и командной строке.
После запуска opkg update побегут строчки и в конце концов появится надпись: "Signature check passed." Это значит что все хорошо
После запуска opkg install kmod-usb-storage то же побегут строчки и в конце концов будет вот так, это хорошо все установилось и мы можем пользоваться носителем информации
Но сначала установим fdisk
fdisk
Для дальнейшей работы нам понадобится утилита fdisk, это утилита для работы с дисками, это и видно из названия, но она так же не установлена по умолчанию.
Собственно установим fdisk
opkg update
opkg install fdisk
Просто копируйте это и вставляете в командную строку терминала
После запуска opkg install fdisk то же побегут строчки и в конце концов будет вот так, это хорошо все установилось и мы можем пользоваться fdiskом
Теперь набираем
fdisk -l
Буква -I c чёрточкой в начале значит, что мы просто хотим получить информацию о наших дисках, и вот она это информация
Нас интересует последний диск
Обратите внимание на надпись "Disk /dev/sda", а именно на "sda
dev- это каталог Linux в котором содержится все файлы «устройств». Так как Linux (Unix) рассматривает практически всё в том числе и устройства как файлы для чтения или записи.
sd - первоначально это устройств на SCSI, но затем в связи с появлением USB дисков, он стал универсальным для любого блочного (информационного) устройства кроме IDE и карт памяти. Когда появился SATA его воткнули в этот же каталог.
Название может начинаться на:
- sd устройство, подключённое по SCSI, USB диск
- hd устройство ATA (IDE)
- vd виртуальное устройство mmcblk обозначаются карты памяти, подключённые через картридер
a - буква после sd обозначает порядок в в котором появлялись устройства на шине.
Число - (оно будет) после этого означает раздел на устройстве.
Итак, отлично наш диск определился, роутер его видит нам остается его только сконфигурировать, но статья получается очень большой, не для Дзена, тут любят маленькие статьи, поэтому конфигурация и дальнейшая настройка далее...
Предыдущие части I, II
- TP-Link TL-MR3020 супер роутер - комбайн для нищебродов. Часть I, вступительная.
Продолжение:
- Подключаем роутер TP-Link TL-MR3020 V3 по UART-USB (через COM-порт) и прошиваемся.
Статьи по теме
Подписывайтесь на наш канал TehnoZet-2, будет интересно! Мы активно развиваемся! Понравилась статья, хотите продолжения - пишите комментарии, ставьте лайк, жмите палец вверх!
#роутер
#tl-mr3020
#openwrt