[lkml]   [2003]   [Nov]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: PCI: device 00:09.0 has unknown header type 04, ignoring. What's that?
On Thu, 13 Nov 2003, Ricky Beam wrote:

> On Thu, 13 Nov 2003, Richard B. Johnson wrote:
> >> While booting the kernel says:
> >> ---
> >> <6>PCI: Probing PCI hardware
> >> <4>PCI: ACPI tables contain no PCI IRQ routing entries
> >> <4>PCI: Probing PCI hardware (bus 00)
> >> <3>PCI: device 00:09.0 has unknown header type 04, ignoring.
> >> <6>PCI: Using IRQ router VIA [1106/3074] at 00:11.0
> >
> >We don't know if 00:09.0 is your board, but a header type 04
> >is currently not defined. There are three header types, 0->2.
> ...
> >> The BIOS bootscreen reported an "unknown device - IRQ5". But "lspci" doesn't
> >> show up the card!!!
> >
> >lspci will only show a configured controller. Normally the BIOS will
> >configure it. Eventually the kernel may re-configure it. However,
> >with an incorrect header, this won't happen. The board vendor
> >may have "worked-around" this problem with his driver by forcing
> >bits into configuration registers to make it "function". This
> >has a fatal flaw in that a module (driver) doesn't have enough
> >information available to successfully allocate I/O space on its
> >own.
> There could be a few other things going on here... like a broken BIOS. And
> it could simply be problems reading the PCI configuration space for that
> board. Check the BIOS settings for the PCI bus. Try the card in different
> machine(s) -- made by different manufacturers with different BIOSes.
> (FWIW, I have a machine that doesn't like certain PCI cards, and certainly
> doesn't like multiple ones -- it assigns them all the *same* memory
> sections.)
> I've been seeing the same messages on sparc hardware (UltraAXi, Netra T1,
> U5, etc.) for, oh, a year:
> PROMLIB: Sun IEEE Boot Prom 4.0.3 2001/01/03 15:05
> Linux version 2.6.0-test8+BK@1.1348 (root@spacemeat) (gcc version 3.2.3) #14 BK(
> 03/10/22-13:42:11-04:00) Wed Oct 22 14:33:57 EDT 2003
> ...
> PCI: Probing for controllers.
> PCI: Found SABRE, main regs at 000001fe00000000, wsync at 000001fe00001c20
> SABRE: Shared PCI config space at 000001fe01000000
> SABRE: DVMA at c0000000 [20000000]
> PCI: device 0000:00:01.3 has unknown header type 10, ignoring.
> PCI: device 0000:00:01.4 has unknown header type 10, ignoring.
> PCI: device 0000:00:01.5 has unknown header type 10, ignoring.
> PCI: device 0000:00:01.6 has unknown header type 10, ignoring.
> PCI: device 0000:00:01.7 has unknown header type 10, ignoring.
> PCI: device 0000:00:02.0 has unknown header type 10, ignoring.
> ...
> PCI: device 0000:00:1e.0 has unknown header type 10, ignoring.
> PCI: device 0000:00:1f.0 has unknown header type 10, ignoring.
> (it's not always 10, btw.)
> I'm guessing it's because the configuration space isn't being zero'd or
> something like that. In this case, it's only complaining about things
> that aren't actually there.
> --Ricky

Well if the configuration space isn't "zeroed" as you say, then
the hardware is broken --plain-and-simple. This register is
mandatory. It must contain bits that relate to the device.
The bits are set/reset by hardware. If there are any "floating"
bits, then the CPU is not able to correctly read a DWORD (unlikely
if you booted).

There is a serious problem with a lot of junk hardware. Instead
of fixing the board, the vendor calls M$ or the BIOS vendor and
requests a work-around. Since open-source software doesn't get
these free fixes, the vendors get to blame Linux. Just don't
use that crap. Plain and simple. If it's broken, don't fix it
in sofware. Most everybody knows that since there are only
three possible (currently) header types, a simple AND will
"fix" the board during configuration. However, how many other
failures to meet specifications are in that PCI/Bus board?
You don't know. However, you got a hint. If the board fails
to handle the bus properly, you corrupt your hard disk, you
lose all your work, etc.

Dick Johnson
Penguin : Linux version 2.4.22 on an i686 machine (797.90 BogoMips).
Note 96.31% of all statistics are fiction.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:58    [W:0.051 / U:1.960 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site