From: Kjetil K. <kj...@kj...> - 2004-07-03 11:08:42
|
Hi all! I've finally taken the steps up to kernel 2.6! I compiled 2.6.7 a couple of days ago with Ruby from the CVS, and stuff works pretty nicely. :-) Thanks again for all the efforts you put into this! However, the problem I had with 2.4 last year still persists. To summarize it: I have a "Tangtop Generic USBPS2" device that can be plugged in a USB port that has a connector for both PS/2 keyboard and mouse. I'd like to use that for my secondary head in a multi-head setup. It comes up and looks normal, but all of a sudden, it starts generating events on one of the keyboards. The symptoms are the same as I had with 2.4 last year, which I reported here on the list, thread starting here: http://sourceforge.net/mailarchive/message.php?msg_id=6466803 Well, I just wanted to let you know. The Real World[tm] is still dictating that I need to live with a somewhat inferior setup right now (where I have both mice on USB and both keyboards on PS/2), but of course I hope to get back to it to help debugging some day. /me is not subscribed to the list, please CC any replies. Cheers, Kjetil -- Kjetil Kjernsmo Astrophysicist/IT Consultant/Skeptic/Ski-orienteer/Orienteer/Mountaineer kj...@kj... web...@sk... ed...@le... Homepage: http://www.kjetil.kjernsmo.net/ OpenPGP KeyID: 6A6A0BBC |
From: Zoltan B. <zb...@fr...> - 2004-07-03 12:17:43
|
Kjetil Kjernsmo =EDrta: > However, the problem I had with 2.4 last year still persists. To=20 > summarize it: I have a "Tangtop Generic USBPS2" device that can be=20 > plugged in a USB port that has a connector for both PS/2 keyboard and=20 > mouse. I'd like to use that for my secondary head in a multi-head=20 > setup. >=20 > It comes up and looks normal, but all of a sudden, it starts generating= =20 > events on one of the keyboards. The symptoms are the same as I had with= =20 > 2.4 last year, which I reported here on the list, thread starting here: > http://sourceforge.net/mailarchive/message.php?msg_id=3D6466803 I think there may be a problem with this gadget. Try contacting Greg Kroah-Hartmann <gr...@kr...> and/or the lin...@su... mailing list. He or someone on the list may already know the answer. Best regards, Zolt=E1n B=F6sz=F6rm=E9nyi |
From: Helge H. <hel...@ai...> - 2004-07-05 17:24:49
|
On Sat, Jul 03, 2004 at 01:10:26PM +0200, Kjetil Kjernsmo wrote: > Hi all! > > I've finally taken the steps up to kernel 2.6! I compiled 2.6.7 a couple > of days ago with Ruby from the CVS, and stuff works pretty nicely. :-) > Thanks again for all the efforts you put into this! > How do you get ruby out of cvs these days? $ cvs -z3 -d :pserver:ano...@cv...:/cvsroot/linuxconsole update ruby cvs [update aborted]: unrecognized auth response from cvs.sourceforge.net: M PserverBackend::PserverBackend() Connect (No route to host) I don't have routing trouble - I can ping cvs1.sourceforge.net > However, the problem I had with 2.4 last year still persists. To > summarize it: I have a "Tangtop Generic USBPS2" device that can be > plugged in a USB port that has a connector for both PS/2 keyboard and > mouse. I'd like to use that for my secondary head in a multi-head > setup. Perhaps a USB driver p�roblem? > > It comes up and looks normal, but all of a sudden, it starts generating > events on one of the keyboards. The symptoms are the same as I had with > 2.4 last year, which I reported here on the list, thread starting here: > http://sourceforge.net/mailarchive/message.php?msg_id=6466803 > > Well, I just wanted to let you know. The Real World[tm] is still > dictating that I need to live with a somewhat inferior setup right now > (where I have both mice on USB and both keyboards on PS/2), but of > course I hope to get back to it to help debugging some day. > What's inferior about using keyboards on ps/2? That's what I use, and serial mice. That way I didn't have to buy any new keyboard. Helge Hafting |
From: Kjetil K. <kj...@kj...> - 2004-07-05 17:40:36
|
On mandag 5. juli 2004, 19:27, Helge Hafting wrote: > How do you get ruby out of cvs these days? Hm, it worked fine for me just a few days ago... No idea. > Perhaps a USB driver p=EF=BF=BDroblem? It could be. I contacted Greg Kroah-Hartmann like Zoltan suggested, no=20 response yet. > What's inferior about using keyboards on ps/2? That's what I use, > and serial mice. That way I didn't have to buy any new keyboard. Oh, it is just the availability of suitable extension cables... Now the=20 place is a mess with cables all over, some of them is a bit short, but=20 I have this very nice 5m cable with VGA+2xPS/2-in-one, and I'd like to=20 use that. It would be so much more maintainable. Especially when you=20 want to clean out the corners. I did that the other day. Whoah! :-)=20 Cheers, Kjetil =2D-=20 Kjetil Kjernsmo Astrophysicist/IT Consultant/Skeptic/Ski-orienteer/Orienteer/Mountaineer kj...@kj... web...@sk... ed...@le... Homepage: http://www.kjetil.kjernsmo.net/ OpenPGP KeyID: 6A6A0BBC |
From: Aivils <ai...@un...> - 2004-07-09 07:40:21
|
On Monday 05 July 2004 20:42, Kjetil Kjernsmo wrote: > On mandag 5. juli 2004, 19:27, Helge Hafting wrote: > > How do you get ruby out of cvs these days? >=20 > Hm, it worked fine for me just a few days ago... No idea. >=20 > > Perhaps a USB driver p=EF=BF=BDroblem? >=20 > It could be. I contacted Greg Kroah-Hartmann like Zoltan suggested, no=20 > response yet. >=20 > > What's inferior about using keyboards on ps/2? That's what I use, > > and serial mice. That way I didn't have to buy any new keyboard. >=20 > Oh, it is just the availability of suitable extension cables... Now the=20 > place is a mess with cables all over, some of them is a bit short, but=20 > I have this very nice 5m cable with VGA+2xPS/2-in-one, and I'd like to=20 > use that. It would be so much more maintainable. Especially when you=20 > want to clean out the corners. I did that the other day. Whoah! :-)=20 IMHO You should do gross hack by yourself =2D-- hid-core.c 2004-06-17 10:37:47.000000000 +0300 +++ hid-core_.c 2004-07-09 11:12:43.045096352 +0300 @@ -1491,7 +1491,7 @@ static struct hid_blacklist { { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_2PORTKVM, HID_QUIRK_NOGET = }, { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_4PORTKVM, HID_QUIRK_NOGET = }, { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_4PORTKVMC, HID_QUIRK_NOGET= }, =2D { USB_VENDOR_ID_TANGTOP, USB_DEVICE_ID_TANGTOP_USBPS2, HID_QUIRK_= NOGET }, + { USB_VENDOR_ID_TANGTOP, USB_DEVICE_ID_TANGTOP_USBPS2, HID_QUIRK_NO= GET | HID_QUIRK_STOP_TANGTOP}, { USB_VENDOR_ID_A4TECH, USB_DEVICE_ID_A4TECH_WCP32PU, HID_QUIRK_2WH= EEL_MOUSE_HACK_BACK }, { USB_VENDOR_ID_CYPRESS, USB_DEVICE_ID_CYPRESS_MOUSE, HID_QUIRK_2WH= EEL_MOUSE_HACK_EXTRA }, =2D-- hid-input.c 2004-05-10 05:32:28.000000000 +0300 +++ hid-input_.c 2004-07-09 11:23:21.278070192 +0300 @@ -432,6 +432,13 @@ void hidinput_hid_event(struct hid_devic input_regs(input, regs); + /* debug wrong TANGTOP event */ + printk("HID_EVENT: type %d code %d \n", usage->type, usage->code); + /* stop wrong event */ + if ((hid->quirks & HID_QUIRK_STOP_TANGTOP) && + usage->type =3D=3D UNDESIRED_TYPE && usage->code =3D=3D UNDESI= RED_CODE) + return; + if (((hid->quirks & HID_QUIRK_2WHEEL_MOUSE_HACK_EXTRA) && (usage->c= ode =3D=3D BTN_EXTRA)) || ((hid->quirks & HID_QUIRK_2WHEEL_MOUSE_HACK_BACK) && (us= age->code =3D=3D BTN_BACK))) { if (value) =2D-- hid.h 2004-05-10 05:31:57.000000000 +0300 +++ hid_.h 2004-07-09 11:11:41.563442984 +0300 @@ -211,6 +211,7 @@ struct hid_item { #define HID_QUIRK_2WHEEL_MOUSE_HACK_BACK 0x080 #define HID_QUIRK_2WHEEL_MOUSE_HACK_EXTRA 0x100 #define HID_QUIRK_2WHEEL_MOUSE_HACK_ON 0x200 +#define HID_QUIRK_STOP_TANGTOP 0x400 /* * This is the global environment of the parser. This information is This set of paches means You locate wrong event and leater stop it with # define UNDESIRED_TYPE=20 # define UNDESIRED_CODE Aivils |
From: Kjetil K. <kj...@kj...> - 2004-07-25 17:04:16
|
Hi! I'm trying to set aside some time to grok the patch you sent me... For one thing, I have now produced a set of logs and output from various parts of the proc fs with the current running kernel, without your patch. They are now at http://dev.kjernsmo.net/tmp/ruby-only-logs1/ This stuff was produced just after the keyboard started generating events. To quote the patch: On 9. july 2004, 10:32, Aivils wrote: > IMHO You should do gross hack by yourself > > --- hid-core.c 2004-06-17 10:37:47.000000000 +0300 > +++ hid-core_.c 2004-07-09 11:12:43.045096352 +0300 > @@ -1491,7 +1491,7 @@ static struct hid_blacklist { > { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_2PORTKVM, > HID_QUIRK_NOGET }, { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_4PORTKVM, > HID_QUIRK_NOGET }, { USB_VENDOR_ID_ATEN, > USB_DEVICE_ID_ATEN_4PORTKVMC, HID_QUIRK_NOGET }, - { > USB_VENDOR_ID_TANGTOP, USB_DEVICE_ID_TANGTOP_USBPS2, HID_QUIRK_NOGET > }, + { USB_VENDOR_ID_TANGTOP, USB_DEVICE_ID_TANGTOP_USBPS2, > HID_QUIRK_NOGET | HID_QUIRK_STOP_TANGTOP}, > > { USB_VENDOR_ID_A4TECH, USB_DEVICE_ID_A4TECH_WCP32PU, > HID_QUIRK_2WHEEL_MOUSE_HACK_BACK }, { USB_VENDOR_ID_CYPRESS, > USB_DEVICE_ID_CYPRESS_MOUSE, HID_QUIRK_2WHEEL_MOUSE_HACK_EXTRA }, > > > > > > > --- hid-input.c 2004-05-10 05:32:28.000000000 +0300 > +++ hid-input_.c 2004-07-09 11:23:21.278070192 +0300 > @@ -432,6 +432,13 @@ void hidinput_hid_event(struct hid_devic > > input_regs(input, regs); > > + /* debug wrong TANGTOP event */ > + printk("HID_EVENT: type %d code %d \n", usage->type, > usage->code); + /* stop wrong event */ So, this is going to print some kind of code that I can use? > + if ((hid->quirks & HID_QUIRK_STOP_TANGTOP) && > + usage->type == UNDESIRED_TYPE && usage->code == > UNDESIRED_CODE) + return; > + And this will "stop" the TANGTOP if I specify the type and code? But what will it mean to "stop"? Will it mean that the keyboard and mouse freezes rather than spewing out events? Or will it reset itself, or....? > if (((hid->quirks & HID_QUIRK_2WHEEL_MOUSE_HACK_EXTRA) && > (usage->code == BTN_EXTRA)) > > || ((hid->quirks & HID_QUIRK_2WHEEL_MOUSE_HACK_BACK) > || && (usage->code == BTN_BACK))) { > > if (value) > > > > --- hid.h 2004-05-10 05:31:57.000000000 +0300 > +++ hid_.h 2004-07-09 11:11:41.563442984 +0300 > @@ -211,6 +211,7 @@ struct hid_item { > #define HID_QUIRK_2WHEEL_MOUSE_HACK_BACK 0x080 > #define HID_QUIRK_2WHEEL_MOUSE_HACK_EXTRA 0x100 > #define HID_QUIRK_2WHEEL_MOUSE_HACK_ON 0x200 > +#define HID_QUIRK_STOP_TANGTOP 0x400 > > /* > * This is the global environment of the parser. This information is > > > > This set of paches means You locate wrong event and leater stop it > with # define UNDESIRED_TYPE > # define UNDESIRED_CODE Right.... :-) So, I should apply this patch, recompile the kernel. Then reproduce the spewing of events, locate the error message beginning with HID_EVENT: (in /var/log/messages?), and find the type and code, set the UNDESIRED_TYPE and UNDESIRED_CODE with them, recompile once more. Have I got that right? What would happen then, when the error is encountered? Thanks for all the help! Best, Kjetil -- Kjetil Kjernsmo Astrophysicist/IT Consultant/Skeptic/Ski-orienteer/Orienteer/Mountaineer kj...@kj... web...@sk... ed...@le... Homepage: http://www.kjetil.kjernsmo.net/ OpenPGP KeyID: 6A6A0BBC |
From: <ai...@ba...> - 2004-07-26 11:50:56
|
Quoting Kjetil Kjernsmo <kj...@kj...>: > Hi! >=20 > I'm trying to set aside some time to grok the patch you sent me... >=20 > For one thing, I have now produced a set of logs and output from variou= s=20 > parts of the proc fs with the current running kernel, without your=20 > patch. They are now at > http://dev.kjernsmo.net/tmp/ruby-only-logs1/ > This stuff was produced just after the keyboard started generating=20 > events.=20 Unfortunately that is hardware bug. So nobody can locate the bug remotely. You must do it by yourself. > To quote the patch: >=20 > On 9. july 2004, 10:32, Aivils wrote: >=20 > > IMHO You should do gross hack by yourself > > > > --- hid-core.c 2004-06-17 10:37:47.000000000 +0300 > > +++ hid-core_.c 2004-07-09 11:12:43.045096352 +0300 > > @@ -1491,7 +1491,7 @@ static struct hid_blacklist { > > { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_2PORTKVM, > > HID_QUIRK_NOGET }, { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_4PORTKVM, > > HID_QUIRK_NOGET }, { USB_VENDOR_ID_ATEN, > > USB_DEVICE_ID_ATEN_4PORTKVMC, HID_QUIRK_NOGET }, - { > > USB_VENDOR_ID_TANGTOP, USB_DEVICE_ID_TANGTOP_USBPS2, HID_QUIRK_NOGET > > }, + { USB_VENDOR_ID_TANGTOP, USB_DEVICE_ID_TANGTOP_USBPS2, > > HID_QUIRK_NOGET | HID_QUIRK_STOP_TANGTOP}, > > > > { USB_VENDOR_ID_A4TECH, USB_DEVICE_ID_A4TECH_WCP32PU, > > HID_QUIRK_2WHEEL_MOUSE_HACK_BACK }, { USB_VENDOR_ID_CYPRESS, > > USB_DEVICE_ID_CYPRESS_MOUSE, HID_QUIRK_2WHEEL_MOUSE_HACK_EXTRA }, > > > > > > > > > > > > > > --- hid-input.c 2004-05-10 05:32:28.000000000 +0300 > > +++ hid-input_.c 2004-07-09 11:23:21.278070192 +0300 > > @@ -432,6 +432,13 @@ void hidinput_hid_event(struct hid_devic > > > > input_regs(input, regs); > > > > + /* debug wrong TANGTOP event */ > > + printk("HID_EVENT: type %d code %d \n", usage->type, > > usage->code); + /* stop wrong event */ >=20 >=20 > So, this is going to print some kind of code that I can use? >=20 > > + if ((hid->quirks & HID_QUIRK_STOP_TANGTOP) && > > + usage->type =3D=3D UNDESIRED_TYPE && usage->code =3D=3D > > UNDESIRED_CODE) + return; > > + >=20 > And this will "stop" the TANGTOP if I specify the type and code?=20 >=20 > But what will it mean to "stop"? Will it mean that the keyboard and=20 > mouse freezes rather than spewing out events? Or will it reset itself,=20 > or....? =20 TANGTOP device driver is marked by "HID_QUIRK_STOP_TANGTOP". If device produce spontaneus keypress events , then my patch is not=20 usable. But TANGTOP may produce recongnizable "wrong" events, which You stop. > > if (((hid->quirks & HID_QUIRK_2WHEEL_MOUSE_HACK_EXTRA) && > > (usage->code =3D=3D BTN_EXTRA)) > > > > || ((hid->quirks & HID_QUIRK_2WHEEL_MOUSE_HACK_BACK) > > || && (usage->code =3D=3D BTN_BACK))) { > > > > if (value) > > > > > > > > --- hid.h 2004-05-10 05:31:57.000000000 +0300 > > +++ hid_.h 2004-07-09 11:11:41.563442984 +0300 > > @@ -211,6 +211,7 @@ struct hid_item { > > #define HID_QUIRK_2WHEEL_MOUSE_HACK_BACK 0x080 > > #define HID_QUIRK_2WHEEL_MOUSE_HACK_EXTRA 0x100 > > #define HID_QUIRK_2WHEEL_MOUSE_HACK_ON 0x200 > > +#define HID_QUIRK_STOP_TANGTOP 0x400 > > > > /* > > * This is the global environment of the parser. This information is > > > > > > >=20 >=20 >=20 > > This set of paches means You locate wrong event and leater stop it > > with # define UNDESIRED_TYPE > > # define UNDESIRED_CODE >=20 > Right.... :-)=20 >=20 > So, I should apply this patch, recompile the kernel. Then reproduce the= =20 > spewing of events, locate the error message beginning with HID_EVENT: > (in /var/log/messages?), and find the type and code, set the=20 > UNDESIRED_TYPE and UNDESIRED_CODE with them, recompile once more. >=20 > Have I got that right?=20 Right! > What would happen then, when the error is encountered? >=20 You should parry death-blow :) Aivils --------------------------------------------------------------------- Radical ringtones, java games, mobile phone logos, backgrounds http://sms= .BANDA.LV ! |