Skip to contentSkip to conversation

VAIO IRQ assignment problem of USB controller

DISCUSSION Brian Lavender 3 participants 5 messages Jan 25, 2002

lore
Share & tools
lore
#0 lore raw

I have a Sony VAIO PCG-GR170K laptop with a memory stick which operates off of the USB controller with device ID 00:1d.2. The laptop has a total of three USB controllers. The first two are getting IRQ's, but the third one is not. Under Win2k, it assigns all three USB controllers IRQ 9. I checked the bios for USB options, and the only option I could find is to set a "Non PNP" OS. I found no other USB options. I am currently using kernel 2.4.9 from Redhat compiled from the source RPM. I am guessing that this must be a problem somewhere in the PCI IRQ configuration. Any other suggestions aside from downloading 2.4.17?

$ dmesg 
[snip]
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
usb-uhci.c: $Revision: 1.259 $ time 00:19:35 Dec 17 2001
usb-uhci.c: High bandwidth mode enabled
PCI: Found IRQ 9 for device 00:1d.0
PCI: Setting latency timer of device 00:1d.0 to 64
usb-uhci.c: USB UHCI at I/O 0x1800, IRQ 9
usb-uhci.c: Detected 2 ports
usb.c: new USB bus registered, assigned bus number 1
hub.c: USB hub found
hub.c: 2 ports detected
PCI: Found IRQ 9 for device 00:1d.1
PCI: Setting latency timer of device 00:1d.1 to 64
usb-uhci.c: USB UHCI at I/O 0x1820, IRQ 9
usb-uhci.c: Detected 2 ports
usb.c: new USB bus registered, assigned bus number 2
hub.c: USB hub found
hub.c: 2 ports detected
PCI: No IRQ known for interrupt pin C of device 00:1d.2.
usb-uhci.c: found UHCI device with no IRQ assigned. check BIOS settings!
usb-uhci.c: v1.251:USB Universal Host Controller Interface driver
$ lspci -vv
[snip]
00:1d.0 USB Controller: Intel Corporation: Unknown device 2482 (rev 01) (prog-if 00 [UHCI])
        Subsystem: Sony Corporation: Unknown device 80e7
        Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 0
        Interrupt: pin A routed to IRQ 9
        Region 4: I/O ports at 1800 [size=32]

00:1d.1 USB Controller: Intel Corporation: Unknown device 2484 (rev 01) (prog-if 00 [UHCI])
Subsystem: Sony Corporation: Unknown device 80e7
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin B routed to IRQ 9
Region 4: I/O ports at 1820 [size=32]

00:1d.2 USB Controller: Intel Corporation: Unknown device 2487 (rev 01) (prog-if 00 [UHCI])
Subsystem: Sony Corporation: Unknown device 80e7
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin C routed to IRQ 0
Region 4: I/O ports at 1840 [size=32]

Here's the code from UHCI that configures the device. It looks like if it can't see an IRQ, it can't configure the device.

/usr/src/linux/drivers/usb/uhci.c

   2856 static int __devinit uhci_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
   2857 {
   2858         int i;
   2859 
   2860         if (!pci_dma_supported(dev, 0xFFFFFFFF)) {
   2861                 err("PCI subsystem doesn't support 32 bit addressing?");
   2862                 return -ENODEV;
   2863         }
   2864         dev->dma_mask = 0xFFFFFFFF;
   2865 
   2866         /* disable legacy emulation */
   2867         pci_write_config_word(dev, USBLEGSUP, 0);
   2868 
   2869         if (pci_enable_device(dev) < 0)
   2870                 return -ENODEV;
   2871 
   2872         if (!dev->irq) {
   2873                 err("found UHCI device with no IRQ assigned. check BIOS settings!");
   2874                 return -ENODEV;
   2875         }
Signature · 11 lines
Brian Lavender
http://www.brie.com/brian/

_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-users

-- 
Brian Lavender
http://www.brie.com/brian/
#1 lore raw
Quoted 10 lines · Brian Lavender

I have a Sony VAIO PCG-GR170K laptop with a memory stick which operates off of the USB controller with device ID 00:1d.2. The laptop has a total of three USB controllers. The first two are getting IRQ's, but the third one is not. Under Win2k, it assigns all three USB controllers IRQ 9. I checked the bios for USB options, and the only option I could find is to set a "Non PNP" OS. I found no other USB options. I am currently using kernel 2.4.9 from Redhat compiled from the source RPM. I am guessing that this must be a problem somewhere in the PCI IRQ configuration. Any other suggestions aside from downloading 2.4.17?

[snip]

Hey Brian,

the mem stick + 2 usb ports my Z505LS work fine with 2.4.16+ (both usb ports have been tested, but the mem stick not [however, it shows up fine at boot time]).

You might also want to run 2.4.teen because of the new support for the Sony programmable controller (althought that seems to have gone into 2.4.5) (under char devices, i believe).

See: http://groups.google.com/groups?q=linux+sony+programmable+controller&hl=en&selm=linux.kernel.20010604153515.A31991%40ontario.alcove-fr&rnum=1

I think I told you about the GVaioControl app that I use for brightness at the big installfest over the summer, but this seems to actually enable the function keys.

-Gabe

ps. heh, it's weird seeing people you know on LK :)

#2 lore raw
In reply to Brian Lavender
Quoted 9 lines · Brian Lavender

I have a Sony VAIO PCG-GR170K laptop with a memory stick which operates off of the USB controller with device ID 00:1d.2. The laptop has a total of three USB controllers. The first two are getting IRQ's, but the third one is not. Under Win2k, it assigns all three USB controllers IRQ 9. I checked the bios for USB options, and the only option I could find is to set a "Non PNP" OS. I found no other USB options. I am currently using kernel 2.4.9 from Redhat compiled from the source RPM. I am guessing that this must be a problem somewhere in the PCI IRQ configuration. Any other suggestions aside from downloading 2.4.17?

I downloaded the 2.4.17-pre3 kernel from Redhat's site with their patches, and I compiled it. Still having the same problem with the IRQ. Below is what I get from lspci and dmesg. This time I did not pass the kernel pci=biosirq which I had done in the past. Is this something that the bios just isn't reporting or is there some sort of fix I can do?

$ lspci -vv

00:1d.0 USB Controller: Intel Corporation: Unknown device 2482 (rev 01) (prog-if 00 [UHCI])
Subsystem: Sony Corporation: Unknown device 80e7
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin A routed to IRQ 9
Region 4: I/O ports at 1800 [size=32]

00:1d.1 USB Controller: Intel Corporation: Unknown device 2484 (rev 01) (prog-if 00 [UHCI])
Subsystem: Sony Corporation: Unknown device 80e7
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin B routed to IRQ 9
Region 4: I/O ports at 1820 [size=32]

00:1d.2 USB Controller: Intel Corporation: Unknown device 2487 (rev 01) (prog-if 00 [UHCI])
Subsystem: Sony Corporation: Unknown device 80e7
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin C routed to IRQ 0
Region 4: I/O ports at 1840 [size=32]

and the kernel messages give me:

usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
usb-uhci.c: $Revision: 1.268 $ time 11:43:41 Jan 24 2002
usb-uhci.c: High bandwidth mode enabled
PCI: Found IRQ 9 for device 00:1d.0
PCI: Setting latency timer of device 00:1d.0 to 64
usb-uhci.c: USB UHCI at I/O 0x1800, IRQ 9
usb-uhci.c: Detected 2 ports
usb.c: new USB bus registered, assigned bus number 1
hub.c: USB hub found
hub.c: 2 ports detected
PCI: Found IRQ 9 for device 00:1d.1
PCI: Setting latency timer of device 00:1d.1 to 64
usb-uhci.c: USB UHCI at I/O 0x1820, IRQ 9
usb-uhci.c: Detected 2 ports
usb.c: new USB bus registered, assigned bus number 2
hub.c: USB hub found
hub.c: 2 ports detected
PCI: No IRQ known for interrupt pin C of device 00:1d.2. Please try using pci=biosirq. usb-uhci.c: found UHCI device with no IRQ assigned. check BIOS settings! usb-uhci.c: v1.268:USB Universal Host Controller Interface driver

Signature · 2 lines
Brian Lavender
http://www.brie.com/brian/
#3 lore raw
In reply to Brian Lavender
Quoted 12 lines · Brian Lavender
Quoted 9 lines · Brian Lavender

I have a Sony VAIO PCG-GR170K laptop with a memory stick which operates off of the USB controller with device ID 00:1d.2. The laptop has a total of three USB controllers. The first two are getting IRQ's, but the third one is not. Under Win2k, it assigns all three USB controllers IRQ 9. I checked the bios for USB options, and the only option I could find is to set a "Non PNP" OS. I found no other USB options. I am currently using kernel 2.4.9 from Redhat compiled from the source RPM. I am guessing that this must be a problem somewhere in the PCI IRQ configuration. Any other suggestions aside from downloading 2.4.17?

Quoted 6 lines

I downloaded the 2.4.17-pre3 kernel from Redhat's site with their patches, and I compiled it. Still having the same problem with the IRQ. Below is what I get from lspci and dmesg. This time I did not pass the kernel pci=biosirq which I had done in the past. Is this something that the bios just isn't reporting or is there some sort of fix I can do?

This is another device that Sony has decided to configure via ACPI.

You'll need to check out the Linux ACPI project, and see about getting the ACPI IRQ routing patch.

No, I don't know where it's at exactly.. try using google.

Signature · 4 lines
------------------------+--------------------------------------------------
Thomas Davis		| ASG Cluster guy
[email protected]		| 
(510) 486-4524		| "80 nodes and chugging Captain!"
#4 lore raw
In reply to Brian Lavender
Quoted 8 lines · Thomas Davis

This is another device that Sony has decided to configure via ACPI.

You'll need to check out the Linux ACPI project, and see about getting the ACPI IRQ routing patch.

No, I don't know where it's at exactly.. try using google.

Having just this problem occur... My Sony VAIO R505tsk needed this for not just the card slot, but the USB too! (I'm running Sony's update WinXP bios on it).

Here's the article with the patch:

http://groups.google.com/groups?hl=en&selm=linux.kernel.Pine.LNX.4.33.0201171620510.19753-100000%40chaos.tp1.ruhr-uni-bochum.de

Signature · 4 lines
------------------------+--------------------------------------------------
Thomas Davis		| ASG Cluster guy
[email protected]		| 
(510) 486-4524		| "80 nodes and chugging Captain!"