сценарий hotplug в томатном Шибби

Я использую Advanced Tomato на моем Asus RT-AC68R / U. Это Shibby Tomato только с некоторыми изменениями GUI. Хочу подключить через USB измерительный блок и создать для него специализированное, уникальное устройство. В этот момент Tomato создает устройство с именем /dev / usbdevX.Y, где X и y-случайные числа. Ниже приведена часть моего сценария hotplug. Это не окончательный вариант, просто часть моего расследования, чтобы решить эту проблему.

PRODID="5555/1/600"
SYMLINK="arco"

if [ "${PRODUCT}" = "${PRODID}" ];
then if [ "${ACTION}" = "add" ];
then
DEVICE_NAME=$(ls /sys/$DEVPATH)
echo $DEVICE_NAME > /tmp/arco1
echo $DEVPATH > /tmp/arco2
if [ -z ${DEVICE_NAME} ];
then echo " Hotplug Warning DEVICE_NAME is empty" > /tmp/arco
exit
fi

переменная DEVPATH возвращает значение:

/sys/devices/pci0000:00/0000:00:0b.0/usb3/3-2/3-2:1.0

переменной ИМЯ_УСТРОЙСТВА возвращает список содержания /системы/устройства/pci0000:00/0000:00:0В.0/с USB3/3-2/3-2:каталог 1.0.

lsusb возвращает это значение устройства:

Bus 003 Device 007: ID 5555:0001

подкаталоге /системы/устройства/pci0000:00/0000:00:0В.0/с USB3/3-2/3-2:1.0 состоят файлы:

root@asus:/sys/devices/pci0000:00/0000:00:0b.0/usb3/3-2/3-2:1.0# ls
bAlternateSetting     bInterfaceProtocol    bus                          interface             supports_autosuspend
bInterfaceClass       bInterfaceSubClass    ep_02                 modalias              uevent
bInterfaceNumber      bNumEndpoints         ep_81                 subsystem

и файл uevent состоят:

DEVTYPE=usb_interface
PHYSDEVBUS=usb
DEVICE=/proc/bus/usb/003/007
PRODUCT=5555/1/600
TYPE=0/0/0
INTERFACE=255/255/255
MODALIAS=usb:v5555p0001d0600dc00dsc00dp00icFFiscFFipFF

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

DEVICE=/proc/bus/usb/003/007

соответствует выходу lsusb для этого устройства. Так оно наверняка мое новое подключенное устройство

мой вопрос. Как в этом случае я могу создать символическую ссылку для такого случайного созданного устройства на /dev / arco?

15
задан Hennes
15.04.2023 12:29 Количество просмотров материала 2497
Распечатать страницу

1 ответ

наконец я нашел решение. Это мой рабочий скрипт hotplug. Он создает символическую ссылку /dev /arco на новое созданное "общее" устройство с именем/dev / usbdev3.Y, где Y-случайное число. Я использую Advanced Tomato, поэтому скрипт добавлен в раздел NAS&USB - > поддержка USB - > Hotplug script

PRODID="5555/1/600"
SYMLINK="arco"

if [ "${PRODUCT}" = "${PRODID}" ];
then if [ "${ACTION}" = "add" ];
then
echo $DEVICE > /tmp/arco1


if [ -z ${DEVICE} ];
then echo " Hotplug Warning DEVICE is empty" > /tmp/arco
exit
fi

usb=`echo -n $DEVICE | tail -c 1`
echo " Hotplug Device name of ARCO is $DEVICE" > /tmp/arco
ln -s /dev/usbdev3.$usb /dev/${SYMLINK}
echo " Hotplug Symlink from $DEVICE to /dev/${SYMLINK} created" > /tmp/arco
fi
fi

if [ "${PRODUCT}" = "${PRODID}" ];
then if [ "${ACTION}" = "remove" ];
then rm /dev/${SYMLINK}
echo " Hotplug Symlink /dev/${SYMLINK} removed" > /tmp/arco
fi
fi 

и вот и все ;-)

0
отвечен mackowiakp 2023-04-16 20:17

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх