SlackwareThis Forum is for the discussion of Slackware Linux.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Hello everyone, I'm pretty new to Linux in general so please bear with me.
I had just installed Slackware 8.1 on a dual-boot system with Windows XP, and the installation worked, no real problems there.
After that, I configured X and when I started KDE, I couldn't use my USB optical mouse, but the USB keyboard worked.
I got the USB mouse to work fine, and it continued to work fine throughout multiple reboots.
After this, I decided the resolution wasn't for me, so I edited XF86Config and added the resolution I wanted - 1280x1024.
Now after all this, even after a restart, Slackware still worked for me. At one point I restarted the computer, and when I booted into Slackware, I couldn't log in. The reason for this was because every time I typed one letter, it was really typing two. That is, for every keystroke, two were recorded, which as far as I know makes it impossible for me to log in. This is the point I'm at right now, and I'd love for someone to help me through this.
Well the one thing I would suggest is something isn't reading your keyboard right. One way of testing would be to try maybe a regular PS/2 keyboard attached instead of your usb one to boot your system with to troubleshoot. If that works, you should be able to check your settings and configurations for your USB keyboard.
I tried a PS/2 keyboard, and I was able to log in fine - no doubled keystrokes.
I then tried to log in with a different USB keyboard, and I got the same problem I had with the original.
I guess what I need to do now is change the settings for the USB keyboard - what's the best way of going about that?
It sounds like the kernel is receiving keyboard input from two different sources. Perhaps the USB driver that was functioning to begin with and then a compatibility option was also enabled perhaps in the BIOS. What were some of the changes, if any, just prior to the problem starting? Have you added any other USB devices that a driver be loaded for it?
I think you can check the kernel boot command line by; "cat /proc/cmdline". Just to see if a kernel command statement may have been added.
If you are able to login with a PS/2 keyboard, check what modules are loaded using the "lsmod" command. There is only one module that I think is directly related to a keyboard, "usbkbd". However, there is also another module called "hid", the name would imply "human interface device" that might also include keyboard support. If both are loaded, then you might try replacing "hid" with "usbmouse". You could also try to disable the "usbkbd" module. A USB enabled kernel might also provide the support and then another module is loading as well. Thus two drivers are providing duplicate input. If you know what modules were loading when it was working properly, then comparing the current listing might provide an answer.
Could keybdev and hid be giving double input?
I'm going to try hashing out /sbin/modprobe keybdev from rc.modules.
I'm a little hesitant to do this though, because if I do this and have no keyboard support at all, how will I be able to progress from there?
Well, you will still be able to use the PS/2 keyboard to go back and make any modifications. The way you are now.
In regard to your question though, keybdev may be a similar module to the mousedev module, I think it provides a common interface for apps to work with.
The usb-uhci provides the controller interface to enable the USB ports. But it may be that only hid or usbmouse may be required. I would try to remove "hid" first I think. But thats me, and I will 100% of the time choose wrong on a 50/50 chance.
So far I've hashed out
/sbin/modprobe keybdev .
Even with both of those out of the picture, the usb keyboard still continues to register two keystrokes for every one.
I'll just continue down the line and see what happens.
After you boot the system, you can review the kernel messages by using shift-pgup and shift-pgdn I think it is. See if you can read anything about what it is detecting in reference to the keyboard. It might sort of difficult if it doubles those keys as well.
If you want to just disable all modules then use the command "chmod 000 /etc/rc.d/rc.modules" It will remove the execute bit from the file so it cannot execute. I do it when I build a kernel that modules are disabled.
Well, I tried everything I can to duplicate the problem without success. Even with two keyboards and two mice attached. PS/2 and USB on each. They worked just the way they are supposed too.
I did learn about the specific drivers though. The usbkbd and usbmouse are HID Boot protocol described as basic support. The hid module is full support for the devices. "Full" I couldn't tell. The USB keyboard I had the function keys didn't work using either driver. The mousedev and keybdev modules are going to be required for the mouse and keyboard to function respectively.
In the lsmod listing you provided above appears to be a complete listing because of the other modules that are listed. But it is also odd that the module "input" is not included in the listing. Whenever, I modprobed either the hid or the usb... modules it always included the input module as well. Your output also looks a little different in that it doesn't list usbcore either. You also stated that you removed keybdev and hid modules. I would think the USB keyboard would not even work. At least in my tests I couldn't login at all. I had to use the PS/2 keyboard to login and load the modules then the USB keyboard started working. Now, I was also running the bare.i stock 2.4.18 kernel. What kernel are you using? Perhaps the modules have changed. I know that many updates were made in 2.4.19 and the 2.4.20 kernels for USB and Firewire devices. That might explain the differences. If your kernel has built-in support, like maybe one of the USB enabled kernels, then the modules would not be required at all and the modules could be causing the porblem. If you are using a usb enabled kernel then you should not even load the uhci module, that module is what activates the USB host controller and it should also be included in the kernel. If you haven't built a new kernel or installed a different one from the install CD, then it should still be running the kernel you chose when you installed.
I'm running kernel version 2.4.18, usb.i from the install disc. Maybe the reason I'm getting this duplicate activity is because I don't need the modules since they're already built into the core? I'll try disabling all usb modules and see what that does.
Thanks a lot for the insight.