| Server IP : 193.86.120.172 / Your IP : 216.73.216.67 Web Server : Apache/2.4.63 (Unix) System : Linux JServices 3.10.108 #86003 SMP Wed Oct 22 13:20:46 CST 2025 x86_64 User : kubec ( 1026) PHP Version : 8.2.28 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /proc/29152/root/etc.defaults/ |
Upload File : |
#!/bin/sh
SEQNUM=1
Mesg ()
{
# echo $@
return
}
SeqNumInc ()
{
SEQNUM=`expr $SEQNUM + 1`
}
# USB disks
ProbeDisks ()
{
local USB_DISKS DISK DEVNAME COMMAND
SupportSAS=`/bin/get_key_value /etc.defaults/synoinfo.conf supportsas`
SupportPORTMAPV2=`/bin/get_key_value /etc.defaults/synoinfo.conf supportportmappingv2`
if [ "$SupportSAS" = "yes" -o "$SupportPORTMAPV2" = "yes" ]; then
USB_DISKS=`/bin/ls -d /sys/block/usb* 2>/dev/null`;
else
USB_DISKS=`/bin/ls -d /sys/block/sd[k-z] 2>/dev/null`;
fi
for DISK in $USB_DISKS; do
DEVNAME=`basename $DISK`
eval `grep "^PHYSDEVPATH=" $DISK/uevent`
COMMAND="env ACTION=$ACTION DEVNAME=$DEVNAME PHYSDEVPATH=$PHYSDEVPATH SEQNUM=$SEQNUM /sbin/hotplug block"
Mesg "COMMAND='$COMMAND'"
eval $COMMAND
SeqNumInc
done
}
# usb devices: printers, hiddev, etc.
ProbeUSBDev ()
{
local devices devpath DEVPATH devnum DEVICE DEVNAME COMMAND ifname ifpath SUB PHYSDEVPATH busnumber
# Enumerate lp, hiddev
devices=`/bin/ls -d /sys/bus/usb/devices/*-*|grep -v : 2>/dev/null`
#logger -p err "usb_devices: $devices"
for devpath in $devices; do
# parsing ../../../devices/platform/orion-ehci.0/usb1/1-1/1-1.2/1-1.2:1.0
DEVNAME=`basename $devpath`
devnum=`cat $devpath/devnum`
busnumber=`cat $devpath/busnum`
DEVICE=`printf "/proc/bus/usb/%03d/%03d" $busnumber $devnum`
# probe main device
PRODUCT="`cat $devpath/idVendor`/`cat $devpath/idProduct`/`cat $devpath/bcdDevice`"
COMMAND="env ACTION=$ACTION DEVICE=$DEVICE DEVPATH=$DEVNAME SUBSYSTEM=usb SEQNUM=$SEQNUM /sbin/hotplug usb"
#logger -p err "COMMAND='$COMMAND'"
eval $COMMAND
SeqNumInc
# probe interfaces & drivers
for ifpath in `ls -d /sys/bus/usb/devices/*-*:*| grep $DEVNAME:`; do
eval `grep ^INTERFACE $ifpath/uevent`
ifname=`basename $ifpath`
COMMAND="env ACTION=$ACTION DEVICE=$DEVICE DEVPATH=$ifname PRODUCT=$PRODUCT INTERFACE=$INTERFACE SUBSYSTEM=usb SEQNUM=$SEQNUM MAJOR=$MAJOR MINOR=$MINOR FORCE=$FORCE /sbin/hotplug usb"
#logger -p err "COMMAND='$COMMAND'"
eval $COMMAND
SeqNumInc
# Probe driver event
DEVNAME=`ls -d $ifpath/*:* 2>/dev/null`
PHYSDEVPATH=`readlink $ifpath`
PHYSDEVPATH=${PHYSDEVPATH/*../}
SUB=usb
if [ -z "$DEVNAME" ]; then
SupportSAS=`/bin/get_key_value /etc.defaults/synoinfo.conf supportsas`
SupportPORTMAPV2=`/bin/get_key_value /etc.defaults/synoinfo.conf supportportmappingv2`
if [ "$SupportSAS" = "yes" -o "$SupportPORTMAPV2" = "yes" ]; then
USB_DISKS=`/bin/ls -d /sys/block/usb* 2>/dev/null`;
else
USB_DISKS=`/bin/ls -d /sys/block/sd[k-z] 2>/dev/null`;
fi
for disk in $USB_DISKS; do
if readlink $disk/device| grep -q $ifname; then
SUB=block
DEVNAME=`basename $disk`
MAJOR=`cat $disk/dev | awk -F ":" '{print $1}'`
MINOR=`cat $disk/dev | awk -F ":" '{print $2}'`
eval `grep ^PHYSDEVPATH $disk/uevent`
break
fi
done
if [ -z "$DEVNAME" ]; then
continue
fi
else
DEVNAME=`basename $DEVNAME| cut -d':' -f2`
fi
COMMAND="env ACTION=$ACTION DEVNAME=$DEVNAME DEVICE=$DEVICE MAJOR=$MAJOR MINOR=$MINOR DEVPATH=$DEVNAME SUBSYSTEM=$SUB PHYSDEVPATH=$PHYSDEVPATH SEQNUM=$SEQNUM /sbin/hotplug $SUB"
#logger -p err "COMMAND='$COMMAND'"
eval $COMMAND
SeqNumInc
done
done
}
ProbeDsp ()
{
local COMMAND
# Probe DSP
if [ -d /sys/class/sound/dsp ]; then
COMMAND="env ACTION=$ACTION DEVNAME=dsp SEQNUM=$SEQNUM /sbin/hotplug usb"
Mesg "COMMAND='$COMMAND'"
# Probe!
eval $COMMAND
SeqNumInc
fi
}
ACTION=add
#MAJOR/MINOR for dvb
MAJOR="0"
MINOR="0"
if [ "remove" = "$1" ]; then
ACTION="remove"
FORCE="true"
fi
ProbeUSBDev
ProbeDsp