Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
PCI bridges are not recognized by the kernel
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
krokoziabla
n00b
n00b


Joined: 09 May 2013
Posts: 40
Location: Russia

PostPosted: Fri May 24, 2013 6:40 pm    Post subject: PCI bridges are not recognized by the kernel Reply with quote

linux-3.8.13-gentoo
x86_64


Today I finally received my DFE-580TX multiport server network adapter and was looking forward to seeing it work. But so far I haven't succeeded in setting it up. In modern time it is a piece of antiques. But please don't blame me, I didn't have a free PCIe slot to insert a newer card.

But let's go back to the business. DFE-580TX simply consists of four DL10050C MAC/PHY microcontrollers connected to one Intel S21152BB PCI-to-PCI bridge. And my problem consists in that I cannot make the bridge work. Here is lspci printout:

Code:
[root@ktulhu]:0:/home/krokoziabla# lspci -knn
........................
02:00.0 PCI bridge [0604]: Integrated Technology Express, Inc. Device [1283:8892] (rev 10)
03:00.0 PCI bridge [0604]: Intel Corporation 21152 PCI-to-PCI Bridge [8086:b152]
03:01.0 RAID bus controller [0104]: Silicon Image, Inc. SiI 3114 [SATALink/SATARaid] Serial ATA Controller [1095:3114] (rev 02)
   Subsystem: Silicon Image, Inc. Device [1095:7114]
   Kernel driver in use: sata_sil
03:02.0 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
03:02.1 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
03:02.2 Parallel controller [0701]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:2000]
04:00.0 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:00.1 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:00.2 Parallel controller [0701]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:2000]
04:01.0 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:01.1 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:01.2 Parallel controller [0701]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:2000]
04:02.0 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:02.1 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:02.2 Parallel controller [0701]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:2000]
04:03.0 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:03.1 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:03.2 Parallel controller [0701]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:2000]
04:04.0 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:04.1 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:04.2 Parallel controller [0701]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:2000]
04:05.0 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:05.1 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:05.2 Parallel controller [0701]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:2000]
04:06.0 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:06.1 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:06.2 Parallel controller [0701]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:2000]
04:07.0 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:07.1 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:07.2 Parallel controller [0701]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:2000]
04:08.0 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:08.1 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:08.2 Parallel controller [0701]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:2000]
04:09.0 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:09.1 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:09.2 Parallel controller [0701]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:2000]
04:0a.0 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:0a.1 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:0a.2 Parallel controller [0701]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:2000]
04:0b.0 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:0b.1 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:0b.2 Parallel controller [0701]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:2000]
04:0c.0 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:0c.1 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:0c.2 Parallel controller [0701]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:2000]
04:0d.0 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:0d.1 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:0d.2 Parallel controller [0701]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:2000]
04:0e.0 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:0e.1 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:0e.2 Parallel controller [0701]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:2000]
04:0f.0 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:0f.1 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:0f.2 Parallel controller [0701]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:2000]
04:10.0 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:10.1 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:10.2 Parallel controller [0701]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:2000]
04:11.0 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:11.1 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:11.2 Parallel controller [0701]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:2000]
04:12.0 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:12.1 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:12.2 Parallel controller [0701]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:2000]
04:13.0 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:13.1 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:13.2 Parallel controller [0701]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:2000]
04:14.0 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:14.1 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:14.2 Parallel controller [0701]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:2000]
04:15.0 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:15.1 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:15.2 Parallel controller [0701]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:2000]
04:16.0 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:16.1 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:16.2 Parallel controller [0701]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:2000]
04:17.0 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:17.1 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:17.2 Parallel controller [0701]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:2000]
04:18.0 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:18.1 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:18.2 Parallel controller [0701]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:2000]
04:19.0 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:19.1 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:19.2 Parallel controller [0701]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:2000]
04:1a.0 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:1a.1 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:1a.2 Parallel controller [0701]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:2000]
04:1b.0 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:1b.1 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:1b.2 Parallel controller [0701]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:2000]
04:1c.0 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:1c.1 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:1c.2 Parallel controller [0701]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:2000]
04:1d.0 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:1d.1 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:1d.2 Parallel controller [0701]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:2000]
04:1e.0 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:1e.1 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:1e.2 Parallel controller [0701]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:2000]
04:1f.0 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:1f.1 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:1000]
   Kernel driver in use: serial
04:1f.2 Parallel controller [0701]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
   Subsystem: Device [a000:2000]
05:00.0 PCI bridge [0604]: PLX Technology, Inc. PEX8112 x1 Lane PCI Express-to-PCI Bridge [10b5:8112] (rev aa)
............................................


You can see that the bridge is present but is not served by any driver. Also in the printout the four Ethernet DL100C50 Ethernet controllers are absent which quite logical. And probably you may have noticed those 96 instances of MosChip Semiconductor device on bus 04. Actually they are false devices. In fact there are only 3 real devices at bus 03 (2 serial ports + 1 parallel). So it appears the Intel bridge drives the kernel mad a bit.

I spent quite a lot of time trying to understand which driver is needed for it. But still I don't have an answer.

As far as I have understood PCI bridges are controlled from
Code:
BUS options (PCI etc.)  --->

menu in 'make menuconfig'. But I fail to find there any explicit mention about different kinds of bridges. For example. In my motherboard there are other PCI bridges:
Code:
00:1c.2 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 3 [8086:1c14] (rev b5)
   Kernel driver in use: pcieport

And you can see that the bridge is controlled by pcieport driver. But the driver is enabled by this menu item:
Code:
BUS options (PCI etc.)  --->
    [*] PCI support
        [*]   PCI Express support

And there is no hint about the supported bus controller/bus bridges.

I tried to grep the kernel sources against 21152 word. The only mention related to the case was in 'include/linux/pci_ids.h' header:
Code:
#define PCI_DEVICE_ID_INTEL_S21152BB    0xb152
But the macro isn't used anywhere in the code. May it mean that the device is not supported by the kernel any longer?

I tried to run Ubuntu LiveCD to see which driver it would propose for the bridge. Ubuntu decided to use shpchp driver for all PCI bridges I had. But from one hand side it didn't help because despite lspci told me that the bridge was controlled by the driver Ubuntu didn't find the four Ethernet controllers and there also were 96 false devices. From the other hand shpchp driver is needed for hot-plugable PCI devices AFAIU but not for bridges...

What else?.. There are also two more PCI bridges on my PC which are not recognized by the kernel:
Code:
02:00.0 PCI bridge [0604]: Integrated Technology Express, Inc. Device [1283:8892] (rev 10)
05:00.0 PCI bridge [0604]: PLX Technology, Inc. PEX8112 x1 Lane PCI Express-to-PCI Bridge [10b5:8112] (rev aa)


Grep through the sources shows that the latter one is somehow connected with my sound card, probably it resides on it. But the card is identified as a separate device controlled by a separate driver...

I do not know where I should move father. Can anyone suggest how should I configure my kernel to make the bridges work?

Thanks in advance.
_________________
Vitaly
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54239
Location: 56N 3W

PostPosted: Fri May 24, 2013 7:23 pm    Post subject: Reply with quote

krokoziabla,

Help the kernel to find your buses. Add
Code:
lastbus=N
where N is the last pcibus you want the kernel to search for.
Normally, the kernel gets help from the BIOS but your card may not have a BIOS, so the the kernel may not see the buesses on the far side of the bridge.

See /usr/src/linux/Documentation/kernel-parameters.txt
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
roarinelk
Guru
Guru


Joined: 04 Mar 2004
Posts: 520

PostPosted: Fri May 24, 2013 8:01 pm    Post subject: Reply with quote

Bridges like the ones on your card are normally transparent and don't need a driver to work.

Are you certain your pci card(s) (and pci slots on the board) are okay? When my 3c905 card died
it was detected as 16 pci devices by the kernel. To me your main problem seems to be a
failing PCI device which disrupts the others.

Experiment with the "pci" kernel parameter a bit. See the "pci=option" Section in linux/Documentation/kernel-parameters.txt
try at least "pci=conf1" conf2, bios, noacpi
Back to top
View user's profile Send private message
krokoziabla
n00b
n00b


Joined: 09 May 2013
Posts: 40
Location: Russia

PostPosted: Sat May 25, 2013 10:30 am    Post subject: Reply with quote

roarinelk & NeddySeagoon, thank you for your replies.

I'm glad to learn that the bridge is uncommanded, I do not need to bother about drivers. And it seems all the three bridges are.

I've done some tests of the kernel with pci parameter values you suggested and also some others. No effect.

Also I've made two tests against Windows. At first I put the board into another PC with Windows. The bridge was identified without a problem and I saw the four Ethernet adapters. So I can consider the board healthy. The next thing I did was taking the hard disk from the other PC and connecting it to my Gentoo PC. That way I wanted to see how Windows would identify the bridge in the original PCI topology. And to my grief the bridge wasn't correctly identified and I saw the same 96 false devices.

So it may be the problem of the compatibility between my motherboard and the network card although both of them comply with PCI 2.2 standard. BTW, the slot also seems to be healthy because before this network card another NIC worked quite well in it.

I've checked BIOS options and it looks like there is not that much to control behaviour of PCIe/PCI buses.

The last suspicious thing that worries me is the PCI topology of my system. Recently I've known that lspci can be run with -tv options. :-)
Code:

-[0000:00]-+-00.0  Intel Corporation 2nd Generation Core Processor Family DRAM Controller
           +-01.0-[01]--+-00.0  Advanced Micro Devices [AMD] nee ATI Barts PRO [Radeon HD 6850]
           |            \-00.1  Advanced Micro Devices [AMD] nee ATI Barts HDMI Audio [Radeon HD 6800 Series]
           +-02.0  Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller
           +-16.0  Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1
           +-19.0  Intel Corporation 82579V Gigabit Network Connection
           +-1a.0  Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2
           +-1c.0-[02-04]----00.0-[03-04]--+-00.0-[04]--+-00.0  MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller
           |                               |            +-00.1  MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller
           |                               |            +-00.2  MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller
......................... 91 times .......................................................................................................................
           |                               |            +-1f.0  MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller
           |                               |            +-1f.1  MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller
           |                               |            \-1f.2  MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller
           |                               +-01.0  Silicon Image, Inc. SiI 3114 [SATALink/SATARaid] Serial ATA Controller
           |                               +-02.0  MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller
           |                               +-02.1  MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller
           |                               \-02.2  MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller
           +-1c.2-[05-06]----00.0-[06]----04.0  C-Media Electronics Inc CMI8788 [Oxygen HD Audio]
           +-1c.3-[07]----00.0  NEC Corporation uPD720200 USB 3.0 Host Controller

From it I can see that the bus number 04 on which the Ethernet controllers are supposed to be is actually behind not one but three bridges: the first is PCIe Root Port (I have no idea what it is) (bus 00 to bus 02 ) then iTE 8892 PCIe-to-PCI bridge (bus 02 to bus 03) and finally my Intel S21152BB PCI-to-PCI bridge (bus 03 to 04).

I do not know what structure a valid PCI hierarchy should have but can the problem lie in the depth of nesting? Is it limited by two and there only should be primary and secondary buses?
_________________
Vitaly


Last edited by krokoziabla on Wed May 29, 2013 9:00 am; edited 1 time in total
Back to top
View user's profile Send private message
krokoziabla
n00b
n00b


Joined: 09 May 2013
Posts: 40
Location: Russia

PostPosted: Sat May 25, 2013 6:44 pm    Post subject: Reply with quote

I have one more idea. It looks like the bridge is configured wrongly. If I understand rightly the configuration address space of a PCI device determines which memory and i/o address space regions are used by the device. It looks like the regions of S21152BB and iTE 8892 overlap. At least this would explain why there are 96 false devices and why they pretend to be devices from bus 03.

Does the kernel allow manual configuration of a PCI device? Probably I'll be able to configure the bridge myself if the kernel cannot do this automatically.
_________________
Vitaly
Back to top
View user's profile Send private message
roarinelk
Guru
Guru


Joined: 04 Mar 2004
Posts: 520

PostPosted: Sun May 26, 2013 3:21 pm    Post subject: Reply with quote

If possible, try the latest -git sources, and make a problem report to linux-kernel@vger.kernel.org and linux-pci@vger.kernel.org

Include full lspci and dmesg output, and if possible also a dump of all memory regions used by the 4 nics.
Back to top
View user's profile Send private message
krokoziabla
n00b
n00b


Joined: 09 May 2013
Posts: 40
Location: Russia

PostPosted: Mon Jun 03, 2013 9:01 pm    Post subject: Reply with quote

roarinelk

Good, I'll follow your advise but maybe later. I want to get to the bottom of PCI configuration mechanism myself first.

So if somebody is interested in this topic I've just find out (from http://read.pudn.com/downloads13/doc/52518/PCI-to-PCI%20Bridge%20Architecture.pdf) that PCI-to-PCI bridges can be composed into a multi-level hierarchy. Thus my hardware configuration can be in theory compatible.

Let's see what I'll learn next.
_________________
Vitaly
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum