2017-01-17 11 views
1

Я новичок в оболочке OpenWrt и Linux/Unix. До этого использовалось dd-wrt в течение 2 лет. Недавно переключился на OpenWrt и получил базовую настройку (wifi/internet working). Мне нужно установить передачу моего маршрутизатора. Но USB-устройство не будет монтироваться.Устройство USB на маршрутизаторе - OpenWrt

ПОДРОБНО.Подробнее маршрутизатора следующим образом:

маршрутизатор Модель: Asus RT-N13U B1

Изображение мелькнуло: chaos_calmer 15.05.1 (OpenWRT-15.05.1-ramips -rt305x-RT-N13U-SquashFS-sysupgrade.bin)

Usb Детали: Crusier лезвия 16GB USB 2.0 отформатированный в ext4 с помощью GParted Bootable CD

Drivers Installed:

  • kmod-USB-ядро (предустановленный)
  • kmod-USB-dwc2 (предустановлен)
  • kmod-usb2
  • kmod-usb-storage
  • kmod-fs-ext4
  • kmod-scsi-core (preinstalled)

Вот разрешения для DEV/SDA,/DEV/sda1 и/мнт (набор 777 вручную):

~#ls -l /dev 
brwxrwxrwx 1 root  root  8, 0 Jan 17 21:56 sda 
brwxrwxrwx 1 root  root  8, 1 Jan 17 21:56 sda1 

~#ls -l .. 
drwxrwxrwx 2 root  root    0 Jan 16 21:28 mnt 

Ошибка при монтаже:

~# mount -t ext4 /dev/sda1 /mnt 
mount: mounting /dev/sda1 on /mnt failed: No such file or directory 

echo $? 
255 

sda1 присутствует внутри разработчика и/mnt. Тем не менее он показывает ошибку.

Я попытался установить/переустановить, а затем установить, но для того же результата. Также, когда я отсоединяю USB sda и sda1 папки исчезают, а затем снова появляются, когда USB повторно подключен, поэтому я думаю, что устройство обнаруживается успешно.

Что случилось, что мне не хватает?

Редактировать: Добавлено редактирование, как предложено в комментариях.

dmesg output(Выход очень большой, так что связал его)

Edit 2: Перешел Lede 17. Является ли более стабильным и имели нулевые проблемы на прошлой неделе.

+0

Проверьте еще раз, если '/ mnt' действительно существует. –

+0

Да, я даже попробовал cd/mnt. Путь изменяется на/mnt # –

+0

"[11.550000] EXT4-fs (sda1): Не удается загрузить драйвер crc32c." –

ответ

1

критической часть dmesg выхода

[9,410000] mount_root: загрузка kmods из внутренней накладки

подсистемы

[9,940000] SCSI инициализируется

[9,960000] ehci_hcd: USB 2.0 ' Улучшенный драйвер хост-контроллера (EHCI)

[9.980000] ehci-платформа: универсальный драйвер платформы EHCI [9.990000] usb-storage 1-1: 1.0: нет _узел; не разборе pinctrl DT

[9,990000] USB-хранения 1-1: 1.0: USB-устройство Запоминающее обнаружено

[10,010000] SCSI host0: USB-хранения 1-1: 1,0

[10,020000] usbcore: зарегистрировал новый драйвер интерфейса USB-хранения данных

[10,100000] блок: пытается загрузить/TMP/jffs_cfg/верхний/и т.д./конфигурации/Fstab

[10,120000] блок: extroot: не настроен

[10,130000] mount_root: переключение на jffs2 наложения

[10,180000] ProCD: - начало -

[11,020000] SCSI 0: 0: 0: 0: Прямой доступ SanDisk Cruzer лезвие 1,27 PQ: 0 ANSI : 6

[11.030000] sd 0: 0: 0: 0: no of_node; не разборе pinctrl DT

[11.050000] с.о. 0: 0: 0: 0: [SDA] 30529536 512-байтовые логические блоки: (15,6 ГБ/14,5 GIB)

[11.070000] Sd 0: 0: 0 : 0: [SDA] Защита от записи выключена

[11,070000] с.о. 0: 0: 0: 0: [SDA] Режим Sense: 43 00 00 00

[11,090000] с.о. 0: 0: 0: 0: [sda] Запись кеша: отключена, чтение кэша: включено, не поддерживается DPO или FUA

[11.120000] sda: sda1

[11.130000] sd 0: 0: 0: 0: [sda] Установленный съемный диск SCSI

[11.550000] EXT4 фс (sda1): Не удается загрузить драйвер crc32c

ой нет, это, кажется, ошибка

Bug # 819725: ext4 отсутствует softdep модуль crc32c

https://lists.debian.org/debian-kernel/2016/04/msg00013.html

следующее временное решение не применяется потому что initramfs является родной файловой системой во время запуска (https://en.wikipedia.org/wiki/Initramfs) и не имеет никакого влияния, когда система должна быть полностью (корневой файловая система установлена):

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

  • Настройка базовой установки/initramfs-инструменты/водитель-политика "наиболее" вместо "DEP"
  • Настройка базовой конфигурации/late_command в скрипт, который добавляет crc32c в/и т.д./initramfs- инструменты/модули

вывесить трассировки стека в любом случае, может быть, есть еще один обходной путь

это усложненной материал ...

здесь, может быть, является решением https://forum.openwrt.org/viewtopic.php?id=69175

загрузить kmod Пб-crc32c и kmod-crypto-crc32c

Если это не работает, возможно, самым простым решением является формат стека USB как VFAT и ждать нового ядра ...


это не ошибка разрешения. ошибка разрешения будет возвращать EPERM ->код ошибки Операция не допускается

было бы интересно узнать, что код выхода mount возвращается. Поведение выхода «очень сильно отличается от версии для монтирования» i.e.mount(2) и mount(8)

для получения значения возврата, типа в оболочке команды

mount /dev/sda1 /mnt

затем

echo $?

номер является возвращен кодом выхода из mount (означает 'статус выхода из диапазона' в этом случае '-1', http://www.tldp.org/LDP/abs/html/exitcodes.html#EXITCODESREF)

перечисление на горы (8) выхода кодов, то есть в http://www.stackoverflow.com/questions/33167585/what-are-the-return-codes-values-of-linux-umount

http://www.becane.com/2014/09/02/understanding-exit-codes-and-how-to-use-them-in-a-bash-script

рядом с Возвращаемое значение Крепление (2) также устанавливает код ошибки в errno (http://man7.org/linux/man-pages/man3/errno.3.html). печать errno в оболочке немного трудно, легче получить ссылку как http://www-numi.fnal.gov/offline_software/srt_public_context/WebDocs/Errors/unix_system_errors.html и поиск строки ошибки, в этом случае Нет такого файла или каталога

строка Нет такого файла или каталога является система ошибка ENOENT

в качестве системной ошибки ENOENT означает Имя путь было пуст или имел несуществующий компонент. (http://man7.org/linux/man-pages/man2/mount.2.html)

попробовать sudo mount -t ext4 /dev/sda1 /mnt, потому что палка отформатирован в ext4

, если это не работает dmesg выход будет интересно

отсоединение устройства USB, подсоедините USB-устройство, тип dmesg и посмотреть вывод. на выходе dmesg вы также видите, какие драйверы загружены для устройства

https://wiki.openwrt.org/doc/howto/usb.storage говорит, что вам нужно еще несколько драйверов (block-mount, kmod-scsi-core ...), так как флешку (USB класса Mass Storage) также SCSI и блочное устройство ...

(коды ошибок системы Linux в http://www-numi.fnal.gov/offline_software/srt_public_context/WebDocs/Errors/unix_system_errors.html)

печать стека sudo strace -f mount -t ext4 -o default /dev/sda1 /mnt и разместить его

+0

Большое спасибо за то, что указатели узнали много чего из этого. Пробовал это с помощью опции -t ext4, тот же результат.Возвращаемый код выхода был 255 (что, я думаю, это плохая новость). Также попробовал блокировку, даже если он не монтирует диск. scsi была предварительно установлена. Также прошел раздел разрешений и установил 777 для sda, sda1, mnt. –

+0

Я отредактировал ответ, поскольку у меня была ошибка из-за возвращаемых значений и кодов ошибок. существует большая разница между возвращаемыми значениями mount (2) [-1 при сбое, 0 при успехе, установкой errno] и mount (8) [0 при успехе, ...]. распечатайте трассировку стека с помощью 'sudo strace -f mount -t ext4 -o default/dev/sda1/mnt' и опубликуйте его –

+0

У меня действительно установлено USB-устройство. Установленный пакет с именем 'kmod-lib-crc32c' не уверен, какова цель этого пакета. Проверено на USB-странице openwrt только для поиска kmod-crypto-crc32c. Сейчас есть много путаницы. Обновит детали, как только я получу время. Может быть, поставит еще один вопрос о пакете crc32c. Также вы можете найти полезный контент в ответе. –