Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 9 Sep 2006 14:41:43 -0700 (PDT)
From:      -MM- <workdamyou@yahoo.ca>
To:        freebsd-stable@freebsd.org
Subject:   missing hardware
Message-ID:  <20060909214143.39623.qmail@web32103.mail.mud.yahoo.com>

next in thread | raw e-mail | index | archive | help
Greetings,

Currently I have FBSD 6.1 release (custom build, DMI, DRM, took out some
drivers that I don't use) however, 6.1 release generic didn't quite work
either*.  (Works on a different (slower) harddrive controller)

ACPI doesn't seem to work on this computer.

The problem is that I have two host -> PCI adapters, and two PCI -> PCI bridges
in my computer, and a Symbios 53c896 behind one of them isn't being seen.

Essentally, there is...  (edited output from pciconf -lv)
===================================================================================
hostb0@pci0:0:0:        class=0x060000 card=0x00000000 chip=0x00071166 
rev=0x04 hdr=0x00 
     vendor   = 'ServerWorks (Was: Reliance Computer Corp)' 
     device   = 'NB6635 (CNB20-LE/HE) CPU to PCI Bridge' 
     class    = bridge 
     subclass = HOST-PCI 
 pcib1@pci0:0:1: class=0x060400 card=0x00000080 chip=0x00051166 rev=0x02 
hdr=0x01 
     vendor   = 'ServerWorks (Was: Reliance Computer Corp)' 
     device   = 'NB6536 (CNB20-LE) PCI to PCI Bridge, bus/dev/func 0/0/1' 
     class    = bridge 
     subclass = PCI-PCI 
 hostb1@pci0:17:0:       class=0x060000 card=0x00000000 chip=0x00071166 
rev=0x04 hdr=0x00 
     vendor   = 'ServerWorks (Was: Reliance Computer Corp)' 
     device   = 'NB6635 (CNB20-LE/HE) CPU to PCI Bridge' 
     class    = bridge 
     subclass = HOST-PCI 
 hostb2@pci0:17:1:       class=0x060000 card=0x00000000 chip=0x00051166 
rev=0x02 hdr=0x00 
     vendor   = 'ServerWorks (Was: Reliance Computer Corp)' 
     device   = 'NB6536 (CNB20-LE) PCI to PCI Bridge, bus/dev/func  0/0/1' 
     class    = bridge 
     subclass = HOST-PCI 
===================================================================================


However,  (edited dmesg (boot -v))
===================================================================================
pcib0: <MPTable Host-PCI bridge> pcibus 0 on motherboard
pci0: <PCI bus> on pcib0
pci0: physical bus=0
found->	vendor=0x1166, dev=0x0007, revid=0x04
	bus=0, slot=0, func=0
	class=06-00-00, hdrtype=0x00, mfdev=1
	cmdreg=0x0106, statreg=0x6200, cachelnsz=8 (dwords)
	lattimer=0x40 (1920 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
	map[10]: type 3, range 32, base e0000000, size 28, enabled
	map[14]: type 1, range 32, base febee000, size 12, enabled
found->	vendor=0x1166, dev=0x0005, revid=0x02
	bus=0, slot=0, func=1
	class=06-04-00, hdrtype=0x01, mfdev=1
	cmdreg=0x0007, statreg=0x22b0, cachelnsz=8 (dwords)
	lattimer=0x40 (1920 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
found->	vendor=0x1166, dev=0x0007, revid=0x04
	bus=0, slot=17, func=0
	class=06-00-00, hdrtype=0x00, mfdev=1
	cmdreg=0x0106, statreg=0x6200, cachelnsz=8 (dwords)
	lattimer=0x30 (1440 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
found->	vendor=0x1166, dev=0x0005, revid=0x02
	bus=0, slot=17, func=1
	class=06-00-00, hdrtype=0x00, mfdev=1
	cmdreg=0x0107, statreg=0x2200, cachelnsz=8 (dwords)
	lattimer=0x30 (1440 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
pcib1: <PCI-PCI bridge> at device 0.1 on pci0
pcib1:   secondary bus     1
pcib1:   subordinate bus   1
pcib1:   I/O decode        0xf000-0xfff
pcib1:   memory decode     0xfff00000-0xfffff
pcib1:   prefetched decode 0xfff00000-0xfffff
pci1: <PCI bus> on pcib1
pci1: physical bus=1

<snip>

xl0: miibus0: xlphy0: drm0: isab0: isa0:...

<snip>

pcib3: <MPTable Host-PCI bridge> pcibus 3 on motherboard
pci3: <PCI bus> on pcib3
pci3: physical bus=3
===================================================================================

As you can see, pcib2 and pci2 have been dropped.  I can see that within the
source code (pci_bus.c L#387) there is an if statement that looks for duplicate
busses.  I inserted a quick printf statement in there, and it showed up, once. 
Thus, something, somehow is being kicked.  (Due to my lack of knowledge with
regards to C code, I don't know how to find out what board is, because I don't
know how to find out how the variable has been defined in C. (%x, %d ...)


lspci -Mvvv
===================================================================================
00:00.0 0600: 1166:0007 (rev 04)
        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: 64, Cache Line Size 08
        Region 0: Memory at e0000000 (32-bit, prefetchable)
        Region 1: Memory at febee000 (32-bit, non-prefetchable)

00:00.1 0604: 1166:0005 (rev 02)
        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: 64, Cache Line Size 08
        Bus: primary=00, secondary=01, subordinate=01, sec-latency=64
        I/O behind bridge: 0000f000-00000fff
        Memory behind bridge: fff00000-000fffff
        Prefetchable memory behind bridge: fff00000-000fffff
        Secondary status: 66MHz+ FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort+ <SERR- <PERR-
        BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
        Capabilities: [80] AGP version 1.0
                Status: RQ=17 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans-
64bit- FW- AGP3- Rate=x1,x2
                Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP+ GART64- 64bit- FW-
Rate=x1

## 00.00:1 is a bridge from 00 to 01-01
00:01.0 0200: 10b7:9055 (rev 24)
        Subsystem: 1091:9055
		<snip ISA stuffs>

00:11.0 0600: 1166:0007 (rev 04)
        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: 48, Cache Line Size 08
        Region 0: Memory at <unassigned> (32-bit, prefetchable)

00:11.1 0600: 1166:0005 (rev 02)
        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: 48, Cache Line Size 08
        Interrupt: pin ? routed to IRQ 255


Summary of buses:

00: Primary host bus
        00.1 Bridge to 01-01
03: Secondary host bus (?)
===================================================================================

if you look at 00:11.0 & 00:11.1, the last lines have "Region 0: Memory at
<unassigned> (32-bit, prefetchable)" and "Interrupt: pin ? routed to IRQ 255",
respectively.


scanpci -v 
===================================================================================
pci bus 0x0000 cardnum 0x11 function 0x00: vendor 0x1166 device 0x0007
 Broadcom CNB20-LE Host Bridge
  STATUS    0x6200  COMMAND 0x0106
  CLASS     0x06 0x00 0x00  REVISION 0x04
  BIST      0x00  HEADER 0x80  LATENCY 0x30  CACHE 0x08
  BASE0     0x00000008  addr 0x00000000  MEM PREFETCHABLE

pci bus 0x0000 cardnum 0x11 function 0x01: vendor 0x1166 device 0x0005
 Broadcom CNB20-LE Host Bridge
  STATUS    0x2200  COMMAND 0x0107
  CLASS     0x06 0x00 0x00  REVISION 0x02
  BIST      0x00  HEADER 0x80  LATENCY 0x30  CACHE 0x08
  MAX_LAT   0x00  MIN_GNT 0x00  INT_PIN 0x00  INT_LINE 0xff
===================================================================================

So, 0:11.0 has a base address, it's 0x8

As for 00:11.1, perhaps the code is attempting to assign an irq to the pci-pci
bridge (thinking that it's a host), thus, can't find it, assigns a irq of 255
and something along the lines kicks out irq=255.

Any suggestions for hacks??  

Thank you for your time..  More info will be provided upon request.
~Mike.
--

**  dmesg 6.1 / 4.9; MP Table; scanPCI (4.9) 
http://groups.google.com/group/comp.unix.bsd.freebsd.misc/browse_thread/thread/49dfc32ab3593bbd/8bdd58ee98b58589#8bdd58ee98b58589

** BIOS decode, pirtool, lspci, scanPCI (6.1) 
http://lists.freebsd.org/pipermail/freebsd-i386/2006-September/004489.html



__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060909214143.39623.qmail>