Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[SOLVED]Keyboard w/ integrated UsbHub doesn’t work in USB2.0
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
Graf Zeppelin
n00b
n00b


Joined: 12 Jan 2018
Posts: 2

PostPosted: Sat Jan 13, 2018 11:05 pm    Post subject: [SOLVED]Keyboard w/ integrated UsbHub doesn’t work in USB2.0 Reply with quote

I have a keyboard with USB passthrough, which I use to connect a mouse. The keyboard works fine out of the box in both windows and arch linux, but only works in gentoo under specific circumstances. It has to be plugged to a USB 3.0 port while the laptop is on AC – if it’s on battery it stops working. I know that the power output of the USB port is not to blame because this doesn’t happen in windows or arch. Under USB 2.0 the keyboard is not recognized, but the mouse connected via passthrough is. Because my main workstation does not have USB 3.0 ports, this renders my keyboard completely useless.

I tried various kernel parameters that were suggested in threads where people complained of similar problems, but none of them worked. I am assuming that using an arch linux live cd (in which the keyboard does function perfectly) will allow me to diagnose which driver/module/kernel parameter is missing in gentoo, but I have no idea how to go about that.

In case it helps, below are a few lsusb’s:

thinkpad x220, gentoo, usb 3.0 (keyboard works)
Code:
lsusb
Bus 001 Device 003: ID 04f2:b217 Chicony Electronics Co., Ltd Lenovo Integrated Camera (0.3MP)
Bus 002 Device 126: ID 046d:c083 Logitech, Inc.
Bus 004 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 127: ID 1951, Class=Video, Driver=, 480M
Bus 002 Device 125: ID 05f 1, Class=Video, Driver=, 480M
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
lsusb -t
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 5000M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
    |__ Port 1: Dev 125, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 1: Dev 126, If 0, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 1: Dev 126, If 1, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 2: Dev 127, If 0, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 2: Dev 127, If 1, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 2: Dev 127, If 2, Class=Human Interface Device, Driver=usbhid, 12M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
        |__ Port 6: Dev 3, If 0, Class=Video, Driver=, 480M
        |__ Port 6: Dev 3, If 1, Class=Video, Driver=, 480M


thinkpad x220, gentoo, usb 2.0 (keyboard does not work)
Code:
lsusb
Bus 004 Device 017: ID 195d:2030 Itron Technology iONE
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 04f2:b217 Chicony Electronics Co., Ltd Lenovo Integrated Camera (0.3MP)
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 004 Device 016: ID 046d:c083 Logitech, Inc.
Bus 004 Device 015: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 004 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
lsusb -t
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M
        |__ Port 2: Dev 15, If 0, Class=Hub, Driver=hub/4p, 480M
            |__ Port 1: Dev 16, If 0, Class=Human Interface Device, Driver=usbhid, 12M
            |__ Port 1: Dev 16, If 1, Class=Human Interface Device, Driver=usbhid, 12M
            |__ Port 2: Dev 17, If 2, Class=Human Interface Device, Driver=usbhid, 12M
            |__ Port 2: Dev 17, If 0, Class=Human Interface Device, Driver=usbhid, 12M
            |__ Port 2: Dev 17, If 1, Class=Human Interface Device, Driver=usbhid, 12M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 5000M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
        |__ Port 6: Dev 3, If 0, Class=Video, Driver=, 480M
        |__ Port 6: Dev 3, If 1, Class=Video, Driver=, 480M


thinkpad t520, arch, usb 2.0 (keyboard works)
Code:
lsusb
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 13fe:5500 Kingston Technology Company Inc.
Bus 001 Device 006: ID 195d:2030 Intron Technology iONE
Bus 001 Device 005: ID 046d:c083 Logitech, Inc. G403 Prodigy Gaming Mouse
Bus 001 Device 004: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
        |__ Port 1: Dev 4, If 0, Class=Hub, Driver=hub/4p, 480M
            |__ Port 1: Dev 5, If 0, Class=Human Interface Device, Driver=usbhid, 12M
            |__ Port 1: Dev 5, If 1, Class=Human Interface Device, Driver=usbhid, 12M
            |__ Port 2: Dev 6, If 0, Class=Human Interface Device, Driver=usbhid, 12M
            |__ Port 2: Dev 6, If 1, Class=Human Interface Device, Driver=usbhid, 12M
            |__ Port 2: Dev 6, If 2, Class=Human Interface Device, Driver=usbhid, 12M
    |__ Port 2: Dev 3, If 0, Class=Mass Storage, Driver=usb-storage, 480M


If anyone has any ideas of something I could try, I’d really appreciate it.


Last edited by Graf Zeppelin on Tue Jan 16, 2018 7:41 am; edited 1 time in total
Back to top
View user's profile Send private message
blopsalot
Apprentice
Apprentice


Joined: 28 Jan 2017
Posts: 231

PostPosted: Sun Jan 14, 2018 6:42 pm    Post subject: Reply with quote

I would still be looking at kernel options or maybe init options. Are you using genkernel or rolling your own? Are you using systemd or openRC?
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 40615
Location: 56N 3W

PostPosted: Sun Jan 14, 2018 6:55 pm    Post subject: Reply with quote

Graf Zeppelin,

Welcome to Gentoo.

USB3 root hubs support both USB2 and USB1. Its a part of the standard.

USB2 root hubs in general, don't do USB1 without some help.
Check your kernel for
Code:
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_EHCI_TT_NEWSCHED=y
Thats one way to provide the help.

The other way, is with the USB1 driver itself. That's CONFIG_USB_UHCI_HCD an you have Intel USB2 haldware.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Graf Zeppelin
n00b
n00b


Joined: 12 Jan 2018
Posts: 2

PostPosted: Tue Jan 16, 2018 7:39 am    Post subject: Reply with quote

NeddySeagoon wrote:
Graf Zeppelin,

Welcome to Gentoo.

USB3 root hubs support both USB2 and USB1. Its a part of the standard.

USB2 root hubs in general, don't do USB1 without some help.
Check your kernel for
Code:
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_EHCI_TT_NEWSCHED=y
Thats one way to provide the help.

The other way, is with the USB1 driver itself. That's CONFIG_USB_UHCI_HCD an you have Intel USB2 haldware.


This did the trick, thank you!

Turns out, however, that apparently I can't reconfigure a kernel. I had tried the TT stuff before, with no results, but because I had polluted my kernel with so many options trying to troubleshoot this, I decided to reinstall gentoo. Both TT options alone got everything working perfectly with the first genkernel run, although they did nothing on my kernel reconfiguration attempts. Below is my procedure, could anyone tell me what I'm missing please?

Code:
cd /usr/src/linux
make menuconfig
make && make install && make modules_install
grub-mkconfig -o /boot/grub/grub.cfg


It's great to finally get this issue out of the way, thank you very much for your help.
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 40615
Location: 56N 3W

PostPosted: Tue Jan 16, 2018 1:27 pm    Post subject: Reply with quote

Graf Zeppelin,

No
Code:
mount /boot


You have two places on your system called boot.
/boot is the directory on the root filesystem where the partition called boot needs to be mounted when you want to change its contents.

Installing things to the /boot in the directory on the root filesystem (and not the boot partition) is not an error but grub won't see them there.
By default the boot partition is not mounted. You need to do it by hand every time.

Tip: When you do a kernel update, check the time in
Code:
uname -a
before and after the reboot.
Code:
$ uname -a
Linux NeddySeagoon_Static 4.15.0-rc8 #1 SMP PREEMPT Mon Jan 15 15:49:15 GMT 2018 x86_64 AMD Phenom(tm) II X6 1090T Processor AuthenticAMD GNU/Linux

Mon Jan 15 15:49:15 GMT 2018 is the build time of the running kernel.

Its a popular Gentoo 'feature' to not be running the kernel you thing you are :)

Code:
cd /usr/src/linux
make menuconfig
mount /boot  <----------
make && make install && make modules_install
grub-mkconfig -o /boot/grub/grub.cfg


Also make && make install && make modules_install builds the kernel using a single core. make.conf is not used.
Code:
make -jX && make install && make modules_install
Where X is your cores+1 or whatever, is a bit faster on most processors.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum