Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[SOLVED] Mouse (Roccat Kova) delays boot time by 10 seconds
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
derbrain
Apprentice
Apprentice


Joined: 09 Apr 2005
Posts: 178

PostPosted: Thu Jul 01, 2010 5:00 pm    Post subject: [SOLVED] Mouse (Roccat Kova) delays boot time by 10 seconds Reply with quote

Hello,
I wanted to speed up the boot process a little. Looking at my bootchart, I noted a biiiiiiiiig hang in usb_id first. Since a couple of days, I don't even have usb_id in bootchart anymore, now it's modprobe that hangs, and the break seems to have changed from 5 to 10 seconds. Maybe this is due to some updates, or because I moved to kernel 2.6.33-r2. Anyway, the reason seems to be my mouse. It's a Roccat Kova. It shows up as a mouse AND a keyboard, as it should. But there seems to be a timeout before it starts to work. Afterwards, it works like a charm. This is what dmesg says:
Code:
...
[    0.289060] usbcore: registered new interface driver usbfs
[    0.289067] usbcore: registered new interface driver hub
[    0.289067] usbcore: registered new device driver usb
...
[    0.658878] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    0.658979] ehci_hcd 0000:00:12.2: PCI INT B -> GSI 17 (level, low) -> IRQ 17
[    0.659085] ehci_hcd 0000:00:12.2: EHCI Host Controller
[    0.659193] ehci_hcd 0000:00:12.2: new USB bus registered, assigned bus number 1
[    0.659317] ehci_hcd 0000:00:12.2: debug port 1
[    0.659396] ehci_hcd 0000:00:12.2: irq 17, io mem 0xfe8ff800
[    0.664697] ehci_hcd 0000:00:12.2: USB 2.0 started, EHCI 1.00
[    0.664893] hub 1-0:1.0: USB hub found
[    0.664947] hub 1-0:1.0: 6 ports detected
[    0.665045] ehci_hcd 0000:00:13.2: PCI INT B -> GSI 19 (level, low) -> IRQ 19
[    0.665151] ehci_hcd 0000:00:13.2: EHCI Host Controller
[    0.665259] ehci_hcd 0000:00:13.2: new USB bus registered, assigned bus number 2
[    0.665383] ehci_hcd 0000:00:13.2: debug port 1
[    0.665461] ehci_hcd 0000:00:13.2: irq 19, io mem 0xfe8ff400
[    0.673696] ehci_hcd 0000:00:13.2: USB 2.0 started, EHCI 1.00
[    0.676125] hub 2-0:1.0: USB hub found
[    0.678477] hub 2-0:1.0: 6 ports detected
[    0.680925] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    0.683406] ohci_hcd 0000:00:12.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    0.685966] ohci_hcd 0000:00:12.0: OHCI Host Controller
[    0.688581] ohci_hcd 0000:00:12.0: new USB bus registered, assigned bus number 3
[    0.691253] ohci_hcd 0000:00:12.0: irq 16, io mem 0xfe8fe000
[    0.748829] hub 3-0:1.0: USB hub found
[    0.751561] hub 3-0:1.0: 3 ports detected
[    0.754341] ohci_hcd 0000:00:12.1: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    0.757205] ohci_hcd 0000:00:12.1: OHCI Host Controller
[    0.760138] ohci_hcd 0000:00:12.1: new USB bus registered, assigned bus number 4
[    0.763125] ohci_hcd 0000:00:12.1: irq 16, io mem 0xfe8fd000
[    0.820825] hub 4-0:1.0: USB hub found
[    0.823860] hub 4-0:1.0: 3 ports detected
[    0.826955] ohci_hcd 0000:00:13.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
[    0.830142] ohci_hcd 0000:00:13.0: OHCI Host Controller
[    0.833395] ohci_hcd 0000:00:13.0: new USB bus registered, assigned bus number 5
[    0.836624] ohci_hcd 0000:00:13.0: irq 18, io mem 0xfe8fc000
[    0.894830] hub 5-0:1.0: USB hub found
[    0.898008] hub 5-0:1.0: 3 ports detected
[    0.901161] ohci_hcd 0000:00:13.1: PCI INT A -> GSI 18 (level, low) -> IRQ 18
[    0.904331] ohci_hcd 0000:00:13.1: OHCI Host Controller
[    0.907508] ohci_hcd 0000:00:13.1: new USB bus registered, assigned bus number 6
[    0.910665] ohci_hcd 0000:00:13.1: irq 18, io mem 0xfe8fb000
[    0.968828] hub 6-0:1.0: USB hub found
[    0.971915] hub 6-0:1.0: 3 ports detected
[    0.974994] ohci_hcd 0000:00:14.5: PCI INT C -> GSI 18 (level, low) -> IRQ 18
[    0.978099] ohci_hcd 0000:00:14.5: OHCI Host Controller
[    0.981171] ohci_hcd 0000:00:14.5: new USB bus registered, assigned bus number 7
[    0.984287] ohci_hcd 0000:00:14.5: irq 18, io mem 0xfe8fa000
...
[    1.041821] hub 7-0:1.0: USB hub found
[    1.041828] hub 7-0:1.0: 2 ports detected
[    1.041915] usbcore: registered new interface driver usblp
[    1.041916] Initializing USB Mass Storage driver...
[    1.041959] usbcore: registered new interface driver usb-storage
[    1.041960] USB Mass Storage support registered.
[    1.042071] PNP: No PS/2 controller found. Probing ports directly.
[    1.042475] serio: i8042 KBD port at 0x60,0x64 irq 1
[    1.042480] serio: i8042 AUX port at 0x60,0x64 irq 12
[    1.042542] mice: PS/2 mouse device common for all mice
...
[    1.260031] usb 4-1: new low speed USB device using ohci_hcd and address 2
...
[    1.657059] usb 4-3: new full speed USB device using ohci_hcd and address 3
[    2.084566] mktemp used greatest stack depth: 5376 bytes left
[    2.252906] mount used greatest stack depth: 4976 bytes left
[    4.335382] rm used greatest stack depth: 4904 bytes left
[    4.983879] udev: starting version 149
[    5.231773] usbcore: registered new interface driver hiddev
[    5.255945] input: Microsoft Natural® Ergonomic Keyboard 4000 as /devices/pci0000:00/0000:00:12.1/usb4/4-1/4-1:1.0/input/input2
[    5.256074] microsoft 0003:045E:00DB.0001: input,hidraw0: USB HID v1.11 Keyboard [Microsoft Natural® Ergonomic Keyboard 4000] on usb-0000:00:12.1-1/input0
...
[    5.271751] input: Microsoft Natural® Ergonomic Keyboard 4000 as /devices/pci0000:00/0000:00:12.1/usb4/4-1/4-1:1.1/input/input3
[    5.271873] microsoft 0003:045E:00DB.0002: input,hidraw1: USB HID v1.11 Device [Microsoft Natural® Ergonomic Keyboard 4000] on usb-0000:00:12.1-1/input1
[    5.753443] fstab_import used greatest stack depth: 4768 bytes left
[   15.235880] drivers/hid/usbhid/hid-core.c: usb_submit_urb(ctrl) failed
[   15.235902] generic-usb 0003:1E7D:2CB0.0003: timeout initializing reports
[   15.236096] input: ROCCAT ROCCAT Kova as /devices/pci0000:00/0000:00:12.1/usb4/4-3/4-3:1.0/input/input4
[   15.236287] generic-usb 0003:1E7D:2CB0.0003: input,hidraw2: USB HID v1.00 Mouse [ROCCAT ROCCAT Kova] on usb-0000:00:12.1-3/input0
[   15.239331] input: ROCCAT ROCCAT Kova as /devices/pci0000:00/0000:00:12.1/usb4/4-3/4-3:1.1/input/input5
[   15.239449] generic-usb 0003:1E7D:2CB0.0004: input,hidraw3: USB HID v1.11 Keyboard [ROCCAT ROCCAT Kova] on usb-0000:00:12.1-3/input1
[   15.239497] usbcore: registered new interface driver usbhid
[   15.239502] usbhid: USB HID core driver
I skipped some irrelevant lines, but you see the big jump from 5 to 15 seconds. Is there any way to ignore or reduce the timeout for this device?

Thanks a lot,
Christian


Last edited by derbrain on Fri Mar 22, 2013 3:39 am; edited 1 time in total
Back to top
View user's profile Send private message
cach0rr0
Bodhisattva
Bodhisattva


Joined: 13 Nov 2008
Posts: 4123
Location: Houston, Republic of Texas

PostPosted: Thu Jul 01, 2010 10:56 pm    Post subject: Reply with quote

set the module not to autoload at boot through the normal methods, and instead write in the requisite modprobe to be run as part of /etc/init.d/local

and for speeding up boot time, if you haven't done so already, the single biggest improvement I saw was moving from baselayout-1 to bl-2/openrc - more on that here: https://forums.gentoo.org/viewtopic-t-807202-highlight-ricing.html
_________________
Lost configuring your system?
dump lspci -n here | see Pappy's guide | Link Stash
Back to top
View user's profile Send private message
derbrain
Apprentice
Apprentice


Joined: 09 Apr 2005
Posts: 178

PostPosted: Sat Jul 03, 2010 5:13 pm    Post subject: Reply with quote

cach0rr0 wrote:
set the module not to autoload at boot through the normal methods, and instead write in the requisite modprobe to be run as part of /etc/init.d/local


Hmmm, I tried that, but it seems that it just makes things slow later, so I reverted that back.
See http://omploader.org/vNHRweQ vs. http://omploader.org/vNHRxMA

(As you see, I already am on baselayout-2)
Back to top
View user's profile Send private message
derbrain
Apprentice
Apprentice


Joined: 09 Apr 2005
Posts: 178

PostPosted: Sun Nov 21, 2010 11:19 am    Post subject: Reply with quote

Hmm, I'm still stuck with this problem.

I reverted back to cach0rr0's idea, starting the module in /etc/init.d/local.
I noticed something interesting: I always thought the problem was (only) modprobe. But there is another process colored in pink (I'm not sure what the colors mean) EXACTLY during the mysterious 10 seconds: devkit-power-daemon. During this time, nothing happens, the HDD-LED is not flickering. Could this be some kind of race condition?
Plugging out the mouse results in a normal boot, and after plugging it in I get the timeout anyway. However, other processes are not being blocked like while booting.

So, I can think of two possible solutions:
1. skipping the timeout in some way. I played around with some "usbhid quirks" settings, but didn't succeed. I also checked the source could to get a clue about why the timeout happens, but I don't understand enough of it. However, ist must be possible, since Windows doesn't have this problem.
2. at least let the timeout happen "in parralel" and not blocking other processes

How can I achieve one of them?
Back to top
View user's profile Send private message
derbrain
Apprentice
Apprentice


Joined: 09 Apr 2005
Posts: 178

PostPosted: Fri Mar 22, 2013 3:36 am    Post subject: Made it! Reply with quote

The solution was adding the following line to /etc/modprobe.d/usbhid.conf (if usbhid is compiled as a module, otherwise it has to be passed as a kernel parameter):
Code:
options usbhid quirks=0x1e7d:0x2cb0:0x20000000
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