LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware
User Name
Password
Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?

Notices


Reply
  Search this Thread
Old 04-23-2010, 02:25 PM   #1
jmulligan
LQ Newbie
 
Registered: Oct 2006
Posts: 4

Rep: Reputation: 1
Unhappy PCIe to PCI bus expansion chassis, bad IRQ number?


I am testing a PCI card in a 4-slot bus expansion chassis. I bought the chassis from CoolDrives.com, it appears to be identical to the Startech PEX2PCI4 unit, but was quite a bit cheaper... This device shows up on my lspci output:

05:00.0 PCI bridge: Texas Instruments XIO2000(A)/XIO2200(A) PCI Express-to-PCI Bridge (rev 03)

I think that the following line may also be associated with this device:

06:07.0 PCI bridge: Hint Corp HB6 Universal PCI-PCI bridge (non-transparent mode) (rev 11)


I've installed in the expansion chassis one card, a Linux Media Labs BT484 card. This card works out-of-the-box when installed directly in the system, using the bttv driver.

Installed in the expansion chassis, the card still shows up as follows:

07:00.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11)
07:00.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11)
07:01.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11)
07:01.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11)
07:02.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11)
07:02.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11)
07:03.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11)
07:03.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11)


Now here's the problem: when the card is probed, the system thinks it wants to use IRQ0, and this causes a problem. Here is the long output from lspci:

07:00.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11)
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 64 (4000ns min, 10000ns max)
Interrupt: pin A routed to IRQ 0
Region 0: Memory at cff00000 (32-bit, prefetchable) [size=4K]
Capabilities: <access denied>
Kernel modules: bttv

And here are the error messages printed to /var/log/messages:
Apr 23 11:00:53 wheatstone kernel: bttv: Bt8xx card found (0).
Apr 23 11:00:53 wheatstone kernel: bttv0: Bt878 (rev 17) at 0000:07:03.0, irq: 0, latency: 64, mmio: 0x
cff06000
Apr 23 11:00:53 wheatstone kernel: bttv0: using: *** UNKNOWN/GENERIC *** [card=0,autodetected]
Apr 23 11:00:53 wheatstone kernel: IRQ handler type mismatch for IRQ 0
Apr 23 11:00:53 wheatstone kernel: current handler: timer
Apr 23 11:00:53 wheatstone kernel: Pid: 3095, comm: modprobe Tainted: P 2.6.27.41-170.2.117.JB
M2.fc10.x86_64 #1
Apr 23 11:00:53 wheatstone kernel:
Apr 23 11:00:53 wheatstone kernel: Call Trace:
Apr 23 11:00:53 wheatstone kernel: [<ffffffff8106dfc1>] setup_irq+0x286/0x2ab
Apr 23 11:00:53 wheatstone kernel: [<ffffffffa0a0b233>] ? bttv_irq+0x0/0x82d [bttv]
Apr 23 11:00:53 wheatstone kernel: [<ffffffff8106e0d0>] request_irq+0xea/0x113
Apr 23 11:00:53 wheatstone kernel: [<ffffffffa0a104db>] bttv_probe+0x316/0x92e [bttv]
Apr 23 11:00:53 wheatstone kernel: [<ffffffff81157025>] pci_device_probe+0x4c/0x72
Apr 23 11:00:53 wheatstone kernel: [<ffffffff8119461e>] driver_probe_device+0xc0/0x16e
Apr 23 11:00:53 wheatstone kernel: [<ffffffff8119471b>] __driver_attach+0x4f/0x79
Apr 23 11:00:53 wheatstone kernel: [<ffffffff811946cc>] ? __driver_attach+0x0/0x79
Apr 23 11:00:53 wheatstone kernel: [<ffffffff81193ec6>] bus_for_each_dev+0x4f/0x89
Apr 23 11:00:53 wheatstone kernel: [<ffffffff81194469>] driver_attach+0x1c/0x1e
Apr 23 11:00:53 wheatstone kernel: [<ffffffff81193808>] bus_add_driver+0xb1/0x1e5
Apr 23 11:00:53 wheatstone kernel: [<ffffffff81194917>] driver_register+0xa8/0x116
Apr 23 11:00:53 wheatstone kernel: [<ffffffffa0015000>] ? bttv_init_module+0x0/0xed [bttv]
Apr 23 11:00:53 wheatstone kernel: [<ffffffff81157284>] __pci_register_driver+0x66/0x9e
Apr 23 11:00:53 wheatstone kernel: [<ffffffffa0015000>] ? bttv_init_module+0x0/0xed [bttv]
Apr 23 11:00:53 wheatstone kernel: [<ffffffffa00150d5>] bttv_init_module+0xd5/0xed [bttv]
Apr 23 11:00:53 wheatstone kernel: [<ffffffff81009047>] _stext+0x47/0x121
Apr 23 11:00:53 wheatstone kernel: [<ffffffff8105cc4e>] sys_init_module+0xa9/0x1b7
Apr 23 11:00:53 wheatstone kernel: [<ffffffff8100c37b>] system_call_fastpath+0x16/0x1b
Apr 23 11:00:53 wheatstone kernel:
Apr 23 11:00:53 wheatstone kernel: bttv0: can't get IRQ 0
Apr 23 11:00:53 wheatstone kernel: bttv: probe of 0000:07:03.0 failed with error -16


When the card is installed directly in the motherboard it gets IRQ17 or 18. I suspect that it does not really want IRQ0, but that there is some problem detecting the proper IRQ over the bus expander. One possible approach I am considering is to build a custom version of the driver where I can set the IRQ manually to something else just to get the driver to finish loading, then see what happens when I run the card. This would at least tell me which IRQ the hardware is really using and whether or not the 0 reported is correct or not.

Any other suggestions will be most appreciated.

thanks in advance, Jeff
 
Old 04-25-2010, 08:06 PM   #2
Electro
LQ Guru
 
Registered: Jan 2002
Posts: 6,042

Rep: Reputation: Disabled
Try including acpi=off in the kernel or option line for your boot loader. You could force the model of the card since the autodetec is not working.

It could be the PCIe to PCI is not compatible with the card you are trying to use.

I have a combo card from Koutech that uses a PCI to PCI bridge from HINT Technologies and it works fine, but the devices that it connects to are fixed to the card. This means the company that made the card tested chips used for the NIC, USB 2.0, and IEEE-1394 or Firewire for compatibility. I was lucky that it worked with the desire system.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
PCIE-to-PCI Bridge is not getting detected. indojindes Linux - Embedded & Single-board computer 1 04-21-2011 09:18 AM
PCI:Probing PCI Hardware (bus 00) on LINUX install akansha Linux - Newbie 3 03-03-2010 12:30 AM
pci:probing pci hardware (bus 00) cst Linux - Hardware 1 08-15-2008 03:41 PM
How to find irq number associated with PCI interrupt P.S.R.K.S.PRASAD Linux - Kernel 3 11-08-2006 11:33 PM
Obtain the real IRQ number for a PCI device Elliott-t Linux - Kernel 2 09-24-2006 09:05 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware

All times are GMT -5. The time now is 06:20 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration