2003-02-15 15:53:14

by Nicolas Mailhot

[permalink] [raw]
Subject: [2.5] EHCI HID keyboard not unloaded at reboot time ?

[ Please CC me any replies, I don't follow the list closely ]

Hi,

This is a question related to :
http://bugzilla.kernel.org/show_bug.cgi?id=9

Basically I have a usb keyboard plugged on an external USB2 hub. Using
a monolithic ehci/hid kernel I can get it to work in 2.5. It's also used
in usb1 mode by the bios and the bootloader.

However when I shut down or reboot from 2.5, I loose keyboard support
in the bios/bootloader/linux 2.4 (used to loose it in linux 2.5 also but
recent ehci enhancements enable 2.5 to recover it). Nothing short of a
PSU stop (neither reset nor stop button works) will recover it.

What happens is the usb subsystem is somehow not unloaded at
shutdown/reboot time. The bios and linux 2.4 then find a usb subsystem
already setup in usb2 mode, and since they only know usb1 handling, they
are unable to recover usb devices. This is a pain when you have like me
an usb-only input setup. It means crawling under the desk every shutdown
time to reach the PSU power button, and feel the hardware aging
prematurely (and I'm lucky to *have* a PSU power button, I imagine some
other poor souls may have to unplug it to get the same effect).

I say the usb subsystem is somehow not unloaded because
1. when I request a shutdown the keyboard is still active after the ?
Power Down ? message (this mobo wants acpi to shutdown properly so this
is easy to check with a acpi-less kernel)
2. I sprinkled the ehci unloading function whith printks some time ago
and it was never called.
3. the usb2 hub has a led to show if it's in usb1 or usb2 mode, and it
stays on after the reboot (when cold-booting in uhci 2.4 it stays of)

Now I'm wondering if someone didn't decided at some time that
shutdown=suspend and input devices should stay on in suspend mode so
people can resume their system, ie maybe it's a design mistake instead
of a simple bug.

Can anyone shed some light/advice on this problem ? It's driving me
nuts.

Regards,

--
Nicolas Mailhot


Attachments:
signature.asc (189.00 B)
Ceci est une partie de message num?riquement sign

2003-02-17 23:33:04

by Pavel Machek

[permalink] [raw]
Subject: Re: [2.5] EHCI HID keyboard not unloaded at reboot time ?

Hi!

> This is a question related to :
> http://bugzilla.kernel.org/show_bug.cgi?id=9
>
> Basically I have a usb keyboard plugged on an external USB2 hub. Using
> a monolithic ehci/hid kernel I can get it to work in 2.5. It's also used
> in usb1 mode by the bios and the bootloader.
>
> However when I shut down or reboot from 2.5, I loose keyboard support
> in the bios/bootloader/linux 2.4 (used to loose it in linux 2.5 also but
> recent ehci enhancements enable 2.5 to recover it). Nothing short of a
> PSU stop (neither reset nor stop button works) will recover it.

Well, if reset does not work, it looks like hw bug ;-). OTOH this
might be quite easy to workaround in sw. What happens if you unplug
and replug the keyboard?
Pavel
--
When do you have a heart between your knees?
[Johanka's followup: and *two* hearts?]

2003-02-18 21:01:30

by Nicolas Mailhot

[permalink] [raw]
Subject: Re: [2.5] EHCI HID keyboard not unloaded at reboot time ?

Le dim 16/02/2003 ? 22:28, Pavel Machek a ?crit :
> Hi!
>
> > This is a question related to :
> > http://bugzilla.kernel.org/show_bug.cgi?id=9
> >
> > Basically I have a usb keyboard plugged on an external USB2 hub. Using
> > a monolithic ehci/hid kernel I can get it to work in 2.5. It's also used
> > in usb1 mode by the bios and the bootloader.
> >
> > However when I shut down or reboot from 2.5, I loose keyboard support
> > in the bios/bootloader/linux 2.4 (used to loose it in linux 2.5 also but
> > recent ehci enhancements enable 2.5 to recover it). Nothing short of a
> > PSU stop (neither reset nor stop button works) will recover it.
>
> Well, if reset does not work, it looks like hw bug ;-). OTOH this
> might be quite easy to workaround in sw. What happens if you unplug
> and replug the keyboard?

Hey, thanks for the reply.

Turns out I was right about the diagnostic. 2.5 *did* *not* *unload*
*ehci*. So after the reboot all usb1-aware systems (bios, linux 2.4,
etc) found usb components that expected usb2 commands. David Brownell
send me a patch that forced ehci unload at shutdown (via a reboot
notifier) and all's been well since. So it was a real 2.5 bug.

Sure the hardware could have moped up usb remains better, but since
other evil OSes cleanup their usb stack correctly, I guess they didn't
bother (plus I suspect it would have made boot times a bit longer).

Anyway, closing one of the first ten bugzilla bugs at last one feels
very good:)

--
Nicolas Mailhot


Attachments:
signature.asc (189.00 B)
Ceci est une partie de message num?riquement sign