#!/cmd/rc if(! test -e '#σ/usb/usbevent') exit if(! bind -a '#u' /dev) exit @{ rfork ne fn attach { id=$1 if(~ $#* 5 && ! test -e /env/nousbhname) id=$1:$5 switch($4){ case *01 usb/audio $id case *02 # serial and ethernet usb/serial $id # handled /sys/src/kern/boot/nusbrc # usb/ether $id case *03 # handled /sys/src/kern/boot/nusbrc # usb/kb $id case *08 # handled /sys/src/kern/boot/nusbrc # usb/disk $id case 010106 usb/ptp $id case * # HUAWEI E220 modem if(~ $2$3 12d11003) usb/serial $id # FTDI if(~ $2 0403) usb/serial $id } } fn detach { # handled /sys/src/kern/boot/nusbrc } rc < '#σ/usb/usbevent' & } bind -qa '#σ/usb' /dev bind -qa '#σ/usbnet' /net