On Tue, 14 Dec 2010, Dmitry Torokhov wrote: > > I have a bugreport about Synaptics touchpad not working as proper > > Synaptics, but only being detected as standard PS/2. > > > > Looking at the i8042.debug output, the device is clearly buggy, as it > > doesn't identify itself by 0x47 when queried: > > > > 91 -> i8042 (command) [58] > > e8 -> i8042 (parameter) [58] > > fa <- i8042 (interrupt, 3, 12) [59] > > 91 -> i8042 (command) [59] > > 00 -> i8042 (parameter) [59] > > fa <- i8042 (interrupt, 3, 12) [59] > > 91 -> i8042 (command) [59] > > e8 -> i8042 (parameter) [59] > > fa <- i8042 (interrupt, 3, 12) [60] > > 91 -> i8042 (command) [60] > > 00 -> i8042 (parameter) [60] > > fa <- i8042 (interrupt, 3, 12) [61] > > 91 -> i8042 (command) [61] > > e8 -> i8042 (parameter) [61] > > fa <- i8042 (interrupt, 3, 12) [61] > > 91 -> i8042 (command) [61] > > 00 -> i8042 (parameter) [61] > > fa <- i8042 (interrupt, 3, 12) [62] > > 91 -> i8042 (command) [62] > > e8 -> i8042 (parameter) [62] > > fa <- i8042 (interrupt, 3, 12) [63] > > 91 -> i8042 (command) [63] > > 00 -> i8042 (parameter) [63] > > fa <- i8042 (interrupt, 3, 12) [64] > > 91 -> i8042 (command) [64] > > e9 -> i8042 (parameter) [64] > > fa <- i8042 (interrupt, 3, 12) [64] > > > > ... and here we time out after approximately 0.5s. nomux doesn't really > > fix it, we start getting a lot of timeouts on i8042 with that. > > > > Apparently the device works with Synaptics driver in Other OS(TM) though. > > Do you have any idea what they might be doing differently so that they > > make the touchpad identify itself properly? > > Hi Jiri, > > Do you have the device in your possession? If so can you check if the > driver installed in Other OS uses active multiplexing? I think you can > infer whether it does or not by looking at the pointer properties - I > think it would "Synaptics Blah at port X" or something like that... Unfortunately I don't have the hardware myself, it's only bugreport that reached me. I will check this, thanks. > Also you could try combining nomux with reset and see if it makes any > sense... Yes, I have already had the reporter to do this, but that's even better -- a lot of commands time out, as you can see below 20 -> i8042 (command) [0] 47 <- i8042 (return) [0] 20 -> i8042 (command) [0] 47 <- i8042 (return) [0] 60 -> i8042 (command) [0] 56 -> i8042 (parameter) [0] d3 -> i8042 (command) [0] 5a -> i8042 (parameter) [0] 5a <- i8042 (return) [0] a7 -> i8042 (command) [0] 20 -> i8042 (command) [0] 76 <- i8042 (return) [0] a8 -> i8042 (command) [0] 20 -> i8042 (command) [0] 56 <- i8042 (return) [0] 60 -> i8042 (command) [0] 56 -> i8042 (parameter) [0] d3 -> i8042 (command) [0] a5 -> i8042 (parameter) [0] a5 <- i8042 (aux_test_irq, aux) [1] 60 -> i8042 (command) [1] 74 -> i8042 (parameter) [1] 60 -> i8042 (command) [1] 56 -> i8042 (parameter) [1] 60 -> i8042 (command) [1] 47 -> i8042 (parameter) [1] serio: i8042 KBD port at 0x60,0x64 irq 1 serio: i8042 AUX port at 0x60,0x64 irq 12 mice: PS/2 mouse device common for all mice f2 -> i8042 (kbd-data) [1] fa <- i8042 (interrupt, 0, 1, timeout) [1] ab <- i8042 (interrupt, 0, 1, timeout) [1] 83 <- i8042 (interrupt, 0, 1, timeout) [1] ed -> i8042 (kbd-data) [1] fa <- i8042 (interrupt, 0, 1, timeout) [1] 00 -> i8042 (kbd-data) [1] fa <- i8042 (interrupt, 0, 1, timeout) [1] f3 -> i8042 (kbd-data) [1] fa <- i8042 (interrupt, 0, 1, timeout) [1] 00 -> i8042 (kbd-data) [1] fa <- i8042 (interrupt, 0, 1, timeout) [1] f4 -> i8042 (kbd-data) [1] fa <- i8042 (interrupt, 0, 1, timeout) [1] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0 d4 -> i8042 (command) [2] f2 -> i8042 (parameter) [2] fa <- i8042 (interrupt, 1, 12, timeout) [2] 00 <- i8042 (interrupt, 1, 12, timeout) [3] 60 -> i8042 (command) [3] 45 -> i8042 (parameter) [3] 60 -> i8042 (command) [3] 47 -> i8042 (parameter) [3] d4 -> i8042 (command) [3] f2 -> i8042 (parameter) [3] fa <- i8042 (interrupt, 1, 12, timeout) [4] 60 -> i8042 (command) [4] 45 -> i8042 (parameter) [4] 60 -> i8042 (command) [4] 47 -> i8042 (parameter) [4] 00 <- i8042 (interrupt, 1, 12, timeout) [5] ... f3 -> i8042 (kbd-data) [6323] fa <- i8042 (interrupt, 0, 1, timeout) [6323] 20 -> i8042 (kbd-data) [6323] fa <- i8042 (interrupt, 0, 1, timeout) [6323] 2d <- i8042 (interrupt, 0, 1, timeout) [10631] 10 <- i8042 (interrupt, 0, 1, timeout) [10669] ad <- i8042 (interrupt, 0, 1, timeout) [10674] 90 <- i8042 (interrupt, 0, 1, timeout) [10692] 2f <- i8042 (interrupt, 0, 1, timeout) [10737] af <- i8042 (interrupt, 0, 1, timeout) [10760] 17 <- i8042 (interrupt, 0, 1, timeout) [10922] 97 <- i8042 (interrupt, 0, 1, timeout) [10945] 12 <- i8042 (interrupt, 0, 1, timeout) [10998] 92 <- i8042 (interrupt, 0, 1, timeout) [11025] 13 <- i8042 (interrupt, 0, 1, timeout) [11317] 93 <- i8042 (interrupt, 0, 1, timeout) [11345] 1c <- i8042 (interrupt, 0, 1, timeout) [11422] 9c <- i8042 (interrupt, 0, 1, timeout) [11449] 31 <- i8042 (interrupt, 0, 1, timeout) [11672] b1 <- i8042 (interrupt, 0, 1, timeout) [11697] 18 <- i8042 (interrupt, 0, 1, timeout) [11704] 98 <- i8042 (interrupt, 0, 1, timeout) [11729] 2f <- i8042 (interrupt, 0, 1, timeout) [11800] af <- i8042 (interrupt, 0, 1, timeout) [11821] 12 <- i8042 (interrupt, 0, 1, timeout) [11842] 92 <- i8042 (interrupt, 0, 1, timeout) [11866] 27 <- i8042 (interrupt, 0, 1, timeout) [11951] a7 <- i8042 (interrupt, 0, 1, timeout) [11969] 0e <- i8042 (interrupt, 0, 1, timeout) [12061] 8e <- i8042 (interrupt, 0, 1, timeout) [12089] 26 <- i8042 (interrupt, 0, 1, timeout) [12169] a6 <- i8042 (interrupt, 0, 1, timeout) [12187] 26 <- i8042 (interrupt, 0, 1, timeout) [12207] a6 <- i8042 (interrupt, 0, 1, timeout) [12227] 1c <- i8042 (interrupt, 0, 1, timeout) [12428] 9c <- i8042 (interrupt, 0, 1, timeout) [12456] ... and a lot of other timeouts. If the device wouldn't work with Synaptics driver in other OS, I'd just claim the device to be broken behind hope and be done with this, but this makes me really wonder what they do differently. Are you aware of any means of i8042 debugging/sniffing facility in the other OS that could be used? :) Thanks, -- Jiri Kosina SUSE Labs, Novell Inc. -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html