blob: 33d8f5b4c4205eee0dd0ba4781b09d7dc7c0b85c (
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
48
49
50
51
52
53
54
55
56
57
58
59
60
|
--- rc.afb- 2004-05-27 17:59:23.549406000 +0000
+++ rc.afb 2004-05-27 18:32:34.709406000 +0000
@@ -10,25 +10,44 @@
exit 0
fi
-if [ `/bin/dmesg | /bin/grep -c "Elite 3D"` -eq 0 ]
+# The microcode loader binary and the microcode
+# itself must exist.
+if [ ! -x /usr/sbin/afbinit -o ! -f /usr/lib/afb.ucode ]
then
exit 0
fi
-# The microcode loader binary and the microcode
-# itself must exist.
-if [ ! -x /usr/sbin/afbinit -o ! -f /usr/lib/afb.ucode ]
+# Make FB device list, depending on which kind of kernel we have.
+# First, try kernel 2.4.x
+
+if [ `/bin/dmesg | /bin/grep -c "Elite 3D"` -gt 0 ]
then
+
+ afb_devs=`/bin/dmesg | /bin/egrep -i "Elite 3D" | /bin/sed 's/\:.*//'`
+
+ # Load microcode onto each card.
+ for AFB in ${afb_devs}
+ do
+ echo -n "${AFB}: Loading Elite3D microcode... "
+ /usr/sbin/afbinit /dev/${AFB} /usr/lib/afb.ucode
+ echo "done."
+ done
exit 0
fi
+##
+# OK, we're not kernel 2.4.x
+# try kernel 2.6.x
-# Make FB device list.
-afb_devs=`/bin/dmesg | /bin/egrep -i "Elite 3D" | /bin/sed 's/\:.*//'`
+if [ `/bin/dmesg | /bin/grep -c "ffb: AFB"` -gt 0 ]
+then
-# Load microcode onto each card.
-for AFB in ${afb_devs}
-do
- echo -n "${AFB}: Loading Elite3D microcode... "
- /usr/sbin/afbinit /dev/${AFB} /usr/lib/afb.ucode
- echo "done."
-done
+ afb_devs=`/bin/more -s /proc/fb | /bin/egrep -i "Elite 3D" | /bin/sed 's/\ .*//'`
+ # Load microcode onto each card.
+ for AFB in ${afb_devs}
+ do
+ echo -n "/dev/fb${AFB}: Loading Elite3D microcode... "
+ /usr/sbin/afbinit /dev/fb${AFB} /usr/lib/afb.ucode
+ echo "done."
+ done
+ exit 0
+fi
|