1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-12-11 09:27:32 +02:00
openwrt-xburst/package/nw802-2.4/patches/001-linux_2_6_cvs.patch
nico 99df02f72e add support for NW8xx based USB video devices (closes: #2319)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@8914 3c298f89-4303-0410-b956-a3cf2f4a3e73
2007-09-21 13:06:31 +00:00

2981 lines
97 KiB
Diff
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

diff -Naur nw802-2.4-0.0.99/cvideopro.init nw802-2.4/cvideopro.init
--- nw802-2.4-0.0.99/cvideopro.init 1970-01-01 01:00:00.000000000 +0100
+++ nw802-2.4/cvideopro.init 2003-10-21 18:29:27.000000000 +0200
@@ -0,0 +1,107 @@
+ { 0x0406, 0x0000, 0x0001,
+ { 0x04 } },
+ { 0x0000, 0x0000, 0x0040,
+ { 0x54, 0x96, 0x98, 0xf9, 0x02, 0x18, 0x00, 0x4c,
+ 0x0f, 0x1f, 0x00, 0x0d, 0x02, 0x01, 0x00, 0x19,
+ 0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
+ 0x00, 0x0b, 0x00, 0x1b, 0x00, 0xc8, 0x00, 0xf4,
+ 0x05, 0xb4, 0x00, 0xcc, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0xa2, 0x00, 0xc6, 0x00, 0x60, 0x00, 0xc6,
+ 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01 } },
+ { 0x0040, 0x0000, 0x0040,
+ { 0x00, 0xae, 0x00, 0xd2, 0x00, 0xae, 0x00, 0xd2,
+ 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0xa8, 0x00, 0xc0, 0x00, 0x66, 0x00, 0xc0,
+ 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0x0a, 0x00, 0x54, 0x00, 0x0a, 0x00, 0x54,
+ 0x00, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf6,
+ 0x00, 0x5d, 0x00, 0xc7, 0x00, 0x7e, 0x00, 0x30 } },
+ { 0x0080, 0x0000, 0x001f,
+ { 0x98, 0x43, 0x3f, 0x0d, 0x88, 0x20, 0x80, 0x3f,
+ 0x47, 0xaf, 0x00, 0x00, 0xa8, 0x08, 0x00, 0x11,
+ 0x00, 0x0c, 0x02, 0x0c, 0x00, 0x1c, 0x00, 0x94,
+ 0x00, 0x10, 0x06, 0x24, 0x00, 0x4a, 0x00 } },
+ { 0x0200, 0x0000, 0x0012,
+ { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
+ 0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0xa0,
+ 0x40, 0x20 } },
+ { 0x0300, 0x0000, 0x0003,
+ { 0x03, 0x00, 0x00 } },
+ { 0x0400, 0x0000, 0x0007,
+ { 0x01, 0x10, 0x00, 0x00, 0x00, 0xff, 0x00 } },
+ { 0x0600, 0x0000, 0x0002,
+ { 0x09, 0x99 } },
+ { 0x0800, 0x0000, 0x0015,
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00 } },
+ { 0x1000, 0x0000, 0x0040,
+ { 0xa0, 0x02, 0x80, 0x00, 0x12, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x08, 0x0a,
+ 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x49, 0x13, 0x00, 0x00, 0xe0, 0x00, 0x0c,
+ 0x00, 0x52, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+ 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08,
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x06,
+ 0xf7, 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x10, 0x80 } },
+ { 0x1040, 0x0000, 0x0040,
+ { 0x80, 0x00, 0x05, 0x35, 0x5e, 0x78, 0x8b, 0x99,
+ 0xa4, 0xae, 0xb5, 0xbc, 0xc1, 0xc6, 0xc9, 0xcc,
+ 0xcf, 0xd0, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
+ 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
+ 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43,
+ 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
+ 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32,
+ 0x43, 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3 } },
+ { 0x1080, 0x0000, 0x001b,
+ { 0xc3, 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x05, 0x82,
+ 0x02, 0xe4, 0x01, 0x40, 0x01, 0xf0, 0x00, 0x40,
+ 0x01, 0xf0, 0x00 } },
+ { 0x0200, 0x0000, 0x0011,
+ { 0x3c, 0x50, 0x8c, 0x3c, 0x50, 0x00, 0x00, 0x00,
+ 0x00, 0x78, 0x3f, 0x3f, 0x06, 0xf2, 0x8f, 0xf0,
+ 0x40 } },
+ { 0x101a, 0x0000, 0x0001,
+ { 0x03 } },
+ { 0x1000, 0x0000, 0x0001,
+ { 0xac } },
+ { 0x1085, 0x0000, 0x0008,
+ { 0x00, 0x00, 0x3f, 0x01, 0x00, 0x00, 0xef, 0x00 } },
+ { 0x101b, 0x0000, 0x0002,
+ { 0x3b, 0x01 } },
+ { 0x1011, 0x0000, 0x0008,
+ { 0x61, 0x00, 0xe0, 0x00, 0x49, 0x00, 0xa8, 0x00 } },
+ { 0x101f, 0x0000, 0x0006,
+ { 0x01, 0x20, 0x02, 0xe8, 0x03, 0x00 } },
+ { 0x101d, 0x0000, 0x0002,
+ { 0x40, 0x06 } },
+ { 0x100e, 0x0000, 0x0001,
+ { 0x08 } },
+ { 0x1041, 0x0000, 0x0011,
+ { 0x00, 0x0f, 0x46, 0x62, 0x76, 0x86, 0x94, 0xa0,
+ 0xab, 0xb6, 0xbf, 0xc8, 0xcf, 0xd7, 0xdc, 0xdc,
+ 0xdc } },
+ { 0x1003, 0x0000, 0x0001,
+ { 0x00 } },
+ { 0x100f, 0x0000, 0x0002,
+ { 0x12, 0x12 } },
+ { 0x1003, 0x0000, 0x0001,
+ { 0x0c } },
+ { 0x1041, 0x0000, 0x0011,
+ { 0x00, 0x0f, 0x46, 0x62, 0x76, 0x86, 0x94, 0xa0,
+ 0xab, 0xb6, 0xbf, 0xc8, 0xcf, 0xd7, 0xdc, 0xdc,
+ 0xdc } },
+ { 0x100b, 0x0000, 0x0001,
+ { 0x09 } },
+ { 0x100d, 0x0000, 0x0001,
+ { 0x10 } }, // Exposure
+ { 0x100c, 0x0000, 0x0001,
+ { 0x2f } },
+ { 0x0406, 0x0000, 0x0001,
+ { 0x03 } },
+ { 0x0404, 0x0000, 0x0001,
+ { 0x00 } }
+
diff -Naur nw802-2.4-0.0.99/d-link-350c.init nw802-2.4/d-link-350c.init
--- nw802-2.4-0.0.99/d-link-350c.init 1970-01-01 01:00:00.000000000 +0100
+++ nw802-2.4/d-link-350c.init 2003-09-23 20:15:30.000000000 +0200
@@ -0,0 +1,107 @@
+ { 0x0406, 0x0000, 0x0001,
+ { 0x04 } },
+ { 0x0000, 0x0000, 0x0040,
+ { 0x10, 0x00, 0x00, 0x92, 0x03, 0x10, 0x00, 0x4d,
+ 0x0f, 0x1f, 0x00, 0x0d, 0x02, 0x01, 0x00, 0x19,
+ 0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
+ 0x00, 0x01, 0x00, 0x19, 0x00, 0xce, 0x00, 0xf4,
+ 0x05, 0x3e, 0x00, 0x86, 0x00, 0x3e, 0x00, 0x86,
+ 0x00, 0x3e, 0x00, 0x86, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0x56, 0x00, 0x9e, 0x00, 0x56, 0x00, 0x9e,
+ 0x00, 0x56, 0x00, 0x9e, 0x00, 0x01, 0x00, 0x01 } },
+ { 0x0040, 0x0000, 0x0040,
+ { 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
+ 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
+ 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0xca, 0x03, 0x46, 0x04, 0xca, 0x03, 0x46,
+ 0x04, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0xf0,
+ 0x00, 0x3e, 0x00, 0xaa, 0x00, 0x88, 0x00, 0x2e } },
+ { 0x0080, 0x0000, 0x001f,
+ { 0xb4, 0x6f, 0x3f, 0x0f, 0x88, 0x20, 0x68, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xa8, 0x08, 0x00, 0x11,
+ 0x00, 0x0c, 0x02, 0x01, 0x00, 0x16, 0x00, 0x94,
+ 0x00, 0x10, 0x06, 0x10, 0x00, 0x36, 0x00 } },
+ { 0x0200, 0x0000, 0x0012,
+ { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
+ 0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0xa0,
+ 0x40, 0x20 } },
+ { 0x0300, 0x0000, 0x0003,
+ { 0x03, 0x00, 0x00 } },
+ { 0x0400, 0x0000, 0x0007,
+ { 0x01, 0x10, 0x00, 0x00, 0x00, 0x21, 0x00 } },
+ { 0x0600, 0x0000, 0x0002,
+ { 0x09, 0x99 } },
+ { 0x0800, 0x0000, 0x0015,
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00 } },
+ { 0x1000, 0x0000, 0x0040,
+ { 0xa1, 0x02, 0x80, 0x00, 0x12, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x08, 0x0a,
+ 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x49, 0x13, 0x00, 0x00, 0xc0, 0x00, 0x14,
+ 0x02, 0x00, 0x01, 0x00, 0x00, 0x20, 0x00, 0x00,
+ 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08,
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x06,
+ 0xf7, 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x10, 0x80 } },
+ { 0x1040, 0x0000, 0x0040,
+ { 0x80, 0x00, 0x05, 0x35, 0x5e, 0x78, 0x8b, 0x99,
+ 0xa4, 0xae, 0xb5, 0xbc, 0xc1, 0xc6, 0xc9, 0xcc,
+ 0xcf, 0xd0, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
+ 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
+ 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43,
+ 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
+ 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32,
+ 0x43, 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3 } },
+ { 0x1080, 0x0000, 0x001b,
+ { 0xc3, 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x01, 0x82,
+ 0x02, 0xe4, 0x01, 0x40, 0x01, 0xf0, 0x00, 0x40,
+ 0x01, 0xf0, 0x00 } },
+ { 0x0200, 0x0000, 0x0011,
+ { 0x3c, 0x50, 0x9e, 0x3c, 0x50, 0x00, 0x00, 0x00,
+ 0x00, 0x78, 0x3f, 0x10, 0x02, 0xf2, 0x8f, 0x78,
+ 0x40 } },
+ { 0x101a, 0x0000, 0x0001,
+ { 0x00 } },
+ { 0x1000, 0x0000, 0x0001,
+ { 0xad } },
+ { 0x0000, 0x0000, 0x0001,
+ { 0x08 } },
+ { 0x1085, 0x0000, 0x0008,
+ { 0x00, 0x00, 0x3f, 0x01, 0x00, 0x00, 0xef, 0x00 } },
+ { 0x101b, 0x0000, 0x0002,
+ { 0x00, 0x00 } },
+ { 0x1011, 0x0000, 0x0008,
+ { 0x51, 0x00, 0xf0, 0x00, 0x3d, 0x00, 0xb4, 0x00 } },
+ { 0x101d, 0x0000, 0x0008,
+ { 0x40, 0x06, 0x01, 0x20, 0x02, 0xe8, 0x03, 0x00 } },
+ { 0x100e, 0x0000, 0x0001,
+ { 0x20 } },
+ { 0x1041, 0x0000, 0x0011,
+ { 0x00, 0x07, 0x1e, 0x38, 0x4d, 0x60, 0x70, 0x7f,
+ 0x8e, 0x9b, 0xa8, 0xb4, 0xbf, 0xca, 0xd5, 0xdf,
+ 0xea } },
+ { 0x1003, 0x0000, 0x0001,
+ { 0x00 } },
+ { 0x100f, 0x0000, 0x0002,
+ { 0x11, 0x11 } },
+ { 0x1003, 0x0000, 0x0001,
+ { 0x10 } },
+ { 0x1041, 0x0000, 0x0011,
+ { 0x00, 0x07, 0x1e, 0x38, 0x4d, 0x60, 0x70, 0x7f,
+ 0x8e, 0x9b, 0xa8, 0xb4, 0xbf, 0xca, 0xd5, 0xdf,
+ 0xea } },
+ { 0x100b, 0x0000, 0x0001,
+ { 0x19 } },
+ { 0x100d, 0x0000, 0x0001,
+ { 0x10 } },
+ { 0x100c, 0x0000, 0x0001,
+ { 0x1e } },
+ { 0x0406, 0x0000, 0x0001,
+ { 0x03 } },
+ { 0x0404, 0x0000, 0x0001,
+ { 0x00 } }
+
diff -Naur nw802-2.4-0.0.99/DS3303u.init nw802-2.4/DS3303u.init
--- nw802-2.4-0.0.99/DS3303u.init 1970-01-01 01:00:00.000000000 +0100
+++ nw802-2.4/DS3303u.init 2003-11-13 22:48:31.000000000 +0100
@@ -0,0 +1,108 @@
+ { 0x0506, 0x0000, 0x0001,
+ { 0x04 } },
+ { 0x0000, 0x0000, 0x0040,
+ { 0x16, 0x00, 0x00, 0xf9, 0x02, 0x11, 0x00, 0x0e,
+ 0x01, 0x1f, 0x00, 0x0d, 0x02, 0x01, 0x00, 0x19,
+ 0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
+ 0x00, 0x01, 0x00, 0x19, 0x00, 0xce, 0x00, 0xf4,
+ 0x05, 0x3e, 0x00, 0x86, 0x00, 0x3e, 0x00, 0x86,
+ 0x00, 0x3e, 0x00, 0x86, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0x56, 0x00, 0x9e, 0x00, 0x56, 0x00, 0x9e,
+ 0x00, 0x56, 0x00, 0x9e, 0x00, 0x01, 0x00, 0x01 } },
+ { 0x0040, 0x0000, 0x0040,
+ { 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
+ 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
+ 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0xca, 0x03, 0x46, 0x04, 0xca, 0x03, 0x46,
+ 0x04, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0xf0,
+ 0x00, 0x3e, 0x00, 0xaa, 0x00, 0x88, 0x00, 0x2e } },
+ { 0x0080, 0x0000, 0x0022,
+ { 0xb4, 0x6f, 0x3f, 0x0f, 0x88, 0x20, 0x08, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xa9, 0xa8, 0x1f, 0x00,
+ 0x0d, 0x02, 0x07, 0x00, 0x01, 0x00, 0x19, 0x00,
+ 0xf2, 0x00, 0x18, 0x06, 0x10, 0x06, 0x10, 0x00,
+ 0x36, 0x00 } },
+ { 0x0200, 0x0000, 0x0012,
+ { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
+ 0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0x50,
+ 0x40, 0x20 } },
+ { 0x0300, 0x0000, 0x0003,
+ { 0x03, 0x00, 0x00 } },
+ { 0x0500, 0x0000, 0x0007,
+ { 0x01, 0x10, 0x00, 0x00, 0x00, 0xff, 0x00 } },
+ { 0x0600, 0x0000, 0x0002,
+ { 0x09, 0x99 } },
+ { 0x0800, 0x0000, 0x0015,
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00 } },
+ { 0x1000, 0x0000, 0x0040,
+ { 0x2f, 0x02, 0x80, 0x00, 0x12, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x10, 0x1f, 0x10, 0x08, 0x0a,
+ 0x0a, 0x51, 0x00, 0xf1, 0x00, 0x3c, 0x00, 0xb4,
+ 0x00, 0x01, 0x15, 0xfd, 0x07, 0x3d, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x8c, 0x04, 0x01, 0x20,
+ 0x02, 0x00, 0x03, 0x00, 0x20, 0x00, 0x00, 0x00,
+ 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x06, 0xf7 } },
+ { 0x1040, 0x0000, 0x0040,
+ { 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x10, 0x80, 0x80,
+ 0x00, 0x2d, 0x46, 0x58, 0x67, 0x74, 0x7f, 0x88,
+ 0x94, 0x9d, 0xa6, 0xae, 0xb5, 0xbd, 0xc4, 0xcb,
+ 0xd1, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54, 0x64,
+ 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2, 0xe2,
+ 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
+ 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
+ 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43 } },
+ { 0x1080, 0x0000, 0x0022,
+ { 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
+ 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x3f, 0x01,
+ 0x00, 0x00, 0xef, 0x00, 0x02, 0x0a, 0x82, 0x02,
+ 0xe4, 0x01, 0x40, 0x01, 0xf0, 0x00, 0x40, 0x01,
+ 0xf0, 0x00 } },
+ { 0x0200, 0x0000, 0x0011,
+ { 0x3c, 0x50, 0x9e, 0x3c, 0x50, 0x00, 0x00, 0x00,
+ 0x00, 0x78, 0x3f, 0x3f, 0x00, 0xf2, 0x8f, 0x81,
+ 0x40 } },
+ { 0x101a, 0x0000, 0x0001,
+ { 0x15 } },
+ { 0x1000, 0x0000, 0x0001,
+ { 0x2f } },
+ { 0x108c, 0x0000, 0x0008,
+ { 0x00, 0x00, 0x3f, 0x01, 0x00, 0x00, 0xef, 0x00 } },
+ { 0x101b, 0x0000, 0x0002,
+ { 0x00, 0x00 } },
+ { 0x1011, 0x0000, 0x0008,
+ { 0x61, 0x00, 0xe0, 0x00, 0x49, 0x00, 0xa8, 0x00 } },
+ { 0x1026, 0x0000, 0x0006,
+ { 0x01, 0x20, 0x02, 0xe8, 0x03, 0x00 } },
+ { 0x1024, 0x0000, 0x0002,
+ { 0x40, 0x06 } },
+ { 0x100e, 0x0000, 0x0001,
+ { 0x08 } },
+ { 0x1048, 0x0000, 0x0011,
+ { 0x00, 0x15, 0x40, 0x67, 0x84, 0x9d, 0xb2, 0xc6,
+ 0xd6, 0xe7, 0xf6, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9,
+ 0xf9 } },
+ { 0x1003, 0x0000, 0x0001,
+ { 0x00 } },
+ { 0x100f, 0x0000, 0x0002,
+ { 0x16, 0x16 } },
+ { 0x1003, 0x0000, 0x0001,
+ { 0x0c } },
+ { 0x1048, 0x0000, 0x0011,
+ { 0x00, 0x15, 0x40, 0x67, 0x84, 0x9d, 0xb2, 0xc6,
+ 0xd6, 0xe7, 0xf6, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9,
+ 0xf9 } },
+ { 0x100b, 0x0000, 0x0001,
+ { 0x26 } },
+ { 0x100d, 0x0000, 0x0001,
+ { 0x10 } },
+ { 0x100c, 0x0000, 0x0001,
+ { 0x1c } },
+ { 0x0506, 0x0000, 0x0001,
+ { 0x03 } },
+ { 0x0504, 0x0000, 0x0001,
+ { 0x00 } },
diff -Naur nw802-2.4-0.0.99/kr651us.init nw802-2.4/kr651us.init
--- nw802-2.4-0.0.99/kr651us.init 1970-01-01 01:00:00.000000000 +0100
+++ nw802-2.4/kr651us.init 2007-01-03 21:13:23.000000000 +0100
@@ -0,0 +1,106 @@
+ { 0x0406, 0x0000, 0x0001,
+ { 0x04 } },
+ { 0x0000, 0x0000, 0x0040,
+ { 0x44, 0x96, 0x98, 0xf9, 0x02, 0x18, 0x00, 0x48,
+ 0x0f, 0x1f, 0x00, 0x0d, 0x02, 0x01, 0x00, 0x19,
+ 0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
+ 0x00, 0x0b, 0x00, 0x1b, 0x00, 0xc8, 0x00, 0xf4,
+ 0x05, 0xb4, 0x00, 0xcc, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0xa2, 0x00, 0xc6, 0x00, 0x60, 0x00, 0xc6,
+ 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01 } },
+ { 0x0040, 0x0000, 0x0040,
+ { 0x00, 0xae, 0x00, 0xd2, 0x00, 0xae, 0x00, 0xd2,
+ 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0xa8, 0x00, 0xc0, 0x00, 0x66, 0x00, 0xc0,
+ 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0x0a, 0x00, 0x54, 0x00, 0x0a, 0x00, 0x54,
+ 0x00, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf6,
+ 0x00, 0x5d, 0x00, 0xc7, 0x00, 0x7e, 0x00, 0x30 } },
+ { 0x0080, 0x0000, 0x001f,
+ { 0x18, 0x43, 0x3f, 0x0d, 0x88, 0x20, 0x80, 0x3f,
+ 0x47, 0xaf, 0x00, 0x00, 0xa8, 0x08, 0x00, 0x11,
+ 0x00, 0x0c, 0x02, 0x0c, 0x00, 0x1c, 0x00, 0x94,
+ 0x00, 0x10, 0x06, 0x24, 0x00, 0x4a, 0x00 } },
+ { 0x0200, 0x0000, 0x0012,
+ { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
+ 0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0xa0,
+ 0x40, 0x20 } },
+ { 0x0300, 0x0000, 0x0003,
+ { 0x02, 0x00, 0x00 } },
+ { 0x0400, 0x0000, 0x0007,
+ { 0x01, 0x10, 0x00, 0x00, 0x00, 0x21, 0x00 } },
+ { 0x0600, 0x0000, 0x0002,
+ { 0x09, 0x99 } },
+ { 0x0800, 0x0000, 0x0015,
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00 } },
+ { 0x1000, 0x0000, 0x0040,
+ { 0xa0, 0x02, 0x80, 0x00, 0x12, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x08, 0x0a,
+ 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x49, 0x13, 0x00, 0x00, 0xe0, 0x00, 0x0c,
+ 0x00, 0x52, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+ 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08,
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x06,
+ 0xf7, 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x10, 0x80 } },
+ { 0x1040, 0x0000, 0x0040,
+ { 0x80, 0x00, 0x05, 0x35, 0x5e, 0x78, 0x8b, 0x99,
+ 0xa4, 0xae, 0xb5, 0xbc, 0xc1, 0xc6, 0xc9, 0xcc,
+ 0xcf, 0xd0, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
+ 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
+ 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43,
+ 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
+ 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32,
+ 0x43, 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3 } },
+ { 0x1080, 0x0000, 0x001b,
+ { 0xc3, 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x05, 0x82,
+ 0x02, 0xe4, 0x01, 0x40, 0x01, 0xf0, 0x00, 0x40,
+ 0x01, 0xf0, 0x00 } },
+ { 0x0200, 0x0000, 0x0011,
+ { 0x3c, 0x50, 0x9e, 0x3c, 0x50, 0x00, 0x00, 0x00,
+ 0x00, 0x78, 0x3f, 0x10, 0x02, 0xf2, 0x8f, 0x78,
+ 0x40 } },
+ { 0x101a, 0x0000, 0x0001,
+ { 0x03 } },
+ { 0x1000, 0x0000, 0x0001,
+ { 0xac } },
+ { 0x1085, 0x0000, 0x0008,
+ { 0x00, 0x00, 0x3f, 0x01, 0x00, 0x00, 0xef, 0x00 } },
+ { 0x101b, 0x0000, 0x0002,
+ { 0x00, 0x00 } },
+ { 0x1011, 0x0000, 0x0008,
+ { 0x29, 0x00, 0x18, 0x01, 0x1f, 0x00, 0xd2, 0x00 } },
+ { 0x101d, 0x0000, 0x0006,
+ { 0xe0, 0x00, 0x0c, 0x00, 0x52, 0x00 } },
+ { 0x101d, 0x0000, 0x0002,
+ { 0x28, 0x01 } },
+ { 0x100e, 0x0000, 0x0001,
+ { 0x08 } },
+ { 0x1041, 0x0000, 0x0011,
+ { 0x00, 0x11, 0x3c, 0x5c, 0x74, 0x88, 0x99, 0x8a,
+ 0xb7, 0xc4, 0xd0, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc,
+ 0xdc } },
+ { 0x1003, 0x0000, 0x0001,
+ { 0x00 } },
+ { 0x100f, 0x0000, 0x0002,
+ { 0x0c, 0x0c } },
+ { 0x1003, 0x0000, 0x0001,
+ { 0x0c } },
+ { 0x1041, 0x0000, 0x0011,
+ { 0x00, 0x11, 0x3c, 0x5c, 0x74, 0x88, 0x99, 0x8a,
+ 0xb7, 0xc4, 0xd0, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc,
+ 0xdc } },
+ { 0x100b, 0x0000, 0x0001,
+ { 0x10 } },
+ { 0x100d, 0x0000, 0x0001,
+ { 0x10 } },
+ { 0x100c, 0x0000, 0x0001,
+ { 0x2b } },
+ { 0x0406, 0x0000, 0x0001,
+ { 0x03 } },
+ { 0x0404, 0x0000, 0x0001,
+ { 0x00 } }
diff -Naur nw802-2.4-0.0.99/kritter.init nw802-2.4/kritter.init
--- nw802-2.4-0.0.99/kritter.init 1970-01-01 01:00:00.000000000 +0100
+++ nw802-2.4/kritter.init 2004-03-06 20:28:40.000000000 +0100
@@ -0,0 +1,107 @@
+ { 0x0406, 0x0000, 0x0001,
+ { 0x06 } },
+ { 0x0000, 0x0000, 0x0040,
+ { 0x44, 0x96, 0x98, 0x94, 0x03, 0x18, 0x00, 0x48,
+ 0x0f, 0x1e, 0x00, 0x0c, 0x02, 0x01, 0x00, 0x19,
+ 0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
+ 0x00, 0x0b, 0x00, 0x1b, 0x00, 0x0a, 0x01, 0x28,
+ 0x07, 0xb4, 0x00, 0xcc, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0xa2, 0x00, 0xc6, 0x00, 0x60, 0x00, 0xc6,
+ 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01 } },
+ { 0x0040, 0x0000, 0x0040,
+ { 0x00, 0xae, 0x00, 0xd2, 0x00, 0xae, 0x00, 0xd2,
+ 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0xa8, 0x00, 0xc0, 0x00, 0x66, 0x00, 0xc0,
+ 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0x0a, 0x00, 0x54, 0x00, 0x0a, 0x00, 0x54,
+ 0x00, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf6,
+ 0x00, 0x5d, 0x00, 0x0e, 0x00, 0x7e, 0x00, 0x30 } },
+ { 0x0080, 0x0000, 0x001f,
+ { 0x18, 0x43, 0x3f, 0x0d, 0x88, 0x20, 0x80, 0x3f,
+ 0x47, 0xaf, 0x00, 0x00, 0xa8, 0x08, 0x00, 0x11,
+ 0x00, 0x0b, 0x02, 0x0c, 0x00, 0x1c, 0x00, 0x94,
+ 0x00, 0x10, 0x06, 0x24, 0x00, 0x4a, 0x00 } },
+ { 0x0200, 0x0000, 0x0012,
+ { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
+ 0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0xa0,
+ 0x40, 0x20 } },
+ { 0x0300, 0x0000, 0x0003,
+ { 0x02, 0x00, 0x00 } },
+ { 0x0400, 0x0000, 0x0007,
+ { 0x01, 0x10, 0x00, 0x00, 0x00, 0xff, 0x00 } },
+ { 0x0600, 0x0000, 0x0002,
+ { 0x09, 0x99 } },
+ { 0x0800, 0x0000, 0x0015,
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00 } },
+ { 0x1000, 0x0000, 0x0040,
+ { 0xa0, 0x02, 0x80, 0x00, 0x12, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x08, 0x0a,
+ 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x49, 0x13, 0x00, 0x00, 0xe0, 0x00, 0x0c,
+ 0x00, 0x52, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+ 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08,
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x06,
+ 0xf7, 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x10, 0x80 } },
+ { 0x1040, 0x0000, 0x0040,
+ { 0x80, 0x00, 0x05, 0x35, 0x5e, 0x78, 0x8b, 0x99,
+ 0xa4, 0xae, 0xb5, 0xbc, 0xc1, 0xc6, 0xc9, 0xcc,
+ 0xcf, 0xd0, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
+ 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
+ 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43,
+ 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
+ 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32,
+ 0x43, 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3 } },
+ { 0x1080, 0x0000, 0x001b,
+ { 0xc3, 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x82,
+ 0x02, 0xe4, 0x01, 0x40, 0x01, 0xf0, 0x00, 0x40,
+ 0x01, 0xf0, 0x00 } },
+ { 0x0200, 0x0000, 0x0011,
+ { 0x3c, 0x50, 0x8c, 0x3c, 0x50, 0x00, 0x00, 0x00,
+ 0x00, 0x78, 0x3f, 0x3f, 0x06, 0xf2, 0x8f, 0xf0,
+ 0x40 } },
+ { 0x101a, 0x0000, 0x0001,
+ { 0x03 } },
+ { 0x1000, 0x0000, 0x0001,
+ { 0xaf } },
+ { 0x1085, 0x0000, 0x0008,
+ { 0x00, 0x00, 0x3f, 0x01, 0x00, 0x00, 0xef, 0x00 } },
+ { 0x101b, 0x0000, 0x0002,
+ { 0x3b, 0x01 } },
+ { 0x1011, 0x0000, 0x0008,
+ { 0x61, 0x00, 0xe0, 0x00, 0x49, 0x00, 0xa8, 0x00 } },
+ { 0x101d, 0x0000, 0x0006,
+ { 0xe0, 0x00, 0x0c, 0x00, 0x52, 0x00 } },
+ { 0x101d, 0x0000, 0x0002,
+ { 0x00, 0x00 } },
+ { 0x100e, 0x0000, 0x0001,
+ { 0x08 } },
+ { 0x1041, 0x0000, 0x0011,
+ { 0x00, 0x0d, 0x36, 0x4e, 0x60, 0x6f, 0x7b, 0x86,
+ 0x90, 0x98, 0xa1, 0xa9, 0xb1, 0xb7, 0xbe, 0xc4,
+ 0xcb } },
+ { 0x1003, 0x0000, 0x0001,
+ { 0x00 } },
+ { 0x100f, 0x0000, 0x0002,
+ { 0x0d, 0x0d } },
+ { 0x1003, 0x0000, 0x0001,
+ { 0x02 } },
+ { 0x1041, 0x0000, 0x0011,
+ { 0x00, 0x0d, 0x36, 0x4e, 0x60, 0x6f, 0x7b, 0x86,
+ 0x90, 0x98, 0xa1, 0xa9, 0xb1, 0xb7, 0xbe, 0xc4,
+ 0xcb } },
+ { 0x100b, 0x0000, 0x0001,
+ { 0x17 } },
+ { 0x100d, 0x0000, 0x0001,
+ { 0x10 } },
+ { 0x100c, 0x0000, 0x0001,
+ { 0x1e } },
+ { 0x0406, 0x0000, 0x0001,
+ { 0x03 } },
+ { 0x0404, 0x0000, 0x0001,
+ { 0x00 } }
+
diff -Naur nw802-2.4-0.0.99/LICENSE nw802-2.4/LICENSE
--- nw802-2.4-0.0.99/LICENSE 2003-08-20 23:34:39.000000000 +0200
+++ nw802-2.4/LICENSE 2004-07-06 09:43:53.000000000 +0200
@@ -55,7 +55,7 @@
The precise terms and conditions for copying, distribution and
modification follow.
-
+
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
@@ -110,7 +110,7 @@
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
-
+
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
@@ -168,7 +168,7 @@
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
-
+
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
@@ -225,7 +225,7 @@
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
-
+
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
@@ -278,7 +278,7 @@
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
-
+
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
diff -Naur nw802-2.4-0.0.99/Makefile nw802-2.4/Makefile
--- nw802-2.4-0.0.99/Makefile 2003-08-20 23:34:39.000000000 +0200
+++ nw802-2.4/Makefile 2007-09-05 23:43:35.000000000 +0200
@@ -1,29 +1,4 @@
-# GCC stuff
-GCCLIB=`dirname \`gcc -print-libgcc-file-name\``
-INCLUDES=-nostdinc -I /usr/src/linux/include -I ${GCCLIB}/include/ -include /usr/src/linux/include/linux/modversions.h
-#CFLAGS=-O2 -D__KERNEL__ -DMODULE -Wall -DMODVERSIONS -nostdinc -ggdb
-CFLAGS=-O3 -D__KERNEL__ -DMODULE -Wall -DMODVERSIONS -funroll-loops -frerun-cse-after-loop -funroll-all-loops -fomit-frame-pointer
-#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
-CC=gcc
+KERNEL_SOURCE ?= /lib/modules/`uname -r`/build
-OBJ=nw802.o usbvideo.o nw8xx_regedit
-
-# Build rules
-
-all: $(OBJ)
-
-usbvideo.o: usbvideo.c usbvideo.h
- $(CC) $(CFLAGS) $(INCLUDES) -c -o $@ $<
-
-nw8xx_jpgl.o: nw8xx_jpgl.c nw8xx_jpgl.h
- $(CC) $(CFLAGS) $(INCLUDES) -c -o $@ $<
-
-nw802.o: nw802.c usbvideo.o nw8xx_jpgl.o nw802.init nw801.init nw800.init
- $(CC) $(CFLAGS) $(INCLUDES) -c -o nw802_core.o $<
- $(LD) -r -o $@ nw802_core.o nw8xx_jpgl.o
-
-nw8xx_regedit: nw8xx_regedit.c
- $(CC) $(CFLAGS) `pkg-config gtk+-2.0 --cflags --libs` -o $@ $<
-
-clean:
- rm -f *.so *.o *~ *.swp $(OBJ)
+obj-m := nw8xx.o
+nw8xx-objs := nw8xx_jpgl.o nw802.o
diff -Naur nw802-2.4-0.0.99/mustek_300_mini.init nw802-2.4/mustek_300_mini.init
--- nw802-2.4-0.0.99/mustek_300_mini.init 1970-01-01 01:00:00.000000000 +0100
+++ nw802-2.4/mustek_300_mini.init 2004-11-08 23:16:42.000000000 +0100
@@ -0,0 +1,106 @@
+{ 0x0406, 0x0000, 0x0001,
+ { 0x04 } },
+{ 0x0000, 0x0000, 0x0040,
+ { 0x10, 0x00, 0x00, 0x92, 0x03, 0x10, 0x00, 0x4d,
+ 0x0f, 0x1f, 0x00, 0x0d, 0x02, 0x01, 0x00, 0x19,
+ 0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
+ 0x00, 0x01, 0x00, 0x19, 0x00, 0xce, 0x00, 0xf4,
+ 0x05, 0x3e, 0x00, 0x86, 0x00, 0x3e, 0x00, 0x86,
+ 0x00, 0x3e, 0x00, 0x86, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0x56, 0x00, 0x9e, 0x00, 0x56, 0x00, 0x9e,
+ 0x00, 0x56, 0x00, 0x9e, 0x00, 0x01, 0x00, 0x01 } },
+{ 0x0040, 0x0000, 0x0040,
+ { 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
+ 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
+ 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0xca, 0x03, 0x46, 0x04, 0xca, 0x03, 0x46,
+ 0x04, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0xf0,
+ 0x00, 0x3e, 0x00, 0xaa, 0x00, 0x88, 0x00, 0x2e } },
+{ 0x0080, 0x0000, 0x001f,
+ { 0xb4, 0x6f, 0x3f, 0x0f, 0x88, 0x20, 0x68, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xa8, 0x08, 0x00, 0x11,
+ 0x00, 0x0c, 0x02, 0x01, 0x00, 0x16, 0x00, 0x94,
+ 0x00, 0x10, 0x06, 0xfc, 0x05, 0x0c, 0x06 } },
+{ 0x0200, 0x0000, 0x0012,
+ { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
+ 0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0xa0,
+ 0x40, 0x20 } },
+{ 0x0300, 0x0000, 0x0003,
+ { 0x03, 0x00, 0x00 } },
+{ 0x0400, 0x0000, 0x0007,
+ { 0x01, 0x10, 0x00, 0x00, 0x00, 0x21, 0x00 } },
+{ 0x0600, 0x0000, 0x0002,
+ { 0x09, 0x99 } },
+{ 0x0800, 0x0000, 0x0015,
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00 } },
+{ 0x1000, 0x0000, 0x0040,
+ { 0xa1, 0x02, 0x80, 0x00, 0x13, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x08, 0x0a,
+ 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x49, 0x13, 0x00, 0x00, 0xc0, 0x00, 0x14,
+ 0x02, 0x00, 0x01, 0x00, 0x00, 0x20, 0x00, 0x00,
+ 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08,
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x06,
+ 0xf7, 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x10, 0x80 } },
+{ 0x1040, 0x0000, 0x0040,
+ { 0x80, 0x00, 0x05, 0x35, 0x5e, 0x78, 0x8b, 0x99,
+ 0xa4, 0xae, 0xb5, 0xbc, 0xc1, 0xc6, 0xc9, 0xcc,
+ 0xcf, 0xd0, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
+ 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
+ 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43,
+ 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
+ 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32,
+ 0x43, 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3 } },
+{ 0x1080, 0x0000, 0x001b,
+ { 0xc3, 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x01, 0x82,
+ 0x02, 0xe4, 0x01, 0x40, 0x01, 0xf0, 0x00, 0x40,
+ 0x01, 0xf0, 0x00 } },
+{ 0x0200, 0x0000, 0x0011,
+ { 0x3c, 0x50, 0x9e, 0x3c, 0x50, 0x00, 0x00, 0x00,
+ 0x00, 0x78, 0x3f, 0x10, 0x02, 0xf2, 0x8f, 0x78,
+ 0x40 } },
+{ 0x101a, 0x0000, 0x0001,
+ { 0x00 } },
+{ 0x1000, 0x0000, 0x0001,
+ { 0xad } },
+{ 0x0000, 0x0000, 0x0001,
+ { 0x08 } },
+{ 0x1085, 0x0000, 0x0008,
+ { 0x00, 0x00, 0x3f, 0x01, 0x00, 0x00, 0xef, 0x00 } },
+{ 0x101b, 0x0000, 0x0002,
+ { 0x00, 0x00 } },
+{ 0x1011, 0x0000, 0x0008,
+ { 0x00, 0x00, 0x3f, 0x01, 0x00, 0x00, 0xef, 0x00 } },
+{ 0x101d, 0x0000, 0x0008,
+ { 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20 } },
+{ 0x100e, 0x0000, 0x0001,
+ { 0x0f } },
+{ 0x1041, 0x0000, 0x0011,
+ { 0x00, 0x0f, 0x29, 0x4a, 0x64, 0x7a, 0x8c, 0x9e,
+ 0xad, 0xba, 0xc7, 0xd3, 0xde, 0xe8, 0xf1, 0xf9,
+ 0xff } },
+{ 0x100f, 0x0000, 0x0002,
+ { 0x11, 0x11 } },
+{ 0x1003, 0x0000, 0x0001,
+ { 0x0c } },
+{ 0x1041, 0x0000, 0x0011,
+ { 0x00, 0x0f, 0x29, 0x4a, 0x64, 0x7a, 0x8c, 0x9e,
+ 0xad, 0xba, 0xc7, 0xd3, 0xde, 0xe8, 0xf1, 0xf9,
+ 0xff } },
+{ 0x100b, 0x0000, 0x0001,
+ { 0x1c } },
+{ 0x100d, 0x0000, 0x0001,
+ { 0x1a } },
+{ 0x100c, 0x0000, 0x0001,
+ { 0x34 } },
+{ 0x0405, 0x0000, 0x0001,
+ { 0x61 } },
+{ 0x0404, 0x0000, 0x0001,
+ { 0x40 } },
+{ 0x0406, 0x0000, 0x0001,
+ { 0x03 } }
diff -Naur nw802-2.4-0.0.99/nw800.init nw802-2.4/nw800.init
--- nw802-2.4-0.0.99/nw800.init 2003-08-20 23:34:39.000000000 +0200
+++ nw802-2.4/nw800.init 2004-10-30 11:48:13.000000000 +0200
@@ -1,219 +1,219 @@
- { 0x0500, 0x0000, 0x0001,
- { 0x55 } },
- { 0x109b, 0x0000, 0x0001,
- { 0xaa } },
- { 0x0502, 0x0000, 0x0001,
- { 0x02 } },
- { 0x0600, 0x0000, 0x0002,
- { 0x04, 0xd9 } },
- { 0x0505, 0x0000, 0x0001,
- { 0x00 } },
- { 0x0505, 0x0000, 0x0001,
- { 0x01 } },
- { 0x0406, 0x0000, 0x0001,
- { 0x04 } },
- { 0x0406, 0x0000, 0x0001,
- { 0xc0 } },
- { 0x0000, 0x0000, 0x0040,
- { 0x10, 0x43, 0x00, 0xb4, 0x01, 0x10, 0x00, 0x4f,
- 0xef, 0x0e, 0x00, 0x74, 0x01, 0x01, 0x00, 0x19,
- 0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
- 0x00, 0x01, 0x00, 0x19, 0x00, 0x3e, 0x00, 0x24,
- 0x03, 0x3e, 0x00, 0x86, 0x00, 0x3e, 0x00, 0x86,
- 0x00, 0x3e, 0x00, 0x86, 0x00, 0x01, 0x00, 0x01,
- 0x00, 0x56, 0x00, 0x9e, 0x00, 0x56, 0x00, 0x9e,
- 0x00, 0x56, 0x00, 0x9e, 0x00, 0x01, 0x00, 0x01 } },
- { 0x0040, 0x0000, 0x0040,
- { 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
- 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
- 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
- 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
- 0x00, 0xca, 0x03, 0x46, 0x04, 0xca, 0x03, 0x46,
- 0x04, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0xf0,
- 0x00, 0x3e, 0x00, 0xaa, 0x00, 0x88, 0x00, 0x2e } },
- { 0x0080, 0x0000, 0x001f,
- { 0xa0, 0x48, 0xc3, 0x02, 0x88, 0x0c, 0x68, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xa8, 0x06, 0x00, 0x08,
- 0x00, 0x32, 0x01, 0x01, 0x00, 0x16, 0x00, 0x04,
- 0x00, 0x4b, 0x00, 0x76, 0x00, 0x86, 0x00 } },
- { 0x0200, 0x0000, 0x0012,
- { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
- 0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0xa0,
- 0x40, 0x20 } },
- { 0x0300, 0x0000, 0x0003,
- { 0x03, 0x00, 0x00 } },
- { 0x0400, 0x0000, 0x0007,
- { 0x01, 0x10, 0x00, 0x00, 0x00, 0x61, 0xc0 } },
- { 0x0500, 0x0000, 0x0006,
- { 0xe8, 0x00, 0x00, 0x00, 0x20, 0x20 } },
- { 0x0600, 0x0000, 0x001b,
- { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00 } },
- { 0x0800, 0x0000, 0x0015,
- { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00 } },
- { 0x1000, 0x0000, 0x0040,
- { 0x83, 0x02, 0x20, 0x00, 0x13, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x08, 0x0a,
- 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x49, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
- 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08,
- 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x06,
- 0xf7, 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x10, 0x80 } },
- { 0x1040, 0x0000, 0x0040,
- { 0x80, 0x00, 0x05, 0x35, 0x5e, 0x78, 0x8b, 0x99,
- 0xa4, 0xae, 0xb5, 0xbc, 0xc1, 0xc6, 0xc9, 0xcc,
- 0xcf, 0xd0, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
- 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
- 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43,
- 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
- 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32,
- 0x43, 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3 } },
- { 0x1080, 0x0000, 0x001d,
- { 0xc3, 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x62,
- 0x01, 0x24, 0x01, 0x62, 0x01, 0x24, 0x01, 0x20,
- 0x01, 0x60, 0x01, 0x00, 0x00 } },
- { 0x0404, 0x0000, 0x0001,
- { 0xff } },
- { 0x0406, 0x0000, 0x0001,
- { 0xc4 } },
- { 0x0406, 0x0000, 0x0001,
- { 0xc0 } },
- { 0x0000, 0x0000, 0x0040,
- { 0x10, 0x43, 0x00, 0xb4, 0x01, 0x10, 0x00, 0x4f,
- 0xef, 0x0e, 0x00, 0x74, 0x01, 0x01, 0x00, 0x19,
- 0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
- 0x00, 0x01, 0x00, 0x19, 0x00, 0x3e, 0x00, 0x24,
- 0x03, 0x3e, 0x00, 0x86, 0x00, 0x3e, 0x00, 0x86,
- 0x00, 0x3e, 0x00, 0x86, 0x00, 0x01, 0x00, 0x01,
- 0x00, 0x56, 0x00, 0x9e, 0x00, 0x56, 0x00, 0x9e,
- 0x00, 0x56, 0x00, 0x9e, 0x00, 0x01, 0x00, 0x01 } },
- { 0x0040, 0x0000, 0x0040,
- { 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
- 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
- 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
- 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
- 0x00, 0xca, 0x03, 0x46, 0x04, 0xca, 0x03, 0x46,
- 0x04, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0xf0,
- 0x00, 0x3e, 0x00, 0xaa, 0x00, 0x88, 0x00, 0x2e } },
- { 0x0080, 0x0000, 0x001f,
- { 0xa0, 0x48, 0xc3, 0x02, 0x88, 0x0c, 0x68, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xa8, 0x06, 0x00, 0x08,
- 0x00, 0x32, 0x01, 0x01, 0x00, 0x16, 0x00, 0x04,
- 0x00, 0x4b, 0x00, 0x76, 0x00, 0x86, 0x00 } },
- { 0x0200, 0x0000, 0x0012,
- { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
- 0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0xa0,
- 0x40, 0x20 } },
- { 0x0300, 0x0000, 0x0003,
- { 0x03, 0x00, 0x00 } },
- { 0x0400, 0x0000, 0x0007,
- { 0x01, 0x10, 0x00, 0x00, 0x00, 0x61, 0xc0 } },
- { 0x0500, 0x0000, 0x0006,
- { 0xe8, 0x00, 0x00, 0x00, 0x20, 0x20 } },
- { 0x0600, 0x0000, 0x001b,
- { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00 } },
- { 0x0800, 0x0000, 0x0015,
- { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00 } },
- { 0x1000, 0x0000, 0x0040,
- { 0x83, 0x02, 0x20, 0x00, 0x13, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x08, 0x0a,
- 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x49, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
- 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08,
- 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x06,
- 0xf7, 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x10, 0x80 } },
- { 0x1040, 0x0000, 0x0040,
- { 0x80, 0x00, 0x05, 0x35, 0x5e, 0x78, 0x8b, 0x99,
- 0xa4, 0xae, 0xb5, 0xbc, 0xc1, 0xc6, 0xc9, 0xcc,
- 0xcf, 0xd0, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
- 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
- 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43,
- 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
- 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32,
- 0x43, 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3 } },
- { 0x1080, 0x0000, 0x001d,
- { 0xc3, 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x62,
- 0x01, 0x24, 0x01, 0x62, 0x01, 0x24, 0x01, 0x20,
- 0x01, 0x60, 0x01, 0x00, 0x00 } },
- { 0x0200, 0x0000, 0x0011,
- { 0x48, 0x58, 0x9e, 0x48, 0x58, 0x00, 0x00, 0x00,
- 0x00, 0x84, 0x36, 0x05, 0x01, 0xf2, 0x86, 0x65,
- 0x40 } },
- { 0x0080, 0x0000, 0x0001,
- { 0xa0 } },
- { 0x101a, 0x0000, 0x0001,
- { 0x00 } },
- { 0x0091, 0x0000, 0x0002,
- { 0x6c, 0x01 } },
- { 0x0003, 0x0000, 0x0002,
- { 0xc8, 0x01 } },
- { 0x101a, 0x0000, 0x0001,
- { 0x00 } },
- { 0x1000, 0x0000, 0x0001,
- { 0x83 } },
- { 0x108f, 0x0000, 0x000c,
- { 0x62, 0x01, 0x24, 0x01, 0x62, 0x01, 0x24, 0x01,
- 0x20, 0x01, 0x60, 0x01 } },
- { 0x1085, 0x0000, 0x0008,
- { 0x00, 0x00, 0x5f, 0x01, 0x00, 0x00, 0x1f, 0x01 } },
- { 0x101b, 0x0000, 0x0002,
- { 0x69, 0x00 } },
- { 0x1011, 0x0000, 0x0008,
- { 0x00, 0x00, 0x5f, 0x01, 0x00, 0x00, 0x1f, 0x01 } },
- { 0x0502, 0x0000, 0x0001,
- { 0x02 } },
- { 0x0600, 0x0000, 0x0002,
- { 0x04, 0xd9 } },
- { 0x0505, 0x0000, 0x0001,
- { 0x20 } },
- { 0x0505, 0x0000, 0x0001,
- { 0x21 } },
- { 0x100e, 0x0000, 0x0001,
- { 0x08 } },
- { 0x1041, 0x0000, 0x0011,
- { 0x00, 0x08, 0x21, 0x3d, 0x52, 0x63, 0x75, 0x83,
- 0x91, 0x9e, 0xaa, 0xb6, 0xc1, 0xcc, 0xd6, 0xe0,
- 0xea } },
- { 0x1003, 0x0000, 0x0001,
- { 0x00 } },
- { 0x100f, 0x0000, 0x0002,
- { 0x13, 0x13 } },
- { 0x1003, 0x0000, 0x0001,
- { 0x14 } },
- { 0x1041, 0x0000, 0x0011,
- { 0x00, 0x08, 0x21, 0x3d, 0x52, 0x63, 0x75, 0x83,
- 0x91, 0x9e, 0xaa, 0xb6, 0xc1, 0xcc, 0xd6, 0xe0,
- 0xea } },
- { 0x100b, 0x0000, 0x0001,
- { 0x14 } },
- { 0x100d, 0x0000, 0x0001,
- { 0x20 } },
- { 0x100c, 0x0000, 0x0001,
- { 0x34 } },
- { 0x0406, 0x0000, 0x0001,
- { 0xc3 } },
- { 0x0404, 0x0000, 0x0001,
- { 0x00 } },
- { 0x0502, 0x0000, 0x0001,
- { 0x02 } },
- { 0x0600, 0x0000, 0x0002,
- { 0x00, 0x48 } },
- { 0x0505, 0x0000, 0x0001,
- { 0x20 } },
- { 0x0505, 0x0000, 0x0001,
- { 0x21 } }
+ { 0x0500, 0x0000, 0x0001,
+ { 0x55 } },
+ { 0x109b, 0x0000, 0x0001,
+ { 0xaa } },
+ { 0x0502, 0x0000, 0x0001,
+ { 0x02 } },
+ { 0x0600, 0x0000, 0x0002,
+ { 0x04, 0xd9 } },
+ { 0x0505, 0x0000, 0x0001,
+ { 0x00 } },
+ { 0x0505, 0x0000, 0x0001,
+ { 0x01 } },
+ { 0x0406, 0x0000, 0x0001,
+ { 0x04 } },
+ { 0x0406, 0x0000, 0x0001,
+ { 0xc0 } },
+ { 0x0000, 0x0000, 0x0040,
+ { 0x10, 0x43, 0x00, 0xb4, 0x01, 0x10, 0x00, 0x4f,
+ 0xef, 0x0e, 0x00, 0x74, 0x01, 0x01, 0x00, 0x19,
+ 0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
+ 0x00, 0x01, 0x00, 0x19, 0x00, 0x3e, 0x00, 0x24,
+ 0x03, 0x3e, 0x00, 0x86, 0x00, 0x3e, 0x00, 0x86,
+ 0x00, 0x3e, 0x00, 0x86, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0x56, 0x00, 0x9e, 0x00, 0x56, 0x00, 0x9e,
+ 0x00, 0x56, 0x00, 0x9e, 0x00, 0x01, 0x00, 0x01 } },
+ { 0x0040, 0x0000, 0x0040,
+ { 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
+ 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
+ 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0xca, 0x03, 0x46, 0x04, 0xca, 0x03, 0x46,
+ 0x04, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0xf0,
+ 0x00, 0x3e, 0x00, 0xaa, 0x00, 0x88, 0x00, 0x2e } },
+ { 0x0080, 0x0000, 0x001f,
+ { 0xa0, 0x48, 0xc3, 0x02, 0x88, 0x0c, 0x68, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xa8, 0x06, 0x00, 0x08,
+ 0x00, 0x32, 0x01, 0x01, 0x00, 0x16, 0x00, 0x04,
+ 0x00, 0x4b, 0x00, 0x76, 0x00, 0x86, 0x00 } },
+ { 0x0200, 0x0000, 0x0012,
+ { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
+ 0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0xa0,
+ 0x40, 0x20 } },
+ { 0x0300, 0x0000, 0x0003,
+ { 0x03, 0x00, 0x00 } },
+ { 0x0400, 0x0000, 0x0007,
+ { 0x01, 0x10, 0x00, 0x00, 0x00, 0x61, 0xc0 } },
+ { 0x0500, 0x0000, 0x0006,
+ { 0xe8, 0x00, 0x00, 0x00, 0x20, 0x20 } },
+ { 0x0600, 0x0000, 0x001b,
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00 } },
+ { 0x0800, 0x0000, 0x0015,
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00 } },
+ { 0x1000, 0x0000, 0x0040,
+ { 0x83, 0x02, 0x20, 0x00, 0x13, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x08, 0x0a,
+ 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x49, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+ 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08,
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x06,
+ 0xf7, 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x10, 0x80 } },
+ { 0x1040, 0x0000, 0x0040,
+ { 0x80, 0x00, 0x05, 0x35, 0x5e, 0x78, 0x8b, 0x99,
+ 0xa4, 0xae, 0xb5, 0xbc, 0xc1, 0xc6, 0xc9, 0xcc,
+ 0xcf, 0xd0, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
+ 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
+ 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43,
+ 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
+ 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32,
+ 0x43, 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3 } },
+ { 0x1080, 0x0000, 0x001d,
+ { 0xc3, 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x62,
+ 0x01, 0x24, 0x01, 0x62, 0x01, 0x24, 0x01, 0x20,
+ 0x01, 0x60, 0x01, 0x00, 0x00 } },
+ { 0x0404, 0x0000, 0x0001,
+ { 0xff } },
+ { 0x0406, 0x0000, 0x0001,
+ { 0xc4 } },
+ { 0x0406, 0x0000, 0x0001,
+ { 0xc0 } },
+ { 0x0000, 0x0000, 0x0040,
+ { 0x10, 0x43, 0x00, 0xb4, 0x01, 0x10, 0x00, 0x4f,
+ 0xef, 0x0e, 0x00, 0x74, 0x01, 0x01, 0x00, 0x19,
+ 0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
+ 0x00, 0x01, 0x00, 0x19, 0x00, 0x3e, 0x00, 0x24,
+ 0x03, 0x3e, 0x00, 0x86, 0x00, 0x3e, 0x00, 0x86,
+ 0x00, 0x3e, 0x00, 0x86, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0x56, 0x00, 0x9e, 0x00, 0x56, 0x00, 0x9e,
+ 0x00, 0x56, 0x00, 0x9e, 0x00, 0x01, 0x00, 0x01 } },
+ { 0x0040, 0x0000, 0x0040,
+ { 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
+ 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
+ 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0xca, 0x03, 0x46, 0x04, 0xca, 0x03, 0x46,
+ 0x04, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0xf0,
+ 0x00, 0x3e, 0x00, 0xaa, 0x00, 0x88, 0x00, 0x2e } },
+ { 0x0080, 0x0000, 0x001f,
+ { 0xa0, 0x48, 0xc3, 0x02, 0x88, 0x0c, 0x68, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xa8, 0x06, 0x00, 0x08,
+ 0x00, 0x32, 0x01, 0x01, 0x00, 0x16, 0x00, 0x04,
+ 0x00, 0x4b, 0x00, 0x76, 0x00, 0x86, 0x00 } },
+ { 0x0200, 0x0000, 0x0012,
+ { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
+ 0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0xa0,
+ 0x40, 0x20 } },
+ { 0x0300, 0x0000, 0x0003,
+ { 0x03, 0x00, 0x00 } },
+ { 0x0400, 0x0000, 0x0007,
+ { 0x01, 0x10, 0x00, 0x00, 0x00, 0x61, 0xc0 } },
+ { 0x0500, 0x0000, 0x0006,
+ { 0xe8, 0x00, 0x00, 0x00, 0x20, 0x20 } },
+ { 0x0600, 0x0000, 0x001b,
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00 } },
+ { 0x0800, 0x0000, 0x0015,
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00 } },
+ { 0x1000, 0x0000, 0x0040,
+ { 0x83, 0x02, 0x20, 0x00, 0x13, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x08, 0x0a,
+ 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x49, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+ 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08,
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x06,
+ 0xf7, 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x10, 0x80 } },
+ { 0x1040, 0x0000, 0x0040,
+ { 0x80, 0x00, 0x05, 0x35, 0x5e, 0x78, 0x8b, 0x99,
+ 0xa4, 0xae, 0xb5, 0xbc, 0xc1, 0xc6, 0xc9, 0xcc,
+ 0xcf, 0xd0, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
+ 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
+ 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43,
+ 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
+ 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32,
+ 0x43, 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3 } },
+ { 0x1080, 0x0000, 0x001d,
+ { 0xc3, 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x62,
+ 0x01, 0x24, 0x01, 0x62, 0x01, 0x24, 0x01, 0x20,
+ 0x01, 0x60, 0x01, 0x00, 0x00 } },
+ { 0x0200, 0x0000, 0x0011,
+ { 0x48, 0x58, 0x9e, 0x48, 0x58, 0x00, 0x00, 0x00,
+ 0x00, 0x84, 0x36, 0x05, 0x01, 0xf2, 0x86, 0x65,
+ 0x40 } },
+ { 0x0080, 0x0000, 0x0001,
+ { 0xa0 } },
+ { 0x101a, 0x0000, 0x0001,
+ { 0x00 } },
+ { 0x0091, 0x0000, 0x0002,
+ { 0x6c, 0x01 } },
+ { 0x0003, 0x0000, 0x0002,
+ { 0xc8, 0x01 } },
+ { 0x101a, 0x0000, 0x0001,
+ { 0x00 } },
+ { 0x1000, 0x0000, 0x0001,
+ { 0x83 } },
+ { 0x108f, 0x0000, 0x000c,
+ { 0x62, 0x01, 0x24, 0x01, 0x62, 0x01, 0x24, 0x01,
+ 0x20, 0x01, 0x60, 0x01 } },
+ { 0x1085, 0x0000, 0x0008,
+ { 0x00, 0x00, 0x5f, 0x01, 0x00, 0x00, 0x1f, 0x01 } },
+ { 0x101b, 0x0000, 0x0002,
+ { 0x69, 0x00 } },
+ { 0x1011, 0x0000, 0x0008,
+ { 0x00, 0x00, 0x5f, 0x01, 0x00, 0x00, 0x1f, 0x01 } },
+ { 0x0502, 0x0000, 0x0001,
+ { 0x02 } },
+ { 0x0600, 0x0000, 0x0002,
+ { 0x04, 0xd9 } },
+ { 0x0505, 0x0000, 0x0001,
+ { 0x20 } },
+ { 0x0505, 0x0000, 0x0001,
+ { 0x21 } },
+ { 0x100e, 0x0000, 0x0001,
+ { 0x08 } },
+ { 0x1041, 0x0000, 0x0011,
+ { 0x00, 0x08, 0x21, 0x3d, 0x52, 0x63, 0x75, 0x83,
+ 0x91, 0x9e, 0xaa, 0xb6, 0xc1, 0xcc, 0xd6, 0xe0,
+ 0xea } },
+ { 0x1003, 0x0000, 0x0001,
+ { 0x00 } },
+ { 0x100f, 0x0000, 0x0002,
+ { 0x13, 0x13 } },
+ { 0x1003, 0x0000, 0x0001,
+ { 0x14 } },
+ { 0x1041, 0x0000, 0x0011,
+ { 0x00, 0x08, 0x21, 0x3d, 0x52, 0x63, 0x75, 0x83,
+ 0x91, 0x9e, 0xaa, 0xb6, 0xc1, 0xcc, 0xd6, 0xe0,
+ 0xea } },
+ { 0x100b, 0x0000, 0x0001,
+ { 0x14 } },
+ { 0x100d, 0x0000, 0x0001,
+ { 0x20 } },
+ { 0x100c, 0x0000, 0x0001,
+ { 0x34 } },
+ { 0x0406, 0x0000, 0x0001,
+ { 0xc3 } },
+ { 0x0404, 0x0000, 0x0001,
+ { 0x00 } },
+ { 0x0502, 0x0000, 0x0001,
+ { 0x02 } },
+ { 0x0600, 0x0000, 0x0002,
+ { 0x00, 0x48 } },
+ { 0x0505, 0x0000, 0x0001,
+ { 0x20 } },
+ { 0x0505, 0x0000, 0x0001,
+ { 0x21 } }
diff -Naur nw802-2.4-0.0.99/nw801.init nw802-2.4/nw801.init
--- nw802-2.4-0.0.99/nw801.init 2003-08-20 23:34:39.000000000 +0200
+++ nw802-2.4/nw801.init 2003-08-25 22:22:26.000000000 +0200
@@ -66,7 +66,7 @@
{ 0x3c, 0x50, 0x9e, 0x3c, 0x50, 0x00, 0x00, 0x00,
0x00, 0x78, 0x18, 0x0b, 0x06, 0xa2, 0x86, 0x78 } },
{ 0x020f, 0x0000, 0x0001,
- { 0x78 } },
+ { 0x6b } },
{ 0x101a, 0x0000, 0x0001,
{ 0x15 } },
{ 0x0000, 0x0000, 0x0001,
@@ -82,29 +82,15 @@
{ 0x1019, 0x0000, 0x0001,
{ 0x09 } },
{ 0x1024, 0x0000, 0x0006,
- { 0xc0, 0x00, 0x3f, 0x02, 0x00, 0x01 } },
- { 0x0003, 0x0000, 0x0002,
- { 0x92, 0x03 } },
- { 0x001d, 0x0000, 0x0004,
- { 0xf2, 0x00, 0x24, 0x07 } },
- { 0x007b, 0x0000, 0x0001,
- { 0xcf } },
- { 0x1094, 0x0000, 0x0001,
- { 0x07 } },
+ { 0xc0, 0x00, 0x24, 0x02, 0x00, 0x01 } },
{ 0x0505, 0x0000, 0x0001,
{ 0x01 } },
{ 0x0504, 0x0000, 0x0001,
{ 0x01 } },
{ 0x100e, 0x0000, 0x0001,
- { 0x08 } },
- { 0x1048, 0x0000, 0x0011,
- { 0x00, 0x37, 0x55, 0x6b, 0x7d, 0x8d, 0x9b, 0xa8,
- 0xb4, 0xbf, 0xca, 0xd4, 0xdd, 0xe6, 0xef, 0xf0,
- 0xf0 } },
- { 0x1003, 0x0000, 0x0001,
- { 0x00 } },
+ { 0x18 } },
{ 0x100f, 0x0000, 0x0002,
- { 0x0c, 0x0c } },
+ { 0x12, 0x12 } },
{ 0x1003, 0x0000, 0x0001,
{ 0x08 } },
{ 0x1048, 0x0000, 0x0011,
@@ -112,11 +98,10 @@
0xb4, 0xbf, 0xca, 0xd4, 0xdd, 0xe6, 0xef, 0xf0,
0xf0 } },
{ 0x100b, 0x0000, 0x0001,
- { 0x0a } },
+ { 0x12 } },
{ 0x100d, 0x0000, 0x0001,
- { 0x0b } },
+ { 0x10 } },
{ 0x100c, 0x0000, 0x0001,
- { 0x1c } },
+ { 0x15 } },
{ 0x0506, 0x0000, 0x0001,
{ 0x03 } },
-
diff -Naur nw802-2.4-0.0.99/nw802.c nw802-2.4/nw802.c
--- nw802-2.4-0.0.99/nw802.c 2003-08-21 23:13:37.000000000 +0200
+++ nw802-2.4/nw802.c 2007-09-05 23:29:52.000000000 +0200
@@ -23,11 +23,12 @@
//
// [ sources bestview with tabstop=4 ]
//
-
+
#include <linux/kernel.h>
-#include <linux/slab.h>
#include <linux/module.h>
+#include <linux/init.h>
#include <linux/usb.h>
+#include <linux/miscdevice.h>
#include "usbvideo.h"
#include "nw8xx_jpgl.h"
@@ -77,21 +78,14 @@
typedef struct // This structure lives in struct uvd->user field.
{
unsigned char veio_buf[MAX_VEIO_LEN]; // Buffer for vendor usb I/O
- int type; // Type of the cam
-} nw802_t;
-
-typedef struct // Represent a supported device
-{
- unsigned short int idVendor;
- unsigned short int idProduct;
enum
{
- NW800 = 0,
- NW801 = 1,
- NW802 = 2
- } model;
- char *name;
-} supportedDevice_t;
+ BRIDGE_UNKNOW = 0x00,
+ BRIDGE_NW800,
+ BRIDGE_NW801,
+ BRIDGE_NW802
+ } bridge_type; // Model of the bridge
+} nw802_t;
typedef struct
{
@@ -112,6 +106,17 @@
SIZE_END
};
+
+/* support for a /dev/nw8xx entry */
+/* presently only used to get/set registers */
+
+struct uvd *nw8xx_uvd=NULL;
+
+static unsigned int reg_addr;
+static unsigned char reg_val;
+
+#define NW8XX_IS_OPEN 0x01
+static unsigned long nw8xx_status = 0;
// ============================================================================
// Supported camera lists
// ============================================================================
@@ -119,7 +124,7 @@
// TODO Data must be repeated twice ... Once in one of our structure, the other
// in a kernel standard structure ... I should find a way to 'unify' this !
-static __devinitdata struct usb_device_id nw802_usb_ids[] =
+static struct usb_device_id nw802_usb_ids[] =
{
{ USB_DEVICE( 0x046d, 0xd001 ) }, // Logitech Quickam Pro USB
// (dark focus ring)
@@ -138,16 +143,6 @@
MODULE_DEVICE_TABLE( usb, nw802_usb_ids );
-static supportedDevice_t nw802_supported_devs [] =
- {
- { 0x046d, 0xd001, NW801, "Logitech Quickam Pro USB (dark focus ring)" },
- { 0x052b, 0xd001, NW802, "Ezonics EZCam Pro USB" },
- { 0x055f, 0xd001, NW802, "Mustek WCam 300 / PCLine PCL-W300" },
- { 0x06a5, 0xd001, NW802, "Generic DivIO NW802" },
- { 0x06a5, 0x0000, NW800, "Generic DivIO NW800" },
- {} // End entry ( a null name indicate the end )
- };
-
// ============================================================================
// Global vars
@@ -159,7 +154,7 @@
static int debug_uv = 0; // The debugging level of USB video
#endif
-static int size = SIZE_END;
+static int size = SIZE_320x240;
// Internal vars
@@ -174,13 +169,13 @@
// ============================================================================
#ifdef ENABLE_DEBUG
-MODULE_PARM(debug, "i");
+module_param(debug, int, 0);
MODULE_PARM_DESC(debug, "Debug level: 0-5 (default=0)");
-MODULE_PARM(debug_uv, "i");
+module_param(debug_uv, int, 0);
MODULE_PARM_DESC(debug_uv, "Debug level of USB Video: 0-2 (default=0)");
#endif
-MODULE_PARM(size, "i");
+module_param(size, int, 0);
MODULE_PARM_DESC(size, "Video size: 0=160x120 1=176x144 2=320x240 3=352x288 4=640x480 (default=2)" );
@@ -188,7 +183,7 @@
// Module options related funcs
// ============================================================================
-static void nw802_validate_params( int cam_type )
+static void nw802_validate_params( int bridge_type )
{
#ifdef ENABLE_DEBUG
RESTRICT_TO_RANGE( debug, 0, 5 );
@@ -197,7 +192,7 @@
if ( size == SIZE_END )
- size = nw802_supported_devs[cam_type].model == NW800 ?
+ size = bridge_type == BRIDGE_NW800 ?
SIZE_352x288 : SIZE_320x240;
else
RESTRICT_TO_RANGE( size, 0, SIZE_END - 1 );
@@ -276,6 +271,43 @@
return rv;
}
+static int nw802_test_reg( struct uvd *uvd, int regaddr, unsigned char pattern )
+{
+ // Vars
+ initURB_t urb;
+
+ // Prepare to send the byte
+ urb.len = 1;
+ urb.value = 0;
+ urb.data[0] = pattern;
+ urb.index = regaddr;
+
+ // Send it
+ nw802_vendor_send( uvd, &urb);
+
+ // Reread the value
+ nw802_vendor_read( uvd, regaddr, &urb.data[0], 1 );
+
+ // Is it ok
+ return urb.data[0] == pattern;
+}
+
+static int nw802_autodetect_bridge( struct uvd *uvd )
+{
+ // Autodetect sequence inspired from some log.
+ // We try to detect what registers exists or not.
+ // If 0x0500 does not exist => NW802
+ // If it does, test 0x109B. If it doesn't exists,
+ // then it's a NW801. Else, a NW800
+
+ if ( !nw802_test_reg(uvd, 0x0500, 0x55) )
+ return BRIDGE_NW802;
+
+ if ( !nw802_test_reg(uvd, 0x109B, 0xAA) )
+ return BRIDGE_NW801;
+
+ return BRIDGE_NW800;
+}
static int nw802_init_camera( struct uvd *uvd )
{
@@ -291,7 +323,7 @@
};
- #define NW801_INIT_LEN 38
+ #define NW801_INIT_LEN 32
static const
initURB_t nw801_init[NW801_INIT_LEN] = {
@@ -311,26 +343,29 @@
usb_set_interface( uvd->dev, 0x00, uvd->ifaceAltActive );
// Send all the packets
- switch ( nw802_supported_devs[NW802_T(uvd)->type].model ) {
+ switch ( NW802_T(uvd)->bridge_type ) {
- case NW800:
+ case BRIDGE_NW800:
for ( i=0 ; i < NW800_INIT_LEN ; i++ )
if ( nw802_vendor_send( uvd, &nw800_init[i] ) < 0 )
return -1;
break;
- case NW801:
+ case BRIDGE_NW801:
for ( i=0 ; i < NW801_INIT_LEN ; i++ )
if ( nw802_vendor_send( uvd, &nw801_init[i] ) < 0 )
return -1;
break;
- case NW802:
+ case BRIDGE_NW802:
for ( i=0 ; i < NW802_INIT_LEN ; i++ )
if ( nw802_vendor_send( uvd, &nw802_init[i] ) < 0 )
return -1;
break;
+ default:
+ ERR( "How the hell I'm I supposed to init that bridge ?" );
+
}
return 0;
@@ -355,7 +390,7 @@
// Video capabilities & channel setting
memset( &uvd->vcap, 0, sizeof(uvd->vcap) );
- strcpy( uvd->vcap.name, nw802_supported_devs[NW802_T(uvd)->type].name );
+ strcpy( uvd->vcap.name, "DivIO NW8xx camera" );
uvd->vcap.type = VID_TYPE_CAPTURE;
uvd->vcap.channels = 1;
@@ -375,7 +410,6 @@
uvd->vchan.type = VIDEO_TYPE_CAMERA;
}
-
// Call backs
static void nw802_processIsocData(struct uvd *uvd, struct usbvideo_frame *frame)
@@ -384,7 +418,6 @@
DEBUG( 5, "nw802_processIsocData" );
-
// Try to find first header
rv = jpgl_findHeader( &uvd->dp, canvasX, canvasY, 0 );
@@ -402,22 +435,24 @@
// a frame waiting for decoding
DEBUG( 4, "Frame ready for decoding" );
- if ( !jpgl_processFrame(&uvd->dp, frame->data) )
+ if ( !jpgl_processFrame(&uvd->dp, frame->data, canvasX, canvasY) )
{
// Frame processing was sucessful
frame->frameState = FrameState_Done;
uvd->curframe = -1;
uvd->stats.frame_num++;
- // Overlay stats
+/*
#ifdef ENABLE_DEBUG
if ( debug_uv > 0 )
usbvideo_OverlayStats(uvd, frame);
#endif
+*/
}
else
DEBUG(3, "Invalid frame detected !");
}
+ frame->flags |= USBVIDEO_FRAME_FLAG_SOFTWARE_CONTRAST;
}
static int nw802_setupOnOpen(struct uvd *uvd)
@@ -445,74 +480,63 @@
// I don't know how to stop it ...
}
-static void *nw802_probe( struct usb_device *dev,
- unsigned int ifnum,
+static int nw802_probe( struct usb_interface *intf,
const struct usb_device_id *devid )
{
struct uvd *uvd = NULL;
- int nas, i, type;
+ struct usb_device *dev = interface_to_usbdev(intf);
+ int nas, i;
+ __u8 ifnum = intf->altsetting->desc.bInterfaceNumber;
int actSetting = -1;
int inactSetting = -1;
int maxPS = 0;
unsigned char video_ep = 0;
- DEBUG( 1, "nw802_probe(...)" );
-
// We don't want multiple configuration camera
if ( dev->descriptor.bNumConfigurations != 1 )
- return NULL;
+ return -ENODEV;
+ DEBUG( 1, "nw802_probe(...)" );
- // Check Vendor & Product ID
- for ( i=0 ; nw802_supported_devs[i].name ; i++ )
- if ( ( dev->descriptor.idVendor == nw802_supported_devs[i].idVendor ) &&
- ( dev->descriptor.idProduct == nw802_supported_devs[i].idProduct ) )
- break;
-
- if ( ! nw802_supported_devs[i].name )
- return NULL;
-
- // Ok it's a supported cam ( at least seems to )
- type = i;
- INFO( "Compatible DivIO NW80x based webcam found ! [%s]", nw802_supported_devs[type].name );
+ INFO( "Potentially NW8xx supported cam found ( supported vendor/product IDs )" );
// Let's find endpoint, altsettings, ... and validate all this !
- nas = dev->actconfig->interface[ifnum].num_altsetting;
+ nas = dev->actconfig->interface[ifnum]->num_altsetting;
DEBUG( 2, "Number of alternate settings : %d", nas );
for ( i=0 ; i<nas ; i++ )
{
- const struct usb_interface_descriptor *interface;
+ const struct usb_host_interface *interface;
const struct usb_endpoint_descriptor *endpoint;
- interface = &dev->actconfig->interface[ifnum].altsetting[i];
- if ( interface->bNumEndpoints != 3 )
+ interface = &dev->actconfig->interface[ifnum]->altsetting[i];
+ if ( interface->desc.bNumEndpoints != 3 )
{
ERR( "Interface %u Alt %i has %i endpoints!",
- ifnum, i, interface->bNumEndpoints );
- return NULL;
+ ifnum, i, interface->desc.bNumEndpoints );
+ return -ENODEV;
}
- endpoint = &interface->endpoint[1];
+ endpoint = &interface->endpoint[1].desc;
if ( video_ep == 0 )
video_ep = endpoint->bEndpointAddress;
else if ( video_ep != endpoint->bEndpointAddress )
{
ERR( "Alternate settings have different endpoint addresses!");
- return NULL;
+ return -ENODEV;
}
if ( ( endpoint->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK ) !=
USB_ENDPOINT_XFER_ISOC )
{
ERR( "Interface %u Alt %i has non-ISO endpoint 0!", ifnum, i );
- return NULL;
+ return -ENODEV;
}
if ( ( endpoint->bEndpointAddress & USB_ENDPOINT_DIR_MASK ) == USB_DIR_OUT )
{
ERR( "Interface %u Alt %i has ISO OUT endpoint 0!", ifnum, i );
- return NULL;
+ return -ENODEV;
}
if ( endpoint->wMaxPacketSize == 0 )
@@ -522,7 +546,7 @@
else
{
ERR( "More thant one inactive alt. setting!" );
- return NULL;
+ return -ENODEV;
}
}
else
@@ -546,14 +570,10 @@
if ( ( maxPS == 0 ) || ( actSetting < 0 ) || ( inactSetting < 0 ) )
{
ERR( "No suitable endpoints! Failed to recognize camera!" );
- return NULL;
+ return -ENODEV;
}
-
- // Check the module options
- nw802_validate_params( type );
-
+
// All is Ok, let's register a video device
- MOD_INC_USE_COUNT; // Code below may sleep, use this as a lock
uvd = usbvideo_AllocateDevice(nw802_cams);
if ( uvd )
@@ -575,13 +595,34 @@
uvd->iso_packet_len = maxPS;
uvd->paletteBits = 1L << VIDEO_PALETTE_RGB24;
uvd->defaultPalette = VIDEO_PALETTE_RGB24;
+
+ // Autodetect the bridge type
+ NW802_T(uvd)->bridge_type = nw802_autodetect_bridge(uvd);
+ switch (NW802_T(uvd)->bridge_type) {
+ case BRIDGE_NW800:
+ INFO( "Detected bridge type : DivIO NW800" );
+ break;
+ case BRIDGE_NW801:
+ INFO( "Detected bridge type : DivIO NW801" );
+ break;
+ case BRIDGE_NW802:
+ INFO( "Detected bridge type : DivIO NW802" );
+ break;
+ default:
+ INFO( "Detected bridge type : Martian ..." );
+ break;
+ }
+
+ // Check the module options
+ nw802_validate_params( NW802_T(uvd)->bridge_type );
+
+ // Store the size
uvd->canvas = nw802_size_to_videosize( size );
uvd->videosize = uvd->canvas;
// Init the nw802 specific part of uvd & global var
canvasX = VIDEOSIZE_X( uvd->canvas );
canvasY = VIDEOSIZE_Y( uvd->canvas );
- NW802_T(uvd)->type = type;
// Configure video & register video device
nw802_configure_video( uvd );
@@ -595,82 +636,113 @@
else
ERR( "Failed to allocate usbvideo device!" );
- MOD_DEC_USE_COUNT; // Release the 'lock'
-
- return uvd;
+ usb_set_intfdata (intf, uvd);
+ nw8xx_uvd=uvd;
+ return 0;
}
-static unsigned int reg_addr;
-static unsigned char reg_val;
+static int nw8xx_open(struct inode *inode, struct file *file)
+{
+ if(nw8xx_status & NW8XX_IS_OPEN)
+ goto out_busy;
+
+ nw8xx_status |= NW8XX_IS_OPEN;
+ return 0;
-static int nw8xx_procfs_read(char *page,char **start,off_t off,int count,int *eof,void *data) {
- char *out = page;
- int len;
+out_busy:
+ return -EBUSY;
+}
+
+static int nw8xx_release(struct inode *inode, struct file *file)
+{
+ nw8xx_status &= ~NW8XX_IS_OPEN;
+ return 0;
+}
+
+#define OUTDEVLEN 20
+static ssize_t nw8xx_read(struct file *file, char *buf, size_t count, loff_t *ppos)
+{
+ char out[OUTDEVLEN];
+ int len;
/* Read the register */
- nw802_vendor_read( data, reg_addr, &reg_val, 1 );
+ nw802_vendor_read( nw8xx_uvd, reg_addr, &reg_val, 1 );
- /* Stay under PAGE_SIZE or else */
- out += sprintf(out, "Register %04X = %02X\n", reg_addr, reg_val );
- len = out - page;
- len -= off;
- if (len < count) {
- *eof = 1;
- if (len <= 0)
- return 0;
- } else
- len = count;
- *start = page + off;
- return len;
-}
+ len = sprintf(out, "Register %04X = %02X\n", reg_addr&0xffff, reg_val&0xff );
+ out[OUTDEVLEN-1]=0;
-static int nw8xx_procfs_write(struct file *file,const char *buffer,unsigned long count,void *data) {
+ if (copy_to_user(buf, out, OUTDEVLEN))
+ *ppos+=OUTDEVLEN;
+ return OUTDEVLEN;
+}
- char mybuf[16];
+static ssize_t nw8xx_write(struct file *file, const char *buf, size_t count, loff_t *ppos)
+{
+ char mybuf[255];
initURB_t urb;
+ unsigned int ui,ud;
- // Copy in a string
- if ( count > 15 )
- return -EINVAL;
-
- memcpy( mybuf, buffer, count );
-
- // Scan it
- if ( mybuf[4] == '=' ) {
- // Write request
- sscanf(mybuf,"%04x=%02x", &urb.index, &urb.data[0]);
- urb.len = 1;
- urb.value = 0;
- nw802_vendor_send( data, &urb);
- } else {
- // Change monitored reg
+ if (count<6) { /* set a new register to monitor */
+ if (copy_from_user(mybuf, buf, count)) {
+ return -EFAULT;
+ }
sscanf(mybuf,"%04x", &reg_addr);
- }
-
+ *ppos +=count;
+ return(count);
+ }
+ if ((count>5)&&(count<9)) { /* Write request */
+ if (copy_from_user(mybuf, buf, count))
+ return -EFAULT;
+ if (2==sscanf(mybuf,"%04x=%02x", &ui, &ud)) {
+ urb.index=ui;
+ urb.data[0]=ud;
+ urb.len = 1;
+ urb.value = 0;
+ nw802_vendor_send( nw8xx_uvd, &urb);
+ }
+ *ppos +=count;
+ return(count);
+ }
return count;
}
-
+static struct file_operations nw8xx_fops = {
+ .owner = THIS_MODULE,
+ .open = nw8xx_open,
+ .read = nw8xx_read,
+ .write = nw8xx_write,
+ .release = nw8xx_release,
+
+};
+
+static struct miscdevice nw8xx_device = {
+ MISC_DYNAMIC_MINOR,
+ "nw8xx",
+ &nw8xx_fops
+};
// ============================================================================
// Kernel Module init & exit
// ============================================================================
-static int __init nw802_init()
+static int __init nw802_init(void)
{
int rv;
-
- // Setup callbacks
struct usbvideo_cb cbTbl;
+
+ rv = misc_register(&nw8xx_device);
+ if(rv < 0) {
+ return rv;
+ }
+
memset( &cbTbl, 0, sizeof(cbTbl) );
+ // Setup callbacks
cbTbl.probe = nw802_probe;
cbTbl.setupOnOpen = nw802_setupOnOpen;
cbTbl.videoStart = nw802_videoStart;
cbTbl.videoStop = nw802_videoStop;
cbTbl.processData = nw802_processIsocData;
- cbTbl.procfs_read = nw8xx_procfs_read;
- cbTbl.procfs_write = nw8xx_procfs_write;
// Register usbvideo driver
rv = usbvideo_register( &nw802_cams,
@@ -693,8 +765,9 @@
return rv;
}
-static void __exit nw802_exit()
+static void __exit nw802_exit(void)
{
+ misc_deregister(&nw8xx_device);
usbvideo_Deregister( &nw802_cams );
INFO( "Module unloaded" );
}
diff -Naur nw802-2.4-0.0.99/nw8xx_jpgl.c nw802-2.4/nw8xx_jpgl.c
--- nw802-2.4-0.0.99/nw8xx_jpgl.c 2003-08-20 23:34:39.000000000 +0200
+++ nw802-2.4/nw8xx_jpgl.c 2004-07-06 09:43:54.000000000 +0200
@@ -96,9 +96,10 @@
//
// Variable Lenght Coding related tables, used for AC coefficient decoding
-static char vlcTbl_len[1<<10]; // Meaningful bit count
-static char vlcTbl_run[1<<10]; // Run
-static char vlcTbl_amp[1<<10]; // Amplitude ( without the sign )
+// TODO Check that 7 bits is enough !
+static signed char vlcTbl_len[1<<10]; // Meaningful bit count
+static signed char vlcTbl_run[1<<10]; // Run
+static signed char vlcTbl_amp[1<<10]; // Amplitude ( without the sign )
// YUV->RGB conversion table
static int yuvTbl_y[256];
@@ -125,7 +126,7 @@
#endif
// Code to initialize those tables
-static void vlcTbl_init()
+static void vlcTbl_init(void)
{
// Bases tables used to compute the bigger one
// To understands theses, look at the VLC doc in the
@@ -173,7 +174,7 @@
}
}
-static void yuvTbl_init()
+static void yuvTbl_init(void)
{
// These tables are just pre-multiplied and pre-offseted
// YUV by the book
@@ -194,7 +195,7 @@
}
#ifndef SAFE_CLAMP
-static void clampTbl_init()
+static void clampTbl_init(void)
{
// Instead of doing if(...) to test for overrange, we use
// a clamping table
@@ -430,7 +431,7 @@
// jpgl_findHeader ). A complete frame MUST BE available !
// Return 0 if the frame is valid.
// Another code is an error code
-int jpgl_processFrame( struct RingQueue *rq, unsigned char *fb )
+int jpgl_processFrame( struct RingQueue *rq, unsigned char *fb, unsigned int good_img_width, unsigned int good_img_height )
{
// Vars
struct rqBitReader br;
@@ -461,8 +462,13 @@
img_height = RING_QUEUE_PEEK(rq,2);
RING_QUEUE_DEQUEUE_BYTES(rq,8);
- printk("Frame decoding: fb=%08X W=%d H=%d\n", fb, img_width, img_height);
-
+ // Safety **** HACK/QUICKFIX ALERT ****
+ if ( (img_width != good_img_width) || (img_height != (good_img_height>>2)) ) {
+ img_width = good_img_width;
+ img_height = good_img_height >> 2;
+ printk(KERN_NOTICE "Incoherency corrected. SHOULD NOT HAPPEN !!!! But it does ...");
+ }
+
// Prepare a bit-by-bit reader
rqBR_init(&br, rq);
@@ -583,7 +589,7 @@
*(fb++) = *(Yline++);
*(fb++)= ( Uline[0] + 3*Uline[1] ) >> 2;
*(fb++) = ( Vline[0] + 3*Vline[1] ) >> 2;
- #else
+ #else
// First pixel
yc = yuvTbl_y[*(Yline++)];
uc = Uline[0];
@@ -635,7 +641,7 @@
#ifdef _JPGL_TEST_
fb++;
#endif
- #endif
+ #endif
// Adjust pointers
Uline++;
@@ -696,7 +702,7 @@
}
// Init the decoder. Should only be called once
-void jpgl_initDecoder()
+void jpgl_initDecoder(void)
{
vlcTbl_init();
yuvTbl_init();
diff -Naur nw802-2.4-0.0.99/nw8xx_jpgl.h nw802-2.4/nw8xx_jpgl.h
--- nw802-2.4-0.0.99/nw8xx_jpgl.h 2003-08-20 23:34:39.000000000 +0200
+++ nw802-2.4/nw8xx_jpgl.h 2004-07-06 09:43:54.000000000 +0200
@@ -47,7 +47,7 @@
// jpgl_findHeader ). A complete frame MUST BE available !
// Return 0 if the frame is valid.
// Another code is an error code
-int jpgl_processFrame( struct RingQueue *rq, unsigned char *fb );
+int jpgl_processFrame( struct RingQueue *rq, unsigned char *fb, unsigned int good_img_width, unsigned int good_img_height );
// Find a valid header and return the offset to skip to correctly align
@@ -58,7 +58,7 @@
// Init the decoder. Should only be called once
-void jpgl_initDecoder();
+void jpgl_initDecoder(void);
#endif // __NW8XX_JPGL_H__
diff -Naur nw802-2.4-0.0.99/nw8xx_regedit.c nw802-2.4/nw8xx_regedit.c
--- nw802-2.4-0.0.99/nw8xx_regedit.c 2003-08-20 23:34:39.000000000 +0200
+++ nw802-2.4/nw8xx_regedit.c 2004-07-06 09:43:54.000000000 +0200
@@ -25,8 +25,8 @@
#define U_GAIN_REG 0x100F
#define V_GAIN_REG 0x1010
-#define SHUT1_REG 0x100C
-#define SHUT2_REG 0x100D
+#define SHUT1_REG 0x101B
+#define SHUT2_REG 0x101C
#endif
#ifdef NW801_MODEL
@@ -42,8 +42,13 @@
#define U_GAIN_REG 0x100F
#define V_GAIN_REG 0x1010
-#define SHUT1_REG 0x100C
-#define SHUT2_REG 0x100D
+#define SHUT1_REG 0x101B //?
+#define SHUT2_REG 0x101C //?
+
+#define CLK_REG 0x1019
+#define CLK_REG_MASK 0x08
+
+#define BP_REG 0x1026
#endif
@@ -56,14 +61,14 @@
int raddr, value;
int procfd = -1;
- procfd=open(procpath, O_RDWR);
-
+ procfd=open(procpath, O_RDWR);
+
if ( procfd < 0 ) {
perror("open");
g_error("Can't open the driver proc interface\n");
return 0;
}
-
+
snprintf(buffer, 19, "%04x", addr);
write( procfd, buffer, 4 );
read( procfd, buffer, 18 );
@@ -79,8 +84,8 @@
char buffer[8];
int procfd = -1;
- procfd=open(procpath, O_RDWR);
-
+ procfd=open(procpath, O_RDWR);
+
if ( procfd < 0 ) {
perror("open");
g_error("Can't open the driver proc interface\n");
@@ -107,6 +112,25 @@
writeReg(addr, (unsigned char)(value));
}
+#ifdef NW801_MODEL
+
+static void IndoorToggled( GtkWidget *widget, gpointer data ) {
+ unsigned char value;
+ int addr;
+
+ addr = CLK_REG ;
+ value = readReg( CLK_REG );
+
+ if ( gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)) )
+ value |= CLK_REG_MASK;
+ else
+ value &= ~CLK_REG_MASK;
+
+ writeReg(addr, (unsigned char)(value));
+}
+
+#endif
+
static void SliderChanged( GtkWidget *widget, gpointer data ) {
gdouble value;
int addr;
@@ -143,27 +167,27 @@
void create_gui() {
// Vars
-
+
// Temps
int i, j;
GtkWidget *dummy;
-
+
// Main layout
GtkWidget *window;
GtkWidget *vbox1, *vbox2;
GtkWidget *hbox1, *hbox2;
-
+
GtkWidget *RGBControls_frame;
GtkWidget *YUVControls_frame;
GtkWidget *ShutControls_frame;
GtkWidget *MiscControls_frame;
GtkWidget *LUTTables_frame;
-
+
// LUT Frame
GtkWidget *lutf_vbox, *lutf_nbook;
-
-
-
+
+
+
// Create a window
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
@@ -182,7 +206,7 @@
gtk_container_add (GTK_CONTAINER (window), vbox1);
- // On the top, put
+ // On the top, put
// - RGB Gain/ofs
// - YUV Gain/ofs
// - Shutter control
@@ -194,7 +218,7 @@
RGBControls_frame = gtk_frame_new("RGB Gain/Ofs");
gtk_widget_show(RGBControls_frame);
gtk_box_pack_start(GTK_BOX(hbox1), RGBControls_frame, TRUE, TRUE, 0);
-
+
YUVControls_frame = gtk_frame_new("YUV Gain/Ofs");
gtk_widget_show(YUVControls_frame);
gtk_box_pack_start(GTK_BOX(hbox1), YUVControls_frame, TRUE, TRUE, 0);
@@ -239,11 +263,11 @@
gtk_widget_show(hbox2);
gtk_container_add(GTK_CONTAINER(RGBControls_frame), hbox2);
- createslider(R_GAIN_REG,63,hbox2);
- createslider(G_GAIN_REG,63,hbox2);
- createslider(B_GAIN_REG,63,hbox2);
+ createslider(R_GAIN_REG,63,hbox2);
+ createslider(G_GAIN_REG,63,hbox2);
+ createslider(B_GAIN_REG,63,hbox2);
+
-
// YUV Offset & Gain
// -----------------
@@ -251,10 +275,10 @@
gtk_widget_show(hbox2);
gtk_container_add(GTK_CONTAINER(YUVControls_frame), hbox2);
- createslider(Y_GAIN_REG,63,hbox2);
- createslider(U_GAIN_REG,63,hbox2);
- createslider(V_GAIN_REG,63,hbox2);
-
+ createslider(Y_GAIN_REG,63,hbox2);
+ createslider(U_GAIN_REG,63,hbox2);
+ createslider(V_GAIN_REG,63,hbox2);
+
// Shutter control
// ---------------
@@ -262,12 +286,27 @@
gtk_widget_show(hbox2);
gtk_container_add(GTK_CONTAINER(ShutControls_frame), hbox2);
- createslider(SHUT1_REG,255,hbox2);
- createslider(SHUT2_REG,255,hbox2);
+ createslider(SHUT1_REG,255,hbox2);
+ createslider(SHUT2_REG,255,hbox2);
// Misc
// ----
+#ifdef NW801_MODEL
+
+ hbox2 = gtk_hbox_new(TRUE,0);
+ gtk_widget_show(hbox2);
+ gtk_container_add(GTK_CONTAINER(MiscControls_frame), hbox2);
+ createslider(BP_REG,159,hbox2);
+
+ dummy = gtk_check_button_new_with_label("Outdoor");
+ gtk_widget_show(dummy);
+ gtk_box_pack_start(GTK_BOX(hbox2), dummy, FALSE, FALSE, 0);
+ g_signal_connect(G_OBJECT(dummy), "toggled",
+ G_CALLBACK (IndoorToggled), NULL);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dummy), readReg(CLK_REG) & CLK_REG_MASK);
+
+#endif
// LUT Tables
// ----------
lutf_vbox = gtk_vbox_new(FALSE,1);
diff -Naur nw802-2.4-0.0.99/proscope.init nw802-2.4/proscope.init
--- nw802-2.4-0.0.99/proscope.init 1970-01-01 01:00:00.000000000 +0100
+++ nw802-2.4/proscope.init 2003-10-03 15:44:18.000000000 +0200
@@ -0,0 +1,105 @@
+ { 0x0405, 0x0000, 0x0001,
+ { 0x21 } },
+ { 0x0404, 0x0000, 0x0001,
+ { 0x01 } },
+ { 0x0406, 0x0000, 0x0001,
+ { 0x04 } },
+ { 0x0000, 0x0000, 0x0040,
+ { 0x10, 0x01, 0x00, 0xf9, 0x02, 0x10, 0x00, 0x04,
+ 0x0f, 0x1f, 0x00, 0x0d, 0x02, 0x01, 0x00, 0x19,
+ 0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
+ 0x00, 0x08, 0x00, 0x17, 0x00, 0xce, 0x00, 0xf4,
+ 0x05, 0x3e, 0x00, 0x86, 0x00, 0x3e, 0x00, 0x86,
+ 0x00, 0xce, 0x00, 0xf8, 0x03, 0x3e, 0x00, 0x86,
+ 0x00, 0x56, 0x00, 0x9e, 0x00, 0x56, 0x00, 0x9e,
+ 0x00, 0x56, 0x00, 0x9e, 0x00, 0x01, 0x00, 0x01 } },
+ { 0x0040, 0x0000, 0x0040,
+ { 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0xb6,
+ 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
+ 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0xf6, 0x03, 0x34, 0x04, 0xf6, 0x03, 0x34,
+ 0x04, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0xe8,
+ 0x00, 0x3e, 0x00, 0xaa, 0x00, 0x88, 0x00, 0x2e } },
+ { 0x0080, 0x0000, 0x001f,
+ { 0xb4, 0x6f, 0x1f, 0x0f, 0x08, 0x20, 0xa8, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xa8, 0x08, 0x00, 0x11,
+ 0x00, 0x0c, 0x02, 0x01, 0x00, 0x19, 0x00, 0x94,
+ 0x00, 0x10, 0x06, 0x10, 0x00, 0x36, 0x00 } },
+ { 0x0200, 0x0000, 0x0012,
+ { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
+ 0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0xa0,
+ 0x40, 0x20 } },
+ { 0x0300, 0x0000, 0x0003,
+ { 0x03, 0x00, 0x00 } },
+ { 0x0400, 0x0000, 0x0007,
+ { 0x01, 0x10, 0x00, 0x00, 0x00, 0x21, 0x00 } },
+ { 0x0600, 0x0000, 0x0002,
+ { 0x09, 0x99 } },
+ { 0x0800, 0x0000, 0x0015,
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00 } },
+ { 0x1000, 0x0000, 0x0040,
+ { 0xad, 0x02, 0x80, 0x00, 0x12, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x10, 0x1f, 0x10, 0x08, 0x0a,
+ 0x0a, 0x51, 0x00, 0xf1, 0x00, 0x3c, 0x00, 0xb4,
+ 0x00, 0x49, 0x13, 0x00, 0x00, 0x8c, 0x04, 0x01,
+ 0x20, 0x02, 0x00, 0x03, 0x00, 0x20, 0x00, 0x00,
+ 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08,
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x06,
+ 0xf7, 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x10, 0x80 } },
+ { 0x1040, 0x0000, 0x0040,
+ { 0x80, 0x00, 0x2d, 0x46, 0x58, 0x67, 0x74, 0x7f,
+ 0x88, 0x94, 0x9d, 0xa6, 0xae, 0xb5, 0xbd, 0xc4,
+ 0xcb, 0xd1, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
+ 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
+ 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43,
+ 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
+ 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32,
+ 0x43, 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3 } },
+ { 0x1080, 0x0000, 0x001b,
+ { 0xc3, 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x3f,
+ 0x01, 0x00, 0x00, 0xef, 0x00, 0x09, 0x05, 0x82,
+ 0x02, 0xe4, 0x01, 0x40, 0x01, 0xf0, 0x00, 0x40,
+ 0x01, 0xf0, 0x00 } },
+ { 0x0200, 0x0000, 0x0011,
+ { 0x3c, 0x50, 0x9e, 0x3c, 0x50, 0x00, 0x00, 0x00,
+ 0x00, 0x78, 0x3f, 0x10, 0x02, 0xf2, 0x8f, 0x78,
+ 0x40 } },
+ { 0x101a, 0x0000, 0x0001,
+ { 0x06 } },
+ { 0x0003, 0x0000, 0x0001,
+ { 0xf9, 0x02 } },
+ { 0x1085, 0x0000, 0x0008,
+ { 0x00, 0x00, 0x3f, 0x01, 0x00, 0x00, 0xef, 0x00 } },
+ { 0x101b, 0x0000, 0x0002,
+ { 0x00, 0x00 } },
+ { 0x1011, 0x0000, 0x0008,
+ { 0x00, 0x00, 0x3f, 0x01, 0x00, 0x00, 0xef, 0x00 } },
+ { 0x101d, 0x0000, 0x0008,
+ { 0xc0, 0x0d, 0x01, 0x20, 0x02, 0xe8, 0x03, 0x00 } },
+ { 0x100e, 0x0000, 0x0001,
+ { 0x10 } },
+ { 0x100f, 0x0000, 0x0002,
+ { 0x0c, 0x0c } },
+ { 0x1003, 0x0000, 0x0001,
+ { 0x0c } },
+ { 0x1041, 0x0000, 0x0011,
+ { 0x00, 0x10, 0x51, 0x6e, 0x83, 0x93, 0xa1, 0xae,
+ 0xb9, 0xc3, 0xcc, 0xd4, 0xdd, 0xe4, 0xeb, 0xf2,
+ 0xf9 } },
+ { 0x100b, 0x0000, 0x0001,
+ { 0x0b } },
+ { 0x100d, 0x0000, 0x0001,
+ { 0x10 } }, // Exposure
+ { 0x100c, 0x0000, 0x0001,
+ { 0x1b } },
+ { 0x0406, 0x0000, 0x0001,
+ { 0x03 } },
+ { 0x0405, 0x0000, 0x0001,
+ { 0x21 } },
+ { 0x0404, 0x0000, 0x0001,
+ { 0x00 } }
+
diff -Naur nw802-2.4-0.0.99/README nw802-2.4/README
--- nw802-2.4-0.0.99/README 2003-08-20 23:34:39.000000000 +0200
+++ nw802-2.4/README 2007-01-03 21:13:24.000000000 +0100
@@ -20,6 +20,98 @@
# insmod nw802.o
* 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 ... )
+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.
+
+If you have a Plustek Opticam 500U ( or ProLink DS3303u WebCam).
+----------------------------------------
+Rename the nw801.init to something else ( nw801.init.old for example).
+Then rename the DS3303u.init to nw801.init.
+Open the nw802.c in a editor. Go to line 314.
+
+It looks like this:
+#define NW801_INIT_LEN 32
+
+Change it to this:
+#define NW801_INIT_LEN 31
+
+Save the nw802.c.
+Compile as described above under 'How to use it ?'.
+
+
+If you have a Panasonic GP-KR651US.
+----------------------------------------
+Rename the nw802.init to something else ( nw802.init.old for example).
+Then rename the kr651us.init to nw802.init.
+Compile as described above under 'How to use it ?'.
+
+If you have a iRez Kritter cam.
+----------------------------------------
+Rename the nw802.init to something else ( nw802.init.old for example).
+Then rename the kritter.init to nw802.init.
+Compile as described above under 'How to use it ?'.
+
+
+If you have a D-link dru-350c cam.
+----------------------------------------
+Rename the nw802.init to something else ( nw802.init.old for example).
+Then rename the d-link-350c.init to nw802.init.
+Compile as described above under 'How to use it ?'.
+
+
+If you have a The Scope USB Microscope M2 (ProScope).
+----------------------------------------
+Rename the nw802.init to something else ( nw802.init.old for example).
+Then rename the proscope.init to nw802.init.
+Compile as described above under 'How to use it ?'.
+
+
+If you have a Conceptronic Video Pro 'CVIDEOPRO USB Webcam CCD'.
+----------------------------------------
+Rename the nw802.init to something else ( nw802.init.old for example).
+Then rename the cvideopro.init to nw802.init.
+Compile as described above under 'How to use it ?'.
+
+
+If you have a Trust SpaceCam120 or SpaceCam100 PORTABLE.
+----------------------------------------
+Rename the nw800.init to something else ( nw800.init.old for example).
+Then rename the SpaceCam.init to nw800.init.
+Open the nw802.c in a editor.
+Go to line 127. It looks like this:
+{ USB_DEVICE( 0x06a5, 0x0000 ) }, // Generic NW800
+
+Change it to this:
+{ USB_DEVICE( 0x06a5, 0xd800 ) }, // Generic NW800
+
+Go to line 322. It looks like this:
+#define NW800_INIT_LEN 65
+
+Change it to this:
+#define NW800_INIT_LEN 82
+
+Save the nw802.c.
+Compile as described above under 'How to use it ?'.
+
+If your led goes out and no picture. Try the trust_space.init
+and repeat the above. But set NW800_INIT_LEN 36 .
+
+
+If you have a TwinkleCam.
+----------------------------------------
+Rename the nw800.init to something else ( nw800.init.old for example).
+Then rename the Twinkle.init to nw800.init.
+Open the nw802.c in a editor. Go to line 322.
+
+It looks like this:
+#define NW800_INIT_LEN 65
+
+Change it to this:
+#define NW800_INIT_LEN 95
+
+Save the nw802.c.
+Compile as described above under 'How to use it ?'.
+
+
Something is wrong ...
----------------------
@@ -45,13 +137,13 @@
- Better cam support with automatic chip/cds/ccd detection
- Image control + Auto white balance + Auto exposure
- ...
-
+
FAQ :
----
* I don't have a 2.4.x kernel !
-
+
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 ).
* When will the new driver be ready ?
diff -Naur nw802-2.4-0.0.99/SpaceCam.init nw802-2.4/SpaceCam.init
--- nw802-2.4-0.0.99/SpaceCam.init 1970-01-01 01:00:00.000000000 +0100
+++ nw802-2.4/SpaceCam.init 2003-10-28 00:25:17.000000000 +0100
@@ -0,0 +1,214 @@
+ { 0x0405, 0x0000, 0x0001,
+ { 0x61 } },
+ { 0x404, 0x0000, 0x0001,
+ { 0x01 } },
+ { 0x0406, 0x0000, 0x0001,
+ { 0x04 } },
+ { 0x0404, 0x0000, 0x0003,
+ { 0x00, 0x00, 0x00 } },
+ { 0x0505, 0x0000, 0x0001,
+ { 0x00 } },
+ { 0x0406, 0x0000, 0x0001,
+ { 0x44 } },
+ { 0x0406, 0x0000, 0x0001,
+ { 0x00 } },
+ { 0x0000, 0x0000, 0x0040,
+ { 0x14, 0x83, 0x00, 0xba, 0x01, 0x10, 0x00, 0x4f,
+ 0xef, 0x00, 0x00, 0x60, 0x00, 0x01, 0x00, 0x19,
+ 0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
+ 0x00, 0x01, 0x00, 0x19, 0x00, 0x06, 0x00, 0xfc,
+ 0x01, 0x3e, 0x00, 0x86, 0x00, 0x3e, 0x00, 0x86,
+ 0x00, 0x3e, 0x00, 0x86, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0x56, 0x00, 0x9e, 0x00, 0x56, 0x00, 0x9e,
+ 0x00, 0x56, 0x00, 0x9e, 0x00, 0x01, 0x00, 0x01 } },
+ { 0x0040, 0x0000, 0x0040,
+ { 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
+ 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
+ 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0xca, 0x03, 0x46, 0x04, 0xca, 0x03, 0x46,
+ 0x04, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0xf0,
+ 0x00, 0x3e, 0x00, 0xaa, 0x00, 0x88, 0x00, 0x2e } },
+ { 0x0080, 0x0000, 0x001f,
+ { 0xb8, 0x48, 0x0f, 0x04, 0x88, 0x14, 0x68, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xa8, 0x01, 0x00, 0x03,
+ 0x00, 0x24, 0x01, 0x01, 0x00, 0x16, 0x00, 0x04,
+ 0x00, 0x4b, 0x00, 0x76, 0x00, 0x86, 0x00 } },
+ { 0x0200, 0x0000, 0x0012,
+ { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
+ 0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0xa0,
+ 0x40, 0x20 } },
+ { 0x0300, 0x0000, 0x0003,
+ { 0x03, 0x00, 0x00 } },
+ { 0x0400, 0x0000, 0x0007,
+ { 0x01, 0x10, 0x00, 0x00, 0x00, 0x61, 0x00 } },
+ { 0x0500, 0x0000, 0x0006,
+ { 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00 } },
+ { 0x0600, 0x0000, 0x001b,
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00 } },
+ { 0x0800, 0x0000, 0x0015,
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00 } },
+ { 0x1000, 0x0000, 0x0040,
+ { 0x80, 0x02, 0x20, 0x00, 0x13, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x08, 0x0a,
+ 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x49, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+ 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08,
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x06,
+ 0xf7, 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x10, 0x80 } },
+ { 0x1040, 0x0000, 0x0040,
+ { 0x80, 0x00, 0x05, 0x35, 0x5e, 0x78, 0x8b, 0x99,
+ 0xa4, 0xae, 0xb5, 0xbc, 0xc1, 0xc6, 0xc9, 0xcc,
+ 0xcf, 0xd0, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
+ 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
+ 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43,
+ 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
+ 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32,
+ 0x43, 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3 } },
+ { 0x1080, 0x0000, 0x001d,
+ { 0xc3, 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x62,
+ 0x01, 0x24, 0x01, 0x62, 0x01, 0x24, 0x01, 0x20,
+ 0x01, 0x60, 0x01, 0x00, 0x00 } },
+ { 0x1085, 0x0000, 0x0008,
+ { 0x00, 0x00, 0x5f, 0x01, 0x00, 0x00, 0x1f, 0x01 } },
+ { 0x0404, 0x0000, 0x0001,
+ { 0x40 } },
+ { 0x0404, 0x0000, 0x0001,
+ { 0x00 } },
+ { 0x0600, 0x0000, 0x000b,
+ { 0xc0, 0x12, 0x07, 0x00, 0x00, 0x00, 0x05, 0x00,
+ 0x00, 0x05, 0x05 } },
+ { 0x0600, 0x0000, 0x000c,
+ { 0x02, 0x0c, 0x12, 0x07, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x05, 0x05 } },
+ { 0x0502, 0x0000, 0x0002,
+ { 0x0c, 0x40 } },
+ { 0x0505, 0x0000, 0x0001,
+ { 0x01 } },
+ { 0x0600, 0x0000, 0x0001,
+ { 0x06 } },
+ { 0x0600, 0x0000, 0x0002,
+ { 0x11, 0x06 } },
+ { 0x0502, 0x0000, 0x0002,
+ { 0x02, 0x40 } },
+ { 0x0505, 0x0000, 0x0001,
+ { 0x01 } },
+ { 0x0600, 0x0000, 0x0001,
+ { 0x00 } },
+ { 0x0600, 0x0000, 0x0002,
+ { 0x14, 0x00 } },
+ { 0x0502, 0x0000, 0x0002,
+ { 0x02, 0x40 } },
+ { 0x0505, 0x0000, 0x0001,
+ { 0x01 } },
+ { 0x0600, 0x0000, 0x0001,
+ { 0x01 } },
+ { 0x0600, 0x0000, 0x0002,
+ { 0x13, 0x01 } },
+ { 0x0502, 0x0000, 0x0002,
+ { 0x02, 0x40 } },
+ { 0x0505, 0x0000, 0x0001,
+ { 0x01 } },
+ { 0x0200, 0x0000, 0x0011,
+ { 0x48, 0x58, 0x9e, 0x48, 0x58, 0x00, 0x00, 0x00,
+ 0x00, 0x84, 0x36, 0x05, 0x01, 0xf2, 0x86, 0x65,
+ 0x40 } },
+ { 0x0600, 0x0000, 0x0001,
+ { 0x0c } },
+ { 0x0600, 0x0000, 0x0002,
+ { 0x02, 0x0c } },
+ { 0x0502, 0x0000, 0x0002,
+ { 0x02, 0x40 } },
+ { 0x0505, 0x0000, 0x0001,
+ { 0x01 } },
+ { 0x0600, 0x0000, 0x0001,
+ { 0x00 } },
+ { 0x0600, 0x0000, 0x0002,
+ { 0x0f, 0x00 } },
+ { 0x0502, 0x0000, 0x0002,
+ { 0x02, 0x40 } },
+ { 0x0505, 0x0000, 0x0001,
+ { 0x01 } },
+ { 0x0600, 0x0000, 0x0001,
+ { 0x01 } },
+ { 0x0600, 0x0000, 0x0002,
+ { 0x13, 0x01 } },
+ { 0x0502, 0x0000, 0x0002,
+ { 0x02, 0x40 } },
+ { 0x0505, 0x0000, 0x0001,
+ { 0x01 } },
+ { 0x1000, 0x0000, 0x0001,
+ { 0x01 } },
+ { 0x108f, 0x0000, 0x000c,
+ { 0x62, 0x01, 0x24, 0x01, 0x62, 0x01, 0x24, 0x01,
+ 0x20, 0x01, 0x60, 0x01 } },
+ { 0x0600, 0x0000, 0x0001,
+ { 0x0f } },
+ { 0x0600, 0x0000, 0x0002,
+ { 0x05, 0x0f } },
+ { 0x0502, 0x0000, 0x0002,
+ { 0x02, 0x40 } },
+ { 0x0505, 0x0000, 0x0001,
+ { 0x01 } },
+ { 0x0600, 0x0000, 0x0001,
+ { 0x01 } },
+ { 0x0600, 0x0000, 0x0002,
+ { 0x13, 0x01 } },
+ { 0x0502, 0x0000, 0x0002,
+ { 0x02, 0x40 } },
+ { 0x0505, 0x0000, 0x0001,
+ { 0x01 } },
+ { 0x0600, 0x0000, 0x0006,
+ { 0x0b, 0x0f, 0x05, 0x05, 0x0f, 0x00 } },
+ { 0x0600, 0x0000, 0x0007,
+ { 0x09, 0x0b, 0x0f, 0x05, 0x05, 0x0f, 0x00 } },
+ { 0x0502, 0x0000, 0x0002,
+ { 0x07, 0x40 } },
+ { 0x0505, 0x0000, 0x0001,
+ { 0x01 } },
+ { 0x0600, 0x0000, 0x0002,
+ { 0x04, 0x01 } },
+ { 0x0600, 0x0000, 0x0003,
+ { 0x12, 0x04, 0x01 } },
+ { 0x0502, 0x0000, 0x0002,
+ { 0x03, 0x40 } },
+ { 0x0505, 0x0000, 0x0001,
+ { 0x01 } },
+ { 0x1011, 0x0000, 0x0008,
+ { 0x00, 0x00, 0x5f, 0x01, 0x00, 0x00, 0x1f, 0x01 } },
+ { 0x100e, 0x0000, 0x0001,
+ { 0x08 } },
+ { 0x1041, 0x0000, 0x0011,
+ { 0x00, 0x17, 0x3f, 0x69, 0x7b, 0x8c, 0x9a, 0xa7,
+ 0xb3, 0xbf, 0xc9, 0xd3, 0xdd, 0xe6, 0xef, 0xf7,
+ 0xf9 } },
+ { 0x1003, 0x0000, 0x0001,
+ { 0x00 } },
+ { 0x100f, 0x0000, 0x0002,
+ { 0x13, 0x13 } },
+ { 0x1003, 0x0000, 0x0001,
+ { 0x06 } },
+ { 0x1041, 0x0000, 0x0011,
+ { 0x00, 0x17, 0x3f, 0x69, 0x7b, 0x8c, 0x9a, 0xa7,
+ 0xb3, 0xbf, 0xc9, 0xd3, 0xdd, 0xe6, 0xef, 0xf7,
+ 0xf9 } },
+ { 0x100b, 0x0000, 0x0001,
+ { 0x11 } },
+ { 0x100d, 0x0000, 0x0001,
+ { 0x10 } },
+ { 0x100c, 0x0000, 0x0001,
+ { 0x14 } },
+ { 0x0406, 0x0000, 0x0001,
+ { 0x03 } },
+ { 0x0405, 0x0000, 0x0001,
+ { 0x61 } },
+ { 0x0404, 0x0000, 0x0001,
+ { 0x00 } },
diff -Naur nw802-2.4-0.0.99/trust_space.init nw802-2.4/trust_space.init
--- nw802-2.4-0.0.99/trust_space.init 1970-01-01 01:00:00.000000000 +0100
+++ nw802-2.4/trust_space.init 2004-12-22 17:56:17.000000000 +0100
@@ -0,0 +1,121 @@
+// Trust Spacecam 120 ..item nr 13177. 8 713439 131772
+{ 0x0405, 0x0000, 0x0001,
+ { 0x01 } },
+{ 0x0404, 0x0000, 0x0001,
+ { 0x01 } },
+{ 0x0406, 0x0000, 0x0001,
+ { 0x04 } },
+{ 0x0600, 0x0000, 0x0002,
+ { 0x04, 0xd9 } },
+{ 0x0404, 0x0000, 0x0003,
+ { 0x00, 0x00, 0x00 } },
+{ 0x0505, 0x0000, 0x0001,
+ { 0x00 } },
+{ 0x0406, 0x0000, 0x0001,
+ { 0x44 } },
+{ 0x0000, 0x0000, 0x0040,
+ { 0x10, 0x43, 0x00, 0xc6, 0x01, 0x10, 0x00, 0x4f,
+ 0xef, 0x0e, 0x00, 0x74, 0x01, 0x01, 0x00, 0x19,
+ 0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
+ 0x00, 0x01, 0x00, 0x19, 0x00, 0x3e, 0x00, 0x24,
+ 0x03, 0x3e, 0x00, 0x86, 0x00, 0x3e, 0x00, 0x86,
+ 0x00, 0x3e, 0x00, 0x86, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0x56, 0x00, 0x9e, 0x00, 0x56, 0x00, 0x9e,
+ 0x00, 0x56, 0x00, 0x9e, 0x00, 0x01, 0x00, 0x01 } },
+{ 0x0040, 0x0000, 0x0040,
+ { 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
+ 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
+ 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0xca, 0x03, 0x46, 0x04, 0xca, 0x03, 0x46,
+ 0x04, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0xf0,
+ 0x00, 0x3e, 0x00, 0xaa, 0x00, 0x88, 0x00, 0x2e } },
+{ 0x0080, 0x0000, 0x001f,
+ { 0xb0, 0x48, 0xc3, 0x02, 0x88, 0x0c, 0x68, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xa8, 0x06, 0x00, 0x08,
+ 0x00, 0x9c, 0x03, 0x01, 0x00, 0x16, 0x00, 0x04,
+ 0x00, 0x4b, 0x00, 0x76, 0x00, 0x86, 0x00 } },
+{ 0x0200, 0x0000, 0x0012,
+ { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
+ 0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0xa0,
+ 0x40, 0x20 } },
+{ 0x0300, 0x0000, 0x0003,
+ { 0x03, 0x00, 0x00 } },
+{ 0x0400, 0x0000, 0x0007,
+ { 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00 } },
+{ 0x0500, 0x0000, 0x0006,
+ { 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00 } },
+{ 0x0600, 0x0000, 0x001b,
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00 } },
+{ 0x0800, 0x0000, 0x0015,
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00 } },
+{ 0x1000, 0x0000, 0x0040,
+ { 0x83, 0x02, 0x20, 0x00, 0x11, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x08, 0x0a,
+ 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x49, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+ 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08,
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x06,
+ 0xf7, 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x10, 0x80 } },
+{ 0x1040, 0x0000, 0x0040,
+ { 0x80, 0x00, 0x05, 0x35, 0x5e, 0x78, 0x8b, 0x99,
+ 0xa4, 0xae, 0xb5, 0xbc, 0xc1, 0xc6, 0xc9, 0xcc,
+ 0xcf, 0xd0, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
+ 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
+ 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43,
+ 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
+ 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32,
+ 0x43, 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3 } },
+{ 0x1080, 0x0000, 0x001d,
+ { 0xc3, 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x62,
+ 0x01, 0x24, 0x01, 0x62, 0x01, 0x24, 0x01, 0x20,
+ 0x01, 0x60, 0x01, 0x00, 0x00 } },
+{ 0x0406, 0x0000, 0x0001,
+ { 0xc0 } },
+{ 0x1085, 0x0000, 0x0008,
+ { 0x00, 0x00, 0x3f, 0x01, 0x00, 0x00, 0xef, 0x00 } },
+{ 0x0200, 0x0000, 0x0011,
+ { 0x48, 0x58, 0x9e, 0x48, 0x58, 0x00, 0x00, 0x00,
+ 0x00, 0x84, 0x36, 0x05, 0x01, 0xf2, 0x86, 0x65,
+ 0x40 } },
+{ 0x108f, 0x0000, 0x000c,
+ { 0x62, 0x01, 0x24, 0x01, 0x62, 0x01, 0x24, 0x01,
+ 0x20, 0x01, 0x60, 0x01 } },
+{ 0x1011, 0x0000, 0x0008,
+ { 0x00, 0x00, 0xef, 0x00, 0x00, 0x00, 0x3f, 0x01 } },
+{ 0x100e, 0x0000, 0x0001,
+ { 0x08 } },
+{ 0x1041, 0x0000, 0x0011,
+ { 0x00, 0x40, 0x62, 0x7b, 0x91, 0xa3, 0xb3, 0xc2,
+ 0xd0, 0xdd, 0xe9, 0xf5, 0xf9, 0xf9, 0xf9, 0xf9,
+ 0xf9 } },
+{ 0x1003, 0x0000, 0x0001,
+ { 0x00 } },
+{ 0x100f, 0x0000, 0x0002,
+ { 0x0c, 0x0c } },
+{ 0x1003, 0x0000, 0x0001,
+ { 0x06 } },
+{ 0x1041, 0x0000, 0x0011,
+ { 0x00, 0x40, 0x62, 0x7b, 0x91, 0xa3, 0xb3, 0xc2,
+ 0xd0, 0xdd, 0xe9, 0xf5, 0xf9, 0xf9, 0xf9, 0xf9,
+ 0xf9 } },
+{ 0x100b, 0x0000, 0x0001,
+ { 0x0e } },
+{ 0x100d, 0x0000, 0x0001,
+ { 0x16 } },
+{ 0x100c, 0x0000, 0x0001,
+ { 0x10 } },
+{ 0x0406, 0x0000, 0x0001,
+ { 0xc3 } },
+{ 0x0405, 0x0000, 0x0001,
+ { 0x41 } },
+{ 0x0404, 0x0000, 0x0001, // INIT_LENGT 36
+ { 0x40 } },
diff -Naur nw802-2.4-0.0.99/Twinkle.init nw802-2.4/Twinkle.init
--- nw802-2.4-0.0.99/Twinkle.init 1970-01-01 01:00:00.000000000 +0100
+++ nw802-2.4/Twinkle.init 2003-11-15 22:21:15.000000000 +0100
@@ -0,0 +1,240 @@
+ { 0x0405, 0x0000, 0x0001,
+ { 0x61 } },
+ { 0x404, 0x0000, 0x0001,
+ { 0x01 } },
+ { 0x0406, 0x0000, 0x0001,
+ { 0x04 } },
+ { 0x0404, 0x0000, 0x0003,
+ { 0x00, 0x00, 0x00 } },
+ { 0x0505, 0x0000, 0x0001,
+ { 0x00 } },
+ { 0x0406, 0x0000, 0x0001,
+ { 0x44 } },
+ { 0x0406, 0x0000, 0x0001,
+ { 0x00 } },
+ { 0x0000, 0x0000, 0x0040,
+ { 0x14, 0x83, 0x00, 0xba, 0x01, 0x10, 0x00, 0x4f,
+ 0xef, 0x00, 0x00, 0x60, 0x00, 0x01, 0x00, 0x19,
+ 0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
+ 0x00, 0x01, 0x00, 0x19, 0x00, 0x06, 0x00, 0xfc,
+ 0x01, 0x3e, 0x00, 0x86, 0x00, 0x3e, 0x00, 0x86,
+ 0x00, 0x3e, 0x00, 0x86, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0x56, 0x00, 0x9e, 0x00, 0x56, 0x00, 0x9e,
+ 0x00, 0x56, 0x00, 0x9e, 0x00, 0x01, 0x00, 0x01 } },
+ { 0x0040, 0x0000, 0x0040,
+ { 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
+ 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
+ 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
+ 0x00, 0xca, 0x03, 0x46, 0x04, 0xca, 0x03, 0x46,
+ 0x04, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0xf0,
+ 0x00, 0x3e, 0x00, 0xaa, 0x00, 0x88, 0x00, 0x2e } },
+ { 0x0080, 0x0000, 0x001f,
+ { 0xb8, 0x48, 0x0f, 0x04, 0x88, 0x14, 0x68, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xa8, 0x01, 0x00, 0x03,
+ 0x00, 0x24, 0x01, 0x01, 0x00, 0x16, 0x00, 0x04,
+ 0x00, 0x4b, 0x00, 0x76, 0x00, 0x86, 0x00 } },
+ { 0x0200, 0x0000, 0x0012,
+ { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
+ 0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0xa0,
+ 0x40, 0x20 } },
+ { 0x0300, 0x0000, 0x0003,
+ { 0x03, 0x00, 0x00 } },
+ { 0x0400, 0x0000, 0x0007,
+ { 0x01, 0x10, 0x00, 0x00, 0x00, 0x61, 0x00 } },
+ { 0x0500, 0x0000, 0x0006,
+ { 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00 } },
+ { 0x0600, 0x0000, 0x001b,
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00 } },
+ { 0x0800, 0x0000, 0x0015,
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00 } },
+ { 0x1000, 0x0000, 0x0040,
+ { 0x80, 0x02, 0x20, 0x00, 0x11, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x08, 0x08,
+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x49, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+ 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08,
+ 0x03, 0x00, 0x00, 0x10, 0x00, 0x20, 0x10, 0x06,
+ 0xf7, 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x00, 0x80 } },
+ { 0x1040, 0x0000, 0x0040,
+ { 0x80, 0x00, 0x05, 0x35, 0x5e, 0x78, 0x8b, 0x99,
+ 0xa4, 0xae, 0xb5, 0xbc, 0xc1, 0xc6, 0xc9, 0xcc,
+ 0xcf, 0xd0, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
+ 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
+ 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43,
+ 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
+ 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32,
+ 0x43, 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3 } },
+ { 0x1080, 0x0000, 0x001d,
+ { 0xc3, 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x62,
+ 0x01, 0x24, 0x01, 0x62, 0x01, 0x24, 0x01, 0x20,
+ 0x01, 0x60, 0x01, 0x00, 0x00 } },
+ { 0x1085, 0x0000, 0x0008,
+ { 0x00, 0x00, 0x5f, 0x01, 0x00, 0x00, 0x1f, 0x01 } },
+ { 0x0404, 0x0000, 0x0001,
+ { 0x10 } },
+ { 0x0404, 0x0000, 0x0001,
+ { 0x00 } },
+ { 0x0405, 0x0000, 0x0001,
+ { 0x61 } },
+ { 0x0404, 0x0000, 0x0001,
+ { 0x01 } },
+ { 0x0600, 0x0000, 0x000b,
+ { 0xc0, 0x12, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x0a } },
+ { 0x0600, 0x0000, 0x000c,
+ { 0x02, 0x0c, 0x12, 0x07, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0a } },
+ { 0x0502, 0x0000, 0x0002,
+ { 0x0c, 0x40 } },
+ { 0x0505, 0x0000, 0x0001,
+ { 0x01 } },
+ { 0x0600, 0x0000, 0x0001,
+ { 0x06 } },
+ { 0x0600, 0x0000, 0x0002,
+ { 0x11, 0x06 } },
+ { 0x0502, 0x0000, 0x0002,
+ { 0x02, 0x40 } },
+ { 0x0505, 0x0000, 0x0001,
+ { 0x01 } },
+ { 0x0600, 0x0000, 0x0001,
+ { 0x00 } },
+ { 0x0600, 0x0000, 0x0002,
+ { 0x14, 0x00 } },
+ { 0x0502, 0x0000, 0x0002,
+ { 0x02, 0x40 } },
+ { 0x0505, 0x0000, 0x0001,
+ { 0x01 } },
+ { 0x0600, 0x0000, 0x0001,
+ { 0x01 } },
+ { 0x0600, 0x0000, 0x0002,
+ { 0x13, 0x01 } },
+ { 0x0502, 0x0000, 0x0002,
+ { 0x02, 0x40 } },
+ { 0x0505, 0x0000, 0x0001,
+ { 0x01 } },
+ { 0x0600, 0x0000, 0x0001,
+ { 0x01 } },
+ { 0x0600, 0x0000, 0x0002,
+ { 0x07, 0x01 } },
+ { 0x0502, 0x0000, 0x0002,
+ { 0x02, 0x40 } },
+ { 0x0505, 0x0000, 0x0001,
+ { 0x01 } },
+ { 0x0200, 0x0000, 0x0011,
+ { 0x48, 0x58, 0x9e, 0x48, 0x58, 0x00, 0x00, 0x00,
+ 0x00, 0x84, 0x36, 0x05, 0x01, 0xf2, 0x86, 0x65,
+ 0x40 } },
+ { 0x0600, 0x0000, 0x0001,
+ { 0x0c } },
+ { 0x0600, 0x0000, 0x0002,
+ { 0x02, 0x0c } },
+ { 0x0502, 0x0000, 0x0002,
+ { 0x02, 0x40 } },
+ { 0x0505, 0x0000, 0x0001,
+ { 0x01 } },
+ { 0x0600, 0x0000, 0x0001,
+ { 0x01 } },
+ { 0x0600, 0x0000, 0x0002,
+ { 0x13, 0x01 } },
+ { 0x0502, 0x0000, 0x0002,
+ { 0x02, 0x40 } },
+ { 0x0505, 0x0000, 0x0001,
+ { 0x01 } },
+ { 0x1000, 0x0000, 0x0001,
+ { 0x01 } },
+ { 0x108f, 0x0000, 0x000c,
+ { 0x62, 0x01, 0x24, 0x01, 0x62, 0x01, 0x24, 0x01,
+ 0x20, 0x01, 0x60, 0x01 } },
+ { 0x0600, 0x0000, 0x0001,
+ { 0x0f } },
+ { 0x0600, 0x0000, 0x0002,
+ { 0x05, 0x0f } },
+ { 0x0502, 0x0000, 0x0002,
+ { 0x02, 0x40 } },
+ { 0x0505, 0x0000, 0x0001,
+ { 0x01 } },
+ { 0x0600, 0x0000, 0x0001,
+ { 0x01 } },
+ { 0x0600, 0x0000, 0x0002,
+ { 0x13, 0x01 } },
+ { 0x0502, 0x0000, 0x0002,
+ { 0x02, 0x40 } },
+ { 0x0505, 0x0000, 0x0001,
+ { 0x01 } },
+ { 0x0600, 0x0000, 0x0006,
+ { 0x04, 0x0b, 0x01, 0x01, 0x02, 0x17 } },
+ { 0x0600, 0x0000, 0x0007,
+ { 0x08, 0x04, 0x0b, 0x01, 0x01, 0x02, 0x17 } },
+ { 0x0502, 0x0000, 0x0002,
+ { 0x08, 0x40 } },
+ { 0x0505, 0x0000, 0x0001,
+ { 0x01 } },
+ { 0x0600, 0x0000, 0x0002,
+ { 0x00, 0x01 } },
+ { 0x0600, 0x0000, 0x0003,
+ { 0x12, 0x00, 0x01 } },
+ { 0x0502, 0x0000, 0x0002,
+ { 0x03, 0x40 } },
+ { 0x0505, 0x0000, 0x0001,
+ { 0x01 } },
+ { 0x1011, 0x0000, 0x0008,
+ { 0x00, 0x00, 0x5f, 0x01, 0x00, 0x00, 0x1f, 0x01 } },
+ { 0x0600, 0x0000, 0x0001,
+ { 0x00 } },
+ { 0x0600, 0x0000, 0x0002,
+ { 0x12, 0x00 } },
+ { 0x0502, 0x0000, 0x0002,
+ { 0x02, 0x40 } },
+ { 0x0505, 0x0000, 0x0001,
+ { 0x01 } },
+ { 0x0600, 0x0000, 0x0001,
+ { 0x00 } },
+ { 0x0600, 0x0000, 0x0002,
+ { 0x0e, 0x00 } },
+ { 0x0502, 0x0000, 0x0002,
+ { 0x02, 0x40 } },
+ { 0x0505, 0x0000, 0x0001,
+ { 0x01 } },
+ { 0x0600, 0x0000, 0x0001,
+ { 0x06 } },
+ { 0x0600, 0x0000, 0x0002,
+ { 0x11, 0x06 } },
+ { 0x0502, 0x0000, 0x0002,
+ { 0x02, 0x40 } },
+ { 0x0505, 0x0000, 0x0001,
+ { 0x01 } },
+ { 0x1041, 0x0000, 0x0011,
+ { 0x00, 0x17, 0x3f, 0x69, 0x7b, 0x8c, 0x9a, 0xa7,
+ 0xb3, 0xbf, 0xc9, 0xd3, 0xdd, 0xe6, 0xef, 0xf7,
+ 0xf9 } },
+ { 0x1003, 0x0000, 0x0001,
+ { 0x00 } },
+ { 0x100f, 0x0000, 0x0002,
+ { 0x0c, 0x0c } },
+ { 0x1003, 0x0000, 0x0001,
+ { 0x06 } },
+ { 0x1041, 0x0000, 0x0011,
+ { 0x00, 0x17, 0x3f, 0x69, 0x7b, 0x8c, 0x9a, 0xa7,
+ 0xb3, 0xbf, 0xc9, 0xd3, 0xdd, 0xe6, 0xef, 0xf7,
+ 0xf9 } },
+ { 0x100b, 0x0000, 0x0001,
+ { 0x19 } },
+ { 0x100d, 0x0000, 0x0001,
+ { 0x10 } },
+ { 0x100c, 0x0000, 0x0001,
+ { 0x0d } },
+ { 0x0406, 0x0000, 0x0001,
+ { 0x03 } },
+ { 0x0405, 0x0000, 0x0001,
+ { 0x61 } },
+ { 0x0404, 0x0000, 0x0001,
+ { 0x41 } },