File: //proc/25636/root/lib64/udev/rules.d/50-ups.rules
#author: Network Infrastructure Team
#only for usb device
SUBSYSTEM!="usb", GOTO="ups_end"
# only for add/remove event
ACTION!="add|remove", GOTO="ups_end"
# do nothing, if no correct info
ENV{MAJOR}=="", GOTO="ups_end"
ENV{MINOR}=="", GOTO="ups_end"
ENV{PRODUCT}=="", GOTO="ups_end"
ENV{SYNO_SUPPORT_DUALHEAD}=="yes", GOTO="ups_end"
ENV{SYNO_SUPPORT_XA}=="yes", GOTO="ups_end"
ENV{SYNO_VIRTUAL_DSM}=="yes", GOTO="ups_end"
# check UPS VID/PID by ENV{PRODUCT}
PROGRAM="/lib/udev/script/ups-check.sh", RESULT=="unsupported", GOTO="ups_end"
# run the driver for UPS device
ACTION=="add", RUN+="/lib/udev/script/ups-util.sh start"
ACTION=="remove", RUN+="/lib/udev/script/ups-util.sh stop"
LABEL="ups_end"