fix adm switch misdetection, which led to bogus button events that caused the system...
[openwrt.git] / package / nw802-2.4 / patches / 001-linux_2_6_cvs.patch
1 diff -Naur nw802-2.4-0.0.99/cvideopro.init nw802-2.4/cvideopro.init
2 --- nw802-2.4-0.0.99/cvideopro.init     1970-01-01 01:00:00.000000000 +0100
3 +++ nw802-2.4/cvideopro.init    2003-10-21 18:29:27.000000000 +0200
4 @@ -0,0 +1,107 @@
5 +       { 0x0406, 0x0000, 0x0001,
6 +               { 0x04 } },
7 +       { 0x0000, 0x0000, 0x0040,
8 +               { 0x54, 0x96, 0x98, 0xf9, 0x02, 0x18, 0x00, 0x4c,
9 +                 0x0f, 0x1f, 0x00, 0x0d, 0x02, 0x01, 0x00, 0x19,
10 +                 0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
11 +                 0x00, 0x0b, 0x00, 0x1b, 0x00, 0xc8, 0x00, 0xf4,
12 +                 0x05, 0xb4, 0x00, 0xcc, 0x00, 0x01, 0x00, 0x01,
13 +                 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
14 +                 0x00, 0xa2, 0x00, 0xc6, 0x00, 0x60, 0x00, 0xc6,
15 +                 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01 } },
16 +       { 0x0040, 0x0000, 0x0040,
17 +               { 0x00, 0xae, 0x00, 0xd2, 0x00, 0xae, 0x00, 0xd2,
18 +                 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
19 +                 0x00, 0xa8, 0x00, 0xc0, 0x00, 0x66, 0x00, 0xc0,
20 +                 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
21 +                 0x00, 0x0a, 0x00, 0x54, 0x00, 0x0a, 0x00, 0x54,
22 +                 0x00, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
23 +                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf6,
24 +                 0x00, 0x5d, 0x00, 0xc7, 0x00, 0x7e, 0x00, 0x30 } },
25 +       { 0x0080, 0x0000, 0x001f,
26 +               { 0x98, 0x43, 0x3f, 0x0d, 0x88, 0x20, 0x80, 0x3f,
27 +                 0x47, 0xaf, 0x00, 0x00, 0xa8, 0x08, 0x00, 0x11,
28 +                 0x00, 0x0c, 0x02, 0x0c, 0x00, 0x1c, 0x00, 0x94,
29 +                 0x00, 0x10, 0x06, 0x24, 0x00, 0x4a, 0x00 } },
30 +       { 0x0200, 0x0000, 0x0012,
31 +               { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
32 +                 0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0xa0,
33 +                 0x40, 0x20 } },
34 +       { 0x0300, 0x0000, 0x0003,
35 +               { 0x03, 0x00, 0x00 } },
36 +       { 0x0400, 0x0000, 0x0007,
37 +               { 0x01, 0x10, 0x00, 0x00, 0x00, 0xff, 0x00 } },
38 +       { 0x0600, 0x0000, 0x0002,
39 +               { 0x09, 0x99 } },
40 +       { 0x0800, 0x0000, 0x0015,
41 +               { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
42 +                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
43 +                 0x00, 0x00, 0x00, 0x00, 0x00 } },
44 +       { 0x1000, 0x0000, 0x0040,
45 +               { 0xa0, 0x02, 0x80, 0x00, 0x12, 0x00, 0x00, 0x00,
46 +                 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x08, 0x0a,
47 +                 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
48 +                 0x00, 0x49, 0x13, 0x00, 0x00, 0xe0, 0x00, 0x0c,
49 +                 0x00, 0x52, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
50 +                 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08,
51 +                 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x06,
52 +                 0xf7, 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x10, 0x80 } },
53 +       { 0x1040, 0x0000, 0x0040,
54 +               { 0x80, 0x00, 0x05, 0x35, 0x5e, 0x78, 0x8b, 0x99,
55 +                 0xa4, 0xae, 0xb5, 0xbc, 0xc1, 0xc6, 0xc9, 0xcc,
56 +                 0xcf, 0xd0, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
57 +                 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
58 +                 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43,
59 +                 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
60 +                 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32,
61 +                 0x43, 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3 } },
62 +       { 0x1080, 0x0000, 0x001b,
63 +               { 0xc3, 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x00,
64 +                 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x05, 0x82,
65 +                 0x02, 0xe4, 0x01, 0x40, 0x01, 0xf0, 0x00, 0x40,
66 +                 0x01, 0xf0, 0x00 } },
67 +       { 0x0200, 0x0000, 0x0011,
68 +               { 0x3c, 0x50, 0x8c, 0x3c, 0x50, 0x00, 0x00, 0x00,
69 +                 0x00, 0x78, 0x3f, 0x3f, 0x06, 0xf2, 0x8f, 0xf0,
70 +                 0x40 } },
71 +       { 0x101a, 0x0000, 0x0001,
72 +               { 0x03 } },
73 +       { 0x1000, 0x0000, 0x0001,
74 +               { 0xac } },
75 +       { 0x1085, 0x0000, 0x0008,
76 +               { 0x00, 0x00, 0x3f, 0x01, 0x00, 0x00, 0xef, 0x00 } },
77 +       { 0x101b, 0x0000, 0x0002,
78 +               { 0x3b, 0x01 } },
79 +       { 0x1011, 0x0000, 0x0008,
80 +               { 0x61, 0x00, 0xe0, 0x00, 0x49, 0x00, 0xa8, 0x00 } },
81 +       { 0x101f, 0x0000, 0x0006,
82 +               { 0x01, 0x20, 0x02, 0xe8, 0x03, 0x00 } },
83 +       { 0x101d, 0x0000, 0x0002,
84 +               { 0x40, 0x06 } },
85 +       { 0x100e, 0x0000, 0x0001,
86 +               { 0x08 } },
87 +       { 0x1041, 0x0000, 0x0011,
88 +               { 0x00, 0x0f, 0x46, 0x62, 0x76, 0x86, 0x94, 0xa0,
89 +                 0xab, 0xb6, 0xbf, 0xc8, 0xcf, 0xd7, 0xdc, 0xdc,
90 +                 0xdc } },
91 +       { 0x1003, 0x0000, 0x0001,
92 +               { 0x00 } },
93 +       { 0x100f, 0x0000, 0x0002,
94 +               { 0x12, 0x12 } },
95 +       { 0x1003, 0x0000, 0x0001,
96 +               { 0x0c } },
97 +       { 0x1041, 0x0000, 0x0011,
98 +               { 0x00, 0x0f, 0x46, 0x62, 0x76, 0x86, 0x94, 0xa0,
99 +                 0xab, 0xb6, 0xbf, 0xc8, 0xcf, 0xd7, 0xdc, 0xdc,
100 +                 0xdc } },
101 +       { 0x100b, 0x0000, 0x0001,
102 +               { 0x09 } },
103 +       { 0x100d, 0x0000, 0x0001,
104 +               { 0x10 } }, // Exposure
105 +       { 0x100c, 0x0000, 0x0001,
106 +               { 0x2f } },
107 +       { 0x0406, 0x0000, 0x0001,
108 +               { 0x03 } },
109 +       { 0x0404, 0x0000, 0x0001,
110 +               { 0x00 } }
111 +
112 diff -Naur nw802-2.4-0.0.99/d-link-350c.init nw802-2.4/d-link-350c.init
113 --- nw802-2.4-0.0.99/d-link-350c.init   1970-01-01 01:00:00.000000000 +0100
114 +++ nw802-2.4/d-link-350c.init  2003-09-23 20:15:30.000000000 +0200
115 @@ -0,0 +1,107 @@
116 +       { 0x0406, 0x0000, 0x0001,
117 +               { 0x04 } },
118 +       { 0x0000, 0x0000, 0x0040,
119 +               { 0x10, 0x00, 0x00, 0x92, 0x03, 0x10, 0x00, 0x4d,
120 +                 0x0f, 0x1f, 0x00, 0x0d, 0x02, 0x01, 0x00, 0x19,
121 +                 0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19, 
122 +                 0x00, 0x01, 0x00, 0x19, 0x00, 0xce, 0x00, 0xf4,
123 +                 0x05, 0x3e, 0x00, 0x86, 0x00, 0x3e, 0x00, 0x86,
124 +                 0x00, 0x3e, 0x00, 0x86, 0x00, 0x01, 0x00, 0x01,
125 +                 0x00, 0x56, 0x00, 0x9e, 0x00, 0x56, 0x00, 0x9e,
126 +                 0x00, 0x56, 0x00, 0x9e, 0x00, 0x01, 0x00, 0x01 } },
127 +       { 0x0040, 0x0000, 0x0040,
128 +               { 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
129 +                 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
130 +                 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
131 +                 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
132 +                 0x00, 0xca, 0x03, 0x46, 0x04, 0xca, 0x03, 0x46,
133 +                 0x04, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
134 +                 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0xf0,
135 +                 0x00, 0x3e, 0x00, 0xaa, 0x00, 0x88, 0x00, 0x2e } },
136 +       { 0x0080, 0x0000, 0x001f,
137 +               { 0xb4, 0x6f, 0x3f, 0x0f, 0x88, 0x20, 0x68, 0x00,
138 +                 0x00, 0x00, 0x00, 0x00, 0xa8, 0x08, 0x00, 0x11, 
139 +                 0x00, 0x0c, 0x02, 0x01, 0x00, 0x16, 0x00, 0x94,
140 +                 0x00, 0x10, 0x06, 0x10, 0x00, 0x36, 0x00 } },
141 +       { 0x0200, 0x0000, 0x0012,
142 +               { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
143 +                 0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0xa0,
144 +                 0x40, 0x20 } },
145 +       { 0x0300, 0x0000, 0x0003,
146 +               { 0x03, 0x00, 0x00 } },
147 +       { 0x0400, 0x0000, 0x0007,
148 +               { 0x01, 0x10, 0x00, 0x00, 0x00, 0x21, 0x00 } },
149 +       { 0x0600, 0x0000, 0x0002,
150 +               { 0x09, 0x99 } },
151 +       { 0x0800, 0x0000, 0x0015,
152 +               { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
153 +                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
154 +                 0x00, 0x00, 0x00, 0x00, 0x00 } },
155 +       { 0x1000, 0x0000, 0x0040,
156 +               { 0xa1, 0x02, 0x80, 0x00, 0x12, 0x00, 0x00, 0x00,
157 +                 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x08, 0x0a,
158 +                 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
159 +                 0x00, 0x49, 0x13, 0x00, 0x00, 0xc0, 0x00, 0x14,
160 +                 0x02, 0x00, 0x01, 0x00, 0x00, 0x20, 0x00, 0x00,
161 +                 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08,
162 +                 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x06,
163 +                 0xf7, 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x10, 0x80 } },
164 +       { 0x1040, 0x0000, 0x0040,
165 +               { 0x80, 0x00, 0x05, 0x35, 0x5e, 0x78, 0x8b, 0x99,
166 +                 0xa4, 0xae, 0xb5, 0xbc, 0xc1, 0xc6, 0xc9, 0xcc,
167 +                 0xcf, 0xd0, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
168 +                 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
169 +                 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43,
170 +                 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
171 +                 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32,
172 +                 0x43, 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3 } },
173 +       { 0x1080, 0x0000, 0x001b,
174 +               { 0xc3, 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x00,
175 +                 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x01, 0x82,
176 +                 0x02, 0xe4, 0x01, 0x40, 0x01, 0xf0, 0x00, 0x40,
177 +                 0x01, 0xf0, 0x00 } },
178 +       { 0x0200, 0x0000, 0x0011,
179 +               { 0x3c, 0x50, 0x9e, 0x3c, 0x50, 0x00, 0x00, 0x00,
180 +                 0x00, 0x78, 0x3f, 0x10, 0x02, 0xf2, 0x8f, 0x78,
181 +                 0x40 } },
182 +       { 0x101a, 0x0000, 0x0001,
183 +               { 0x00 } },
184 +       { 0x1000, 0x0000, 0x0001,
185 +               { 0xad } },
186 +       { 0x0000, 0x0000, 0x0001,
187 +               { 0x08 } },
188 +       { 0x1085, 0x0000, 0x0008,
189 +               { 0x00, 0x00, 0x3f, 0x01, 0x00, 0x00, 0xef, 0x00 } },
190 +       { 0x101b, 0x0000, 0x0002,
191 +               { 0x00, 0x00 } },
192 +       { 0x1011, 0x0000, 0x0008,
193 +               { 0x51, 0x00, 0xf0, 0x00, 0x3d, 0x00, 0xb4, 0x00 } },
194 +       { 0x101d, 0x0000, 0x0008,
195 +               { 0x40, 0x06, 0x01, 0x20, 0x02, 0xe8, 0x03, 0x00 } },
196 +       { 0x100e, 0x0000, 0x0001,
197 +               { 0x20 } },
198 +       { 0x1041, 0x0000, 0x0011,
199 +               { 0x00, 0x07, 0x1e, 0x38, 0x4d, 0x60, 0x70, 0x7f,
200 +                 0x8e, 0x9b, 0xa8, 0xb4, 0xbf, 0xca, 0xd5, 0xdf,
201 +                 0xea } },
202 +       { 0x1003, 0x0000, 0x0001,
203 +               { 0x00 } },
204 +       { 0x100f, 0x0000, 0x0002,
205 +               { 0x11, 0x11 } },
206 +       { 0x1003, 0x0000, 0x0001,
207 +               { 0x10 } },
208 +       { 0x1041, 0x0000, 0x0011,
209 +               { 0x00, 0x07, 0x1e, 0x38, 0x4d, 0x60, 0x70, 0x7f,
210 +                 0x8e, 0x9b, 0xa8, 0xb4, 0xbf, 0xca, 0xd5, 0xdf,
211 +                 0xea } },
212 +       { 0x100b, 0x0000, 0x0001,
213 +               { 0x19 } },
214 +       { 0x100d, 0x0000, 0x0001,
215 +               { 0x10 } },
216 +       { 0x100c, 0x0000, 0x0001,
217 +               { 0x1e } },
218 +       { 0x0406, 0x0000, 0x0001,
219 +               { 0x03 } },
220 +       { 0x0404, 0x0000, 0x0001,
221 +               { 0x00 } }
222 +
223 diff -Naur nw802-2.4-0.0.99/DS3303u.init nw802-2.4/DS3303u.init
224 --- nw802-2.4-0.0.99/DS3303u.init       1970-01-01 01:00:00.000000000 +0100
225 +++ nw802-2.4/DS3303u.init      2003-11-13 22:48:31.000000000 +0100
226 @@ -0,0 +1,108 @@
227 +       { 0x0506, 0x0000, 0x0001,
228 +               { 0x04 } },
229 +       { 0x0000, 0x0000, 0x0040,
230 +               { 0x16, 0x00, 0x00, 0xf9, 0x02, 0x11, 0x00, 0x0e,
231 +                 0x01, 0x1f, 0x00, 0x0d, 0x02, 0x01, 0x00, 0x19,
232 +                 0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
233 +                 0x00, 0x01, 0x00, 0x19, 0x00, 0xce, 0x00, 0xf4,
234 +                 0x05, 0x3e, 0x00, 0x86, 0x00, 0x3e, 0x00, 0x86,
235 +                 0x00, 0x3e, 0x00, 0x86, 0x00, 0x01, 0x00, 0x01,
236 +                 0x00, 0x56, 0x00, 0x9e, 0x00, 0x56, 0x00, 0x9e,
237 +                 0x00, 0x56, 0x00, 0x9e, 0x00, 0x01, 0x00, 0x01 } },
238 +       { 0x0040, 0x0000, 0x0040,
239 +               { 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
240 +                 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
241 +                 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
242 +                 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
243 +                 0x00, 0xca, 0x03, 0x46, 0x04, 0xca, 0x03, 0x46,
244 +                 0x04, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
245 +                 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0xf0,
246 +                 0x00, 0x3e, 0x00, 0xaa, 0x00, 0x88, 0x00, 0x2e } },
247 +       { 0x0080, 0x0000, 0x0022,
248 +               { 0xb4, 0x6f, 0x3f, 0x0f, 0x88, 0x20, 0x08, 0x00,
249 +                 0x00, 0x00, 0x00, 0x00, 0xa9, 0xa8, 0x1f, 0x00,
250 +                 0x0d, 0x02, 0x07, 0x00, 0x01, 0x00, 0x19, 0x00,
251 +                 0xf2, 0x00, 0x18, 0x06, 0x10, 0x06, 0x10, 0x00,
252 +                 0x36, 0x00 } },
253 +       { 0x0200, 0x0000, 0x0012,
254 +               { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
255 +                 0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0x50,
256 +                 0x40, 0x20 } },
257 +       { 0x0300, 0x0000, 0x0003,
258 +               { 0x03, 0x00, 0x00 } },
259 +       { 0x0500, 0x0000, 0x0007,
260 +               { 0x01, 0x10, 0x00, 0x00, 0x00, 0xff, 0x00 } },
261 +       { 0x0600, 0x0000, 0x0002,
262 +               { 0x09, 0x99 } },
263 +       { 0x0800, 0x0000, 0x0015,
264 +               { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
265 +                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
266 +                 0x00, 0x00, 0x00, 0x00, 0x00 } },
267 +       { 0x1000, 0x0000, 0x0040,
268 +               { 0x2f, 0x02, 0x80, 0x00, 0x12, 0x00, 0x00, 0x00,
269 +                 0x00, 0x00, 0x00, 0x10, 0x1f, 0x10, 0x08, 0x0a,
270 +                 0x0a, 0x51, 0x00, 0xf1, 0x00, 0x3c, 0x00, 0xb4,
271 +                 0x00, 0x01, 0x15, 0xfd, 0x07, 0x3d, 0x00, 0x00,
272 +                 0x00, 0x00, 0x00, 0x00, 0x8c, 0x04, 0x01, 0x20,
273 +                 0x02, 0x00, 0x03, 0x00, 0x20, 0x00, 0x00, 0x00,
274 +                 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08, 0x03,
275 +                 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x06, 0xf7 } },
276 +       { 0x1040, 0x0000, 0x0040,
277 +               { 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x10, 0x80, 0x80,
278 +                 0x00, 0x2d, 0x46, 0x58, 0x67, 0x74, 0x7f, 0x88,
279 +                 0x94, 0x9d, 0xa6, 0xae, 0xb5, 0xbd, 0xc4, 0xcb,
280 +                 0xd1, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54, 0x64,
281 +                 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2, 0xe2,
282 +                 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
283 +                 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
284 +                 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43 } },
285 +       { 0x1080, 0x0000, 0x0022,
286 +               { 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
287 +                 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x3f, 0x01,
288 +                 0x00, 0x00, 0xef, 0x00, 0x02, 0x0a, 0x82, 0x02,
289 +                 0xe4, 0x01, 0x40, 0x01, 0xf0, 0x00, 0x40, 0x01,
290 +                 0xf0, 0x00 } },
291 +       { 0x0200, 0x0000, 0x0011,
292 +               { 0x3c, 0x50, 0x9e, 0x3c, 0x50, 0x00, 0x00, 0x00,
293 +                 0x00, 0x78, 0x3f, 0x3f, 0x00, 0xf2, 0x8f, 0x81,
294 +                 0x40 } },
295 +       { 0x101a, 0x0000, 0x0001,
296 +               { 0x15 } },
297 +       { 0x1000, 0x0000, 0x0001,
298 +               { 0x2f } },
299 +       { 0x108c, 0x0000, 0x0008,
300 +               { 0x00, 0x00, 0x3f, 0x01, 0x00, 0x00, 0xef, 0x00 } },
301 +       { 0x101b, 0x0000, 0x0002,
302 +               { 0x00, 0x00 } },
303 +       { 0x1011, 0x0000, 0x0008,
304 +               { 0x61, 0x00, 0xe0, 0x00, 0x49, 0x00, 0xa8, 0x00 } },
305 +       { 0x1026, 0x0000, 0x0006,
306 +               { 0x01, 0x20, 0x02, 0xe8, 0x03, 0x00 } },
307 +       { 0x1024, 0x0000, 0x0002,
308 +               { 0x40, 0x06 } },
309 +       { 0x100e, 0x0000, 0x0001,
310 +               { 0x08 } },
311 +       { 0x1048, 0x0000, 0x0011,
312 +               { 0x00, 0x15, 0x40, 0x67, 0x84, 0x9d, 0xb2, 0xc6,
313 +                 0xd6, 0xe7, 0xf6, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9,
314 +                 0xf9 } },
315 +       { 0x1003, 0x0000, 0x0001,
316 +               { 0x00 } },
317 +       { 0x100f, 0x0000, 0x0002,
318 +               { 0x16, 0x16 } },
319 +       { 0x1003, 0x0000, 0x0001,
320 +               { 0x0c } },
321 +       { 0x1048, 0x0000, 0x0011,
322 +               { 0x00, 0x15, 0x40, 0x67, 0x84, 0x9d, 0xb2, 0xc6,
323 +                 0xd6, 0xe7, 0xf6, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9,
324 +                 0xf9 } },
325 +       { 0x100b, 0x0000, 0x0001,
326 +               { 0x26 } },
327 +       { 0x100d, 0x0000, 0x0001,
328 +               { 0x10 } },
329 +       { 0x100c, 0x0000, 0x0001,
330 +               { 0x1c } },
331 +       { 0x0506, 0x0000, 0x0001,
332 +               { 0x03 } },
333 +       { 0x0504, 0x0000, 0x0001,
334 +               { 0x00 } },
335 diff -Naur nw802-2.4-0.0.99/kr651us.init nw802-2.4/kr651us.init
336 --- nw802-2.4-0.0.99/kr651us.init       1970-01-01 01:00:00.000000000 +0100
337 +++ nw802-2.4/kr651us.init      2007-01-03 21:13:23.000000000 +0100
338 @@ -0,0 +1,106 @@
339 +       { 0x0406, 0x0000, 0x0001,
340 +               { 0x04 } },
341 +       { 0x0000, 0x0000, 0x0040,
342 +               { 0x44, 0x96, 0x98, 0xf9, 0x02, 0x18, 0x00, 0x48,
343 +                 0x0f, 0x1f, 0x00, 0x0d, 0x02, 0x01, 0x00, 0x19,
344 +                 0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
345 +                 0x00, 0x0b, 0x00, 0x1b, 0x00, 0xc8, 0x00, 0xf4,
346 +                 0x05, 0xb4, 0x00, 0xcc, 0x00, 0x01, 0x00, 0x01,
347 +                 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
348 +                 0x00, 0xa2, 0x00, 0xc6, 0x00, 0x60, 0x00, 0xc6,
349 +                 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01 } },
350 +       { 0x0040, 0x0000, 0x0040,
351 +               { 0x00, 0xae, 0x00, 0xd2, 0x00, 0xae, 0x00, 0xd2,
352 +                 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
353 +                 0x00, 0xa8, 0x00, 0xc0, 0x00, 0x66, 0x00, 0xc0,
354 +                 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
355 +                 0x00, 0x0a, 0x00, 0x54, 0x00, 0x0a, 0x00, 0x54,
356 +                 0x00, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
357 +                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf6,
358 +                 0x00, 0x5d, 0x00, 0xc7, 0x00, 0x7e, 0x00, 0x30 } },
359 +       { 0x0080, 0x0000, 0x001f,
360 +               { 0x18, 0x43, 0x3f, 0x0d, 0x88, 0x20, 0x80, 0x3f,
361 +                 0x47, 0xaf, 0x00, 0x00, 0xa8, 0x08, 0x00, 0x11,
362 +                 0x00, 0x0c, 0x02, 0x0c, 0x00, 0x1c, 0x00, 0x94,
363 +                 0x00, 0x10, 0x06, 0x24, 0x00, 0x4a, 0x00 } },
364 +       { 0x0200, 0x0000, 0x0012,
365 +               { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
366 +                 0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0xa0,
367 +                 0x40, 0x20 } },
368 +       { 0x0300, 0x0000, 0x0003,
369 +               { 0x02, 0x00, 0x00 } },
370 +       { 0x0400, 0x0000, 0x0007,
371 +               { 0x01, 0x10, 0x00, 0x00, 0x00, 0x21, 0x00 } },
372 +       { 0x0600, 0x0000, 0x0002,
373 +               { 0x09, 0x99 } },
374 +       { 0x0800, 0x0000, 0x0015,
375 +               { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
376 +                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
377 +                 0x00, 0x00, 0x00, 0x00, 0x00 } },
378 +       { 0x1000, 0x0000, 0x0040,
379 +               { 0xa0, 0x02, 0x80, 0x00, 0x12, 0x00, 0x00, 0x00,
380 +                 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x08, 0x0a,
381 +                 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
382 +                 0x00, 0x49, 0x13, 0x00, 0x00, 0xe0, 0x00, 0x0c,
383 +                 0x00, 0x52, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
384 +                 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08,
385 +                 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x06,
386 +                 0xf7, 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x10, 0x80 } },
387 +       { 0x1040, 0x0000, 0x0040,
388 +               { 0x80, 0x00, 0x05, 0x35, 0x5e, 0x78, 0x8b, 0x99,
389 +                 0xa4, 0xae, 0xb5, 0xbc, 0xc1, 0xc6, 0xc9, 0xcc,
390 +                 0xcf, 0xd0, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
391 +                 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
392 +                 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43,
393 +                 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
394 +                 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32,
395 +                 0x43, 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3 } },
396 +       { 0x1080, 0x0000, 0x001b,
397 +               { 0xc3, 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x00,
398 +                 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x05, 0x82,
399 +                 0x02, 0xe4, 0x01, 0x40, 0x01, 0xf0, 0x00, 0x40,
400 +                 0x01, 0xf0, 0x00 } },
401 +       { 0x0200, 0x0000, 0x0011,
402 +               { 0x3c, 0x50, 0x9e, 0x3c, 0x50, 0x00, 0x00, 0x00,
403 +                 0x00, 0x78, 0x3f, 0x10, 0x02, 0xf2, 0x8f, 0x78,
404 +                 0x40 } },
405 +       { 0x101a, 0x0000, 0x0001,
406 +               { 0x03 } },
407 +       { 0x1000, 0x0000, 0x0001,
408 +               { 0xac } },
409 +       { 0x1085, 0x0000, 0x0008,
410 +               { 0x00, 0x00, 0x3f, 0x01, 0x00, 0x00, 0xef, 0x00 } },
411 +       { 0x101b, 0x0000, 0x0002,
412 +               { 0x00, 0x00 } },
413 +       { 0x1011, 0x0000, 0x0008,
414 +               { 0x29, 0x00, 0x18, 0x01, 0x1f, 0x00, 0xd2, 0x00 } },
415 +       { 0x101d, 0x0000, 0x0006,
416 +               { 0xe0, 0x00, 0x0c, 0x00, 0x52, 0x00 } },
417 +       { 0x101d, 0x0000, 0x0002,
418 +               { 0x28, 0x01 } },
419 +       { 0x100e, 0x0000, 0x0001,
420 +               { 0x08 } },
421 +       { 0x1041, 0x0000, 0x0011,
422 +               { 0x00, 0x11, 0x3c, 0x5c, 0x74, 0x88, 0x99, 0x8a,
423 +                 0xb7, 0xc4, 0xd0, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc,
424 +                 0xdc } },
425 +       { 0x1003, 0x0000, 0x0001,
426 +               { 0x00 } },
427 +       { 0x100f, 0x0000, 0x0002,
428 +               { 0x0c, 0x0c } },
429 +       { 0x1003, 0x0000, 0x0001,
430 +               { 0x0c } },
431 +       { 0x1041, 0x0000, 0x0011,
432 +               { 0x00, 0x11, 0x3c, 0x5c, 0x74, 0x88, 0x99, 0x8a,
433 +                 0xb7, 0xc4, 0xd0, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc,
434 +                 0xdc } },
435 +       { 0x100b, 0x0000, 0x0001,
436 +               { 0x10 } },
437 +       { 0x100d, 0x0000, 0x0001,
438 +               { 0x10 } },
439 +       { 0x100c, 0x0000, 0x0001,
440 +               { 0x2b } },
441 +       { 0x0406, 0x0000, 0x0001,
442 +               { 0x03 } },
443 +       { 0x0404, 0x0000, 0x0001,
444 +               { 0x00 } }
445 diff -Naur nw802-2.4-0.0.99/kritter.init nw802-2.4/kritter.init
446 --- nw802-2.4-0.0.99/kritter.init       1970-01-01 01:00:00.000000000 +0100
447 +++ nw802-2.4/kritter.init      2004-03-06 20:28:40.000000000 +0100
448 @@ -0,0 +1,107 @@
449 +       { 0x0406, 0x0000, 0x0001,
450 +               { 0x06 } },
451 +       { 0x0000, 0x0000, 0x0040,
452 +               { 0x44, 0x96, 0x98, 0x94, 0x03, 0x18, 0x00, 0x48,
453 +                 0x0f, 0x1e, 0x00, 0x0c, 0x02, 0x01, 0x00, 0x19,
454 +                 0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
455 +                 0x00, 0x0b, 0x00, 0x1b, 0x00, 0x0a, 0x01, 0x28,
456 +                 0x07, 0xb4, 0x00, 0xcc, 0x00, 0x01, 0x00, 0x01,
457 +                 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
458 +                 0x00, 0xa2, 0x00, 0xc6, 0x00, 0x60, 0x00, 0xc6,
459 +                 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01 } },
460 +       { 0x0040, 0x0000, 0x0040,
461 +               { 0x00, 0xae, 0x00, 0xd2, 0x00, 0xae, 0x00, 0xd2,
462 +                 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
463 +                 0x00, 0xa8, 0x00, 0xc0, 0x00, 0x66, 0x00, 0xc0,
464 +                 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
465 +                 0x00, 0x0a, 0x00, 0x54, 0x00, 0x0a, 0x00, 0x54,
466 +                 0x00, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
467 +                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf6,
468 +                 0x00, 0x5d, 0x00, 0x0e, 0x00, 0x7e, 0x00, 0x30 } },
469 +       { 0x0080, 0x0000, 0x001f,
470 +               { 0x18, 0x43, 0x3f, 0x0d, 0x88, 0x20, 0x80, 0x3f,
471 +                 0x47, 0xaf, 0x00, 0x00, 0xa8, 0x08, 0x00, 0x11,
472 +                 0x00, 0x0b, 0x02, 0x0c, 0x00, 0x1c, 0x00, 0x94,
473 +                 0x00, 0x10, 0x06, 0x24, 0x00, 0x4a, 0x00 } },
474 +       { 0x0200, 0x0000, 0x0012,
475 +               { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
476 +                 0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0xa0,
477 +                 0x40, 0x20 } },
478 +       { 0x0300, 0x0000, 0x0003,
479 +               { 0x02, 0x00, 0x00 } },
480 +       { 0x0400, 0x0000, 0x0007,
481 +               { 0x01, 0x10, 0x00, 0x00, 0x00, 0xff, 0x00 } },
482 +       { 0x0600, 0x0000, 0x0002,
483 +               { 0x09, 0x99 } },
484 +       { 0x0800, 0x0000, 0x0015,
485 +               { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
486 +                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
487 +                 0x00, 0x00, 0x00, 0x00, 0x00 } },
488 +       { 0x1000, 0x0000, 0x0040,
489 +               { 0xa0, 0x02, 0x80, 0x00, 0x12, 0x00, 0x00, 0x00,
490 +                 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x08, 0x0a,
491 +                 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
492 +                 0x00, 0x49, 0x13, 0x00, 0x00, 0xe0, 0x00, 0x0c,
493 +                 0x00, 0x52, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
494 +                 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08,
495 +                 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x06,
496 +                 0xf7, 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x10, 0x80 } },
497 +       { 0x1040, 0x0000, 0x0040,
498 +               { 0x80, 0x00, 0x05, 0x35, 0x5e, 0x78, 0x8b, 0x99,
499 +                 0xa4, 0xae, 0xb5, 0xbc, 0xc1, 0xc6, 0xc9, 0xcc,
500 +                 0xcf, 0xd0, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
501 +                 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
502 +                 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43,
503 +                 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
504 +                 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32,
505 +                 0x43, 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3 } },
506 +       { 0x1080, 0x0000, 0x001b,
507 +               { 0xc3, 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x00,
508 +                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x82,
509 +                 0x02, 0xe4, 0x01, 0x40, 0x01, 0xf0, 0x00, 0x40,
510 +                 0x01, 0xf0, 0x00 } },
511 +       { 0x0200, 0x0000, 0x0011,
512 +               { 0x3c, 0x50, 0x8c, 0x3c, 0x50, 0x00, 0x00, 0x00,
513 +                 0x00, 0x78, 0x3f, 0x3f, 0x06, 0xf2, 0x8f, 0xf0,
514 +                 0x40 } },
515 +       { 0x101a, 0x0000, 0x0001,
516 +               { 0x03 } },
517 +       { 0x1000, 0x0000, 0x0001,
518 +               { 0xaf } },
519 +       { 0x1085, 0x0000, 0x0008,
520 +               { 0x00, 0x00, 0x3f, 0x01, 0x00, 0x00, 0xef, 0x00 } },
521 +       { 0x101b, 0x0000, 0x0002,
522 +               { 0x3b, 0x01 } },
523 +       { 0x1011, 0x0000, 0x0008,
524 +               { 0x61, 0x00, 0xe0, 0x00, 0x49, 0x00, 0xa8, 0x00 } },
525 +       { 0x101d, 0x0000, 0x0006,
526 +               { 0xe0, 0x00, 0x0c, 0x00, 0x52, 0x00 } },
527 +       { 0x101d, 0x0000, 0x0002,
528 +               { 0x00, 0x00 } },
529 +       { 0x100e, 0x0000, 0x0001,
530 +               { 0x08 } },
531 +       { 0x1041, 0x0000, 0x0011,
532 +               { 0x00, 0x0d, 0x36, 0x4e, 0x60, 0x6f, 0x7b, 0x86,
533 +                 0x90, 0x98, 0xa1, 0xa9, 0xb1, 0xb7, 0xbe, 0xc4,
534 +                 0xcb } },
535 +       { 0x1003, 0x0000, 0x0001,
536 +               { 0x00 } },
537 +       { 0x100f, 0x0000, 0x0002,
538 +               { 0x0d, 0x0d } },
539 +       { 0x1003, 0x0000, 0x0001,
540 +               { 0x02 } },
541 +       { 0x1041, 0x0000, 0x0011,
542 +               { 0x00, 0x0d, 0x36, 0x4e, 0x60, 0x6f, 0x7b, 0x86,
543 +                 0x90, 0x98, 0xa1, 0xa9, 0xb1, 0xb7, 0xbe, 0xc4,
544 +                 0xcb } },
545 +       { 0x100b, 0x0000, 0x0001,
546 +               { 0x17 } },
547 +       { 0x100d, 0x0000, 0x0001,
548 +               { 0x10 } },
549 +       { 0x100c, 0x0000, 0x0001,
550 +               { 0x1e } },
551 +       { 0x0406, 0x0000, 0x0001,
552 +               { 0x03 } },
553 +       { 0x0404, 0x0000, 0x0001,
554 +               { 0x00 } }
555 +
556 diff -Naur nw802-2.4-0.0.99/LICENSE nw802-2.4/LICENSE
557 --- nw802-2.4-0.0.99/LICENSE    2003-08-20 23:34:39.000000000 +0200
558 +++ nw802-2.4/LICENSE   2004-07-06 09:43:53.000000000 +0200
559 @@ -55,7 +55,7 @@
560  
561    The precise terms and conditions for copying, distribution and
562  modification follow.
563 -\f
564 +
565                     GNU GENERAL PUBLIC LICENSE
566     TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
567  
568 @@ -110,7 +110,7 @@
569      License.  (Exception: if the Program itself is interactive but
570      does not normally print such an announcement, your work based on
571      the Program is not required to print an announcement.)
572 -\f
573 +
574  These requirements apply to the modified work as a whole.  If
575  identifiable sections of that work are not derived from the Program,
576  and can be reasonably considered independent and separate works in
577 @@ -168,7 +168,7 @@
578  access to copy the source code from the same place counts as
579  distribution of the source code, even though third parties are not
580  compelled to copy the source along with the object code.
581 -\f
582 +
583    4. You may not copy, modify, sublicense, or distribute the Program
584  except as expressly provided under this License.  Any attempt
585  otherwise to copy, modify, sublicense or distribute the Program is
586 @@ -225,7 +225,7 @@
587  
588  This section is intended to make thoroughly clear what is believed to
589  be a consequence of the rest of this License.
590 -\f
591 +
592    8. If the distribution and/or use of the Program is restricted in
593  certain countries either by patents or by copyrighted interfaces, the
594  original copyright holder who places the Program under this License
595 @@ -278,7 +278,7 @@
596  POSSIBILITY OF SUCH DAMAGES.
597  
598                      END OF TERMS AND CONDITIONS
599 -\f
600 +
601             How to Apply These Terms to Your New Programs
602  
603    If you develop a new program, and you want it to be of the greatest
604 diff -Naur nw802-2.4-0.0.99/Makefile nw802-2.4/Makefile
605 --- nw802-2.4-0.0.99/Makefile   2003-08-20 23:34:39.000000000 +0200
606 +++ nw802-2.4/Makefile  2007-09-05 23:43:35.000000000 +0200
607 @@ -1,29 +1,4 @@
608 -# GCC stuff
609 -GCCLIB=`dirname \`gcc -print-libgcc-file-name\``
610 -INCLUDES=-nostdinc -I /usr/src/linux/include -I ${GCCLIB}/include/ -include /usr/src/linux/include/linux/modversions.h
611 -#CFLAGS=-O2 -D__KERNEL__ -DMODULE -Wall -DMODVERSIONS -nostdinc -ggdb 
612 -CFLAGS=-O3 -D__KERNEL__ -DMODULE -Wall -DMODVERSIONS -funroll-loops -frerun-cse-after-loop -funroll-all-loops -fomit-frame-pointer
613 -#CFLAGS=-O3 -D__KERNEL__ -DMODULE -Wall -DMODVERSIONS -nostdinc -march=pentium4 -msse -msse2 -m3dnow -mmmx -mfpmath=sse -funroll-loops -frerun-cse-after-loop -funroll-all-loops -fomit-frame-pointer
614 -CC=gcc
615 +KERNEL_SOURCE ?= /lib/modules/`uname -r`/build
616  
617 -OBJ=nw802.o usbvideo.o nw8xx_regedit
618 -
619 -# Build rules
620 -
621 -all: $(OBJ)
622 -
623 -usbvideo.o: usbvideo.c usbvideo.h
624 -       $(CC) $(CFLAGS) $(INCLUDES) -c -o $@ $< 
625 -
626 -nw8xx_jpgl.o: nw8xx_jpgl.c nw8xx_jpgl.h
627 -       $(CC) $(CFLAGS) $(INCLUDES) -c -o $@ $< 
628 -       
629 -nw802.o: nw802.c usbvideo.o nw8xx_jpgl.o nw802.init nw801.init nw800.init
630 -       $(CC) $(CFLAGS) $(INCLUDES) -c -o nw802_core.o $< 
631 -       $(LD) -r -o $@ nw802_core.o nw8xx_jpgl.o
632 -
633 -nw8xx_regedit: nw8xx_regedit.c
634 -       $(CC) $(CFLAGS) `pkg-config gtk+-2.0 --cflags --libs` -o $@ $<
635 -
636 -clean:
637 -       rm -f *.so *.o *~ *.swp $(OBJ)
638 +obj-m := nw8xx.o
639 +nw8xx-objs := nw8xx_jpgl.o nw802.o
640 diff -Naur nw802-2.4-0.0.99/mustek_300_mini.init nw802-2.4/mustek_300_mini.init
641 --- nw802-2.4-0.0.99/mustek_300_mini.init       1970-01-01 01:00:00.000000000 +0100
642 +++ nw802-2.4/mustek_300_mini.init      2004-11-08 23:16:42.000000000 +0100
643 @@ -0,0 +1,106 @@
644 +{ 0x0406, 0x0000, 0x0001,
645 +       { 0x04 } },
646 +{ 0x0000, 0x0000, 0x0040,
647 +       { 0x10, 0x00, 0x00, 0x92, 0x03, 0x10, 0x00, 0x4d,
648 +         0x0f, 0x1f, 0x00, 0x0d, 0x02, 0x01, 0x00, 0x19,
649 +         0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19, 
650 +         0x00, 0x01, 0x00, 0x19, 0x00, 0xce, 0x00, 0xf4,
651 +         0x05, 0x3e, 0x00, 0x86, 0x00, 0x3e, 0x00, 0x86,
652 +         0x00, 0x3e, 0x00, 0x86, 0x00, 0x01, 0x00, 0x01,
653 +         0x00, 0x56, 0x00, 0x9e, 0x00, 0x56, 0x00, 0x9e,
654 +         0x00, 0x56, 0x00, 0x9e, 0x00, 0x01, 0x00, 0x01 } },
655 +{ 0x0040, 0x0000, 0x0040,
656 +       { 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
657 +         0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
658 +         0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
659 +         0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
660 +         0x00, 0xca, 0x03, 0x46, 0x04, 0xca, 0x03, 0x46,
661 +         0x04, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
662 +         0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0xf0,
663 +         0x00, 0x3e, 0x00, 0xaa, 0x00, 0x88, 0x00, 0x2e } },
664 +{ 0x0080, 0x0000, 0x001f,
665 +       { 0xb4, 0x6f, 0x3f, 0x0f, 0x88, 0x20, 0x68, 0x00,
666 +         0x00, 0x00, 0x00, 0x00, 0xa8, 0x08, 0x00, 0x11, 
667 +         0x00, 0x0c, 0x02, 0x01, 0x00, 0x16, 0x00, 0x94,
668 +         0x00, 0x10, 0x06, 0xfc, 0x05, 0x0c, 0x06 } },
669 +{ 0x0200, 0x0000, 0x0012,
670 +       { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
671 +         0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0xa0,
672 +         0x40, 0x20 } },
673 +{ 0x0300, 0x0000, 0x0003,
674 +       { 0x03, 0x00, 0x00 } },
675 +{ 0x0400, 0x0000, 0x0007,
676 +       { 0x01, 0x10, 0x00, 0x00, 0x00, 0x21, 0x00 } },
677 +{ 0x0600, 0x0000, 0x0002,
678 +       { 0x09, 0x99 } },
679 +{ 0x0800, 0x0000, 0x0015,
680 +       { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
681 +         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
682 +         0x00, 0x00, 0x00, 0x00, 0x00 } },
683 +{ 0x1000, 0x0000, 0x0040,
684 +       { 0xa1, 0x02, 0x80, 0x00, 0x13, 0x00, 0x00, 0x00,
685 +         0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x08, 0x0a,
686 +         0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
687 +         0x00, 0x49, 0x13, 0x00, 0x00, 0xc0, 0x00, 0x14,
688 +         0x02, 0x00, 0x01, 0x00, 0x00, 0x20, 0x00, 0x00,
689 +         0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08,
690 +         0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x06,
691 +         0xf7, 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x10, 0x80 } },
692 +{ 0x1040, 0x0000, 0x0040,
693 +       { 0x80, 0x00, 0x05, 0x35, 0x5e, 0x78, 0x8b, 0x99,
694 +         0xa4, 0xae, 0xb5, 0xbc, 0xc1, 0xc6, 0xc9, 0xcc,
695 +         0xcf, 0xd0, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
696 +         0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
697 +         0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43,
698 +         0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
699 +         0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32,
700 +         0x43, 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3 } },
701 +{ 0x1080, 0x0000, 0x001b,
702 +       { 0xc3, 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x00,
703 +         0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x01, 0x82,
704 +         0x02, 0xe4, 0x01, 0x40, 0x01, 0xf0, 0x00, 0x40,
705 +         0x01, 0xf0, 0x00 } },
706 +{ 0x0200, 0x0000, 0x0011,
707 +       { 0x3c, 0x50, 0x9e, 0x3c, 0x50, 0x00, 0x00, 0x00,
708 +         0x00, 0x78, 0x3f, 0x10, 0x02, 0xf2, 0x8f, 0x78,
709 +         0x40 } },
710 +{ 0x101a, 0x0000, 0x0001,
711 +       { 0x00 } },
712 +{ 0x1000, 0x0000, 0x0001,
713 +       { 0xad } },
714 +{ 0x0000, 0x0000, 0x0001,
715 +       { 0x08 } },
716 +{ 0x1085, 0x0000, 0x0008,
717 +       { 0x00, 0x00, 0x3f, 0x01, 0x00, 0x00, 0xef, 0x00 } },
718 +{ 0x101b, 0x0000, 0x0002,
719 +       { 0x00, 0x00 } },
720 +{ 0x1011, 0x0000, 0x0008,
721 +       { 0x00, 0x00, 0x3f, 0x01, 0x00, 0x00, 0xef, 0x00 } },
722 +{ 0x101d, 0x0000, 0x0008,
723 +       { 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20 } },
724 +{ 0x100e, 0x0000, 0x0001,
725 +       { 0x0f } },
726 +{ 0x1041, 0x0000, 0x0011,
727 +       { 0x00, 0x0f, 0x29, 0x4a, 0x64, 0x7a, 0x8c, 0x9e,
728 +         0xad, 0xba, 0xc7, 0xd3, 0xde, 0xe8, 0xf1, 0xf9,
729 +         0xff } },
730 +{ 0x100f, 0x0000, 0x0002,
731 +       { 0x11, 0x11 } },
732 +{ 0x1003, 0x0000, 0x0001,
733 +       { 0x0c } },
734 +{ 0x1041, 0x0000, 0x0011,
735 +       { 0x00, 0x0f, 0x29, 0x4a, 0x64, 0x7a, 0x8c, 0x9e,
736 +         0xad, 0xba, 0xc7, 0xd3, 0xde, 0xe8, 0xf1, 0xf9,
737 +         0xff } },
738 +{ 0x100b, 0x0000, 0x0001,
739 +       { 0x1c } },
740 +{ 0x100d, 0x0000, 0x0001,
741 +       { 0x1a } },
742 +{ 0x100c, 0x0000, 0x0001,
743 +       { 0x34 } },
744 +{ 0x0405, 0x0000, 0x0001,
745 +       { 0x61 } },
746 +{ 0x0404, 0x0000, 0x0001,
747 +       { 0x40 } },
748 +{ 0x0406, 0x0000, 0x0001,
749 +       { 0x03 } }
750 diff -Naur nw802-2.4-0.0.99/nw800.init nw802-2.4/nw800.init
751 --- nw802-2.4-0.0.99/nw800.init 2003-08-20 23:34:39.000000000 +0200
752 +++ nw802-2.4/nw800.init        2004-10-30 11:48:13.000000000 +0200
753 @@ -1,219 +1,219 @@
754 -               { 0x0500, 0x0000, 0x0001, 
755 -                       { 0x55 } },
756 -               { 0x109b, 0x0000, 0x0001,
757 -                       { 0xaa } },
758 -               { 0x0502, 0x0000, 0x0001,
759 -                       { 0x02 } },
760 -               { 0x0600, 0x0000, 0x0002,
761 -                       { 0x04, 0xd9 } },
762 -               { 0x0505, 0x0000, 0x0001,
763 -                       { 0x00 } },
764 -               { 0x0505, 0x0000, 0x0001,
765 -                       { 0x01 } },
766 -               { 0x0406, 0x0000, 0x0001,
767 -                       { 0x04 } },
768 -               { 0x0406, 0x0000, 0x0001,
769 -                       { 0xc0 } },
770 -               { 0x0000, 0x0000, 0x0040,
771 -                       { 0x10, 0x43, 0x00, 0xb4, 0x01, 0x10, 0x00, 0x4f,
772 -                         0xef, 0x0e, 0x00, 0x74, 0x01, 0x01, 0x00, 0x19,
773 -                         0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
774 -                         0x00, 0x01, 0x00, 0x19, 0x00, 0x3e, 0x00, 0x24,
775 -                         0x03, 0x3e, 0x00, 0x86, 0x00, 0x3e, 0x00, 0x86,
776 -                         0x00, 0x3e, 0x00, 0x86, 0x00, 0x01, 0x00, 0x01,
777 -                         0x00, 0x56, 0x00, 0x9e, 0x00, 0x56, 0x00, 0x9e,
778 -                         0x00, 0x56, 0x00, 0x9e, 0x00, 0x01, 0x00, 0x01 } },
779 -               { 0x0040, 0x0000, 0x0040,
780 -                       { 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
781 -                         0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
782 -                         0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
783 -                         0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
784 -                         0x00, 0xca, 0x03, 0x46, 0x04, 0xca, 0x03, 0x46,
785 -                         0x04, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
786 -                         0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0xf0,
787 -                         0x00, 0x3e, 0x00, 0xaa, 0x00, 0x88, 0x00, 0x2e } },
788 -               { 0x0080, 0x0000, 0x001f,
789 -                       { 0xa0, 0x48, 0xc3, 0x02, 0x88, 0x0c, 0x68, 0x00,
790 -                         0x00, 0x00, 0x00, 0x00, 0xa8, 0x06, 0x00, 0x08,
791 -                         0x00, 0x32, 0x01, 0x01, 0x00, 0x16, 0x00, 0x04,
792 -                         0x00, 0x4b, 0x00, 0x76, 0x00, 0x86, 0x00 } },
793 -               { 0x0200, 0x0000, 0x0012,
794 -                       { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
795 -                         0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0xa0,
796 -                         0x40, 0x20 } },
797 -               { 0x0300, 0x0000, 0x0003,
798 -                       { 0x03, 0x00, 0x00 } },
799 -               { 0x0400, 0x0000, 0x0007,
800 -                       { 0x01, 0x10, 0x00, 0x00, 0x00, 0x61, 0xc0 } },
801 -               { 0x0500, 0x0000, 0x0006,
802 -                       { 0xe8, 0x00, 0x00, 0x00, 0x20, 0x20 } },
803 -               { 0x0600, 0x0000, 0x001b,
804 -                       { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
805 -                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
806 -                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
807 -                         0x00, 0x00, 0x00 } },
808 -               { 0x0800, 0x0000, 0x0015,
809 -                       { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
810 -                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
811 -                         0x00, 0x00, 0x00, 0x00, 0x00 } },
812 -               { 0x1000, 0x0000, 0x0040,
813 -                       { 0x83, 0x02, 0x20, 0x00, 0x13, 0x00, 0x00, 0x00,
814 -                         0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x08, 0x0a,
815 -                         0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
816 -                         0x00, 0x49, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00,
817 -                         0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
818 -                         0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08,
819 -                         0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x06,
820 -                         0xf7, 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x10, 0x80 } },
821 -               { 0x1040, 0x0000, 0x0040,
822 -                       { 0x80, 0x00, 0x05, 0x35, 0x5e, 0x78, 0x8b, 0x99,
823 -                         0xa4, 0xae, 0xb5, 0xbc, 0xc1, 0xc6, 0xc9, 0xcc,
824 -                         0xcf, 0xd0, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
825 -                         0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
826 -                         0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43,
827 -                         0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
828 -                         0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32,
829 -                         0x43, 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3 } },
830 -               { 0x1080, 0x0000, 0x001d,
831 -                       { 0xc3, 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x00,
832 -                         0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x62,
833 -                         0x01, 0x24, 0x01, 0x62, 0x01, 0x24, 0x01, 0x20,
834 -                         0x01, 0x60, 0x01, 0x00, 0x00 } },
835 -               { 0x0404, 0x0000, 0x0001,
836 -                       { 0xff } },
837 -               { 0x0406, 0x0000, 0x0001,
838 -                       { 0xc4 } },
839 -               { 0x0406, 0x0000, 0x0001,
840 -                       { 0xc0 } },
841 -               { 0x0000, 0x0000, 0x0040,
842 -                       { 0x10, 0x43, 0x00, 0xb4, 0x01, 0x10, 0x00, 0x4f,
843 -                         0xef, 0x0e, 0x00, 0x74, 0x01, 0x01, 0x00, 0x19,
844 -                         0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
845 -                         0x00, 0x01, 0x00, 0x19, 0x00, 0x3e, 0x00, 0x24,
846 -                         0x03, 0x3e, 0x00, 0x86, 0x00, 0x3e, 0x00, 0x86,
847 -                         0x00, 0x3e, 0x00, 0x86, 0x00, 0x01, 0x00, 0x01,
848 -                         0x00, 0x56, 0x00, 0x9e, 0x00, 0x56, 0x00, 0x9e,
849 -                         0x00, 0x56, 0x00, 0x9e, 0x00, 0x01, 0x00, 0x01 } },
850 -               { 0x0040, 0x0000, 0x0040,
851 -                       { 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
852 -                         0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
853 -                         0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
854 -                         0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
855 -                         0x00, 0xca, 0x03, 0x46, 0x04, 0xca, 0x03, 0x46,
856 -                         0x04, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
857 -                         0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0xf0,
858 -                         0x00, 0x3e, 0x00, 0xaa, 0x00, 0x88, 0x00, 0x2e } },
859 -               { 0x0080, 0x0000, 0x001f,
860 -                       { 0xa0, 0x48, 0xc3, 0x02, 0x88, 0x0c, 0x68, 0x00,
861 -                         0x00, 0x00, 0x00, 0x00, 0xa8, 0x06, 0x00, 0x08,
862 -                         0x00, 0x32, 0x01, 0x01, 0x00, 0x16, 0x00, 0x04,
863 -                         0x00, 0x4b, 0x00, 0x76, 0x00, 0x86, 0x00 } },
864 -               { 0x0200, 0x0000, 0x0012, 
865 -                       { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
866 -                         0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0xa0,
867 -                         0x40, 0x20 } },
868 -               { 0x0300, 0x0000, 0x0003,
869 -                       { 0x03, 0x00, 0x00 } },
870 -               { 0x0400, 0x0000, 0x0007,
871 -                       { 0x01, 0x10, 0x00, 0x00, 0x00, 0x61, 0xc0 } },
872 -               { 0x0500, 0x0000, 0x0006,
873 -                       { 0xe8, 0x00, 0x00, 0x00, 0x20, 0x20 } },
874 -               { 0x0600, 0x0000, 0x001b,
875 -                       { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
876 -                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
877 -                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
878 -                         0x00, 0x00, 0x00 } },
879 -               { 0x0800, 0x0000, 0x0015,
880 -                       { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
881 -                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
882 -                         0x00, 0x00, 0x00, 0x00, 0x00 } },
883 -               { 0x1000, 0x0000, 0x0040,
884 -                       { 0x83, 0x02, 0x20, 0x00, 0x13, 0x00, 0x00, 0x00,
885 -                         0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x08, 0x0a,
886 -                         0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
887 -                         0x00, 0x49, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00,
888 -                         0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
889 -                         0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08,
890 -                         0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x06,
891 -                         0xf7, 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x10, 0x80 } },
892 -               { 0x1040, 0x0000, 0x0040,
893 -                       { 0x80, 0x00, 0x05, 0x35, 0x5e, 0x78, 0x8b, 0x99,
894 -                         0xa4, 0xae, 0xb5, 0xbc, 0xc1, 0xc6, 0xc9, 0xcc,
895 -                         0xcf, 0xd0, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
896 -                         0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
897 -                         0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43,
898 -                         0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
899 -                         0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32,
900 -                         0x43, 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3 } },
901 -               { 0x1080, 0x0000, 0x001d,
902 -                       { 0xc3, 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x00,
903 -                         0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x62,
904 -                         0x01, 0x24, 0x01, 0x62, 0x01, 0x24, 0x01, 0x20,
905 -                         0x01, 0x60, 0x01, 0x00, 0x00 } },
906 -               { 0x0200, 0x0000, 0x0011,
907 -                       { 0x48, 0x58, 0x9e, 0x48, 0x58, 0x00, 0x00, 0x00,
908 -                         0x00, 0x84, 0x36, 0x05, 0x01, 0xf2, 0x86, 0x65,
909 -                         0x40 } },
910 -               { 0x0080, 0x0000, 0x0001,
911 -                       { 0xa0 } },
912 -               { 0x101a, 0x0000, 0x0001,
913 -                       { 0x00 } },
914 -               { 0x0091, 0x0000, 0x0002,
915 -                       { 0x6c, 0x01 } },
916 -               { 0x0003, 0x0000, 0x0002,
917 -                       { 0xc8, 0x01 } },
918 -               { 0x101a, 0x0000, 0x0001,
919 -                       { 0x00 } },
920 -               { 0x1000, 0x0000, 0x0001,
921 -                       { 0x83 } },
922 -               { 0x108f, 0x0000, 0x000c,
923 -                       { 0x62, 0x01, 0x24, 0x01, 0x62, 0x01, 0x24, 0x01,
924 -                         0x20, 0x01, 0x60, 0x01 } },
925 -               { 0x1085, 0x0000, 0x0008,
926 -                       { 0x00, 0x00, 0x5f, 0x01, 0x00, 0x00, 0x1f, 0x01 } },
927 -               { 0x101b, 0x0000, 0x0002,
928 -                       { 0x69, 0x00 } },
929 -               { 0x1011, 0x0000, 0x0008,
930 -                       { 0x00, 0x00, 0x5f, 0x01, 0x00, 0x00, 0x1f, 0x01 } },
931 -               { 0x0502, 0x0000, 0x0001,
932 -                       { 0x02 } },
933 -               { 0x0600, 0x0000, 0x0002,
934 -                       { 0x04, 0xd9 } },
935 -               { 0x0505, 0x0000, 0x0001,
936 -                       { 0x20 } },
937 -               { 0x0505, 0x0000, 0x0001,
938 -                       { 0x21 } },
939 -               { 0x100e, 0x0000, 0x0001,
940 -                       { 0x08 } },
941 -               { 0x1041, 0x0000, 0x0011,
942 -                       { 0x00, 0x08, 0x21, 0x3d, 0x52, 0x63, 0x75, 0x83,
943 -                         0x91, 0x9e, 0xaa, 0xb6, 0xc1, 0xcc, 0xd6, 0xe0,
944 -                         0xea } },
945 -               { 0x1003, 0x0000, 0x0001,
946 -                       { 0x00 } },
947 -               { 0x100f, 0x0000, 0x0002,
948 -                       { 0x13, 0x13 } },
949 -               { 0x1003, 0x0000, 0x0001,
950 -                       { 0x14 } },
951 -               { 0x1041, 0x0000, 0x0011,
952 -                       { 0x00, 0x08, 0x21, 0x3d, 0x52, 0x63, 0x75, 0x83,
953 -                         0x91, 0x9e, 0xaa, 0xb6, 0xc1, 0xcc, 0xd6, 0xe0,
954 -                         0xea } },
955 -               { 0x100b, 0x0000, 0x0001,
956 -                       { 0x14 } },
957 -               { 0x100d, 0x0000, 0x0001,
958 -                       { 0x20 } },
959 -               { 0x100c, 0x0000, 0x0001,
960 -                       { 0x34 } },
961 -               { 0x0406, 0x0000, 0x0001,
962 -                       { 0xc3 } },
963 -               { 0x0404, 0x0000, 0x0001,
964 -                       { 0x00 } },
965 -               { 0x0502, 0x0000, 0x0001,
966 -                       { 0x02 } },
967 -               { 0x0600, 0x0000, 0x0002,
968 -                       { 0x00, 0x48 } },
969 -               { 0x0505, 0x0000, 0x0001,
970 -                       { 0x20 } },
971 -               { 0x0505, 0x0000, 0x0001,
972 -                       { 0x21 } }
973 +       { 0x0500, 0x0000, 0x0001, 
974 +               { 0x55 } },
975 +       { 0x109b, 0x0000, 0x0001,
976 +               { 0xaa } },
977 +       { 0x0502, 0x0000, 0x0001,
978 +               { 0x02 } },
979 +       { 0x0600, 0x0000, 0x0002,
980 +               { 0x04, 0xd9 } },
981 +       { 0x0505, 0x0000, 0x0001,
982 +               { 0x00 } },
983 +       { 0x0505, 0x0000, 0x0001,
984 +               { 0x01 } },
985 +       { 0x0406, 0x0000, 0x0001,
986 +               { 0x04 } },
987 +       { 0x0406, 0x0000, 0x0001,
988 +               { 0xc0 } },
989 +       { 0x0000, 0x0000, 0x0040,
990 +               { 0x10, 0x43, 0x00, 0xb4, 0x01, 0x10, 0x00, 0x4f,
991 +               0xef, 0x0e, 0x00, 0x74, 0x01, 0x01, 0x00, 0x19,
992 +               0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
993 +               0x00, 0x01, 0x00, 0x19, 0x00, 0x3e, 0x00, 0x24,
994 +               0x03, 0x3e, 0x00, 0x86, 0x00, 0x3e, 0x00, 0x86,
995 +               0x00, 0x3e, 0x00, 0x86, 0x00, 0x01, 0x00, 0x01,
996 +               0x00, 0x56, 0x00, 0x9e, 0x00, 0x56, 0x00, 0x9e,
997 +               0x00, 0x56, 0x00, 0x9e, 0x00, 0x01, 0x00, 0x01 } },
998 +       { 0x0040, 0x0000, 0x0040,
999 +               { 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
1000 +               0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
1001 +               0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
1002 +               0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
1003 +               0x00, 0xca, 0x03, 0x46, 0x04, 0xca, 0x03, 0x46,
1004 +               0x04, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
1005 +               0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0xf0,
1006 +               0x00, 0x3e, 0x00, 0xaa, 0x00, 0x88, 0x00, 0x2e } },
1007 +       { 0x0080, 0x0000, 0x001f,
1008 +               { 0xa0, 0x48, 0xc3, 0x02, 0x88, 0x0c, 0x68, 0x00,
1009 +               0x00, 0x00, 0x00, 0x00, 0xa8, 0x06, 0x00, 0x08,
1010 +               0x00, 0x32, 0x01, 0x01, 0x00, 0x16, 0x00, 0x04,
1011 +               0x00, 0x4b, 0x00, 0x76, 0x00, 0x86, 0x00 } },
1012 +       { 0x0200, 0x0000, 0x0012,
1013 +               { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
1014 +               0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0xa0,
1015 +               0x40, 0x20 } },
1016 +       { 0x0300, 0x0000, 0x0003,
1017 +               { 0x03, 0x00, 0x00 } },
1018 +       { 0x0400, 0x0000, 0x0007,
1019 +               { 0x01, 0x10, 0x00, 0x00, 0x00, 0x61, 0xc0 } },
1020 +       { 0x0500, 0x0000, 0x0006,
1021 +               { 0xe8, 0x00, 0x00, 0x00, 0x20, 0x20 } },
1022 +       { 0x0600, 0x0000, 0x001b,
1023 +               { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1024 +               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1025 +               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1026 +               0x00, 0x00, 0x00 } },
1027 +       { 0x0800, 0x0000, 0x0015,
1028 +               { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1029 +               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1030 +               0x00, 0x00, 0x00, 0x00, 0x00 } },
1031 +       { 0x1000, 0x0000, 0x0040,
1032 +               { 0x83, 0x02, 0x20, 0x00, 0x13, 0x00, 0x00, 0x00,
1033 +               0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x08, 0x0a,
1034 +               0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1035 +               0x00, 0x49, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00,
1036 +               0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
1037 +               0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08,
1038 +               0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x06,
1039 +               0xf7, 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x10, 0x80 } },
1040 +       { 0x1040, 0x0000, 0x0040,
1041 +               { 0x80, 0x00, 0x05, 0x35, 0x5e, 0x78, 0x8b, 0x99,
1042 +               0xa4, 0xae, 0xb5, 0xbc, 0xc1, 0xc6, 0xc9, 0xcc,
1043 +               0xcf, 0xd0, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
1044 +               0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
1045 +               0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43,
1046 +               0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
1047 +               0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32,
1048 +               0x43, 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3 } },
1049 +       { 0x1080, 0x0000, 0x001d,
1050 +               { 0xc3, 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x00,
1051 +               0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x62,
1052 +               0x01, 0x24, 0x01, 0x62, 0x01, 0x24, 0x01, 0x20,
1053 +               0x01, 0x60, 0x01, 0x00, 0x00 } },
1054 +       { 0x0404, 0x0000, 0x0001,
1055 +               { 0xff } },
1056 +       { 0x0406, 0x0000, 0x0001,
1057 +               { 0xc4 } },
1058 +       { 0x0406, 0x0000, 0x0001,
1059 +               { 0xc0 } },
1060 +       { 0x0000, 0x0000, 0x0040,
1061 +               { 0x10, 0x43, 0x00, 0xb4, 0x01, 0x10, 0x00, 0x4f,
1062 +               0xef, 0x0e, 0x00, 0x74, 0x01, 0x01, 0x00, 0x19,
1063 +               0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
1064 +               0x00, 0x01, 0x00, 0x19, 0x00, 0x3e, 0x00, 0x24,
1065 +               0x03, 0x3e, 0x00, 0x86, 0x00, 0x3e, 0x00, 0x86,
1066 +               0x00, 0x3e, 0x00, 0x86, 0x00, 0x01, 0x00, 0x01,
1067 +               0x00, 0x56, 0x00, 0x9e, 0x00, 0x56, 0x00, 0x9e,
1068 +               0x00, 0x56, 0x00, 0x9e, 0x00, 0x01, 0x00, 0x01 } },
1069 +       { 0x0040, 0x0000, 0x0040,
1070 +               { 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
1071 +               0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
1072 +               0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
1073 +               0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
1074 +               0x00, 0xca, 0x03, 0x46, 0x04, 0xca, 0x03, 0x46,
1075 +               0x04, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
1076 +               0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0xf0,
1077 +               0x00, 0x3e, 0x00, 0xaa, 0x00, 0x88, 0x00, 0x2e } },
1078 +       { 0x0080, 0x0000, 0x001f,
1079 +               { 0xa0, 0x48, 0xc3, 0x02, 0x88, 0x0c, 0x68, 0x00,
1080 +               0x00, 0x00, 0x00, 0x00, 0xa8, 0x06, 0x00, 0x08,
1081 +               0x00, 0x32, 0x01, 0x01, 0x00, 0x16, 0x00, 0x04,
1082 +               0x00, 0x4b, 0x00, 0x76, 0x00, 0x86, 0x00 } },
1083 +       { 0x0200, 0x0000, 0x0012, 
1084 +               { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
1085 +               0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0xa0,
1086 +               0x40, 0x20 } },
1087 +       { 0x0300, 0x0000, 0x0003,
1088 +               { 0x03, 0x00, 0x00 } },
1089 +       { 0x0400, 0x0000, 0x0007,
1090 +               { 0x01, 0x10, 0x00, 0x00, 0x00, 0x61, 0xc0 } },
1091 +       { 0x0500, 0x0000, 0x0006,
1092 +               { 0xe8, 0x00, 0x00, 0x00, 0x20, 0x20 } },
1093 +       { 0x0600, 0x0000, 0x001b,
1094 +               { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1095 +               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1096 +               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1097 +               0x00, 0x00, 0x00 } },
1098 +       { 0x0800, 0x0000, 0x0015,
1099 +               { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1100 +               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1101 +               0x00, 0x00, 0x00, 0x00, 0x00 } },
1102 +       { 0x1000, 0x0000, 0x0040,
1103 +               { 0x83, 0x02, 0x20, 0x00, 0x13, 0x00, 0x00, 0x00,
1104 +               0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x08, 0x0a,
1105 +               0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1106 +               0x00, 0x49, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00,
1107 +               0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
1108 +               0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08,
1109 +               0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x06,
1110 +               0xf7, 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x10, 0x80 } },
1111 +       { 0x1040, 0x0000, 0x0040,
1112 +               { 0x80, 0x00, 0x05, 0x35, 0x5e, 0x78, 0x8b, 0x99,
1113 +               0xa4, 0xae, 0xb5, 0xbc, 0xc1, 0xc6, 0xc9, 0xcc,
1114 +               0xcf, 0xd0, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
1115 +               0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
1116 +               0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43,
1117 +               0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
1118 +               0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32,
1119 +               0x43, 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3 } },
1120 +       { 0x1080, 0x0000, 0x001d,
1121 +               { 0xc3, 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x00,
1122 +               0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x62,
1123 +               0x01, 0x24, 0x01, 0x62, 0x01, 0x24, 0x01, 0x20,
1124 +               0x01, 0x60, 0x01, 0x00, 0x00 } },
1125 +       { 0x0200, 0x0000, 0x0011,
1126 +               { 0x48, 0x58, 0x9e, 0x48, 0x58, 0x00, 0x00, 0x00,
1127 +               0x00, 0x84, 0x36, 0x05, 0x01, 0xf2, 0x86, 0x65,
1128 +               0x40 } },
1129 +       { 0x0080, 0x0000, 0x0001,
1130 +               { 0xa0 } },
1131 +       { 0x101a, 0x0000, 0x0001,
1132 +               { 0x00 } },
1133 +       { 0x0091, 0x0000, 0x0002,
1134 +               { 0x6c, 0x01 } },
1135 +       { 0x0003, 0x0000, 0x0002,
1136 +               { 0xc8, 0x01 } },
1137 +       { 0x101a, 0x0000, 0x0001,
1138 +               { 0x00 } },
1139 +       { 0x1000, 0x0000, 0x0001,
1140 +               { 0x83 } },
1141 +       { 0x108f, 0x0000, 0x000c,
1142 +               { 0x62, 0x01, 0x24, 0x01, 0x62, 0x01, 0x24, 0x01,
1143 +               0x20, 0x01, 0x60, 0x01 } },
1144 +       { 0x1085, 0x0000, 0x0008,
1145 +               { 0x00, 0x00, 0x5f, 0x01, 0x00, 0x00, 0x1f, 0x01 } },
1146 +       { 0x101b, 0x0000, 0x0002,
1147 +               { 0x69, 0x00 } },
1148 +       { 0x1011, 0x0000, 0x0008,
1149 +               { 0x00, 0x00, 0x5f, 0x01, 0x00, 0x00, 0x1f, 0x01 } },
1150 +       { 0x0502, 0x0000, 0x0001,
1151 +               { 0x02 } },
1152 +       { 0x0600, 0x0000, 0x0002,
1153 +               { 0x04, 0xd9 } },
1154 +       { 0x0505, 0x0000, 0x0001,
1155 +               { 0x20 } },
1156 +       { 0x0505, 0x0000, 0x0001,
1157 +               { 0x21 } },
1158 +       { 0x100e, 0x0000, 0x0001,
1159 +               { 0x08 } },
1160 +       { 0x1041, 0x0000, 0x0011,
1161 +               { 0x00, 0x08, 0x21, 0x3d, 0x52, 0x63, 0x75, 0x83,
1162 +               0x91, 0x9e, 0xaa, 0xb6, 0xc1, 0xcc, 0xd6, 0xe0,
1163 +               0xea } },
1164 +       { 0x1003, 0x0000, 0x0001,
1165 +               { 0x00 } },
1166 +       { 0x100f, 0x0000, 0x0002,
1167 +               { 0x13, 0x13 } },
1168 +       { 0x1003, 0x0000, 0x0001,
1169 +               { 0x14 } },
1170 +       { 0x1041, 0x0000, 0x0011,
1171 +               { 0x00, 0x08, 0x21, 0x3d, 0x52, 0x63, 0x75, 0x83,
1172 +               0x91, 0x9e, 0xaa, 0xb6, 0xc1, 0xcc, 0xd6, 0xe0,
1173 +               0xea } },
1174 +       { 0x100b, 0x0000, 0x0001,
1175 +               { 0x14 } },
1176 +       { 0x100d, 0x0000, 0x0001,
1177 +               { 0x20 } },
1178 +       { 0x100c, 0x0000, 0x0001,
1179 +               { 0x34 } },
1180 +       { 0x0406, 0x0000, 0x0001,
1181 +               { 0xc3 } },
1182 +       { 0x0404, 0x0000, 0x0001,
1183 +               { 0x00 } },
1184 +       { 0x0502, 0x0000, 0x0001,
1185 +               { 0x02 } },
1186 +       { 0x0600, 0x0000, 0x0002,
1187 +               { 0x00, 0x48 } },
1188 +       { 0x0505, 0x0000, 0x0001,
1189 +               { 0x20 } },
1190 +       { 0x0505, 0x0000, 0x0001,
1191 +               { 0x21 } }
1192 diff -Naur nw802-2.4-0.0.99/nw801.init nw802-2.4/nw801.init
1193 --- nw802-2.4-0.0.99/nw801.init 2003-08-20 23:34:39.000000000 +0200
1194 +++ nw802-2.4/nw801.init        2003-08-25 22:22:26.000000000 +0200
1195 @@ -66,7 +66,7 @@
1196                 { 0x3c, 0x50, 0x9e, 0x3c, 0x50, 0x00, 0x00, 0x00,
1197                   0x00, 0x78, 0x18, 0x0b, 0x06, 0xa2, 0x86, 0x78 } },
1198         { 0x020f, 0x0000, 0x0001,
1199 -               { 0x78 } },
1200 +               { 0x6b } },
1201         { 0x101a, 0x0000, 0x0001,
1202                 { 0x15 } },
1203         { 0x0000, 0x0000, 0x0001,
1204 @@ -82,29 +82,15 @@
1205         { 0x1019, 0x0000, 0x0001,
1206                 { 0x09 } },
1207         { 0x1024, 0x0000, 0x0006,
1208 -               { 0xc0, 0x00, 0x3f, 0x02, 0x00, 0x01 } },
1209 -       { 0x0003, 0x0000, 0x0002,
1210 -               { 0x92, 0x03 } },
1211 -       { 0x001d, 0x0000, 0x0004,
1212 -               { 0xf2, 0x00, 0x24, 0x07 } },
1213 -       { 0x007b, 0x0000, 0x0001,
1214 -               { 0xcf } },
1215 -       { 0x1094, 0x0000, 0x0001,
1216 -               { 0x07 } },
1217 +               { 0xc0, 0x00, 0x24, 0x02, 0x00, 0x01 } },
1218         { 0x0505, 0x0000, 0x0001,
1219                 { 0x01 } },
1220         { 0x0504, 0x0000, 0x0001,
1221                 { 0x01 } },
1222         { 0x100e, 0x0000, 0x0001,
1223 -               { 0x08 } },
1224 -       { 0x1048, 0x0000, 0x0011,
1225 -               { 0x00, 0x37, 0x55, 0x6b, 0x7d, 0x8d, 0x9b, 0xa8,
1226 -                 0xb4, 0xbf, 0xca, 0xd4, 0xdd, 0xe6, 0xef, 0xf0,
1227 -                 0xf0 } },
1228 -       { 0x1003, 0x0000, 0x0001,
1229 -               { 0x00 } },
1230 +               { 0x18 } },
1231         { 0x100f, 0x0000, 0x0002,
1232 -               { 0x0c, 0x0c } },
1233 +               { 0x12, 0x12 } },
1234         { 0x1003, 0x0000, 0x0001,
1235                 { 0x08 } },
1236         { 0x1048, 0x0000, 0x0011,
1237 @@ -112,11 +98,10 @@
1238                   0xb4, 0xbf, 0xca, 0xd4, 0xdd, 0xe6, 0xef, 0xf0,
1239                   0xf0 } },
1240         { 0x100b, 0x0000, 0x0001,
1241 -               { 0x0a } },
1242 +               { 0x12 } },
1243         { 0x100d, 0x0000, 0x0001,
1244 -               { 0x0b } },
1245 +               { 0x10 } },
1246         { 0x100c, 0x0000, 0x0001,
1247 -               { 0x1c } },
1248 +               { 0x15 } },
1249         { 0x0506, 0x0000, 0x0001,
1250                 { 0x03 } },
1251 -
1252 diff -Naur nw802-2.4-0.0.99/nw802.c nw802-2.4/nw802.c
1253 --- nw802-2.4-0.0.99/nw802.c    2003-08-21 23:13:37.000000000 +0200
1254 +++ nw802-2.4/nw802.c   2007-09-05 23:29:52.000000000 +0200
1255 @@ -23,11 +23,12 @@
1256  //
1257  //  [ sources bestview with tabstop=4 ]
1258  //
1259
1260 +
1261  #include <linux/kernel.h>
1262 -#include <linux/slab.h>
1263  #include <linux/module.h>
1264 +#include <linux/init.h>
1265  #include <linux/usb.h>
1266 +#include <linux/miscdevice.h>
1267  
1268  #include "usbvideo.h"
1269  #include "nw8xx_jpgl.h"
1270 @@ -77,21 +78,14 @@
1271  typedef struct // This structure lives in struct uvd->user field.
1272  {
1273         unsigned char veio_buf[MAX_VEIO_LEN];   // Buffer for vendor usb I/O
1274 -       int type;                                                               // Type of the cam
1275 -} nw802_t;
1276 -
1277 -typedef struct // Represent a supported device
1278 -{
1279 -       unsigned short int idVendor;
1280 -       unsigned short int idProduct;
1281         enum
1282         {
1283 -               NW800 = 0,
1284 -               NW801 = 1,
1285 -               NW802 = 2
1286 -       } model;
1287 -       char *name;
1288 -} supportedDevice_t;
1289 +               BRIDGE_UNKNOW = 0x00,
1290 +               BRIDGE_NW800,
1291 +               BRIDGE_NW801,
1292 +               BRIDGE_NW802
1293 +       } bridge_type;                                                  // Model of the bridge
1294 +} nw802_t;
1295  
1296  typedef struct
1297  {
1298 @@ -112,6 +106,17 @@
1299         SIZE_END
1300  };
1301  
1302 +
1303 +/* support for a /dev/nw8xx entry */
1304 +/* presently only used to get/set registers */
1305 +
1306 +struct uvd *nw8xx_uvd=NULL;
1307 +
1308 +static unsigned int reg_addr;
1309 +static unsigned char reg_val;
1310 +
1311 +#define NW8XX_IS_OPEN 0x01
1312 +static unsigned long nw8xx_status = 0;
1313  // ============================================================================
1314  // Supported camera lists
1315  // ============================================================================
1316 @@ -119,7 +124,7 @@
1317  // TODO Data must be repeated twice ... Once in one of our structure, the other
1318  // in a kernel standard structure ... I should find a way to 'unify' this !
1319  
1320 -static __devinitdata struct usb_device_id nw802_usb_ids[] =
1321 +static struct usb_device_id nw802_usb_ids[] =
1322         {
1323                 { USB_DEVICE( 0x046d, 0xd001 ) },       // Logitech Quickam Pro USB
1324                                                                                         //  (dark focus ring)
1325 @@ -138,16 +143,6 @@
1326  
1327  MODULE_DEVICE_TABLE( usb, nw802_usb_ids );
1328  
1329 -static supportedDevice_t nw802_supported_devs [] =
1330 -       {
1331 -               { 0x046d, 0xd001, NW801, "Logitech Quickam Pro USB (dark focus ring)" },
1332 -               { 0x052b, 0xd001, NW802, "Ezonics EZCam Pro USB" },
1333 -               { 0x055f, 0xd001, NW802, "Mustek WCam 300 / PCLine PCL-W300" },
1334 -               { 0x06a5, 0xd001, NW802, "Generic DivIO NW802" },
1335 -               { 0x06a5, 0x0000, NW800, "Generic DivIO NW800" },
1336 -               {} // End entry ( a null name indicate the end )
1337 -       };
1338 -
1339  
1340  // ============================================================================
1341  // Global vars
1342 @@ -159,7 +154,7 @@
1343  static int debug_uv = 0;       // The debugging level of USB video
1344  #endif
1345  
1346 -static int size = SIZE_END;
1347 +static int size = SIZE_320x240;
1348  
1349  
1350  // Internal vars
1351 @@ -174,13 +169,13 @@
1352  // ============================================================================
1353  
1354  #ifdef ENABLE_DEBUG
1355 -MODULE_PARM(debug, "i");
1356 +module_param(debug, int, 0);
1357  MODULE_PARM_DESC(debug, "Debug level: 0-5 (default=0)");
1358 -MODULE_PARM(debug_uv, "i");
1359 +module_param(debug_uv, int, 0);
1360  MODULE_PARM_DESC(debug_uv, "Debug level of USB Video: 0-2 (default=0)");
1361  #endif
1362  
1363 -MODULE_PARM(size, "i");
1364 +module_param(size, int, 0);
1365  MODULE_PARM_DESC(size, "Video size: 0=160x120 1=176x144 2=320x240 3=352x288 4=640x480 (default=2)" );
1366  
1367  
1368 @@ -188,7 +183,7 @@
1369  // Module options related funcs
1370  // ============================================================================
1371  
1372 -static void nw802_validate_params( int cam_type )
1373 +static void nw802_validate_params( int bridge_type )
1374  {
1375         #ifdef ENABLE_DEBUG
1376         RESTRICT_TO_RANGE( debug, 0, 5 );
1377 @@ -197,7 +192,7 @@
1378  
1379  
1380         if ( size == SIZE_END )
1381 -               size = nw802_supported_devs[cam_type].model == NW800 ? 
1382 +               size = bridge_type == BRIDGE_NW800 ? 
1383                         SIZE_352x288 : SIZE_320x240;
1384         else
1385                 RESTRICT_TO_RANGE( size, 0, SIZE_END - 1 );
1386 @@ -276,6 +271,43 @@
1387         return rv;
1388  }
1389  
1390 +static int nw802_test_reg( struct uvd *uvd, int regaddr, unsigned char pattern )
1391 +{
1392 +       // Vars
1393 +       initURB_t urb;
1394 +       
1395 +       // Prepare to send the byte
1396 +       urb.len = 1;
1397 +       urb.value = 0;
1398 +       urb.data[0] = pattern;
1399 +       urb.index = regaddr;
1400 +       
1401 +       // Send it
1402 +       nw802_vendor_send( uvd, &urb);
1403 +       
1404 +       // Reread the value
1405 +       nw802_vendor_read( uvd, regaddr, &urb.data[0], 1 ); 
1406 +
1407 +       // Is it ok
1408 +       return urb.data[0] == pattern;
1409 +}
1410 +
1411 +static int nw802_autodetect_bridge( struct uvd *uvd )
1412 +{
1413 +       // Autodetect sequence inspired from some log.
1414 +       // We try to detect what registers exists or not.
1415 +       // If 0x0500 does not exist => NW802
1416 +       // If it does, test 0x109B. If it doesn't exists,
1417 +       // then it's a NW801. Else, a NW800
1418 +
1419 +       if ( !nw802_test_reg(uvd, 0x0500, 0x55) )
1420 +               return BRIDGE_NW802;
1421 +       
1422 +       if ( !nw802_test_reg(uvd, 0x109B, 0xAA) )
1423 +               return BRIDGE_NW801;
1424 +       
1425 +       return BRIDGE_NW800;
1426 +}
1427  
1428  static int nw802_init_camera( struct uvd *uvd )
1429  {
1430 @@ -291,7 +323,7 @@
1431                 
1432         };
1433  
1434 -       #define NW801_INIT_LEN 38
1435 +       #define NW801_INIT_LEN 32
1436         static const
1437         initURB_t nw801_init[NW801_INIT_LEN] = {
1438                 
1439 @@ -311,26 +343,29 @@
1440         usb_set_interface( uvd->dev, 0x00, uvd->ifaceAltActive );
1441  
1442         // Send all the packets 
1443 -       switch ( nw802_supported_devs[NW802_T(uvd)->type].model ) {
1444 +       switch ( NW802_T(uvd)->bridge_type ) {
1445  
1446 -               case NW800:
1447 +               case BRIDGE_NW800:
1448                         for ( i=0 ; i < NW800_INIT_LEN ; i++ )
1449                                 if ( nw802_vendor_send( uvd, &nw800_init[i] ) < 0 )
1450                                         return -1;
1451                         break;
1452  
1453 -               case NW801:
1454 +               case BRIDGE_NW801:
1455                         for ( i=0 ; i < NW801_INIT_LEN ; i++ )
1456                                 if ( nw802_vendor_send( uvd, &nw801_init[i] ) < 0 )
1457                                         return -1;
1458                         break;
1459                         
1460 -               case NW802:
1461 +               case BRIDGE_NW802:
1462                         for ( i=0 ; i < NW802_INIT_LEN ; i++ )
1463                                 if ( nw802_vendor_send( uvd, &nw802_init[i] ) < 0 )
1464                                 return -1;
1465                         break;
1466  
1467 +               default:
1468 +                       ERR( "How the hell I'm I supposed to init that bridge ?" );
1469 +
1470         }
1471  
1472         return 0;
1473 @@ -355,7 +390,7 @@
1474  
1475         // Video capabilities & channel setting
1476         memset( &uvd->vcap, 0, sizeof(uvd->vcap) );
1477 -       strcpy( uvd->vcap.name, nw802_supported_devs[NW802_T(uvd)->type].name );
1478 +       strcpy( uvd->vcap.name, "DivIO NW8xx camera" );
1479                 
1480         uvd->vcap.type = VID_TYPE_CAPTURE;
1481         uvd->vcap.channels = 1;
1482 @@ -375,7 +410,6 @@
1483         uvd->vchan.type = VIDEO_TYPE_CAMERA;
1484  }
1485  
1486 -
1487  // Call backs
1488  
1489  static void nw802_processIsocData(struct uvd *uvd, struct usbvideo_frame *frame)
1490 @@ -384,7 +418,6 @@
1491         
1492         DEBUG( 5, "nw802_processIsocData" );
1493  
1494 -
1495         // Try to find first header
1496         rv = jpgl_findHeader( &uvd->dp, canvasX, canvasY, 0 );
1497                 
1498 @@ -402,22 +435,24 @@
1499                 // a frame waiting for decoding
1500                 DEBUG( 4, "Frame ready for decoding" );
1501                         
1502 -               if ( !jpgl_processFrame(&uvd->dp, frame->data) )
1503 +               if ( !jpgl_processFrame(&uvd->dp, frame->data, canvasX, canvasY) )
1504                 {
1505                         // Frame processing was sucessful
1506                         frame->frameState = FrameState_Done;
1507                         uvd->curframe = -1;
1508                         uvd->stats.frame_num++;
1509                         
1510 -                       // Overlay stats
1511 +/*
1512                         #ifdef ENABLE_DEBUG
1513                         if ( debug_uv > 0 )
1514                                 usbvideo_OverlayStats(uvd, frame);
1515                         #endif
1516 +*/
1517                 }
1518                 else
1519                         DEBUG(3, "Invalid frame detected !");
1520         }
1521 +       frame->flags |= USBVIDEO_FRAME_FLAG_SOFTWARE_CONTRAST;
1522  }
1523  
1524  static int nw802_setupOnOpen(struct uvd *uvd)
1525 @@ -445,74 +480,63 @@
1526         // I don't know how to stop it ...
1527  }
1528  
1529 -static void *nw802_probe( struct usb_device *dev,
1530 -                         unsigned int ifnum,
1531 +static int nw802_probe( struct usb_interface *intf,
1532                           const struct usb_device_id *devid )
1533  {
1534         struct uvd *uvd = NULL;
1535 -       int nas, i, type;
1536 +       struct usb_device *dev = interface_to_usbdev(intf);
1537 +       int nas, i;
1538 +       __u8 ifnum = intf->altsetting->desc.bInterfaceNumber;
1539         int actSetting = -1;
1540         int inactSetting = -1;
1541         int maxPS = 0;
1542         unsigned char video_ep = 0;
1543         
1544 -       DEBUG( 1, "nw802_probe(...)" );
1545 -
1546         // We don't want multiple configuration camera
1547         if ( dev->descriptor.bNumConfigurations != 1 )
1548 -               return NULL;
1549 +               return -ENODEV;
1550 +       DEBUG( 1, "nw802_probe(...)" );
1551         
1552 -       // Check Vendor & Product ID
1553 -       for ( i=0 ; nw802_supported_devs[i].name ; i++ )
1554 -               if ( ( dev->descriptor.idVendor == nw802_supported_devs[i].idVendor ) &&
1555 -                    ( dev->descriptor.idProduct == nw802_supported_devs[i].idProduct ) )
1556 -                break;
1557 -               
1558 -       if ( ! nw802_supported_devs[i].name )
1559 -               return NULL;
1560 -       
1561 -       // Ok it's a supported cam ( at least seems to )
1562 -       type = i;
1563 -       INFO( "Compatible DivIO NW80x based webcam found ! [%s]", nw802_supported_devs[type].name );
1564 +       INFO( "Potentially NW8xx supported cam found ( supported vendor/product IDs )" );
1565         
1566         // Let's find endpoint, altsettings, ... and validate all this !
1567 -       nas = dev->actconfig->interface[ifnum].num_altsetting;
1568 +       nas = dev->actconfig->interface[ifnum]->num_altsetting;
1569         DEBUG( 2, "Number of alternate settings : %d", nas );
1570         
1571         for ( i=0 ; i<nas ; i++ )
1572         {
1573 -               const struct usb_interface_descriptor *interface;
1574 +               const struct usb_host_interface *interface;
1575                 const struct usb_endpoint_descriptor *endpoint;
1576                 
1577 -               interface = &dev->actconfig->interface[ifnum].altsetting[i];
1578 -               if ( interface->bNumEndpoints != 3 )
1579 +               interface = &dev->actconfig->interface[ifnum]->altsetting[i];
1580 +               if ( interface->desc.bNumEndpoints != 3 )
1581                 {
1582                         ERR( "Interface %u Alt %i has %i endpoints!", 
1583 -                            ifnum, i, interface->bNumEndpoints );
1584 -                       return NULL;
1585 +                            ifnum, i, interface->desc.bNumEndpoints );
1586 +                       return -ENODEV;
1587                 }
1588                 
1589 -               endpoint = &interface->endpoint[1];
1590 +               endpoint = &interface->endpoint[1].desc;
1591                 
1592                 if ( video_ep == 0 )
1593                         video_ep = endpoint->bEndpointAddress;
1594                 else if ( video_ep != endpoint->bEndpointAddress )
1595                 {
1596                         ERR( "Alternate settings have different endpoint addresses!");
1597 -                       return NULL;    
1598 +                       return -ENODEV; 
1599                 }               
1600                 
1601                 if ( ( endpoint->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK ) !=
1602                      USB_ENDPOINT_XFER_ISOC )
1603                 {
1604                         ERR( "Interface %u Alt %i has non-ISO endpoint 0!", ifnum, i );
1605 -                       return NULL;            
1606 +                       return -ENODEV;         
1607                 }
1608                 
1609                 if ( ( endpoint->bEndpointAddress & USB_ENDPOINT_DIR_MASK ) == USB_DIR_OUT )
1610                 {
1611                         ERR( "Interface %u Alt %i has ISO OUT endpoint 0!", ifnum, i );
1612 -                       return NULL;            
1613 +                       return -ENODEV;         
1614                 }
1615  
1616                 if ( endpoint->wMaxPacketSize == 0 )
1617 @@ -522,7 +546,7 @@
1618                         else
1619                         {
1620                                 ERR( "More thant one inactive alt. setting!" );
1621 -                               return NULL;    
1622 +                               return -ENODEV; 
1623                         }
1624                 }
1625                 else
1626 @@ -546,14 +570,10 @@
1627         if ( ( maxPS == 0 ) || ( actSetting < 0 ) || ( inactSetting < 0 ) )
1628         {
1629                 ERR( "No suitable endpoints! Failed to recognize camera!" );
1630 -               return NULL;
1631 +               return -ENODEV;
1632         }
1633 -       
1634 -       // Check the module options
1635 -       nw802_validate_params( type );
1636 -
1637 +               
1638         // All is Ok, let's register a video device
1639 -       MOD_INC_USE_COUNT;      // Code below may sleep, use this as a lock
1640         
1641         uvd = usbvideo_AllocateDevice(nw802_cams);
1642         if ( uvd )
1643 @@ -575,13 +595,34 @@
1644                 uvd->iso_packet_len = maxPS;
1645                 uvd->paletteBits = 1L << VIDEO_PALETTE_RGB24;
1646                 uvd->defaultPalette = VIDEO_PALETTE_RGB24;
1647 +               
1648 +               // Autodetect the bridge type
1649 +               NW802_T(uvd)->bridge_type = nw802_autodetect_bridge(uvd);
1650 +               switch (NW802_T(uvd)->bridge_type) {
1651 +                       case BRIDGE_NW800:
1652 +                               INFO( "Detected bridge type : DivIO NW800" );
1653 +                               break;
1654 +                       case BRIDGE_NW801:
1655 +                               INFO( "Detected bridge type : DivIO NW801" );
1656 +                               break;
1657 +                       case BRIDGE_NW802:
1658 +                               INFO( "Detected bridge type : DivIO NW802" );
1659 +                               break;
1660 +                       default:
1661 +                               INFO( "Detected bridge type : Martian ..." );
1662 +                               break;
1663 +               }
1664 +       
1665 +               // Check the module options
1666 +               nw802_validate_params( NW802_T(uvd)->bridge_type );
1667 +       
1668 +               // Store the size
1669                 uvd->canvas = nw802_size_to_videosize( size );
1670                 uvd->videosize = uvd->canvas;
1671                 
1672                 // Init the nw802 specific part of uvd & global var
1673                 canvasX = VIDEOSIZE_X( uvd->canvas );
1674                 canvasY = VIDEOSIZE_Y( uvd->canvas );
1675 -               NW802_T(uvd)->type = type;
1676                 
1677                 // Configure video & register video device
1678                 nw802_configure_video( uvd );
1679 @@ -595,82 +636,113 @@
1680         else
1681                 ERR( "Failed to allocate usbvideo device!" );
1682                 
1683 -       MOD_DEC_USE_COUNT;      // Release the 'lock'
1684 -       
1685 -       return uvd;
1686 +       usb_set_intfdata (intf, uvd);
1687 +       nw8xx_uvd=uvd;
1688 +       return 0;
1689  }
1690  
1691 -static unsigned int reg_addr;
1692 -static unsigned char reg_val;
1693 +static int nw8xx_open(struct inode *inode, struct file *file)
1694 +{
1695 +        if(nw8xx_status & NW8XX_IS_OPEN)
1696 +                goto out_busy;
1697 +
1698 +        nw8xx_status |= NW8XX_IS_OPEN;
1699 +        return 0;
1700  
1701 -static int nw8xx_procfs_read(char *page,char **start,off_t off,int count,int *eof,void *data) {
1702 -    char *out = page;
1703 -    int len;
1704 +out_busy:
1705 +        return -EBUSY;
1706 +}
1707 +
1708 +static int nw8xx_release(struct inode *inode, struct file *file)
1709 +{
1710 +        nw8xx_status &= ~NW8XX_IS_OPEN;
1711 +        return 0;
1712 +}
1713 +
1714 +#define OUTDEVLEN 20
1715 +static ssize_t nw8xx_read(struct file *file, char *buf, size_t count, loff_t *ppos)
1716 +{
1717 +       char out[OUTDEVLEN];
1718 +       int len;
1719  
1720         /* Read the register */
1721 -       nw802_vendor_read( data, reg_addr, &reg_val, 1 ); 
1722 +       nw802_vendor_read( nw8xx_uvd, reg_addr, &reg_val, 1 ); 
1723                    
1724 -    /* Stay under PAGE_SIZE or else */
1725 -    out += sprintf(out, "Register %04X = %02X\n", reg_addr, reg_val );
1726 -    len = out - page;
1727 -    len -= off;
1728 -    if (len < count) {
1729 -        *eof = 1;
1730 -        if (len <= 0)
1731 -            return 0;
1732 -    } else
1733 -        len = count;
1734 -    *start = page + off;
1735 -    return len;
1736 -}
1737 +    len = sprintf(out, "Register %04X = %02X\n", reg_addr&0xffff, reg_val&0xff );
1738 +       out[OUTDEVLEN-1]=0;
1739  
1740 -static int nw8xx_procfs_write(struct file *file,const char *buffer,unsigned long count,void *data) {
1741 +       if (copy_to_user(buf, out, OUTDEVLEN))
1742 +       *ppos+=OUTDEVLEN;
1743 +    return OUTDEVLEN;
1744 +}
1745  
1746 -       char mybuf[16];
1747 +static ssize_t nw8xx_write(struct file *file, const char *buf, size_t count, loff_t *ppos)
1748 +{
1749 +       char mybuf[255];
1750         initURB_t urb;
1751 +       unsigned int ui,ud;
1752  
1753 -       // Copy in a string
1754 -       if ( count > 15 )
1755 -               return -EINVAL;
1756 -
1757 -       memcpy( mybuf, buffer, count );
1758 -
1759 -       // Scan it
1760 -       if ( mybuf[4] == '=' ) {
1761 -               // Write request
1762 -               sscanf(mybuf,"%04x=%02x", &urb.index, &urb.data[0]);
1763 -               urb.len = 1;
1764 -               urb.value = 0;
1765 -               nw802_vendor_send( data, &urb);
1766 -       } else {
1767 -               // Change monitored reg
1768 +       if (count<6) { /* set a new register to monitor */
1769 +               if (copy_from_user(mybuf, buf, count)) {
1770 +                return -EFAULT;
1771 +               }
1772                 sscanf(mybuf,"%04x", &reg_addr);
1773 -       }               
1774 -
1775 +               *ppos +=count;
1776 +               return(count);
1777 +       }
1778 +       if ((count>5)&&(count<9)) { /* Write request */
1779 +               if (copy_from_user(mybuf, buf, count))
1780 +                return -EFAULT;
1781 +               if (2==sscanf(mybuf,"%04x=%02x", &ui, &ud)) {
1782 +                       urb.index=ui;
1783 +                       urb.data[0]=ud;
1784 +                       urb.len = 1;
1785 +                       urb.value = 0;
1786 +                       nw802_vendor_send( nw8xx_uvd, &urb);
1787 +               }
1788 +               *ppos +=count;
1789 +               return(count);
1790 +       }
1791         return count;
1792  }
1793
1794  
1795 +static struct file_operations nw8xx_fops = {
1796 +       .owner          = THIS_MODULE,
1797 +       .open           = nw8xx_open,
1798 +       .read           = nw8xx_read,
1799 +       .write          = nw8xx_write,
1800 +       .release        = nw8xx_release,
1801 +
1802 +};
1803 +
1804 +static struct miscdevice nw8xx_device = {
1805 +       MISC_DYNAMIC_MINOR,
1806 +       "nw8xx",
1807 +       &nw8xx_fops
1808 +};
1809  
1810  // ============================================================================
1811  // Kernel Module init & exit
1812  // ============================================================================
1813  
1814 -static int __init nw802_init()
1815 +static int __init nw802_init(void)
1816  {
1817         int rv;
1818 -       
1819 -       // Setup callbacks
1820         struct usbvideo_cb cbTbl;
1821 +       
1822 +       rv = misc_register(&nw8xx_device);
1823 +        if(rv < 0) {
1824 +                return rv;
1825 +       }
1826 +
1827         memset( &cbTbl, 0, sizeof(cbTbl) );
1828  
1829 +       // Setup callbacks
1830         cbTbl.probe = nw802_probe;
1831         cbTbl.setupOnOpen = nw802_setupOnOpen;
1832         cbTbl.videoStart = nw802_videoStart;
1833         cbTbl.videoStop = nw802_videoStop;
1834         cbTbl.processData = nw802_processIsocData;
1835 -       cbTbl.procfs_read = nw8xx_procfs_read;
1836 -       cbTbl.procfs_write = nw8xx_procfs_write;
1837         
1838         // Register usbvideo driver
1839         rv = usbvideo_register( &nw802_cams,
1840 @@ -693,8 +765,9 @@
1841         return rv;
1842  }
1843  
1844 -static void __exit nw802_exit()
1845 +static void __exit nw802_exit(void)
1846  {
1847 +       misc_deregister(&nw8xx_device);
1848         usbvideo_Deregister( &nw802_cams );
1849         INFO( "Module unloaded" );
1850  }
1851 diff -Naur nw802-2.4-0.0.99/nw8xx_jpgl.c nw802-2.4/nw8xx_jpgl.c
1852 --- nw802-2.4-0.0.99/nw8xx_jpgl.c       2003-08-20 23:34:39.000000000 +0200
1853 +++ nw802-2.4/nw8xx_jpgl.c      2004-07-06 09:43:54.000000000 +0200
1854 @@ -96,9 +96,10 @@
1855  //
1856  
1857  // Variable Lenght Coding related tables, used for AC coefficient decoding
1858 -static char vlcTbl_len[1<<10]; // Meaningful bit count
1859 -static char vlcTbl_run[1<<10]; // Run
1860 -static char vlcTbl_amp[1<<10]; // Amplitude ( without the sign )
1861 +// TODO Check that 7 bits is enough !
1862 +static signed char vlcTbl_len[1<<10];  // Meaningful bit count
1863 +static signed char vlcTbl_run[1<<10];  // Run
1864 +static signed char vlcTbl_amp[1<<10];  // Amplitude ( without the sign )
1865  
1866  // YUV->RGB conversion table
1867  static int yuvTbl_y[256];
1868 @@ -125,7 +126,7 @@
1869  #endif
1870  
1871  // Code to initialize those tables
1872 -static void vlcTbl_init()
1873 +static void vlcTbl_init(void)
1874  {
1875         // Bases tables used to compute the bigger one
1876         // To understands theses, look at the VLC doc in the
1877 @@ -173,7 +174,7 @@
1878         }
1879  }
1880  
1881 -static void yuvTbl_init()
1882 +static void yuvTbl_init(void)
1883  {
1884         // These tables are just pre-multiplied and pre-offseted
1885         // YUV by the book
1886 @@ -194,7 +195,7 @@
1887  }
1888  
1889  #ifndef SAFE_CLAMP
1890 -static void clampTbl_init()
1891 +static void clampTbl_init(void)
1892  {
1893         // Instead of doing if(...) to test for overrange, we use
1894         // a clamping table
1895 @@ -430,7 +431,7 @@
1896  // jpgl_findHeader ). A complete frame MUST BE available !
1897  // Return 0 if the frame is valid.
1898  // Another code is an error code
1899 -int jpgl_processFrame( struct RingQueue *rq, unsigned char *fb )
1900 +int jpgl_processFrame( struct RingQueue *rq, unsigned char *fb, unsigned int good_img_width, unsigned int good_img_height )
1901  {
1902         // Vars
1903         struct rqBitReader br;
1904 @@ -461,8 +462,13 @@
1905         img_height = RING_QUEUE_PEEK(rq,2);
1906         RING_QUEUE_DEQUEUE_BYTES(rq,8);
1907  
1908 -       printk("Frame decoding: fb=%08X W=%d H=%d\n", fb, img_width, img_height);
1909 -
1910 +       // Safety **** HACK/QUICKFIX ALERT ****
1911 +       if ( (img_width != good_img_width) || (img_height != (good_img_height>>2)) ) {
1912 +               img_width = good_img_width;
1913 +               img_height = good_img_height >> 2;
1914 +               printk(KERN_NOTICE "Incoherency corrected. SHOULD NOT HAPPEN !!!! But it does ...");
1915 +       }
1916 +       
1917         // Prepare a bit-by-bit reader
1918         rqBR_init(&br, rq);
1919  
1920 @@ -583,7 +589,7 @@
1921                                 *(fb++) = *(Yline++);
1922                                 *(fb++)= ( Uline[0] + 3*Uline[1] ) >> 2;
1923                                 *(fb++) = ( Vline[0] + 3*Vline[1] ) >> 2;
1924 -               #else   
1925 +                       #else   
1926                                 // First pixel
1927                                 yc = yuvTbl_y[*(Yline++)];
1928                                 uc = Uline[0];
1929 @@ -635,7 +641,7 @@
1930  #ifdef _JPGL_TEST_
1931                                 fb++;
1932  #endif
1933 -                               #endif
1934 +                       #endif
1935  
1936                                 // Adjust pointers
1937                                 Uline++;
1938 @@ -696,7 +702,7 @@
1939  }
1940  
1941  // Init the decoder. Should only be called once
1942 -void jpgl_initDecoder()
1943 +void jpgl_initDecoder(void)
1944  {
1945         vlcTbl_init();
1946         yuvTbl_init();
1947 diff -Naur nw802-2.4-0.0.99/nw8xx_jpgl.h nw802-2.4/nw8xx_jpgl.h
1948 --- nw802-2.4-0.0.99/nw8xx_jpgl.h       2003-08-20 23:34:39.000000000 +0200
1949 +++ nw802-2.4/nw8xx_jpgl.h      2004-07-06 09:43:54.000000000 +0200
1950 @@ -47,7 +47,7 @@
1951  // jpgl_findHeader ). A complete frame MUST BE available !
1952  // Return 0 if the frame is valid.
1953  // Another code is an error code
1954 -int jpgl_processFrame( struct RingQueue *rq, unsigned char *fb );
1955 +int jpgl_processFrame( struct RingQueue *rq, unsigned char *fb, unsigned int good_img_width, unsigned int good_img_height );
1956  
1957  
1958  // Find a valid header and return the offset to skip to correctly align
1959 @@ -58,7 +58,7 @@
1960  
1961  
1962  // Init the decoder. Should only be called once
1963 -void jpgl_initDecoder();
1964 +void jpgl_initDecoder(void);
1965  
1966  
1967  #endif //  __NW8XX_JPGL_H__
1968 diff -Naur nw802-2.4-0.0.99/nw8xx_regedit.c nw802-2.4/nw8xx_regedit.c
1969 --- nw802-2.4-0.0.99/nw8xx_regedit.c    2003-08-20 23:34:39.000000000 +0200
1970 +++ nw802-2.4/nw8xx_regedit.c   2004-07-06 09:43:54.000000000 +0200
1971 @@ -25,8 +25,8 @@
1972  #define U_GAIN_REG 0x100F
1973  #define V_GAIN_REG 0x1010
1974  
1975 -#define SHUT1_REG 0x100C
1976 -#define SHUT2_REG 0x100D
1977 +#define SHUT1_REG 0x101B
1978 +#define SHUT2_REG 0x101C
1979  #endif
1980  
1981  #ifdef NW801_MODEL
1982 @@ -42,8 +42,13 @@
1983  #define U_GAIN_REG 0x100F
1984  #define V_GAIN_REG 0x1010
1985  
1986 -#define SHUT1_REG 0x100C
1987 -#define SHUT2_REG 0x100D
1988 +#define SHUT1_REG 0x101B //?
1989 +#define SHUT2_REG 0x101C //?
1990 +
1991 +#define CLK_REG 0x1019
1992 +#define CLK_REG_MASK 0x08
1993 +
1994 +#define BP_REG 0x1026
1995  #endif
1996  
1997  
1998 @@ -56,14 +61,14 @@
1999         int raddr, value;
2000         int procfd = -1;
2001  
2002 -       procfd=open(procpath, O_RDWR);  
2003 -       
2004 +       procfd=open(procpath, O_RDWR);
2005 +
2006         if ( procfd < 0 ) {
2007                 perror("open");
2008                 g_error("Can't open the driver proc interface\n");
2009                 return 0;
2010         }
2011 -       
2012 +
2013         snprintf(buffer, 19, "%04x", addr);
2014         write( procfd, buffer, 4 );
2015         read( procfd, buffer, 18 );
2016 @@ -79,8 +84,8 @@
2017         char buffer[8];
2018         int procfd = -1;
2019  
2020 -       procfd=open(procpath, O_RDWR);  
2021 -       
2022 +       procfd=open(procpath, O_RDWR);
2023 +
2024         if ( procfd < 0 ) {
2025                 perror("open");
2026                 g_error("Can't open the driver proc interface\n");
2027 @@ -107,6 +112,25 @@
2028         writeReg(addr, (unsigned char)(value));
2029  }
2030  
2031 +#ifdef NW801_MODEL
2032 +
2033 +static void IndoorToggled( GtkWidget *widget, gpointer data ) {
2034 +       unsigned char value;
2035 +       int addr;
2036 +
2037 +       addr =  CLK_REG ;
2038 +       value = readReg( CLK_REG );
2039 +
2040 +       if ( gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)) )
2041 +               value |= CLK_REG_MASK;
2042 +       else
2043 +               value &= ~CLK_REG_MASK;
2044 +
2045 +       writeReg(addr, (unsigned char)(value));
2046 +}
2047 +
2048 +#endif
2049 +
2050  static void SliderChanged( GtkWidget *widget, gpointer data ) {
2051         gdouble value;
2052         int addr;
2053 @@ -143,27 +167,27 @@
2054  void create_gui() {
2055  
2056         // Vars
2057 -       
2058 +
2059                 // Temps
2060         int i, j;
2061         GtkWidget *dummy;
2062 -       
2063 +
2064                 // Main layout
2065         GtkWidget *window;
2066         GtkWidget *vbox1, *vbox2;
2067         GtkWidget *hbox1, *hbox2;
2068 -       
2069 +
2070         GtkWidget *RGBControls_frame;
2071         GtkWidget *YUVControls_frame;
2072         GtkWidget *ShutControls_frame;
2073         GtkWidget *MiscControls_frame;
2074         GtkWidget *LUTTables_frame;
2075 -       
2076 +
2077                 // LUT Frame
2078         GtkWidget *lutf_vbox, *lutf_nbook;
2079 -       
2080 -       
2081 -       
2082 +
2083 +
2084 +
2085         // Create a window
2086         window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
2087  
2088 @@ -182,7 +206,7 @@
2089         gtk_container_add (GTK_CONTAINER (window), vbox1);
2090  
2091  
2092 -       // On the top, put 
2093 +       // On the top, put
2094         //  - RGB Gain/ofs
2095         //  - YUV Gain/ofs
2096         //  - Shutter control
2097 @@ -194,7 +218,7 @@
2098         RGBControls_frame = gtk_frame_new("RGB Gain/Ofs");
2099         gtk_widget_show(RGBControls_frame);
2100         gtk_box_pack_start(GTK_BOX(hbox1), RGBControls_frame, TRUE, TRUE, 0);
2101 -       
2102 +
2103         YUVControls_frame = gtk_frame_new("YUV Gain/Ofs");
2104         gtk_widget_show(YUVControls_frame);
2105         gtk_box_pack_start(GTK_BOX(hbox1), YUVControls_frame, TRUE, TRUE, 0);
2106 @@ -239,11 +263,11 @@
2107                 gtk_widget_show(hbox2);
2108                 gtk_container_add(GTK_CONTAINER(RGBControls_frame), hbox2);
2109  
2110 -               createslider(R_GAIN_REG,63,hbox2);      
2111 -               createslider(G_GAIN_REG,63,hbox2);      
2112 -               createslider(B_GAIN_REG,63,hbox2);      
2113 +               createslider(R_GAIN_REG,63,hbox2);
2114 +               createslider(G_GAIN_REG,63,hbox2);
2115 +               createslider(B_GAIN_REG,63,hbox2);
2116 +
2117  
2118 -               
2119  
2120                 // YUV Offset & Gain
2121                 // -----------------
2122 @@ -251,10 +275,10 @@
2123                 gtk_widget_show(hbox2);
2124                 gtk_container_add(GTK_CONTAINER(YUVControls_frame), hbox2);
2125  
2126 -               createslider(Y_GAIN_REG,63,hbox2);      
2127 -               createslider(U_GAIN_REG,63,hbox2);      
2128 -               createslider(V_GAIN_REG,63,hbox2);      
2129 -               
2130 +               createslider(Y_GAIN_REG,63,hbox2);
2131 +               createslider(U_GAIN_REG,63,hbox2);
2132 +               createslider(V_GAIN_REG,63,hbox2);
2133 +
2134  
2135                 // Shutter control
2136                 // ---------------
2137 @@ -262,12 +286,27 @@
2138                 gtk_widget_show(hbox2);
2139                 gtk_container_add(GTK_CONTAINER(ShutControls_frame), hbox2);
2140  
2141 -               createslider(SHUT1_REG,255,hbox2);      
2142 -               createslider(SHUT2_REG,255,hbox2);      
2143 +               createslider(SHUT1_REG,255,hbox2);
2144 +               createslider(SHUT2_REG,255,hbox2);
2145  
2146                 // Misc
2147                 // ----
2148 +#ifdef NW801_MODEL
2149 +
2150 +               hbox2 = gtk_hbox_new(TRUE,0);
2151 +               gtk_widget_show(hbox2);
2152 +               gtk_container_add(GTK_CONTAINER(MiscControls_frame), hbox2);
2153  
2154 +               createslider(BP_REG,159,hbox2);
2155 +
2156 +               dummy = gtk_check_button_new_with_label("Outdoor");
2157 +               gtk_widget_show(dummy);
2158 +               gtk_box_pack_start(GTK_BOX(hbox2), dummy, FALSE, FALSE, 0);
2159 +               g_signal_connect(G_OBJECT(dummy), "toggled",
2160 +               G_CALLBACK (IndoorToggled), NULL);
2161 +               gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dummy), readReg(CLK_REG) & CLK_REG_MASK);
2162 +
2163 +#endif
2164                 // LUT Tables
2165                 // ----------
2166         lutf_vbox = gtk_vbox_new(FALSE,1);
2167 diff -Naur nw802-2.4-0.0.99/proscope.init nw802-2.4/proscope.init
2168 --- nw802-2.4-0.0.99/proscope.init      1970-01-01 01:00:00.000000000 +0100
2169 +++ nw802-2.4/proscope.init     2003-10-03 15:44:18.000000000 +0200
2170 @@ -0,0 +1,105 @@
2171 +       { 0x0405, 0x0000, 0x0001,
2172 +               { 0x21 } },
2173 +       { 0x0404, 0x0000, 0x0001,
2174 +               { 0x01 } },
2175 +       { 0x0406, 0x0000, 0x0001,
2176 +               { 0x04 } },
2177 +       { 0x0000, 0x0000, 0x0040,
2178 +               { 0x10, 0x01, 0x00, 0xf9, 0x02, 0x10, 0x00, 0x04,
2179 +                 0x0f, 0x1f, 0x00, 0x0d, 0x02, 0x01, 0x00, 0x19,
2180 +                 0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
2181 +                 0x00, 0x08, 0x00, 0x17, 0x00, 0xce, 0x00, 0xf4,
2182 +                 0x05, 0x3e, 0x00, 0x86, 0x00, 0x3e, 0x00, 0x86,
2183 +                 0x00, 0xce, 0x00, 0xf8, 0x03, 0x3e, 0x00, 0x86,
2184 +                 0x00, 0x56, 0x00, 0x9e, 0x00, 0x56, 0x00, 0x9e,
2185 +                 0x00, 0x56, 0x00, 0x9e, 0x00, 0x01, 0x00, 0x01 } },
2186 +       { 0x0040, 0x0000, 0x0040,
2187 +               { 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0xb6,
2188 +                 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
2189 +                 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
2190 +                 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
2191 +                 0x00, 0xf6, 0x03, 0x34, 0x04, 0xf6, 0x03, 0x34,
2192 +                 0x04, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
2193 +                 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0xe8,
2194 +                 0x00, 0x3e, 0x00, 0xaa, 0x00, 0x88, 0x00, 0x2e } },
2195 +       { 0x0080, 0x0000, 0x001f,
2196 +               { 0xb4, 0x6f, 0x1f, 0x0f, 0x08, 0x20, 0xa8, 0x00,
2197 +                 0x00, 0x00, 0x00, 0x00, 0xa8, 0x08, 0x00, 0x11,
2198 +                 0x00, 0x0c, 0x02, 0x01, 0x00, 0x19, 0x00, 0x94,
2199 +                 0x00, 0x10, 0x06, 0x10, 0x00, 0x36, 0x00 } },
2200 +       { 0x0200, 0x0000, 0x0012,
2201 +               { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
2202 +                 0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0xa0,
2203 +                 0x40, 0x20 } },
2204 +       { 0x0300, 0x0000, 0x0003,
2205 +               { 0x03, 0x00, 0x00 } },
2206 +       { 0x0400, 0x0000, 0x0007,
2207 +               { 0x01, 0x10, 0x00, 0x00, 0x00, 0x21, 0x00 } },
2208 +       { 0x0600, 0x0000, 0x0002,
2209 +               { 0x09, 0x99 } },
2210 +       { 0x0800, 0x0000, 0x0015,
2211 +               { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2212 +                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2213 +                 0x00, 0x00, 0x00, 0x00, 0x00 } },
2214 +       { 0x1000, 0x0000, 0x0040,
2215 +               { 0xad, 0x02, 0x80, 0x00, 0x12, 0x00, 0x00, 0x00,
2216 +                 0x00, 0x00, 0x00, 0x10, 0x1f, 0x10, 0x08, 0x0a,
2217 +                 0x0a, 0x51, 0x00, 0xf1, 0x00, 0x3c, 0x00, 0xb4,
2218 +                 0x00, 0x49, 0x13, 0x00, 0x00, 0x8c, 0x04, 0x01,
2219 +                 0x20, 0x02, 0x00, 0x03, 0x00, 0x20, 0x00, 0x00,
2220 +                 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08,
2221 +                 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x06,
2222 +                 0xf7, 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x10, 0x80 } },
2223 +       { 0x1040, 0x0000, 0x0040,
2224 +               { 0x80, 0x00, 0x2d, 0x46, 0x58, 0x67, 0x74, 0x7f,
2225 +                 0x88, 0x94, 0x9d, 0xa6, 0xae, 0xb5, 0xbd, 0xc4,
2226 +                 0xcb, 0xd1, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
2227 +                 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
2228 +                 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43,
2229 +                 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
2230 +                 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32,
2231 +                 0x43, 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3 } },
2232 +       { 0x1080, 0x0000, 0x001b,
2233 +               { 0xc3, 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x3f,
2234 +                 0x01, 0x00, 0x00, 0xef, 0x00, 0x09, 0x05, 0x82,
2235 +                 0x02, 0xe4, 0x01, 0x40, 0x01, 0xf0, 0x00, 0x40,
2236 +                 0x01, 0xf0, 0x00 } },
2237 +       { 0x0200, 0x0000, 0x0011,
2238 +               { 0x3c, 0x50, 0x9e, 0x3c, 0x50, 0x00, 0x00, 0x00,
2239 +                 0x00, 0x78, 0x3f, 0x10, 0x02, 0xf2, 0x8f, 0x78,
2240 +                 0x40 } },
2241 +       { 0x101a, 0x0000, 0x0001,
2242 +               { 0x06 } },
2243 +       { 0x0003, 0x0000, 0x0001,
2244 +               { 0xf9, 0x02 } },
2245 +       { 0x1085, 0x0000, 0x0008,
2246 +               { 0x00, 0x00, 0x3f, 0x01, 0x00, 0x00, 0xef, 0x00 } },
2247 +       { 0x101b, 0x0000, 0x0002,
2248 +               { 0x00, 0x00 } },
2249 +       { 0x1011, 0x0000, 0x0008,
2250 +               { 0x00, 0x00, 0x3f, 0x01, 0x00, 0x00, 0xef, 0x00 } },
2251 +       { 0x101d, 0x0000, 0x0008,
2252 +               { 0xc0, 0x0d, 0x01, 0x20, 0x02, 0xe8, 0x03, 0x00 } },
2253 +       { 0x100e, 0x0000, 0x0001,
2254 +               { 0x10 } },
2255 +       { 0x100f, 0x0000, 0x0002,
2256 +               { 0x0c, 0x0c } },
2257 +       { 0x1003, 0x0000, 0x0001,
2258 +               { 0x0c } },
2259 +       { 0x1041, 0x0000, 0x0011,
2260 +               { 0x00, 0x10, 0x51, 0x6e, 0x83, 0x93, 0xa1, 0xae,
2261 +                 0xb9, 0xc3, 0xcc, 0xd4, 0xdd, 0xe4, 0xeb, 0xf2,
2262 +                 0xf9 } },
2263 +       { 0x100b, 0x0000, 0x0001,
2264 +               { 0x0b } },
2265 +       { 0x100d, 0x0000, 0x0001,
2266 +               { 0x10 } }, // Exposure
2267 +       { 0x100c, 0x0000, 0x0001,
2268 +               { 0x1b } },
2269 +       { 0x0406, 0x0000, 0x0001,
2270 +               { 0x03 } },
2271 +       { 0x0405, 0x0000, 0x0001,
2272 +               { 0x21 } },
2273 +       { 0x0404, 0x0000, 0x0001,
2274 +               { 0x00 } }
2275 +
2276 diff -Naur nw802-2.4-0.0.99/README nw802-2.4/README
2277 --- nw802-2.4-0.0.99/README     2003-08-20 23:34:39.000000000 +0200
2278 +++ nw802-2.4/README    2007-01-03 21:13:24.000000000 +0100
2279 @@ -20,6 +20,98 @@
2280   # insmod nw802.o
2281  * Launch xawtv ( or any V4L compatible app. Since the driver currently ignores quite a lot of V4L request like videosize, format, ... the app may give warning or refuses to work at all ... xawtv works, newer version of gnomemeeting don't ... )
2282  
2283 +The original init files do not support all cam's, so if you don't get any picture, see if you have one of this cams.
2284 +
2285 +If you have a Plustek Opticam 500U ( or ProLink DS3303u WebCam).
2286 +----------------------------------------
2287 +Rename the nw801.init to something else ( nw801.init.old for example).
2288 +Then rename the DS3303u.init to nw801.init.
2289 +Open the nw802.c in a editor. Go to line 314.
2290 +
2291 +It looks like this:
2292 +#define NW801_INIT_LEN 32
2293 +
2294 +Change it to this:
2295 +#define NW801_INIT_LEN 31
2296 +
2297 +Save the nw802.c.
2298 +Compile as described above under 'How to use it ?'.
2299 +
2300 +
2301 +If you have a Panasonic GP-KR651US.
2302 +----------------------------------------
2303 +Rename the nw802.init to something else ( nw802.init.old for example).
2304 +Then rename the kr651us.init to nw802.init.
2305 +Compile as described above under 'How to use it ?'.
2306 +
2307 +If you have a iRez Kritter cam.
2308 +----------------------------------------
2309 +Rename the nw802.init to something else ( nw802.init.old for example).
2310 +Then rename the kritter.init to nw802.init.
2311 +Compile as described above under 'How to use it ?'.
2312 +
2313 +
2314 +If you have a D-link dru-350c cam.
2315 +----------------------------------------
2316 +Rename the nw802.init to something else ( nw802.init.old for example).
2317 +Then rename the d-link-350c.init to nw802.init.
2318 +Compile as described above under 'How to use it ?'.
2319 +
2320 +
2321 +If you have a The Scope USB Microscope M2 (ProScope).
2322 +----------------------------------------
2323 +Rename the nw802.init to something else ( nw802.init.old for example).
2324 +Then rename the proscope.init to nw802.init.
2325 +Compile as described above under 'How to use it ?'.
2326 +
2327 +
2328 +If you have a Conceptronic Video Pro 'CVIDEOPRO  USB Webcam CCD'.
2329 +----------------------------------------
2330 +Rename the nw802.init to something else ( nw802.init.old for example).
2331 +Then rename the cvideopro.init to nw802.init.
2332 +Compile as described above under 'How to use it ?'.
2333 +
2334 +
2335 +If you have a Trust SpaceCam120 or SpaceCam100 PORTABLE.
2336 +----------------------------------------
2337 +Rename the nw800.init to something else ( nw800.init.old for example).
2338 +Then rename the SpaceCam.init to nw800.init.
2339 +Open the nw802.c in a editor.
2340 +Go to line 127. It looks like this:
2341 +{ USB_DEVICE( 0x06a5, 0x0000 ) },              // Generic NW800
2342 +
2343 +Change it to this:
2344 +{ USB_DEVICE( 0x06a5, 0xd800 ) },              // Generic NW800
2345 +
2346 +Go to line 322. It looks like this:
2347 +#define NW800_INIT_LEN 65
2348 +
2349 +Change it to this:
2350 +#define NW800_INIT_LEN 82
2351 +
2352 +Save the nw802.c.
2353 +Compile as described above under 'How to use it ?'.
2354 +
2355 +If your led goes out and no picture. Try the trust_space.init
2356 +and repeat the above. But set NW800_INIT_LEN 36 .
2357 +
2358 +
2359 +If you have a TwinkleCam.
2360 +----------------------------------------
2361 +Rename the nw800.init to something else ( nw800.init.old for example).
2362 +Then rename the Twinkle.init to nw800.init.
2363 +Open the nw802.c in a editor. Go to line 322.
2364 +
2365 +It looks like this:
2366 +#define NW800_INIT_LEN 65
2367 +
2368 +Change it to this:
2369 +#define NW800_INIT_LEN 95
2370 +
2371 +Save the nw802.c.
2372 +Compile as described above under 'How to use it ?'.
2373 +
2374 +
2375  
2376  Something is wrong ...
2377  ----------------------
2378 @@ -45,13 +137,13 @@
2379   - Better cam support with automatic chip/cds/ccd detection
2380   - Image control + Auto white balance + Auto exposure
2381   - ...
2382
2383 +
2384  
2385  FAQ :
2386  ----
2387  
2388   * I don't have a 2.4.x kernel !
2389
2390 +
2391     If you use a 2.0 or 2.2 ... Upgrade ! If you use 2.6 ... Well this current version, it's not supported. I don't intent to add it ( so don't send patches, some people already did it and it's being included in the new driver ).
2392  
2393   * When will the new driver be ready ?
2394 diff -Naur nw802-2.4-0.0.99/SpaceCam.init nw802-2.4/SpaceCam.init
2395 --- nw802-2.4-0.0.99/SpaceCam.init      1970-01-01 01:00:00.000000000 +0100
2396 +++ nw802-2.4/SpaceCam.init     2003-10-28 00:25:17.000000000 +0100
2397 @@ -0,0 +1,214 @@
2398 +               { 0x0405, 0x0000, 0x0001,
2399 +                       { 0x61 } },
2400 +               { 0x404, 0x0000, 0x0001,
2401 +                       { 0x01 } },
2402 +               { 0x0406, 0x0000, 0x0001,
2403 +                       { 0x04 } },
2404 +               { 0x0404, 0x0000, 0x0003,
2405 +                       { 0x00, 0x00, 0x00 } },
2406 +               { 0x0505, 0x0000, 0x0001,
2407 +                       { 0x00 } },
2408 +               { 0x0406, 0x0000, 0x0001,
2409 +                       { 0x44 } },
2410 +               { 0x0406, 0x0000, 0x0001,
2411 +                       { 0x00 } },
2412 +               { 0x0000, 0x0000, 0x0040,
2413 +                       { 0x14, 0x83, 0x00, 0xba, 0x01, 0x10, 0x00, 0x4f,
2414 +                         0xef, 0x00, 0x00, 0x60, 0x00, 0x01, 0x00, 0x19,
2415 +                         0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
2416 +                         0x00, 0x01, 0x00, 0x19, 0x00, 0x06, 0x00, 0xfc,
2417 +                         0x01, 0x3e, 0x00, 0x86, 0x00, 0x3e, 0x00, 0x86,
2418 +                         0x00, 0x3e, 0x00, 0x86, 0x00, 0x01, 0x00, 0x01,
2419 +                         0x00, 0x56, 0x00, 0x9e, 0x00, 0x56, 0x00, 0x9e,
2420 +                         0x00, 0x56, 0x00, 0x9e, 0x00, 0x01, 0x00, 0x01 } },
2421 +               { 0x0040, 0x0000, 0x0040,
2422 +                       { 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
2423 +                         0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
2424 +                         0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
2425 +                         0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
2426 +                         0x00, 0xca, 0x03, 0x46, 0x04, 0xca, 0x03, 0x46,
2427 +                         0x04, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
2428 +                         0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0xf0,
2429 +                         0x00, 0x3e, 0x00, 0xaa, 0x00, 0x88, 0x00, 0x2e } },
2430 +               { 0x0080, 0x0000, 0x001f,
2431 +                       { 0xb8, 0x48, 0x0f, 0x04, 0x88, 0x14, 0x68, 0x00,
2432 +                         0x00, 0x00, 0x00, 0x00, 0xa8, 0x01, 0x00, 0x03,
2433 +                         0x00, 0x24, 0x01, 0x01, 0x00, 0x16, 0x00, 0x04,
2434 +                         0x00, 0x4b, 0x00, 0x76, 0x00, 0x86, 0x00 } },
2435 +               { 0x0200, 0x0000, 0x0012,
2436 +                       { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
2437 +                         0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0xa0,
2438 +                         0x40, 0x20 } },
2439 +               { 0x0300, 0x0000, 0x0003,
2440 +                       { 0x03, 0x00, 0x00 } },
2441 +               { 0x0400, 0x0000, 0x0007,
2442 +                       { 0x01, 0x10, 0x00, 0x00, 0x00, 0x61, 0x00 } },
2443 +               { 0x0500, 0x0000, 0x0006,
2444 +                       { 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00 } },
2445 +               { 0x0600, 0x0000, 0x001b,
2446 +                       { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2447 +                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2448 +                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2449 +                         0x00, 0x00, 0x00 } },
2450 +               { 0x0800, 0x0000, 0x0015,
2451 +                       { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2452 +                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2453 +                         0x00, 0x00, 0x00, 0x00, 0x00 } },
2454 +               { 0x1000, 0x0000, 0x0040,
2455 +                       { 0x80, 0x02, 0x20, 0x00, 0x13, 0x00, 0x00, 0x00,
2456 +                         0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x08, 0x0a,
2457 +                         0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2458 +                         0x00, 0x49, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00,
2459 +                         0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
2460 +                         0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08,
2461 +                         0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x06,
2462 +                         0xf7, 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x10, 0x80 } },
2463 +               { 0x1040, 0x0000, 0x0040,
2464 +                       { 0x80, 0x00, 0x05, 0x35, 0x5e, 0x78, 0x8b, 0x99,
2465 +                         0xa4, 0xae, 0xb5, 0xbc, 0xc1, 0xc6, 0xc9, 0xcc,
2466 +                         0xcf, 0xd0, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
2467 +                         0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
2468 +                         0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43,
2469 +                         0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
2470 +                         0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32,
2471 +                         0x43, 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3 } },
2472 +               { 0x1080, 0x0000, 0x001d,
2473 +                       { 0xc3, 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x00,
2474 +                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x62,
2475 +                         0x01, 0x24, 0x01, 0x62, 0x01, 0x24, 0x01, 0x20,
2476 +                         0x01, 0x60, 0x01, 0x00, 0x00 } },
2477 +               { 0x1085, 0x0000, 0x0008,
2478 +                       { 0x00, 0x00, 0x5f, 0x01, 0x00, 0x00, 0x1f, 0x01 } },
2479 +               { 0x0404, 0x0000, 0x0001,
2480 +                       { 0x40 } },
2481 +               { 0x0404, 0x0000, 0x0001,
2482 +                       { 0x00 } },
2483 +               { 0x0600, 0x0000, 0x000b,
2484 +                       { 0xc0, 0x12, 0x07, 0x00, 0x00, 0x00, 0x05, 0x00,
2485 +                          0x00, 0x05, 0x05 } },
2486 +               { 0x0600, 0x0000, 0x000c,
2487 +                       { 0x02, 0x0c, 0x12, 0x07, 0x00, 0x00, 0x00, 0x05,
2488 +                          0x00, 0x00, 0x05, 0x05 } },
2489 +               { 0x0502, 0x0000, 0x0002,
2490 +                       { 0x0c, 0x40 } },
2491 +               { 0x0505, 0x0000, 0x0001,
2492 +                       { 0x01 } },
2493 +               { 0x0600, 0x0000, 0x0001,
2494 +                       { 0x06 } },
2495 +               { 0x0600, 0x0000, 0x0002,
2496 +                       { 0x11, 0x06 } },
2497 +               { 0x0502, 0x0000, 0x0002,
2498 +                       { 0x02, 0x40 } },
2499 +               { 0x0505, 0x0000, 0x0001,
2500 +                       { 0x01 } },
2501 +               { 0x0600, 0x0000, 0x0001,
2502 +                       { 0x00 } },
2503 +               { 0x0600, 0x0000, 0x0002,
2504 +                       { 0x14, 0x00 } },
2505 +               { 0x0502, 0x0000, 0x0002,
2506 +                       { 0x02, 0x40 } },
2507 +               { 0x0505, 0x0000, 0x0001,
2508 +                       { 0x01 } },
2509 +               { 0x0600, 0x0000, 0x0001,
2510 +                       { 0x01 } },
2511 +               { 0x0600, 0x0000, 0x0002,
2512 +                       { 0x13, 0x01 } },
2513 +               { 0x0502, 0x0000, 0x0002,
2514 +                       { 0x02, 0x40 } },
2515 +               { 0x0505, 0x0000, 0x0001,
2516 +                       { 0x01 } },
2517 +               { 0x0200, 0x0000, 0x0011,
2518 +                       { 0x48, 0x58, 0x9e, 0x48, 0x58, 0x00, 0x00, 0x00,
2519 +                         0x00, 0x84, 0x36, 0x05, 0x01, 0xf2, 0x86, 0x65,
2520 +                         0x40 } },
2521 +               { 0x0600, 0x0000, 0x0001,
2522 +                       { 0x0c } },
2523 +               { 0x0600, 0x0000, 0x0002,
2524 +                       { 0x02, 0x0c } },
2525 +               { 0x0502, 0x0000, 0x0002,
2526 +                       { 0x02, 0x40 } },
2527 +               { 0x0505, 0x0000, 0x0001,
2528 +                       { 0x01 } },
2529 +               { 0x0600, 0x0000, 0x0001,
2530 +                       { 0x00 } },
2531 +               { 0x0600, 0x0000, 0x0002,
2532 +                       { 0x0f, 0x00 } },
2533 +               { 0x0502, 0x0000, 0x0002,
2534 +                       { 0x02, 0x40 } },
2535 +               { 0x0505, 0x0000, 0x0001,
2536 +                       { 0x01 } },
2537 +               { 0x0600, 0x0000, 0x0001,
2538 +                       { 0x01 } },
2539 +               { 0x0600, 0x0000, 0x0002,
2540 +                       { 0x13, 0x01 } },
2541 +               { 0x0502, 0x0000, 0x0002,
2542 +                       { 0x02, 0x40 } },
2543 +               { 0x0505, 0x0000, 0x0001,
2544 +                       { 0x01 } },
2545 +               { 0x1000, 0x0000, 0x0001,
2546 +                       { 0x01 } },
2547 +               { 0x108f, 0x0000, 0x000c,
2548 +                       { 0x62, 0x01, 0x24, 0x01, 0x62, 0x01, 0x24, 0x01,
2549 +                         0x20, 0x01, 0x60, 0x01 } },
2550 +               { 0x0600, 0x0000, 0x0001,
2551 +                       { 0x0f } },
2552 +               { 0x0600, 0x0000, 0x0002,
2553 +                       { 0x05, 0x0f } },
2554 +               { 0x0502, 0x0000, 0x0002,
2555 +                       { 0x02, 0x40 } },
2556 +               { 0x0505, 0x0000, 0x0001,
2557 +                       { 0x01 } },
2558 +               { 0x0600, 0x0000, 0x0001,
2559 +                       { 0x01 } },
2560 +               { 0x0600, 0x0000, 0x0002,
2561 +                       { 0x13, 0x01 } },
2562 +               { 0x0502, 0x0000, 0x0002,
2563 +                       { 0x02, 0x40 } },
2564 +               { 0x0505, 0x0000, 0x0001,
2565 +                       { 0x01 } },
2566 +               { 0x0600, 0x0000, 0x0006,
2567 +                       { 0x0b, 0x0f, 0x05, 0x05, 0x0f, 0x00 } },
2568 +               { 0x0600, 0x0000, 0x0007,
2569 +                       { 0x09, 0x0b, 0x0f, 0x05, 0x05, 0x0f, 0x00 } },
2570 +               { 0x0502, 0x0000, 0x0002,
2571 +                       { 0x07, 0x40 } },
2572 +               { 0x0505, 0x0000, 0x0001,
2573 +                       { 0x01 } },
2574 +               { 0x0600, 0x0000, 0x0002,
2575 +                       { 0x04, 0x01 } },
2576 +               { 0x0600, 0x0000, 0x0003,
2577 +                       { 0x12, 0x04, 0x01 } },
2578 +               { 0x0502, 0x0000, 0x0002,
2579 +                       { 0x03, 0x40 } },
2580 +               { 0x0505, 0x0000, 0x0001,
2581 +                       { 0x01 } },
2582 +               { 0x1011, 0x0000, 0x0008,
2583 +                       { 0x00, 0x00, 0x5f, 0x01, 0x00, 0x00, 0x1f, 0x01 } },
2584 +               { 0x100e, 0x0000, 0x0001,
2585 +                       { 0x08 } },
2586 +               { 0x1041, 0x0000, 0x0011,
2587 +                       { 0x00, 0x17, 0x3f, 0x69, 0x7b, 0x8c, 0x9a, 0xa7,
2588 +                         0xb3, 0xbf, 0xc9, 0xd3, 0xdd, 0xe6, 0xef, 0xf7,
2589 +                         0xf9 } },
2590 +               { 0x1003, 0x0000, 0x0001,
2591 +                       { 0x00 } },
2592 +               { 0x100f, 0x0000, 0x0002,
2593 +                       { 0x13, 0x13 } },
2594 +               { 0x1003, 0x0000, 0x0001,
2595 +                       { 0x06 } },
2596 +               { 0x1041, 0x0000, 0x0011,
2597 +                       { 0x00, 0x17, 0x3f, 0x69, 0x7b, 0x8c, 0x9a, 0xa7,
2598 +                         0xb3, 0xbf, 0xc9, 0xd3, 0xdd, 0xe6, 0xef, 0xf7,
2599 +                         0xf9 } },
2600 +               { 0x100b, 0x0000, 0x0001,
2601 +                       { 0x11 } },
2602 +               { 0x100d, 0x0000, 0x0001,
2603 +                       { 0x10 } },
2604 +               { 0x100c, 0x0000, 0x0001,
2605 +                       { 0x14 } },
2606 +               { 0x0406, 0x0000, 0x0001,
2607 +                       { 0x03 } },
2608 +               { 0x0405, 0x0000, 0x0001,
2609 +                       { 0x61 } },
2610 +               { 0x0404, 0x0000, 0x0001,
2611 +                       { 0x00 } },
2612 diff -Naur nw802-2.4-0.0.99/trust_space.init nw802-2.4/trust_space.init
2613 --- nw802-2.4-0.0.99/trust_space.init   1970-01-01 01:00:00.000000000 +0100
2614 +++ nw802-2.4/trust_space.init  2004-12-22 17:56:17.000000000 +0100
2615 @@ -0,0 +1,121 @@
2616 +// Trust Spacecam 120 ..item nr 13177.  8 713439 131772
2617 +{ 0x0405, 0x0000, 0x0001, 
2618 +       { 0x01 } },
2619 +{ 0x0404, 0x0000, 0x0001,
2620 +       { 0x01 } },
2621 +{ 0x0406, 0x0000, 0x0001,
2622 +       { 0x04 } },
2623 +{ 0x0600, 0x0000, 0x0002,
2624 +       { 0x04, 0xd9 } },
2625 +{ 0x0404, 0x0000, 0x0003,
2626 +       { 0x00, 0x00, 0x00 } },
2627 +{ 0x0505, 0x0000, 0x0001,
2628 +       { 0x00 } },
2629 +{ 0x0406, 0x0000, 0x0001,
2630 +       { 0x44 } },
2631 +{ 0x0000, 0x0000, 0x0040,
2632 +       { 0x10, 0x43, 0x00, 0xc6, 0x01, 0x10, 0x00, 0x4f,
2633 +       0xef, 0x0e, 0x00, 0x74, 0x01, 0x01, 0x00, 0x19,
2634 +       0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
2635 +       0x00, 0x01, 0x00, 0x19, 0x00, 0x3e, 0x00, 0x24,
2636 +       0x03, 0x3e, 0x00, 0x86, 0x00, 0x3e, 0x00, 0x86,
2637 +       0x00, 0x3e, 0x00, 0x86, 0x00, 0x01, 0x00, 0x01,
2638 +       0x00, 0x56, 0x00, 0x9e, 0x00, 0x56, 0x00, 0x9e,
2639 +       0x00, 0x56, 0x00, 0x9e, 0x00, 0x01, 0x00, 0x01 } },
2640 +{ 0x0040, 0x0000, 0x0040,
2641 +       { 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
2642 +       0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
2643 +       0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
2644 +       0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
2645 +       0x00, 0xca, 0x03, 0x46, 0x04, 0xca, 0x03, 0x46,
2646 +       0x04, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
2647 +       0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0xf0,
2648 +       0x00, 0x3e, 0x00, 0xaa, 0x00, 0x88, 0x00, 0x2e } },
2649 +{ 0x0080, 0x0000, 0x001f,
2650 +       { 0xb0, 0x48, 0xc3, 0x02, 0x88, 0x0c, 0x68, 0x00,
2651 +       0x00, 0x00, 0x00, 0x00, 0xa8, 0x06, 0x00, 0x08,
2652 +       0x00, 0x9c, 0x03, 0x01, 0x00, 0x16, 0x00, 0x04,
2653 +       0x00, 0x4b, 0x00, 0x76, 0x00, 0x86, 0x00 } },
2654 +{ 0x0200, 0x0000, 0x0012,
2655 +       { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
2656 +       0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0xa0,
2657 +       0x40, 0x20 } },
2658 +{ 0x0300, 0x0000, 0x0003,
2659 +       { 0x03, 0x00, 0x00 } },
2660 +{ 0x0400, 0x0000, 0x0007,
2661 +       { 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00 } },
2662 +{ 0x0500, 0x0000, 0x0006,
2663 +       { 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00 } },
2664 +{ 0x0600, 0x0000, 0x001b,
2665 +       { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2666 +       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2667 +       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2668 +       0x00, 0x00, 0x00 } },
2669 +{ 0x0800, 0x0000, 0x0015,
2670 +       { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2671 +       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2672 +       0x00, 0x00, 0x00, 0x00, 0x00 } },
2673 +{ 0x1000, 0x0000, 0x0040,
2674 +       { 0x83, 0x02, 0x20, 0x00, 0x11, 0x00, 0x00, 0x00,
2675 +       0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x08, 0x0a,
2676 +       0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2677 +       0x00, 0x49, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
2678 +       0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
2679 +       0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08,
2680 +       0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x06,
2681 +       0xf7, 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x10, 0x80 } },
2682 +{ 0x1040, 0x0000, 0x0040,
2683 +       { 0x80, 0x00, 0x05, 0x35, 0x5e, 0x78, 0x8b, 0x99,
2684 +       0xa4, 0xae, 0xb5, 0xbc, 0xc1, 0xc6, 0xc9, 0xcc,
2685 +       0xcf, 0xd0, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
2686 +       0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
2687 +       0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43,
2688 +       0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
2689 +       0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32,
2690 +       0x43, 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3 } },
2691 +{ 0x1080, 0x0000, 0x001d,
2692 +       { 0xc3, 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x00,
2693 +       0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x62,
2694 +       0x01, 0x24, 0x01, 0x62, 0x01, 0x24, 0x01, 0x20,
2695 +       0x01, 0x60, 0x01, 0x00, 0x00 } },
2696 +{ 0x0406, 0x0000, 0x0001,
2697 +       { 0xc0 } },
2698 +{ 0x1085, 0x0000, 0x0008,
2699 +       { 0x00, 0x00, 0x3f, 0x01, 0x00, 0x00, 0xef, 0x00 } },
2700 +{ 0x0200, 0x0000, 0x0011,
2701 +       { 0x48, 0x58, 0x9e, 0x48, 0x58, 0x00, 0x00, 0x00,
2702 +         0x00, 0x84, 0x36, 0x05, 0x01, 0xf2, 0x86, 0x65,
2703 +         0x40 } },
2704 +{ 0x108f, 0x0000, 0x000c,
2705 +       { 0x62, 0x01, 0x24, 0x01, 0x62, 0x01, 0x24, 0x01,
2706 +       0x20, 0x01, 0x60, 0x01 } },
2707 +{ 0x1011, 0x0000, 0x0008,
2708 +       { 0x00, 0x00, 0xef, 0x00, 0x00, 0x00, 0x3f, 0x01 } },
2709 +{ 0x100e, 0x0000, 0x0001,
2710 +       { 0x08 } },
2711 +{ 0x1041, 0x0000, 0x0011,
2712 +       { 0x00, 0x40, 0x62, 0x7b, 0x91, 0xa3, 0xb3, 0xc2,
2713 +       0xd0, 0xdd, 0xe9, 0xf5, 0xf9, 0xf9, 0xf9, 0xf9,
2714 +       0xf9 } },
2715 +{ 0x1003, 0x0000, 0x0001,
2716 +       { 0x00 } },
2717 +{ 0x100f, 0x0000, 0x0002,
2718 +       { 0x0c, 0x0c } },
2719 +{ 0x1003, 0x0000, 0x0001,
2720 +       { 0x06 } },
2721 +{ 0x1041, 0x0000, 0x0011,
2722 +       { 0x00, 0x40, 0x62, 0x7b, 0x91, 0xa3, 0xb3, 0xc2,
2723 +       0xd0, 0xdd, 0xe9, 0xf5, 0xf9, 0xf9, 0xf9, 0xf9,
2724 +       0xf9 } },
2725 +{ 0x100b, 0x0000, 0x0001,
2726 +       { 0x0e } },
2727 +{ 0x100d, 0x0000, 0x0001,
2728 +       { 0x16 } },
2729 +{ 0x100c, 0x0000, 0x0001,
2730 +       { 0x10 } },
2731 +{ 0x0406, 0x0000, 0x0001,
2732 +       { 0xc3 } },
2733 +{ 0x0405, 0x0000, 0x0001,
2734 +       { 0x41 } },
2735 +{ 0x0404, 0x0000, 0x0001,  // INIT_LENGT 36
2736 +       { 0x40 } },
2737 diff -Naur nw802-2.4-0.0.99/Twinkle.init nw802-2.4/Twinkle.init
2738 --- nw802-2.4-0.0.99/Twinkle.init       1970-01-01 01:00:00.000000000 +0100
2739 +++ nw802-2.4/Twinkle.init      2003-11-15 22:21:15.000000000 +0100
2740 @@ -0,0 +1,240 @@
2741 +               { 0x0405, 0x0000, 0x0001,
2742 +                       { 0x61 } },
2743 +               { 0x404, 0x0000, 0x0001,
2744 +                       { 0x01 } },
2745 +               { 0x0406, 0x0000, 0x0001,
2746 +                       { 0x04 } },
2747 +               { 0x0404, 0x0000, 0x0003,
2748 +                       { 0x00, 0x00, 0x00 } },
2749 +               { 0x0505, 0x0000, 0x0001,
2750 +                       { 0x00 } },
2751 +               { 0x0406, 0x0000, 0x0001,
2752 +                       { 0x44 } },
2753 +               { 0x0406, 0x0000, 0x0001,
2754 +                       { 0x00 } },
2755 +               { 0x0000, 0x0000, 0x0040,
2756 +                       { 0x14, 0x83, 0x00, 0xba, 0x01, 0x10, 0x00, 0x4f,
2757 +                         0xef, 0x00, 0x00, 0x60, 0x00, 0x01, 0x00, 0x19,
2758 +                         0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
2759 +                         0x00, 0x01, 0x00, 0x19, 0x00, 0x06, 0x00, 0xfc,
2760 +                         0x01, 0x3e, 0x00, 0x86, 0x00, 0x3e, 0x00, 0x86,
2761 +                         0x00, 0x3e, 0x00, 0x86, 0x00, 0x01, 0x00, 0x01,
2762 +                         0x00, 0x56, 0x00, 0x9e, 0x00, 0x56, 0x00, 0x9e,
2763 +                         0x00, 0x56, 0x00, 0x9e, 0x00, 0x01, 0x00, 0x01 } },
2764 +               { 0x0040, 0x0000, 0x0040,
2765 +                       { 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
2766 +                         0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
2767 +                         0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
2768 +                         0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
2769 +                         0x00, 0xca, 0x03, 0x46, 0x04, 0xca, 0x03, 0x46,
2770 +                         0x04, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
2771 +                         0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0xf0,
2772 +                         0x00, 0x3e, 0x00, 0xaa, 0x00, 0x88, 0x00, 0x2e } },
2773 +               { 0x0080, 0x0000, 0x001f,
2774 +                       { 0xb8, 0x48, 0x0f, 0x04, 0x88, 0x14, 0x68, 0x00,
2775 +                         0x00, 0x00, 0x00, 0x00, 0xa8, 0x01, 0x00, 0x03,
2776 +                         0x00, 0x24, 0x01, 0x01, 0x00, 0x16, 0x00, 0x04,
2777 +                         0x00, 0x4b, 0x00, 0x76, 0x00, 0x86, 0x00 } },
2778 +               { 0x0200, 0x0000, 0x0012,
2779 +                       { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
2780 +                         0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0xa0,
2781 +                         0x40, 0x20 } },
2782 +               { 0x0300, 0x0000, 0x0003,
2783 +                       { 0x03, 0x00, 0x00 } },
2784 +               { 0x0400, 0x0000, 0x0007,
2785 +                       { 0x01, 0x10, 0x00, 0x00, 0x00, 0x61, 0x00 } },
2786 +               { 0x0500, 0x0000, 0x0006,
2787 +                       { 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00 } },
2788 +               { 0x0600, 0x0000, 0x001b,
2789 +                       { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2790 +                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2791 +                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2792 +                         0x00, 0x00, 0x00 } },
2793 +               { 0x0800, 0x0000, 0x0015,
2794 +                       { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2795 +                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2796 +                         0x00, 0x00, 0x00, 0x00, 0x00 } },
2797 +               { 0x1000, 0x0000, 0x0040,
2798 +                       { 0x80, 0x02, 0x20, 0x00, 0x11, 0x00, 0x00, 0x00,
2799 +                         0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x08, 0x08,
2800 +                         0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2801 +                         0x00, 0x49, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00,
2802 +                         0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
2803 +                         0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08,
2804 +                         0x03, 0x00, 0x00, 0x10, 0x00, 0x20, 0x10, 0x06,
2805 +                         0xf7, 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x00, 0x80 } },
2806 +               { 0x1040, 0x0000, 0x0040,
2807 +                       { 0x80, 0x00, 0x05, 0x35, 0x5e, 0x78, 0x8b, 0x99,
2808 +                         0xa4, 0xae, 0xb5, 0xbc, 0xc1, 0xc6, 0xc9, 0xcc,
2809 +                         0xcf, 0xd0, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
2810 +                         0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
2811 +                         0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43,
2812 +                         0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
2813 +                         0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32,
2814 +                         0x43, 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3 } },
2815 +               { 0x1080, 0x0000, 0x001d,
2816 +                       { 0xc3, 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x00,
2817 +                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x62,
2818 +                         0x01, 0x24, 0x01, 0x62, 0x01, 0x24, 0x01, 0x20,
2819 +                         0x01, 0x60, 0x01, 0x00, 0x00 } },
2820 +               { 0x1085, 0x0000, 0x0008,
2821 +                       { 0x00, 0x00, 0x5f, 0x01, 0x00, 0x00, 0x1f, 0x01 } },
2822 +               { 0x0404, 0x0000, 0x0001,
2823 +                       { 0x10 } },
2824 +               { 0x0404, 0x0000, 0x0001,
2825 +                       { 0x00 } },
2826 +               { 0x0405, 0x0000, 0x0001,
2827 +                       { 0x61 } },
2828 +               { 0x0404, 0x0000, 0x0001,
2829 +                       { 0x01 } },
2830 +               { 0x0600, 0x0000, 0x000b,
2831 +                       { 0xc0, 0x12, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
2832 +                          0x00, 0x00, 0x0a } },
2833 +               { 0x0600, 0x0000, 0x000c,
2834 +                       { 0x02, 0x0c, 0x12, 0x07, 0x00, 0x00, 0x00, 0x00,
2835 +                          0x00, 0x00, 0x00, 0x0a } },
2836 +               { 0x0502, 0x0000, 0x0002,
2837 +                       { 0x0c, 0x40 } },
2838 +               { 0x0505, 0x0000, 0x0001,
2839 +                       { 0x01 } },
2840 +               { 0x0600, 0x0000, 0x0001,
2841 +                       { 0x06 } },
2842 +               { 0x0600, 0x0000, 0x0002,
2843 +                       { 0x11, 0x06 } },
2844 +               { 0x0502, 0x0000, 0x0002,
2845 +                       { 0x02, 0x40 } },
2846 +               { 0x0505, 0x0000, 0x0001,
2847 +                       { 0x01 } },
2848 +               { 0x0600, 0x0000, 0x0001,
2849 +                       { 0x00 } },
2850 +               { 0x0600, 0x0000, 0x0002,
2851 +                       { 0x14, 0x00 } },
2852 +               { 0x0502, 0x0000, 0x0002,
2853 +                       { 0x02, 0x40 } },
2854 +               { 0x0505, 0x0000, 0x0001,
2855 +                       { 0x01 } },
2856 +               { 0x0600, 0x0000, 0x0001,
2857 +                       { 0x01 } },
2858 +               { 0x0600, 0x0000, 0x0002,
2859 +                       { 0x13, 0x01 } },
2860 +               { 0x0502, 0x0000, 0x0002,
2861 +                       { 0x02, 0x40 } },
2862 +               { 0x0505, 0x0000, 0x0001,
2863 +                       { 0x01 } },
2864 +               { 0x0600, 0x0000, 0x0001,
2865 +                       { 0x01 } },
2866 +               { 0x0600, 0x0000, 0x0002,
2867 +                       { 0x07, 0x01 } },
2868 +               { 0x0502, 0x0000, 0x0002,
2869 +                       { 0x02, 0x40 } },
2870 +               { 0x0505, 0x0000, 0x0001,
2871 +                       { 0x01 } },
2872 +               { 0x0200, 0x0000, 0x0011,
2873 +                       { 0x48, 0x58, 0x9e, 0x48, 0x58, 0x00, 0x00, 0x00,
2874 +                         0x00, 0x84, 0x36, 0x05, 0x01, 0xf2, 0x86, 0x65,
2875 +                         0x40 } },
2876 +               { 0x0600, 0x0000, 0x0001,
2877 +                       { 0x0c } },
2878 +               { 0x0600, 0x0000, 0x0002,
2879 +                       { 0x02, 0x0c } },
2880 +               { 0x0502, 0x0000, 0x0002,
2881 +                       { 0x02, 0x40 } },
2882 +               { 0x0505, 0x0000, 0x0001,
2883 +                       { 0x01 } },
2884 +               { 0x0600, 0x0000, 0x0001,
2885 +                       { 0x01 } },
2886 +               { 0x0600, 0x0000, 0x0002,
2887 +                       { 0x13, 0x01 } },
2888 +               { 0x0502, 0x0000, 0x0002,
2889 +                       { 0x02, 0x40 } },
2890 +               { 0x0505, 0x0000, 0x0001,
2891 +                       { 0x01 } },
2892 +               { 0x1000, 0x0000, 0x0001,
2893 +                       { 0x01 } },
2894 +               { 0x108f, 0x0000, 0x000c,
2895 +                       { 0x62, 0x01, 0x24, 0x01, 0x62, 0x01, 0x24, 0x01,
2896 +                         0x20, 0x01, 0x60, 0x01 } },
2897 +               { 0x0600, 0x0000, 0x0001,
2898 +                       { 0x0f } },
2899 +               { 0x0600, 0x0000, 0x0002,
2900 +                       { 0x05, 0x0f } },
2901 +               { 0x0502, 0x0000, 0x0002,
2902 +                       { 0x02, 0x40 } },
2903 +               { 0x0505, 0x0000, 0x0001,
2904 +                       { 0x01 } },
2905 +               { 0x0600, 0x0000, 0x0001,
2906 +                       { 0x01 } },
2907 +               { 0x0600, 0x0000, 0x0002,
2908 +                       { 0x13, 0x01 } },
2909 +               { 0x0502, 0x0000, 0x0002,
2910 +                       { 0x02, 0x40 } },
2911 +               { 0x0505, 0x0000, 0x0001,
2912 +                       { 0x01 } },
2913 +               { 0x0600, 0x0000, 0x0006,
2914 +                       { 0x04, 0x0b, 0x01, 0x01, 0x02, 0x17 } },
2915 +               { 0x0600, 0x0000, 0x0007,
2916 +                       { 0x08, 0x04, 0x0b, 0x01, 0x01, 0x02, 0x17 } },
2917 +               { 0x0502, 0x0000, 0x0002,
2918 +                       { 0x08, 0x40 } },
2919 +               { 0x0505, 0x0000, 0x0001,
2920 +                       { 0x01 } },
2921 +               { 0x0600, 0x0000, 0x0002,
2922 +                       { 0x00, 0x01 } },
2923 +               { 0x0600, 0x0000, 0x0003,
2924 +                       { 0x12, 0x00, 0x01 } },
2925 +               { 0x0502, 0x0000, 0x0002,
2926 +                       { 0x03, 0x40 } },
2927 +               { 0x0505, 0x0000, 0x0001,
2928 +                       { 0x01 } },
2929 +               { 0x1011, 0x0000, 0x0008,
2930 +                       { 0x00, 0x00, 0x5f, 0x01, 0x00, 0x00, 0x1f, 0x01 } },
2931 +               { 0x0600, 0x0000, 0x0001,
2932 +                       { 0x00 } },
2933 +               { 0x0600, 0x0000, 0x0002,
2934 +                       { 0x12, 0x00 } },
2935 +               { 0x0502, 0x0000, 0x0002,
2936 +                       { 0x02, 0x40 } },
2937 +               { 0x0505, 0x0000, 0x0001,
2938 +                       { 0x01 } },
2939 +               { 0x0600, 0x0000, 0x0001,
2940 +                       { 0x00 } },
2941 +               { 0x0600, 0x0000, 0x0002,
2942 +                       { 0x0e, 0x00 } },
2943 +               { 0x0502, 0x0000, 0x0002,
2944 +                       { 0x02, 0x40 } },
2945 +               { 0x0505, 0x0000, 0x0001,
2946 +                       { 0x01 } },
2947 +               { 0x0600, 0x0000, 0x0001,
2948 +                       { 0x06 } },
2949 +               { 0x0600, 0x0000, 0x0002,
2950 +                       { 0x11, 0x06 } },
2951 +               { 0x0502, 0x0000, 0x0002,
2952 +                       { 0x02, 0x40 } },
2953 +               { 0x0505, 0x0000, 0x0001,
2954 +                       { 0x01 } },
2955 +               { 0x1041, 0x0000, 0x0011,
2956 +                       { 0x00, 0x17, 0x3f, 0x69, 0x7b, 0x8c, 0x9a, 0xa7,
2957 +                         0xb3, 0xbf, 0xc9, 0xd3, 0xdd, 0xe6, 0xef, 0xf7,
2958 +                         0xf9 } },
2959 +               { 0x1003, 0x0000, 0x0001,
2960 +                       { 0x00 } },
2961 +               { 0x100f, 0x0000, 0x0002,
2962 +                       { 0x0c, 0x0c } },
2963 +               { 0x1003, 0x0000, 0x0001,
2964 +                       { 0x06 } },
2965 +               { 0x1041, 0x0000, 0x0011,
2966 +                       { 0x00, 0x17, 0x3f, 0x69, 0x7b, 0x8c, 0x9a, 0xa7,
2967 +                         0xb3, 0xbf, 0xc9, 0xd3, 0xdd, 0xe6, 0xef, 0xf7,
2968 +                         0xf9 } },
2969 +               { 0x100b, 0x0000, 0x0001,
2970 +                       { 0x19 } },
2971 +               { 0x100d, 0x0000, 0x0001,
2972 +                       { 0x10 } },
2973 +               { 0x100c, 0x0000, 0x0001,
2974 +                       { 0x0d } },
2975 +               { 0x0406, 0x0000, 0x0001,
2976 +                       { 0x03 } },
2977 +               { 0x0405, 0x0000, 0x0001,
2978 +                       { 0x61 } },
2979 +               { 0x0404, 0x0000, 0x0001,
2980 +                       { 0x41 } },