Temat: hotplug.d - rozpoznawanie które urządzenie jest na jakim tyyUSBn
Mam 2 urządzenia USB i nie potrafię sobie dać rady z napisaniem właściwego skrytpu do hotpluga. Próbuję wg http://eko.one.pl/?p=openwrt-linkidoportowszeregowych :
#!/bin/sh
if [ "$DEVTYPE" = "usb_interface" ] && [ "$ACTION" = "add" ]; then
for tty in /sys/$DEVPATH/ttyUSB*; do
[ -d "$tty" ] || continue
OLDD=${tty##*/}
# to jest E3131
if [ "x$PRODUCT" = "x12d1/1506/102" ]; then
NEWD=${DEVPATH##*.}
if [ $NEWD = "0" ]; then
echo $OLDD >> /tmp/hottest.txt
#uci set network.wan.device=$OLDD
#uci commit network
fi
fi
done
fi
problemem jest to że zamiast /dev/ttyUSB0 lub /dev/ttyUSB1 skrypt ustawia wprost "ttyUSB0".
fragment loga z ww. artykułu
--------
DEVNAME=bus/usb/001/006
USER=root
ACTION=add
SHLVL=2
HOME=/
SEQNUM=643
BUSNUM=001
HOTPLUG_TYPE=usb
MAJOR=189
DEVPATH=/devices/platform/ehci-platform/usb1/1-1/1-1.3
DEVICENAME=1-1.3
LOGNAME=root
TERM=linux
SUBSYSTEM=usb
board=MYNET-N600
PATH=/bin:/sbin:/usr/bin:/usr/sbin
MINOR=5
TYPE=0/0/0
DEVNUM=006
PRODUCT=12d1/1506/102
PWD=/
DEVTYPE=usb_device
--------
USER=root
ACTION=add
SHLVL=2
HOME=/
SEQNUM=644
HOTPLUG_TYPE=usb
DEVPATH=/devices/platform/ehci-platform/usb1/1-1/1-1.3/1-1.3:1.0
DEVICENAME=1-1.3:1.0
LOGNAME=root
TERM=linux
SUBSYSTEM=usb
board=MYNET-N600
PATH=/bin:/sbin:/usr/bin:/usr/sbin
MODALIAS=usb:v12D1p1506d0102dc00dsc00dp00icFFisc02ip01in00
TYPE=0/0/0
INTERFACE=255/2/1
PRODUCT=12d1/1506/102
PWD=/
DEVTYPE=usb_interface
--------
(...) i tak aż do 1.5
Urządzenia to WD MyNet n600 z BB, hub 7-portowy (który w rzeczywistości jest 2 hubami 4-portowymi), antminer U2 oraz E3131 który chciałbym by działał zarówno przy obecności jak i braku U2.
Oczywiście nie rozumiem podstaw działania /dev w *xie - może jest na to jakaś przystępna dokumentacja? Gógl niestety zasypuje tutorialami jak uruchomić dane urządzenie, a mi chodzi o teorię systemu.
To czego najbardziej nie rozumiem to jak ostatni znak DEVPATH=/devices/platform/ehci-platform/usb1/1-1/1-1.3/1-1.3:1.0 przekłada się na numer w /dev/ttyUSB0.
WD MyNet N600 + E3131 + E3372
WNDR3700v2
WGT634U