blob: 63a28b25b04f3da75323ffffb8b96caa339e0ade (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
#!/bin/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
nusb/audio $id
case ff0202
# RNDIS; handled by /sys/src/9/boot/nusbrc
case *02
# serial and ethernet
nusb/serial $id
# handled /sys/src/9/boot/nusbrc
# nusb/ether $id
case *03
# handled /sys/src/9/boot/nusbrc
# nusb/kb $id
case *08
# handled /sys/src/9/boot/nusbrc
# nusb/disk $id
case 010106
nusb/ptp $id
case *
switch($2$3){
case 12d11003 *0403
nusb/serial $id
case 59862113
nusb/cam $id
}
}
}
fn detach {
# handled /sys/src/9/boot/nusbrc
}
rc < '#σ/usb/usbevent' &
}
bind -qa '#σ/usb' /dev
bind -qa '#σ/usbnet' /net
|