Флешка Openwrt

Обновлено: 21.11.2024

Идея проста: подключите флэш-накопитель USB к маршрутизатору OpenWRT Chaos Calmer. Как оказалось, практическая реальность такова. сложный. Основная проблема заключается в том, что OpenWRT пытается быть очень маленьким, чтобы поместиться в ограниченную память маршрутизаторов, поэтому он не включает в себя никаких пакетов, не важных для операционной системы и работы маршрутизатора. Таким образом, все пакеты, связанные с монтированием USB-устройств, должны быть добавлены вручную. Второстепенные, но важные проблемы включают следующее:

  • сайт OpenWRT представляет собой трясину противоречивой и в основном устаревшей документации, в большинстве из которых не упоминается, к какой версии ОС она относится, так что вам просто нужно следить за ней, пока что-то не сломается, и вы не поймете, что это для более старой версии.
  • VFAT кажется особенно сложным, и поскольку я хочу использовать стандартные USB-накопители без их переформатирования, я начал с этого.

Вот первый шаг:

Это установит основы, необходимые для работы с USB-устройствами (плюс несколько зависимостей). Подключив флешку, мы можем осмотреться:

Мы видим его, но на самом деле у нас нет всех пакетов, необходимых для его монтирования. Я не был уверен, поэтому подумал, что нужно раннее тестирование:

Итак, я получил пакет, который, как мне казалось, мне был нужен:

Это так, верно? Итак, давайте предположим, что это очень простая программа монтирования (это busybox!), и вам нужно установить все параметры, потому что она не может автоматически определить:

Что меня немного бесит, так это то, что "Недопустимый аргумент" означает, что я не указал правильные параметры командной строки. Но он не говорит вам, что и почему: вместо этого вы должны смотреть системные сообщения:

И, наконец, удалось смонтировать молча. (Если вы не говорите по-английски или живете в Северной Америке, то модули kmod-nls-., которые вам нужны, скорее всего, будут другими.)

В предыдущем выпуске Barrier Breaker пакеты NLS/charset не требовались для файловых систем ext4 или iso: я не подтвердил, что это по-прежнему верно для CC. Вам, конечно, все равно нужно установить 'kmod-fs-. ' пакеты для каждого из них. Вот список доступных в настоящее время модулей FS:

  • кмод-фс-афс
  • кмод-фс-автофс4
  • кмод-фс-бтрфс
  • kmod-fs-cifs
  • kmod-fs-configfs
  • kmod-fs-cramfs
  • кмод-фс-exfat
  • кмод-фс-экспортфс
  • кмод-фс-ext4
  • кмод-фс-ф2фс
  • kmod-fs-fscache
  • кмод-фс-хфс
  • кмод-фс-хфсплюс
  • кмод-фс-изофс
  • kmod-fs-jfs
  • кмод-фс-миникс
  • кмод-фс-мсдос
  • кмод-фс-нфс
  • kmod-fs-nfs-общий
  • кмод-фс-нфсд
  • кмод-фс-нтфс
  • kmod-fs-reiserfs
  • кмод-фс-удф
  • кмод-фс-вфат
  • кмод-фс-ксфс

Приведенных выше подробностей также недостаточно для автоматического монтирования USB-устройств при запуске: это еще одна сага, которую я еще не пробовал.

На этой странице: «Разметка, форматирование и монтирование устройств хранения» — которая выглядит актуальной для CC — довольно настоятельно рекомендуется не использовать файловые системы NTFS, поскольку у нее есть «проблемы с производительностью» в «Linux». Я беру «Linux» в кавычки, потому что я довольно активно использую NTFS в Fedora и Debian без заметных проблем, поэтому я предполагаю, что они на самом деле означают «OpenWRT».

Совет. Быстрый старт для установки USB-накопителя решает очень распространенный случай установки одного USB-накопителя на ваше устройство OpenWrt. Люди делают это, чтобы использовать Samba или другие программы, которым необходимо хранить данные на внешнем диске. В оставшейся части этой страницы содержится гораздо больше информации о USB-устройствах и драйверах.

Многие поддерживаемые устройства имеют порты для подключения устройств хранения данных, наиболее распространенными из которых являются USB или SATA.
В этой статье описывается, как настроить ваше устройство для использования таких устройств хранения данных или для совместного использования. Если вы хотите расширить пространство вашей прошивки (чтобы установить больше пакетов), пожалуйста, прочитайте статью о конфигурации Extroot.

Чтобы настроить пространство на внешнем диске, следуйте инструкциям на этой странице:

Установите и проверьте драйверы USB

Этот шаг обеспечивает правильную установку необходимых драйверов USB-накопителя.

В типичном пакете OpenWrt уже установлены основные драйверы USB-устройств (если ваше устройство вообще имеет USB-порты), но может быть еще не установлен драйвер USB-накопителя. Сначала установите этот драйвер хранилища (если он уже установлен, следующая команда просто скажет «уже установлен»):

«Шина…» — линии обозначают основной чип. Здесь «Драйвер» будет xhci для USB3.0, ehci для USB2.0 и uhci или ohci для USB1.1.

Строки с надписью «Класс = Запоминающее устройство» представляют собой подключенные USB-устройства. Здесь «Драйвер» — это либо usb-storage для хранилища типа Bulk only Transport, либо usb-storage-uas для хранилища типа USB_Attached_SCSI

На шаге 5 убедитесь, что выходные данные не выводят ошибок и содержат по крайней мере одну строку вывода для root_hub и Mass Storage, а также что в каждом Driver= указано имя драйвера. Если нет, обратитесь к разделу Установка USB-драйверов, чтобы получить дополнительные рекомендации по драйверам.

Убедитесь, что ОС распознает подключенный диск и разделы

Этот необязательный этап проверки можно использовать, чтобы убедиться, что ОС правильно определяет подключенный внешний диск.

Это должно напечатать как минимум подключенный диск, например «/dev/sda» или «/dev/sdb». Если в списке нет ни одного диска, перепроверьте установку драйвера USB и перезагрузите устройство OpenWrt один раз.

для exFAT вам также понадобится libblkid

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

Если на диске уже есть разделы, они отображаются как /dev/sda1, /dev/sda2 , /dev/sda3 и т. д.
Если бы мы подключили более одного устройства хранения, у нас также был бы /dev/sdb1 (первый раздел второго устройства), /dev/sdc1 (первый раздел третьего устройства) и так далее.

Создайте раздел на USB-диске

Если в предыдущей главе не были перечислены какие-либо существующие разделы (например, «/dev/sda1», «/dev/sda2», «/dev/sdb1»…), вам необходимо сначала создать раздел для дальнейшего использования хранилища.

Открывается интерактивный диалог: Используйте предлагаемые значения по умолчанию для создания раздела (номер, начальный сектор, размер, шестнадцатеричный код)

а затем подтвердите свой выбор с помощью

Если вам нужна дополнительная помощь, обратитесь к тексту справки gdisk (напишите «?»). Придерживайтесь одного раздела, чтобы соответствовать следующему руководству.

Установите драйверы файловой системы и создайте файловую систему в разделе

Чтобы использовать раздел для хранения данных, его необходимо отформатировать в файловой системе.

Ниже приведена самая простая (и рекомендуемая) конфигурация по умолчанию для использования файловой системы OpenWrt.
Для опытных пользователей доступны дополнительные параметры файловой системы.

ВНИМАНИЕ! Этот шаг удаляет существующие данные в этом разделе. Перед запуском убедитесь, что у вас есть резервная копия важных файлов!

Для жестких дисков USB установите файловую систему EXT4 и используйте EXT4 для форматирования раздела (в данном примере «/dev/sda1»):

Для SSD-накопителей и флэш-накопителей установите файловую систему F2FS и используйте F2FS для форматирования раздела (в данном примере «/dev/sda1»):

Автоматическое монтирование раздела

Automount гарантирует, что раздел внешнего диска будет автоматически доступен для использования при загрузке устройства OpenWrt

чтобы увидеть что-то подобное

Обратите внимание на запись "target". Это путь к файлу, по которому теперь можно получить доступ к подключенному USB-накопителю. Например. теперь вы можете просматривать файлы с вашего внешнего диска:

Результат будет:

Необязательно: тайм-аут простоя дисков для использования NAS

Необязательный шаг для жестких дисков.

Если вы хотите использовать OpenWrt в качестве постоянного NAS, возможно, вы захотите выключать двигатель жесткого диска в периоды бездействия. Либо потому, что вы хотите, чтобы в вашей комнате было тихо в ночное время, либо для увеличения срока службы жесткого диска (например, при использовании жесткого диска для дома (вместо версии для центра обработки данных, работающей круглосуточно и без выходных).

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

<р>1. Опция: hdparm
Этот инструмент постоянно сохраняет таймер замедления на самом жестком диске, используя стандартные команды диска SATA (в этом случае жесткий диск запомнит это значение таймера замедления, даже если он выключен, даже после перезагрузки и даже если он подключен к другое устройство). На самом деле это просто интерфейс командной строки для встроенной функции жесткого диска. Таким образом, для этого не нужно запускать службу OpenWrt в фоновом режиме, а «hdparm» можно даже удалить после установки этого параметра. К сожалению, многие старые адаптеры USB2.0-PATA/SATA не поддерживают требуемую команду SATA, хотя ее поддерживают даже жесткие диски десятилетней давности. Но, к счастью, большинство корпусов USB3.0-SATA, похоже, поддерживают требуемую команду SATA. Чтобы установить пакет

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

если команда завершилась неудачно с сообщением об ошибке, ваш USB-SATA-корпус, к сожалению, не поддерживает его, и вы не сможете использовать «hdparm» для замедления вращения диска, пока используете этот USB-корпус.

Конечно, позже вы всегда можете изменить время ожидания или снова отключить автоматическое вращение. В зависимости от вашего жесткого диска значение может быть активным до следующего сброса или постоянно храниться на жестком диске. Сама прошивка жесткого диска управляет тайм-аутом вращения, а не служба OpenWrt.

<р>2. Опция: hd-idle (с интеграцией LuCi)
Это служба, которая работает в фоновом режиме устройства OpenWrt и поддерживает собственный счетчик времени простоя. Как только заданный счетчик времени ожидания достигнет 0, он отправит на диск «живую» команду SATA spindow.В отличие от постоянной команды spindown от hdparm, эта команда SATA «spindown-now» поддерживается гораздо большим числом корпусов USB2.0-SATA.

Чтобы установить пакет, который даже имеет интеграцию с интерфейсом LuCi:

Чтобы настроить его, используйте меню «Службы» веб-интерфейса LuCi вашего устройства.


Чтобы установить пакет CLI (без LuCi):

Чтобы настроить его, вы можете отредактировать файл /etc/config/hd-idle, а затем запустить автозапуск и запустить службу службы hd-idle hd-idle enable && service hd-idle start .

< td >disk < td >10
Имя Тип По умолчанию Описание
string sda Замените sda идентификатором вашего устройства
enabled boolean 0 Включить операцию hd-idle
idle_time_unit string минуты Единица времени, используемая в параметре idle_time_interval
idle_time_interval integer Сколько времени простоя перед вращением

Обратите внимание, что вы должны включить его, поскольку он не включен по умолчанию.

Самостоятельная регистрация на вики отключена.
Если вы хотите внести свой вклад в вики OpenWrt, напишите ЗДЕСЬ на форуме или запросите доступ в IRC.

Если не указано иное, содержимое этой вики предоставляется по следующей лицензии:
CC Attribution-Share Alike 4.0 International

Доступен Быстрый старт для установки USB-накопителя. Это решает очень распространенный случай установки одного USB-накопителя на ваше устройство OpenWrt.

Если краткое руководство не отвечает на ваш вопрос, вы можете установить USB-драйверы вручную. Справочная информация о различных интерфейсах хост-контроллера USB (OHCI, UHCO, EHCI) приведена в статье Википедии. Пожалуйста, обратитесь к документации вашего устройства, чтобы узнать, какая версия USB-драйвера нужна вашему устройству.

Чтобы установить USB-драйверы вручную

Если это не удается с ошибкой «Нет такого устройства», попробуйте установить альтернативный драйвер OHCI для USB 1.1:

Кто-то должен будет проверить эту команду insmod uhci как несовместимую с установленным пакетом — пакет ohci или команда uhci insmod

(чтобы удалить неработающие драйверы, используйте команду opkg remove . Примечание. Если оба драйвера OHCI и UHCI не работают, значит, у вас нет USB 1.1)

Чтобы установить поддержку UASP, также известного как USB Attached SCSI (поддерживается многими USB-накопителями и корпусами дисков, особенно если это USB 3.0. Это повышает производительность, если поддерживается как диском, так и хост-контроллером вашего устройства):

ПРИМЕЧАНИЯ:

Некоторым устройствам (например, маршрутизатору Asus WL-500g, brcm47xx) дополнительно требуется модуль kmod-usb2 (даже если они имеют только контроллер USB 1.1)

Устранение неполадок с драйверами USB

Диагностика с помощью dmesg

Большинство образов встроенного ПО уже имеют поддержку USB или SATA, встроенную в профиль/образ по умолчанию, поэтому нет необходимости устанавливать дополнительные пакеты.
Чтобы проверить, включена ли поддержка USB и обнаруживаются ли подключенные USB-устройства:
1. Выполните dmesg в терминале, обратите внимание на его вывод. Это «сообщения драйвера», события, связанные с подключением/запуском или отключением/выключением оборудования.
2. Теперь подключите внешнее запоминающее устройство, подождите несколько секунд, а затем снова запустите dmesg на терминале.
3. Если драйверы USB активны и ваше устройство успешно распознано, вы заметите, что в конце добавлен дополнительный вывод журнала.

Вот пример текста dmesg о подключении и правильном распознавании USB-устройства.

Если в выходных данных вашего журнала нет такого вывода, связанного с USB, убедитесь, что у вас есть правильные драйверы, и сообщите об этом как об ошибке в системе отслеживания ошибок

Диагностика с помощью lsusb

Дополнительную диагностическую информацию о подключенных USB-накопителях можно получить при установке дополнительного пакета usbutils:

Этот пакет устанавливает команду lsusb, которая будет выводить информацию о встроенном в маршрутизатор USB-концентраторе и подключенных USB-устройствах. Следующий пример был запущен на маршрутизаторе с одним USB-портом. lsusb распознал поддержку USB 2.0 и 3.0 на этом порту и подключенное устройство, состоящее из USB-to-SATA-disk-bridge от ASMedia. Поскольку это устройство указано с тем же идентификатором шины, что и концентратор 3.0, USB-жесткий диск, очевидно, подключен по протоколу USB 3.0:

Команда lsusb -t показывает, поддерживает ли ваша личная комбинация устройства, микропрограммы OpenWrt и внешнего USB-накопителя более новое и немного более быстрое расширение UASP USB 3.0 (протокол USB Attached SCSI) или старый блочный драйвер USB 3.0:

В этом примере устройство 3 ("Driver=uas") поддерживает UASP, а устройство 5 ("Driver=usb-storage") — нет.

При проблемах с USB-накопителями обратите внимание на вывод «Драйвер» команды lsusb -t . Если он вернул что-то вроде

тогда OpenWrt распознал подключенный USB-накопитель, но еще не установил драйвер USB-накопителя. В этом случае вам необходимо сначала установить драйверы USB-накопителя:

Диагностика с помощью cat

Если у вас действительно нет вариантов, вы можете использовать cat . Благодаря функции Linux «все является файлом» вы можете просматривать отладочную информацию USB:

Вы можете собрать достаточно информации из этих выходных данных для диагностики.

  • Последнее изменение: 23.02.2021, 00:34.
  • от mwynn

Самостоятельная регистрация на вики отключена.
Если вы хотите внести свой вклад в вики OpenWrt, напишите ЗДЕСЬ на форуме или запросите доступ в IRC.

Если не указано иное, содержимое этой вики предоставляется по следующей лицензии:
CC Attribution-Share Alike 4.0 International

Сегодня USB-соединения становятся обычным явлением на большинстве маршрутизаторов. Популярным сценарием использования является подключение USB-накопителя, например USB-ручки или жесткого диска, и совместное использование содержимого в локальной сети. Этот рецепт покажет вам, как это можно легко настроить с помощью веб-интерфейса Luci.

Установить зависимости

Вы найдете подробные пошаговые инструкции для USB-накопителей и Samba соответственно. Как минимум, вам нужно будет установить пакеты:

Кроме того, вам потребуется поддержка файловой системы, в которой вы форматируете USB-устройство. Для файловых систем ext установите kmod-fs-ext4, для btrfs установите kmod-fs-btrfs. Избегайте использования ntfs от Microsoft, в нем отсутствуют несколько важных функций для файловых систем. Но если вы все еще хотите его использовать, установите ntfs-3g, чтобы иметь доступ для чтения и записи.

Подключить USB-накопитель

Будь то USB-накопитель или жесткий диск. Просто подключите его к USB-порту, и он должен быть автоматически обнаружен OpenWrt (если вы подключитесь к маршрутизатору по ssh, вы обычно найдете новую запись /dev/sda для устройства и /dev/sda1 для его первого раздела). Теперь перейдите на вкладку «Точки монтирования» в разделе «Система» в веб-интерфейсе Luci. Вы найдете свое запоминающее устройство USB уже в списке, как показано ниже. Если вы отформатировали диск в файловой системе Ext, все, что вам нужно, это установить флажок «Включить», а затем «Сохранить и применить». Точки монтирования видны только в том случае, если зависимости уже установлены


В моем случае я использовал файловую систему btrfs из-за ее расширенных функций. В этом случае вам нужно будет изменить файловую систему. Выберите «Редактировать», и вы сможете внести изменения следующим образом:

Общий доступ к диску в локальной сети

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

  • Последнее изменение: 25.11.2020, 15:48.
  • от Billabong

Самостоятельная регистрация на вики отключена.
Если вы хотите внести свой вклад в вики OpenWrt, напишите ЗДЕСЬ на форуме или запросите доступ в IRC.

Если не указано иное, содержимое этой вики предоставляется по следующей лицензии:
CC Attribution-Share Alike 4.0 International

Читайте также: