[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Misc. USB adventures

I'm not entirely sure ifthis is the right place to ask, but I've checked
all the resources I can find and I've run out of options. I'm using a
revision A iMac (with the iMac 1.2 firmware update). I recently purchased
a USB MS Intellimouse because I got tired of having to emulate the second
and third mouse buttons. After two days of tinkering trying to get it to
work properly, I've given up, and need help. Currently I am running the
2.2.6 kernel, with the uusbd stack, which works perfectly with my ub 1.0
keyboard and mouse. I am not positive, but from the documentation I have
inferred that the MS IntelliMouse is a USB 1.1 peripheral. Since the
linux-usb stack has some degree of support for this version, I decided to
attempt to use it. Wanting to be conservative, I first attempted to use
the 2.2.12 kernel's usb stack. It compiled and booted fine, but the kernel
would not recognize the keyboard nor the mouse. Next I tried a fairly old
copy of the 2.3.6 kernel that I compiled a month or two ago with the
linux-usb stack to try it out. This kernel recognized the keyboard and the
mouse correctly in the console, however I did switch the keymap file to
one in my /usr/lib/kbd/keymaps/usb directory to one marked for 2.3.6
(Unfortunately I don't recall where I got it). The mouse also seemed to
work perfectly under gpm (and I tested it pretty heavily, as much as I
could). My problems started when I tried using it with X. The keyboard
still seemed to work fine, but the mouse behaved erratically. The cursor
control was fine, and all the buttons worked, but when dragging with the
first button (I did not test the second nor third) it would randomly cut
out, dropping whatever it was that I was dragging. If I clicked several
mouse buttons simultaneously, the buttons would cease working altogether,
although I could still move the cursor around fine, and it would even
react properly to contexts (changing when I moved it over E's close boxes,
etc). Reading in the kernel docs that gpm can interfere with X's use of
the mouse, I killed gpm and tried without it running, same thing. Then I
tried using gpm as a repeater with various options to -R including raw and
imps2, as well as no args to -R, and it just continued to misbehave, or
just not work properly at all (the cursor woudl just flash off to one of
the sides of the screen). Anyhow, not to be discouraged I continued,
trynig to compile a more recent 2.3.x kernel, none of the recent ones from
kernel.org would comple cleanly, but I found a patch to 2.3.25 on the
linuxppc list archive that allowed me to compile the 2.3.25 kernel. I only
had one problem, it refused to link, one of the usb .o files could't find
the array containing the keymap. Not wanting to mess with the linker
options, I just had vi include the variable itself from the keymap.c file
(which contained nothing but the variable) into the file which balked, and
then recompiled, this time it linked cleanly. I also moved the keymaps
from drivers/usb/maps into /usr/lib/kbd/keymaps. When I rebooted the
kernel reported that it recognized both the keyboard and mouse on bootup,
but when I tried to log on, I discovered that the keymap was not sane, and
I was unable to do anything else, as nothing I typed made any sense since
the keys were all mapped wrong. I tried using every keymap I had, one
marked 2.2.6, one marked 2.3.6, and the one which the 2.3.25 kernel
generateed, and none of them worked. The only possibility that occurs to
me is perhaps including the keymap.c file with vi caused this, but without
having doine that it would not have linked at all... Anyhow, I'm at a loss
now, and any input would be appreciated, thank you much.

Reply to: