[SOLVED] Keyboard and mouse on USB 2.0 dead with 990fx/sb950

Issues related to hardware problems
Post Reply
lolths
Posts: 10
Joined: 2013/09/30 10:46:52

[SOLVED] Keyboard and mouse on USB 2.0 dead with 990fx/sb950

Post by lolths » 2013/09/30 13:34:11

To The Community,

To start, thanks for your help in advance. Now for the problem. I have a new Gigabyte - 990FXA-UD3 rev. 4.0 motherboard that I'm having a bit of a problem with Keyboard and mouse losing functionally plugged into USB 2.0 after the bios hands off control over to the CentOS 6.4 OS (Operating System). Let me give a further more explicit description. The motherboard comes with the new UEFI (Unified Extensible Firmware Interface) simply put a GUI (Graphic User Interface) for the BIOS (Basic Input/Output System). The mouse and keyboard are fully functional within the BIOS, but once the BIOS posts and hands over control to CentOS it ceases functionality to what I'm guessing is USB 2.0 controller. The following is what I have ended up with.

# Install from DVD #
- Bios starts and boots CentOS 6.4 (64 Bit) to the installation menu. Note: Keyboard still works at this point.
- I select "Install or Upgrade an Existing System"
- 16 seconds after selecting the above; the keyboard num-lock LED and mouse Optical LED turns off. This tells me the installer has dropped functionality of both devices.
- "testing the media" screen appears but keyboard is dead, and I can not make any selections.

Workarounds
Option 1
- PS2 interface still works - I can continue the installation - Please read on...

Option 2
- USB 3.0 interface still works - I can continue the installation with both USB keyboard and mouse plugged into USB 3.0 slots - Please read on...

# Once CentOS is installed the USB 2.0 still has no functionality & more strange problems #
- System will boot up and I can login with Keyboard and Mouse plugged into USB 3.0
>>
- Still no USB 2.0 support - Completely dead - No Mouse, No Keyboard, No Flash Drive etc.
- Mouse functionality on USB 3.0 is flaky at best - Mouse crashes and freezes often
- Strangely the onboard network card fails to work also - This problem might need it's own forum thread

# Conclusion #
I believe I have multiple problems here. I would prefer to start troubleshooting the USB 2.0 problem first. But my Linux troubleshooting skills are novice at best. Searching the web I found an explanation to what might be the issue. The BIOS uses "Real Mode" 16 bit interrupts whereas more advanced systems such as Linux drop control of those interrupts and transition to "Protected mode" 32 bit or "Long Mode" 64 bit interrupts. This tells me that maybe the CentOS Kernel might not fully support 990FX Northbridge or more precisely the Kernel might not support the 950 Southbridge where the USB 2.0 devices connect to. I might even be wrong about the Kernel and maybe the system is simply missing the modules (Drivers) to function properly. I'm at a lose here. Can anyone tell me how to even start to troubleshot this or enlighten me on how to solve these issues.

Thanks

Ideal
Posts: 56
Joined: 2009/07/17 22:32:51

Re: Keyboard and mouse on USB 2.0 dead with 990fx/sb950

Post by Ideal » 2013/10/01 00:10:54

Do you have IOMMU enabled in the BIOS? Try booting with "amd_iommu=on" appended to the boot options.

lolths
Posts: 10
Joined: 2013/09/30 10:46:52

Re: [SOLVED] Keyboard and mouse on USB 2.0 dead with 990fx/sb950

Post by lolths » 2013/10/01 10:47:53

Thanks for the reply.

Good News

During my research before I posted my thread. I did see a post regarding the use of IOMMU (Input/Output Memory Management Unit), being enabled in the BIOS. So I already had IOMMU enabled. Unfortunately setting only the BIOS IOMMU to enabled did noting in regards to USB 2.0 functionality. Now After reading your post, this motivated me to do some more digging into IOMMU. Turns out that you not only have to Enable it in the BIOS but you also have to pass a kernel command to the kernel during the boot process for the kernel to actually use it. See the very bottom of this post on unix.stackexchange.com by Ron Murray where has states he added iommu=soft

http://unix.stackexchange.com/questions/72625/why-is-usb-not-working-in-linux-when-it-works-in-uefi-bios

Now my question is how do I do this - Pass a kernel command to the kernel during boot - I had no idea till I found the answer on cyberciti.biz - See the article by Nixcraft

http://www.cyberciti.biz/tips/howto-turn-on-linux-software-iommu-support.html

Nixcraft recommends editing the /etc/grub.conf or /boot/grub/menu.lst file and adding iommu=Calgary to the kernel string

By combining both resources here's what I came up with.

1) edit /etc/grub.conf
2) added iommu=soft to kernel string
Example: kernel /boot/vmlinuz-2.6.17-10-generic root=UUID=317464f6-8be2-4f54-88e3-694dcc8cd3c4 ro quiet splash iommu=soft
3) rebooted - with keyboard and mouse pugged into USB 2.0 port
4) System rebooted with full functioning USB 2.0 devices. Small victory for a Novice Linux Tech.

Note: if you look in the above post on unit.stackexchange.com you will notice folks having issues with flash drives still not working even after enabling IOMMU. I tested a flash drive and everything worked fine. So if anyone in the future still has issues with flash drives please reference that post.

BONUS

As stated in my first post of this tread - I was having trouble with the onboard LAN card as well. Turns out fixing the above USB 2.0 problem corrected my LAN card problem as well.

Explanation: Unfortunately I can't find the exact post where I had read the following information. Turns out the network card was sharing hardware I/O with the USB 2.0 controller. Thanks Plug in Pray. Once the USB 2.0 controller was corrected, the network card started to function correctly. Strange because the network card would never accept DHCP (Dynamic Host Configuration Protocol) addressing, but you could assign a static IP address. Unfortunately the network card would only ping itself and never ping another device on the network with static IP addressing.

Thank you VERY much for pointing me in the right direction. I just needed that little push.

Ideal
Posts: 56
Joined: 2009/07/17 22:32:51

Re: [SOLVED] Keyboard and mouse on USB 2.0 dead with 990fx/sb950

Post by Ideal » 2013/10/02 02:37:50

[quote]2) added iommu=soft to kernel string[/quote]

I'm glad you got it working with that setting but wouldn't you want to use hardware iommu vs the above software emulation? Did you try "amd_iommu=on"?

lolths
Posts: 10
Joined: 2013/09/30 10:46:52

Re: [SOLVED] Keyboard and mouse on USB 2.0 dead with 990fx/sb950

Post by lolths » 2013/10/04 08:02:50

Sorry for the delay with answering your last post. I finally got a chance to test and replay to your suggestion.

I agree direct hardware operation is much better then software emulation. So I tested your suggestion of passing ?amd_iommu=on? kernel parameter with successful results. So I will be planning to run with direct hardware operation over software emulation. For anyone interested in learning more about kernel parameters, such as the two mentioned above in this thread please visit the follow site.

https://www.kernel.org/doc/Documentation/kernel-parameters.txt

Final solution:

1) edit /etc/grub.conf
2) added amd_iommu=on to kernel string
Example: kernel /boot/vmlinuz-2.6.17-10-generic root=UUID=317464f6-8be2-4f54-88e3-694dcc8cd3c4 ro quiet splash amd_iommu=on
3) reboot - with keyboard and mouse pugged into USB 2.0 port
4) System should reboot with full functioning USB 2.0 devices and LAN controller.

Some added thoughts:
Additionally my curiosity and genuine interest in learning more about Linux, I decided to do a few searches on the web pertaining to kernel parameters, thus leading me to the above mentioned website. Passing parameters to the kernel was not a new concept for me, but how pass the actual parameter was. I guess it's part of the learning curve that comes with Linux. Lucky for me finally learning how to pass a parameter to the kernel will be very helpful to fix another system that I have running Fedora 14 on. Thank you again for your help.

jpack61108
Posts: 1
Joined: 2014/01/25 19:57:21

Re: [SOLVED] Keyboard and mouse on USB 2.0 dead with 990fx/s

Post by jpack61108 » 2014/01/25 21:59:32

Worked like a charm for me thanks!!

.42
Posts: 1
Joined: 2014/02/13 12:09:15

Re: [SOLVED] Keyboard and mouse on USB 2.0 dead with 990fx/s

Post by .42 » 2014/02/13 12:16:35

Just registered in this forum to thank you for this post :)

I have bought this motherboard two days ago (same version and revision) - I really like it, but go tons of problems with keyboard/mouse during installations (multi-boot) not only with CentOS, but with Windows as well. And those problems are not related just to USB2 - I am using USB3, and same problems persists with this interface as well.
Luckily - this post came along - solved my CentOS installation problems :)

If anyone still have this problem while trying to install CentOS - enable IOMMU in BIOS and then, when booting CentOS DVD - edit launch parameters adding amd_iommu=on at the end of a string.

Thanks for sharing your findings,
.42

shifty
Posts: 1
Joined: 2014/02/14 07:43:31

Re: [SOLVED] Keyboard and mouse on USB 2.0 dead with 990fx/s

Post by shifty » 2014/02/14 07:47:23

Also registered to thank you for the post. Saved me a ridiculous amount of "bang-head-on-wall" time. Thanks for not solving the issue then disappearing without a trace!

molinrud
Posts: 1
Joined: 2015/07/18 04:08:44

Re: [SOLVED] Keyboard and mouse on USB 2.0 dead with 990fx/s

Post by molinrud » 2015/07/18 04:26:05

I have the Gigabyte 990FXA-UD5 R5 (CentOS 6.6) motherboard but this kernel command worked great! Thank you!

- I added the amd_iommu=on to my kernel command string
- ensured all UEFI references were gone, just using Legacy only options in the BIOS
- all 3 XHCI, EHCI, and IOMMU are Enabled in the BIOS

That fixed my dead USB 2.0 issue (Funny but my USB 3.0 ports were working)

I was also able to fix my LAN connection but that was by installing the Realtek 8168 driver. The following are my notes on what I did (the driver has to be rebuilt if the kernel is updated)

Download Realtek LAN driver
Download the driver file from http://www.realtek.com.tw/downloads/dow ... Down=false. Current (15/07/15) filename is r8168-8.040.00.tar.bz2

Extract Realtek LAN driver

Navigate to directory containing the Realtek LAN driver tar.bz2 file. Run the following command to extract the contents
tar jxf r8168-8.040.00.tar.bz2

Install Realtek LAN driver
Navigate to the newly extracted driver directory. Open README file for further instrictions if necessary.
cd r8168-8.040.00

Run the following command to build and install the Realtek LAN driver
./autorun.sh

Reboot to enable the LAN drivers
shutdown -r now

-------

If I get up the nerve I'll try getting my LAN up and running using your approach.

User avatar
TrevorH
Site Admin
Posts: 33202
Joined: 2009/09/24 10:40:56
Location: Brighton, UK

Re: [SOLVED] Keyboard and mouse on USB 2.0 dead with 990fx/s

Post by TrevorH » 2015/07/18 10:17:34

Your LAN drivers will break next time there is a kernel update since you fixed this the wrong way. If you google "ELRepo" you will find a third party yum repository website that offers packaged versions of manufacturer drivers and I am 99.9% sure that they have kmod-r8168 available. Download that, uninstall your source installed drivers, install the kmod and reboot and you should be back up and ready to go but this time your ethernet driver will survive the next kernel update. If you need help with this, please raise a new thread.
The future appears to be RHEL or Debian. I think I'm going Debian.
Info for USB installs on http://wiki.centos.org/HowTos/InstallFromUSBkey
CentOS 5 and 6 are deadest, do not use them.
Use the FAQ Luke

Post Reply