2002-01-25 01:34:39

by Brian Lavender

[permalink] [raw]
Subject: VAIO IRQ assignment problem of USB controller

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 }

--
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/


2002-01-25 01:51:22

by Gabriel Rosa

[permalink] [raw]
Subject: Re: VAIO IRQ assignment problem of USB controller


On Thu, Jan 24, 2002 at 05:34:21PM -0800, Brian Lavender wrote:
> 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 :)

2002-01-25 08:33:27

by Brian Lavender

[permalink] [raw]
Subject: Re: VAIO IRQ assignment problem of USB controller

On Thu, Jan 24, 2002 at 05:34:21PM -0800, Brian Lavender wrote:
> 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

--
Brian Lavender
http://www.brie.com/brian/

2002-01-25 18:29:42

by Thomas Davis

[permalink] [raw]
Subject: Re: VAIO IRQ assignment problem of USB controller

Brian Lavender wrote:
>
> On Thu, Jan 24, 2002 at 05:34:21PM -0800, Brian Lavender wrote:
> > 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?
>

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.

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

2002-01-25 20:11:07

by Thomas Davis

[permalink] [raw]
Subject: Re: VAIO IRQ assignment problem of USB controller

Thomas Davis wrote:
>
> 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

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