Да, вы правильно понимаете, что команда в файле `/etc/rc.local` может не сработать, если файловая система еще не смонтирована в момент выполнения скрипта. Однако, есть несколько способов обойти эту проблему и включить питание USB при загрузке OpenWrt.
### Способ 1: Использование `fstab`
Лучший вариант — добавить команду для включения питания USB в файл `/etc/fstab`. Вы можете создать отдельный файл скрипта и запустить его после монтирования файловой системы. Например:
1. Создайте новый скрипт, например, `/usr/bin/usb-power.sh`:
```sh
#!/bin/sh
echo 1 > /sys/class/gpio/usb-power/value
```
2. Сделайте его исполняемым:
```sh
chmod +x /usr/bin/usb-power.sh
```
3. Теперь вам нужно удостовериться, что этот скрипт выполняется после того, как файловая система будет смонтирована. Один из способов реализации — использовать init-скрипт. Создайте новый файл в `/etc/init.d/usb-power`:
```sh
#!/bin/sh /etc/rc.common
START=99 # устанавливаем порядок запуска на самом позднем этапе
STOP=10
start() {
/usr/bin/usb-power.sh
}
```
4. Сделайте этот скрипт исполняемым:
```sh
chmod +x /etc/init.d/usb-power
```
5. Добавьте его в автозагрузку:
```sh
/etc/init.d/usb-power enable
```
### Способ 2: Установка команды в `rc.local` после монтирования
Если вы хотите оставить его в `rc.local`, то можно добавить небольшую задержку на выполнение команды или использовать простой цикл, который будет проверять, доступна ли файловая система:
```sh
#!/bin/sh
# Ждем, пока файловая система будет смонтирована
while [ ! -d /path/to/extroot_mount_point ]; do
sleep 1
done
# Включаем питание USB
echo 1 > /sys/class/gpio/usb-power/value
exit 0
```
Примечание: Замените `/path/to/extroot_mount_point` на путь к смонтированной файловой системе.
### Способ 3: Настройка через UCI (если доступно)
Некоторые маршрутизаторы поддерживают управление питанием USB через UCI. Проверьте, есть ли соответствующая конфигурация в `/etc/config/system`, и в этом случае попробуйте:
```sh
config usb
option powered '1'
```
После редактирования файлов не забудьте перезагрузить устройство, чтобы убедиться, что настройки вступили в силу. При правильной реализации ваше питание USB должно включаться автоматически при каждом старте устройства.