Bug 244563

Summary: usb not working with "noapic" ... system freezes without "noapic"
Product: [Fedora] Fedora Reporter: Jesus Salvo <jesus.m.salvo>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED CURRENTRELEASE QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: low    
Version: 7CC: chris.brown
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: pci=msi,mmconf Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-09-16 22:15:37 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
lspci output
none
dmesg output
none
dmesg output when attaching usb2 device with "noapic irqpoll" none

Description Jesus Salvo 2007-06-17 11:59:54 UTC
Description of problem:

This may be 2 bugs that are related, not entirely sure:

If I dont have "noapic", my notebook freezes at different points ( sometimes
during startup, sometimes after startup ). The only way I could get a workable
notebook is with "noapic".

However, if I add "noapic", USB is not working entirely, as in:
1) Any USB device connected after startup does not get recognised
2) My USB 1.0 mouse ( A microsoft optical mouse ) that is connected prior to
power on works ... but if I disconnect it and then reconnect it, it no longer
works ( No LED lights on the usb mouse )
3) I get the following message via dmesg and /var/log/messages:


irq 7: nobody cared (try booting with the "irqpoll" option)

Call Trace:
 <IRQ>  [<ffffffff802ae114>] __report_bad_irq+0x30/0x72
 [<ffffffff802ae323>] note_interrupt+0x1cd/0x20e
 [<ffffffff802aedfd>] handle_level_irq+0xb9/0xf1
 [<ffffffff802582ac>] call_softirq+0x1c/0x28
 [<ffffffff80265498>] do_IRQ+0xf1/0x15f
 [<ffffffff80263d5d>] default_idle+0x0/0x3d
 [<ffffffff80257631>] ret_from_intr+0x0/0xa
 <EOI>  [<ffffffff80263d86>] default_idle+0x29/0x3d
 [<ffffffff8024423b>] cpu_idle+0x8c/0xaf

handlers:
[<ffffffff803b431f>] (usb_hcd_irq+0x0/0x52)
Disabling IRQ #7


Note that the same notebook had FC6 installed prior to F7. Under the latest
kernel of FC6, the above message about IRQ7 also appears ... but at least USB
full-speed ( 12Mbps ) is working, although I do not get high-speed with my USB
2.0 devices. At least I can use them, I can't with F7.


Version-Release number of selected component (if applicable):

$ uname -rmpvo
2.6.21-1.3228.fc7 #1 SMP Tue Jun 12 14:56:37 EDT 2007 x86_64 x86_64 GNU/Linux

How reproducible:
Every time

Steps to Reproduce:
1. Add "noapic" 
2.
3.
  
Actual results:

Any USB device connected after startup is not recognised.
USB 1.0 mouse connected prior to poweron recognised, but after disconnecting and
reconnecting the mouse, it also is no longer recognised.


Expected results:

Any USB device connected after startup must be recognised.
USB 1.0 mouse connected prior to poweron recognised, and must continue to be
recognised even if disconnected and reconnected.


Additional info:

Compaq Presario V6107AU
AMD Turionx64 x2
See attachments for lspci and dmesg output

Comment 1 Jesus Salvo 2007-06-17 11:59:54 UTC
Created attachment 157217 [details]
lspci output

Comment 2 Jesus Salvo 2007-06-17 12:01:21 UTC
Created attachment 157218 [details]
dmesg output

Comment 3 Jesus Salvo 2007-06-17 12:03:56 UTC
When I said:

"Note that the same notebook had FC6 installed prior to F7. Under the latest
kernel of FC6, the above message about IRQ7 also appears ... but at least USB
full-speed ( 12Mbps ) is working, although I do not get high-speed with my USB
2.0 devices. At least I can use them, I can't with F7."

It should have said:

"Note that the same notebook had FC6 installed prior to F7. Under FC6, the above
message about IRQ7 in all kernels that I have used also appears ... but at least
USB full-speed ( 12Mbps ) is working, although I do not get high-speed ( 480
Mbps ) with my USB 2.0 devices. At least I can use them, I can't with F7."



Comment 4 Jesus Salvo 2007-06-17 12:28:00 UTC
Damn ........... .I should have tried this earlier. I did not because it did not
change a thing under FC6.

This time, I booted F7 with "noapic irqpoll". This time, the usb devices are
recognised. 

However, things seems to be running slow. Does irqpoll hurt performance ?
Also, my USB 2.0 device ( USB2IDE hard-drive enclosure ) appears to be
recognised only as full-speed 9 12 Mbps ) and not high-speed ( See below ).

I also forgot to mention that under FC6, the latest kernel allowed me to boot
without having to specify "noapic", and I get USB high-speed ( 480Mpbs ) working.

Under F7, it seems that I took a few steps back, since I have freezed without
"noapic", and I can't get usb high-speed working.


$ cat /proc/bus/usb/devices

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 8
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 2.06
S:  Manufacturer=Linux 2.6.21-1.3228.fc7 ehci_hcd
S:  Product=EHCI Host Controller
S:  SerialNumber=0000:00:0b.1
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 8
B:  Alloc= 54/900 us ( 6%), #Int=  2, #Iso=  2
D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 2.06
S:  Manufacturer=Linux 2.6.21-1.3228.fc7 ohci_hcd
S:  Product=OHCI Host Controller
S:  SerialNumber=0000:00:0b.0
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  5 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=048d ProdID=8903 Rev= 2.00
S:  Manufacturer=ITE Tech. Inc.
S:  Product=USB2IDE Bridge Controllee
S:  SerialNumber=000000000065
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms

T:  Bus=01 Lev=01 Prnt=01 Port=02 Cnt=02 Dev#=  2 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=e0(unk. ) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=03f0 ProdID=171d Rev= 1.00
S:  Manufacturer=Broadcom Corp
S:  Product=HP Integrated Module
C:* #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb
E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms
E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
I:  If#= 1 Alt= 0 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb
E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb
E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
I:* If#= 1 Alt= 2 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb
E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb
E:  Ad=83(I) Atr=01(Isoc) MxPS=  32 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=  32 Ivl=1ms
I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb
E:  Ad=83(I) Atr=01(Isoc) MxPS=  64 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=  64 Ivl=1ms
I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb
E:  Ad=83(I) Atr=01(Isoc) MxPS=  64 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=  64 Ivl=1ms
I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=84(I) Atr=02(Bulk) MxPS=  32 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS=  32 Ivl=0ms
I:* If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=00 Driver=(none)

T:  Bus=01 Lev=01 Prnt=01 Port=05 Cnt=03 Dev#=  4 Spd=1.5 MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=045e ProdID=0040 Rev= 1.21
S:  Manufacturer=Microsoft
S:  Product=Microsoft Wheel Mouse Optical�
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02 Driver=usbhid
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=10ms


Comment 5 Jesus Salvo 2007-06-17 12:32:36 UTC
Created attachment 157221 [details]
dmesg output when attaching usb2 device with "noapic irqpoll"

Comment 6 Jesus Salvo 2007-06-17 13:09:30 UTC
After about half hour of use ... I find that irqpoll is just tooo slow. The
characters that I type on the keyboard take too long to appear on the screen,
switching between apps takes ages for a redraw on the screen, etc.... It is
simply  painful.

What I am curious about is that usb2 high-speed was working under FC6 using just
"noapic", although using an i686 kernel back then instead of an x86_64 kernel.

Comment 7 Jesus Salvo 2007-06-19 11:49:30 UTC
FYI .. With the "noapic" option only, I have lots of ERRs in /proc/interrupts,
plus high interrupts for usb2:

$ cat /proc/interrupts
           CPU0       CPU1
  0:    5067613     537463    XT-PIC-XT        timer
  1:       5677       1567    XT-PIC-XT        i8042
  2:          0          0    XT-PIC-XT        cascade
  5:      47636      13338    XT-PIC-XT        libata
  7:     659127    5845500    XT-PIC-XT        ehci_hcd:usb2
  8:          0          0    XT-PIC-XT        rtc
  9:      35638       4772    XT-PIC-XT        acpi, HDA Intel
 10:     595484      88717    XT-PIC-XT        eth0
 11:      40345       7303    XT-PIC-XT        ohci_hcd:usb1, fw_ohci, sdhci:slot0
 12:        108         16    XT-PIC-XT        i8042
 14:      53282       6357    XT-PIC-XT        libata
 15:          0          0    XT-PIC-XT        libata
NMI:          0          0
LOC:    5603995    5604038
ERR:    6405062


I'll try using a combination of different kernel boot paramters are report the
results later.

Comment 8 Jesus Salvo 2007-06-23 01:31:49 UTC
After several tries, it seems that the correct option is to use "pci=noacpi"
option, __without__ "noapic".

With "pci=noacpi" option only, I get:

1) USB 2.0 highspeed working
2) No lockups

No I am just wondering if this option was necessary if the hidden HPET was
enabled . Anyway, for now, this are working.


Comment 9 Jesus Salvo 2007-06-23 01:43:33 UTC
Spoke too soon. After all those hours ... I did not bother testing sound. Sound
is broken with "pci=noacpi". When I click "Test sound" in KDE's control panel,
there is sound, but it paused like every half second.

Comment 10 Jesus Salvo 2007-06-30 11:27:01 UTC
I think I found the combination1 It seems to be pci=msi,mmconf, as in ( from
dmesg ):

Kernel command line: ro root=/dev/VolGroup00/LogVol00 apic=debug pci=msi,mmconf

No need for noapic! Now I get:

1) USB working, including high-speed, and disconnect / reconnect
2) Sound works
3) No hangs ( yet .. for 30 minutes now ).
4) Even works with nvidia's proprietary graphics driver

pci=msi by itself or pci=mmconf by itself will result in a system hang a few
seconds after completing startup.

Will update within a week to see if this really does it for this notebook (
Compaq Presario V6107AU ).



Comment 11 Jesus Salvo 2007-06-30 11:28:52 UTC
Here is the /proc/interrupts with pci=msi,mmconf:

# cat /proc/interrupts
           CPU0       CPU1
  0:    1359196          0   IO-APIC-edge      timer
  1:        483       4358   IO-APIC-edge      i8042
  8:          0          0   IO-APIC-edge      rtc
  9:        308        332   IO-APIC-fasteoi   acpi
 10:         23          0   IO-APIC-fasteoi   fw_ohci
 11:          0          0   IO-APIC-fasteoi   sdhci:slot0
 12:        124          0   IO-APIC-edge      i8042
 14:         63      13596   IO-APIC-edge      libata
 15:          0          0   IO-APIC-edge      libata
 17:       4810      26052   IO-APIC-fasteoi   HDA Intel
 18:       3023          0   IO-APIC-fasteoi   bcm43xx_mac80211
 19:       6513      46686   IO-APIC-fasteoi   nvidia
 20:       2212     174672   IO-APIC-fasteoi   eth0
 21:       6531      10305   IO-APIC-fasteoi   libata
 22:       5730     119544   IO-APIC-fasteoi   ehci_hcd:usb2
 23:       6133       3188   IO-APIC-fasteoi   ohci_hcd:usb1
NMI:          0          0
LOC:    1358877    1372138
ERR:          0


Comment 12 Jesus Salvo 2007-07-10 06:19:08 UTC
After more than a week, I can confirm that "pci=msi,mmconf" is the correct
kernel parameter!

Comment 13 Christopher Brown 2007-09-16 22:15:37 UTC
Hello,

I'm reviewing this bug as part of the kernel bug triage project, an attempt to
isolate current bugs in the fedora kernel.

http://fedoraproject.org/wiki/KernelBugTriage

This bug appears to be resolved and I am therefore closing it. If I have erred,
please forgive me and re-open with any additional information you are able to
give. I will then try and assist you if I can.

Cheers
Chris