Magellan Linux

Annotation of /trunk/usbip/usbipdevd2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1529 - (hide annotations) (download)
Mon Sep 19 15:56:48 2011 UTC (12 years, 7 months ago) by niro
File size: 902 byte(s)
-new dev daemon for single usbip connctions with windows hosts
1 niro 1529 #!/bin/bash
2    
3     export LC_ALL=C
4    
5     source /etc/conf.d/usbipdevd
6    
7     # some sane defaults
8     [[ -z ${USBIP_POLLING_TIME} ]] && USBIP_POLLING_TIME="10"
9     [[ -z ${USBIP_TEMP} ]] && USBIP_TEMP="/var/lib/usbipdevd"
10     install -d ${USBIP_TEMP}
11    
12     while true
13     do
14     BUSID=$(bind_driver --list | grep -i "${USBIP_DEVICE_ID}" | sed 's|.*busid\ \([0-9].*\)\ (${USBIP_DEVICE_ID}).*|\1|')
15    
16     if [[ -n ${BUSID} ]]
17     then
18     # abort here if the busid is the same, because the client connection is lost on new exports
19     if [[ -f ${USBIP_TEMP}/${USBIP_DEVICE_ID//:/_} ]] &&
20     [[ ${BUSID} = $(< ${USBIP_TEMP}/${USBIP_DEVICE_ID//:/_}) ]]
21     then
22     echo "USBID is the same; nothing changed"
23     else
24     echo "Exporting USB Device with ID ${BUSID}"
25     bind_driver --usbip ${BUSID}
26     echo "${BUSID}" > ${USBIP_TEMP}/${USBIP_DEVICE_ID//:/_}
27     fi
28     else
29     echo "USB Device '${USBIP_DEVICE_ID}' not found ..."
30     fi
31    
32     sleep ${USBIP_WAIT_TIMEOUT}
33     done