]> git.lizzy.rs Git - plan9front.git/blob - sys/src/9/boot/nusbrc
pci: add intel qm67 pch
[plan9front.git] / sys / src / 9 / boot / nusbrc
1 #!/bin/rc
2 if(! bind -a '#u' /dev)
3         exit
4
5 mkdir -p -m 700 '#σc/usb'
6 mkdir -p -m 700 '#σc/usbnet'
7
8 if(! nusb/usbd)
9         exit
10
11 @{
12         rfork ne
13         fn attach {
14                 switch($2$3){
15                 case 0b957720 0b95772a 0db0a877 13b10018 15577720 20013c05 07d13c05 05ac1402
16                         nusb/ether -t a88772 $etherargs $1 &
17                 case 0b951780 14eaab11 17370039 0411006e 050d5055
18                         nusb/ether -t a88178 $etherargs $1 &
19                 case *
20                         switch($4){
21                         case *03
22                                 nusb/kb $1 &
23                         case *02
24                                 # CDC ethernet
25                                 nusb/ether $etherargs $1 &
26                         case *08
27                                 @{
28                                         rfork ne
29                                         nusb/disk $1
30                                         cd '#σ/usb'
31                                         for(dev in sdU^$1.*) if(test -d $dev) {
32                                                 diskparts $dev
33                                                 for(part in $dev/dos* $dev/9fat) if(test -r $part) {
34                                                         mkdir -m 0700 '#σc/'^$dev || exit
35                                                         {dossrv -s -f $part &} <[0=1] |
36                                                                 echo 0 >'#σc/'^$dev/dos
37                                                         exit
38                                                 }
39                                         }
40                                 } &
41                         case *
42                                 if(~ $2 0424)
43                                         nusb/ether -t smsc $etherargs $1 &
44                         }
45                 }
46         }
47         fn detach {
48                 rm -rf '#σc/usb/'^$1.* '#σc/sdU'^$1.* '#σc/usbnet/'^$1.*
49         }
50         rc < '#σ/usb/usbevent' &
51 }
52
53 bind -a '#σ/usb' /dev
54 bind -a '#σ/usbnet' /net