Bug 1332
Summary: | sidewinder driver broken for gameports | ||
---|---|---|---|
Product: | Drivers | Reporter: | Scott Robinson (scott_osdl) |
Component: | Input Devices | Assignee: | Dmitry Torokhov (dmitry.torokhov) |
Status: | REJECTED UNREPRODUCIBLE | ||
Severity: | normal | CC: | bmichaelsen, marillat, nacc, protasnb, vojtech |
Priority: | P2 | ||
Hardware: | i386 | ||
OS: | Linux | ||
Kernel Version: | 2.6.0-test6 | Subsystem: | |
Regression: | --- | Bisected commit-id: | |
Attachments: |
an other joydump result 15 index (the other as only 8 index)
printk in sidewinder, I don't know what are the firsts values??? The second time I reload sidewinder, there are no strange printk at the begining... |
Description
Scott Robinson
2003-10-07 04:29:00 UTC
This looks like a HW problem. Either sidewinder/emu10k incompatibility or a dead sidewinder. Can you try to insert the 'joydump' module to see if anything is coming out of the sidewinder? I have the same probleme with ns558 on i810 gameport. The joystick work well on 2.4 with SB live pci and AWE 64 isa. See http://sourceforge.net/mailarchive/forum.php?thread_id=5057077&forum_id=1751 for more detail and the joydump result. I have also put some printk in sidewinder see atachement Created attachment 3382 [details]
an other joydump result 15 index (the other as only 8 index)
Created attachment 3383 [details]
printk in sidewinder, I don't know what are the firsts values???
for this I add some printk as you can see below, and set strobe to 400.
strobe = 400;//gameport_time(gameport, SW_STROBE);
bitout = start;
pending = 0;
sched = 0;
local_irq_save(flags); /* Quiet,
please
*/
gameport_trigger(gameport); /* Trigger */
v = gameport_read(gameport);
do {
bitout--;
u = v;
v = gameport_read(gameport);
printk("u v : %x %x\n",u,v);
} while (!(~v & u & 0x10) && (bitout > 0)); /* Wait for
firs
t falling edge on clock */
if (bitout > 0) bitout = strobe; /* Extend time
i
f not timed out */
printk("bitout : %d\n",bitout);
while ((timeout > 0 || bitout > 0) && (i < length)) {
timeout--;
bitout--; /* Decrement
tim
ers */
sched--;
u = v;
v = gameport_read(gameport);
printk("bitout1 : %d v %x %x\n",bitout,v,~u & v);
if ((~u & v & 0x10) && (bitout > 0)) { /* Rising edge
o
n clock - data bit */
printk("ok\n");
if (i >= 0) /* Want this
dat
a */
buf[i] = v >> 5; /* Store it */
i++; /* Advance
index
*/
bitout = strobe; /* Extend
timeou
t for next bit */
}
Created attachment 3384 [details]
The second time I reload sidewinder, there are no strange printk at the begining...
I can confirm this, My Sidewinder 3D Pro doesnt work under 2.6 anymore - it did flawlessly work with 2.4 kernels (I tried both the analog and the sidewinder driver). "Sidewinder doesnt work under 2.6 anyone" means "doesnt work in any 2.6 kernel I tried anyone" of cause (this including 2.6.1/2/3/4/5/6/8.1 and 9rc2) I'm new to this... but I've got a problem with my Microsoft Sidewinder Precision Pro (gameport). When I initiate the module for it, I get this: ------------------------------------------------------------- drivers/input/joystick/sidewinder.c: Init 0: Opened <NULL>, io 0x0, speed 1125 sidewinder.c: Read 48 triplets. [11111111766666660011111177776777111110006766666 7] drivers/input/joystick/sidewinder.c: Init 1: Mode 1. Length 48. sidewinder.c: Read 0 triplets. [] drivers/input/joystick/sidewinder.c: Init 2: Mode 1. ID Length 0. sidewinder.c: Read 16 triplets. [7770007775771404] drivers/input/joystick/sidewinder.c: Init 2b: Mode 1. Length 16. sidewinder.c: Read 0 triplets. [] drivers/input/joystick/sidewinder.c: Init 2c: ID Length 0. sidewinder.c: Read 16 triplets. [7770007775771404] drivers/input/joystick/sidewinder.c: Init 3: Mode 1. Length 16. Last 0. Tries 15 . drivers/input/joystick/sidewinder.c: Init 3a: Case 16. sidewinder.c: Read 16 triplets. [7770007775771404] drivers/input/joystick/sidewinder.c: Init 3: Mode 1. Length 16. Last 16. Tries 1 4. sidewinder.c: Read 16 triplets. [7770007775771404] drivers/input/joystick/sidewinder.c: Init 3: Mode 1. Length 16. Last 16. Tries 1 3. sidewinder.c: Read 16 triplets. [7770007775771404] drivers/input/joystick/sidewinder.c: Init 3: Mode 1. Length 16. Last 16. Tries 1 2. sidewinder.c: Read 16 triplets. [7770007775771404] drivers/input/joystick/sidewinder.c: Init 3: Mode 1. Length 16. Last 16. Tries 1 1. sidewinder.c: Read 16 triplets. [7770007775771404] drivers/input/joystick/sidewinder.c: Init 3: Mode 1. Length 16. Last 16. Tries 1 0. sidewinder.c: Read 16 triplets. [7770007775771404] drivers/input/joystick/sidewinder.c: Init 3: Mode 1. Length 16. Last 16. Tries 9 . sidewinder.c: Read 16 triplets. [7770007775771404] drivers/input/joystick/sidewinder.c: Init 3: Mode 1. Length 16. Last 16. Tries 8 . sidewinder.c: Read 16 triplets. [7770007775771404] drivers/input/joystick/sidewinder.c: Init 3: Mode 1. Length 16. Last 16. Tries 7 . sidewinder.c: Read 16 triplets. [7770007775771404] drivers/input/joystick/sidewinder.c: Init 3: Mode 1. Length 16. Last 16. Tries 6 . sidewinder.c: Read 16 triplets. [7770007775771404] drivers/input/joystick/sidewinder.c: Init 3: Mode 1. Length 16. Last 16. Tries 5. sidewinder.c: Read 16 triplets. [7770007775771404] drivers/input/joystick/sidewinder.c: Init 3: Mode 1. Length 16. Last 16. Tries 4. sidewinder.c: Read 16 triplets. [7770007775770400] drivers/input/joystick/sidewinder.c: Init 3: Mode 1. Length 16. Last 16. Tries 3. sidewinder.c: Read 16 triplets. [7770007775770400] drivers/input/joystick/sidewinder.c: Init 3: Mode 1. Length 16. Last 16. Tries 2. sidewinder.c: Read 16 triplets. [7770007775770400] drivers/input/joystick/sidewinder.c: Init 3: Mode 1. Length 16. Last 16. Tries 1. sidewinder.c: Read 16 triplets. [7770007775770400] drivers/input/joystick/sidewinder.c: Init 3: Mode 1. Length 16. Last 16. Tries 0. sidewinder.c: unknown joystick device detected on <NULL>, contact <vojtech@ucw.cz> sidewinder.c: ID packet, 0 bits. [] sidewinder.c: Data packet, 16 bits. [0fc7] ------------------------------------------------------------- When I probe joydump, I get this: ------------------------------------------------------------- joydump: ,------------------- START ------------------. joydump: | Dumping gameport<NULL>. joydump: | Speed: 1125 kHz. | joydump: >------------------- DATA -------------------< joydump: | index: 0 delta: 0.00 us data: 11011110 | joydump: | index: 1 delta: 0 us data: 11011111 | joydump: | index: 2 delta: 90 us data: 11001111 | joydump: | index: 3 delta: 2 us data: 10001111 | joydump: | index: 4 delta: 1 us data: 00001111 | joydump: | index: 5 delta: 13 us data: 00101111 | joydump: | index: 6 delta: 1 us data: 00111111 | joydump: | index: 7 delta: 8 us data: 00101111 | joydump: | index: 8 delta: 8 us data: 00111111 | joydump: | index: 9 delta: 9 us data: 00101111 | joydump: | index: 10 delta: 8 us data: 00111111 | joydump: | index: 11 delta: 8 us data: 00101111 | joydump: | index: 12 delta: 8 us data: 00111111 | joydump: | index: 13 delta: 8 us data: 00101111 | joydump: | index: 14 delta: 9 us data: 00111111 | joydump: | index: 15 delta: 1 us data: 00111110 | joydump: | index: 16 delta: 7 us data: 00101110 | joydump: | index: 17 delta: 24 us data: 00111110 | joydump: | index: 18 delta: 9 us data: 00101110 | joydump: | index: 19 delta: 8 us data: 00111110 | joydump: | index: 20 delta: 8 us data: 00101110 | joydump: | index: 21 delta: 8 us data: 00111110 | joydump: | index: 22 delta: 4 us data: 11111110 | joydump: | index: 23 delta: 4 us data: 11101110 | joydump: | index: 24 delta: 9 us data: 11111110 | joydump: | index: 25 delta: 8 us data: 11101110 | joydump: | index: 26 delta: 7 us data: 11001110 | joydump: | index: 27 delta: 1 us data: 11011110 | joydump: | index: 28 delta: 9 us data: 11001110 | joydump: | index: 29 delta: 8 us data: 11011110 | joydump: | index: 30 delta: 8 us data: 11001110 | joydump: | index: 31 delta: 8 us data: 11011110 | joydump: | index: 32 delta: 8 us data: 11001110 | joydump: | index: 33 delta: 8 us data: 11011110 | joydump: | index: 34 delta: 8 us data: 11001110 | joydump: | index: 35 delta: 8 us data: 11011110 | joydump: | index: 36 delta: 8 us data: 11001110 | joydump: | index: 37 delta: 9 us data: 11011110 | joydump: | index: 38 delta: 8 us data: 11001110 | joydump: | index: 39 delta: 8 us data: 11011110 | joydump: | index: 40 delta: 4 us data: 00011110 | joydump: | index: 41 delta: 4 us data: 00001110 | joydump: | index: 42 delta: 9 us data: 00011110 | joydump: | index: 43 delta: 8 us data: 00001110 | joydump: | index: 44 delta: 9 us data: 00011110 | joydump: | index: 45 delta: 8 us data: 00001110 | joydump: | index: 46 delta: 7 us data: 00101110 | joydump: | index: 47 delta: 1 us data: 00111110 | joydump: | index: 48 delta: 8 us data: 00101110 | joydump: | index: 49 delta: 7 us data: 00001110 | joydump: | index: 50 delta: 1 us data: 00011110 | joydump: | index: 51 delta: 8 us data: 00001110 | joydump: | index: 52 delta: 9 us data: 00011110 | joydump: | index: 53 delta: 8 us data: 00001110 | joydump: | index: 54 delta: 7 us data: 00101110 | joydump: | index: 55 delta: 1 us data: 00111110 | joydump: | index: 56 delta: 8 us data: 00101110 | joydump: | index: 57 delta: 7 us data: 00001110 | joydump: | index: 58 delta: 1 us data: 00011110 | joydump: | index: 59 delta: 9 us data: 00001110 | joydump: | index: 60 delta: 8 us data: 00011110 | joydump: | index: 61 delta: 3 us data: 11011110 | joydump: | index: 62 delta: 5 us data: 11001110 | joydump: | index: 63 delta: 9 us data: 11011110 | joydump: | index: 64 delta: 8 us data: 11001110 | joydump: | index: 65 delta: 8 us data: 11011110 | joydump: | index: 66 delta: 9 us data: 11001110 | joydump: | index: 67 delta: 8 us data: 11011110 | joydump: | index: 68 delta: 8 us data: 11001110 | joydump: | index: 69 delta: 8 us data: 11011110 | joydump: | index: 70 delta: 8 us data: 11001110 | joydump: | index: 71 delta: 7 us data: 11101110 | joydump: | index: 72 delta: 2 us data: 11111110 | joydump: | index: 73 delta: 8 us data: 11101110 | joydump: | index: 74 delta: 8 us data: 11111110 | joydump: | index: 75 delta: 8 us data: 11101110 | joydump: | index: 76 delta: 8 us data: 11111110 | joydump: | index: 77 delta: 9 us data: 11101110 | joydump: | index: 78 delta: 8 us data: 11111110 | joydump: | index: 79 delta: 4 us data: 00111110 | joydump: | index: 80 delta: 4 us data: 00101110 | joydump: | index: 81 delta: 9 us data: 00111110 | joydump: | index: 82 delta: 8 us data: 00101110 | joydump: | index: 83 delta: 9 us data: 00111110 | joydump: | index: 84 delta: 8 us data: 00101110 | joydump: | index: 85 delta: 8 us data: 00111110 | joydump: | index: 86 delta: 8 us data: 00101110 | joydump: | index: 87 delta: 8 us data: 00111110 | joydump: | index: 88 delta: 9 us data: 00101110 | joydump: | index: 89 delta: 6 us data: 00001110 | joydump: | index: 90 delta: 2 us data: 00011110 | joydump: | index: 91 delta: 8 us data: 00001110 | joydump: | index: 92 delta: 8 us data: 00011110 | joydump: | index: 93 delta: 8 us data: 00001110 | joydump: | index: 94 delta: 9 us data: 00011110 | joydump: | index: 95 delta: 8 us data: 00001110 | joydump: | index: 96 delta: 8 us data: 00011110 | joydump: | index: 97 delta: 4 us data: 11011110 | joydump: | index: 98 delta: 4 us data: 11001110 | joydump: | index: 99 delta: 9 us data: 11011110 | joydump: | index: 100 delta: 8 us data: 11001110 | joydump: | index: 101 delta: 7 us data: 11101110 | joydump: | index: 102 delta: 2 us data: 11111110 | joydump: | index: 103 delta: 8 us data: 11101110 | joydump: | index: 104 delta: 7 us data: 11001110 | joydump: | index: 105 delta: 1 us data: 11011110 | joydump: | index: 106 delta: 8 us data: 11001110 | joydump: | index: 107 delta: 8 us data: 11011110 | joydump: | index: 108 delta: 9 us data: 11001110 | joydump: | index: 109 delta: 8 us data: 11011110 | joydump: | index: 110 delta: 8 us data: 11001110 | joydump: | index: 111 delta: 8 us data: 11011110 | joydump: | index: 112 delta: 9 us data: 11001110 | joydump: | index: 113 delta: 8 us data: 11011110 | joydump: | index: 114 delta: 8 us data: 11001110 | joydump: | index: 115 delta: 7 us data: 11101110 | joydump: | index: 116 delta: 1 us data: 11111110 | joydump: | index: 117 delta: 16 us data: 11101110 | joydump: | index: 118 delta: 400 us data: 11111110 | joydump: `-------------------- END -------------------' ------------------------------------------------------------- My kernel is 2.6.9-gentoo-r6 The gameport is on my Turtle Beach Santa Cruz sound card, using the cs46xx ALSA driver (kernel built it). I don't know what else I can do to help. And sorry for the large post. Is this still a problem in current kernels (last posts seem to be from 2.6.8/2.6.9 last year!)? Vojtech, do you have any idea why these things are happening, or is it, as you said, just hardware errors? Thanks, Nish No news for this bug ? My sidewinder forcefeedback pro is still broken. Christian Hmm, how about the latest kernel (2.6.23+). Let's refresh the data with the latest current kernel. Thanks. This bug is two years old now, time to close it. Please reopen if problem re-appears. |