This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

XIO2001: PCI Card Problem

Part Number: XIO2001


Hello,

We are using XIO2001 to bridge two PCI boards to a PCIe slot only motherboard. These PCI boards are XR17D152 (two port uart) and RTL8139 or 3COM 905TX. XR17D152 works as expected but the NICs do not work. I have tried all of them in Windows 7, Gentoo, CentOS and Fedora. All of them recognize the NIC and the link status but do not receive or transmit. Details about configuration and Linux (gentoo) messages are below. These NIC work on another mainboard with PCI slots.

-IDSEL (XR17D152). INTA (XIO2001) -> INTA (XR17D152)

-IDSEL (NIC) -> AD17. INTB (XIO2001) -> INTA (NIC)

root@sysresccd /root % lspci -vvvxxxs "02:*"
02:00.0 PCI bridge: Texas Instruments XIO2001 PCI Express-to-PCI Bridge (prog-if 00 [Normal decode])
        Physical Slot: 1
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0, Cache Line Size: 64 bytes
        Bus: primary=02, secondary=03, subordinate=03, sec-latency=32
        I/O behind bridge: 00006000-00006fff
        Memory behind bridge: c7300000-c73fffff
        Prefetchable memory behind bridge: 00000000fff00000-00000000000fffff
        Secondary status: 66MHz+ FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ <SERR- <PERR-
        BridgeCtl: Parity+ SERR+ NoISA- VGA- MAbort- >Reset- FastB2B-
                PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
        Capabilities: [40] Subsystem: Device 0000:0000
        Capabilities: [48] Power Management version 3
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
                Bridge: PM- B3+
        Capabilities: [50] MSI: Enable- Count=1/16 Maskable- 64bit+
                Address: 0000000000000000  Data: 0000
        Capabilities: [70] Express (v2) PCI-Express to PCI/PCI-X Bridge, MSI 00
                DevCap: MaxPayload 512 bytes, PhantFunc 0
                        ExtTag- AttnBtn- AttnInd- PwrInd- RBE+
                DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
                        RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop- BrConfRtry-
                        MaxPayload 256 bytes, MaxReadReq 512 bytes
                DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq+ AuxPwr- TransPend-
                LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <512ns, L1 <16us
                        ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp-
                LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
                DevCap2: Completion Timeout: Not Supported, TimeoutDis-, LTR-, OBFF Not Supported
                DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
                LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-
                         Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
                         Compliance De-emphasis: -6dB
                LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
                         EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
        Capabilities: [100 v1] Advanced Error Reporting
                UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
                CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
                CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
                AERCap: First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
        Kernel modules: shpchp
00: 4c 10 40 82 47 01 10 00 00 00 04 06 10 00 01 00
10: 00 00 00 00 00 00 00 00 02 03 03 20 61 61 a0 22
20: 30 c7 30 c7 f1 ff 01 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 40 00 00 00 00 00 00 00 ff 00 13 00
40: 0d 48 00 00 00 00 00 00 01 50 03 06 08 00 40 00
50: 05 70 88 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 10 00 72 00 02 80 64 00 20 20 09 00 11 3c 06 00
80: 40 00 11 10 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 08 00 00 1f 00 00 00 00 00 00 00 00 00
c0: 01 00 00 02 08 01 12 00 00 20 14 32 00 00 00 00
d0: 00 00 00 00 5f 02 00 86 00 00 00 00 40 00 00 00
e0: 00 00 00 00 00 00 00 00 43 04 08 00 7f 00 c0 01
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

3C905 NIC
03:01.0 Ethernet controller: 3Com Corporation 3c905C-TX/TX-M [Tornado] (rev 74) Subsystem: 3Com Corporation 3C905CX-TX/TX-M Fast Etherlink for PC Management NIC 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: 32 (2500ns min, 2500ns max), Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 44 Region 0: I/O ports at 6000 [size=128] Region 1: Memory at c7320000 (32-bit, non-prefetchable) [size=128] Expansion ROM at c7300000 [disabled] [size=128K] Capabilities: [dc] Power Management version 2 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+) Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=2 PME- Kernel driver in use: 3c59x Kernel modules: 3c59x 00: b7 10 00 92 47 01 10 02 74 00 00 02 10 20 00 00 10: 01 60 00 00 00 00 32 c7 00 00 00 00 00 00 00 00 20: 00 00 00 00 00 00 00 00 00 00 00 00 b7 10 00 10 30: 00 00 30 c7 dc 00 00 00 00 00 00 00 0a 01 0a 0a 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 d0: 00 00 00 00 00 00 00 00 00 00 00 00 01 00 02 fe e0: 00 40 00 b7 00 00 00 00 00 00 00 00 00 00 00 00 f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
03:00.0 Serial controller: Commtech, Inc. 422/2-PCI-335 Serial PCI Adapter [Fastcom] (rev 02) (prog-if 02 [16550])
        Control: I/O- Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx-
        Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Interrupt: pin A routed to IRQ 40
        Region 0: Memory at c7321000 (32-bit, non-prefetchable) [size=1K]
        Kernel driver in use: serial
00: f7 18 04 00 42 01 80 00 02 02 00 07 00 00 00 00
10: 00 10 32 c7 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 ff ff ff ff
30: 00 00 00 00 00 00 00 00 00 00 00 00 0b 01 00 00
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

dmesg output
[ 1.187443] pci 0000:00:01.0: PCI bridge to [bus 01] [ 1.187970] pci 0000:02:00.0: [104c:8240] type 01 class 0x060400 [ 1.188070] pci 0000:02:00.0: supports D1 D2 [ 1.189182] pci 0000:00:03.0: PCI bridge to [bus 02-03] [ 1.189545] pci 0000:00:03.0: bridge window [io 0x6000-0x6fff] [ 1.189548] pci 0000:00:03.0: bridge window [mem 0xc7300000-0xc73fffff] [ 1.189622] pci 0000:03:00.0: [18f7:0004] type 00 class 0x070002 [ 1.189639] pci 0000:03:00.0: reg 0x10: [mem 0xc7321000-0xc73213ff] [ 1.189756] pci 0000:03:01.0: [10b7:9200] type 00 class 0x020000 [ 1.189779] pci 0000:03:01.0: reg 0x10: [io 0x6000-0x607f] [ 1.189793] pci 0000:03:01.0: reg 0x14: [mem 0xc7320000-0xc732007f] [ 1.189848] pci 0000:03:01.0: reg 0x30: [mem 0xc7300000-0xc731ffff pref] [ 1.189884] pci 0000:03:01.0: supports D1 D2 [ 1.189886] pci 0000:03:01.0: PME# supported from D0 D1 D2 D3hot D3cold [ 1.264898] pci 0000:00:01.0: PCI bridge to [bus 01] [ 1.265258] pci 0000:02:00.0: PCI bridge to [bus 03] [ 1.265610] pci 0000:02:00.0: bridge window [io 0x6000-0x6fff] [ 1.265983] pci 0000:02:00.0: bridge window [mem 0xc7300000-0xc73fffff] [ 1.266349] pci 0000:00:03.0: PCI bridge to [bus 02-03] [ 1.266700] pci 0000:00:03.0: bridge window [io 0x6000-0x6fff] [ 1.267063] pci 0000:00:03.0: bridge window [mem 0xc7300000-0xc73fffff] [ 1.271719] pci_bus 0000:02: resource 0 [io 0x6000-0x6fff] [ 1.271721] pci_bus 0000:02: resource 1 [mem 0xc7300000-0xc73fffff] [ 1.271723] pci_bus 0000:03: resource 0 [io 0x6000-0x6fff] [ 1.271725] pci_bus 0000:03: resource 1 [mem 0xc7300000-0xc73fffff] [ 3.047198] 0000:03:00.0: ttyS4 at MMIO 0xc7321000 (irq = 40, base_baud = 1152000) is a XR17D15X [ 3.047950] 0000:03:00.0: ttyS5 at MMIO 0xc7321200 (irq = 40, base_baud = 1152000) is a XR17D15X [ 4.499865] 3c59x: Donald Becker and others. [ 4.499872] 0000:03:01.0: 3Com PCI 3c905C Tornado at ffffc9001220e000. [ 56.691393] enp3s1: setting full-duplex. [ 56.942299] IPv6: ADDRCONF(NETDEV_UP): eno1: link is not ready [ 57.190462] IPv6: ADDRCONF(NETDEV_UP): eno2: link is not ready [ 112.121715] WARNING: CPU: 17 PID: 0 at net/sched/sch_generic.c:264 dev_watchdog+0xdc/0x142() [ 112.121720] NETDEV WATCHDOG: enp3s1 (3c59x): transmit queue 0 timed out [ 112.121723] Modules linked in: video ast ttm drm_kms_helper drm x86_pkg_temp_thermal coretemp iTCO_wdt iTCO_vendor_support crct10dif_pclmul crc32_pclmul crc32c_intel gpio_ich joydev mei_ me microcode lpc_ich ipmi_si i2c_i801 mfd_core mei ipmi_msghandler acpi_power_meter shpchp tpm_tis tpm acpi_pad raid10 raid456 async_raid6_recov async_pq async_xor async_memcpy async_tx rai d1 raid0 multipath linear usb_storage igb dca i2c_algo_bit i2c_core 3c59x ptp pps_core mii wmi [ 112.121784] CPU: 17 PID: 0 Comm: swapper/17 Not tainted 3.14.56-std461-amd64 #2 [ 112.121787] Hardware name: Supermicro Super Server/X10DRL-i, BIOS 2.0b 05/05/2017 [ 112.121789] 0000000000000000 ffff880277d23de0 ffffffff8175ace2 ffff880277d23e28 [ 112.121797] ffff880277d23e18 ffffffff8106dc2e ffffffff81686dd2 ffff880276668000 [ 112.121804] 0000000000000100 ffffffff81686cf6 ffff880276668388 ffff880277d23e78 [ 112.121814] Call Trace: [ 112.121817] <IRQ> [<ffffffff8175ace2>] dump_stack+0x45/0x56 [ 112.121834] [<ffffffff8106dc2e>] warn_slowpath_common+0x7a/0x93 [ 112.121840] [<ffffffff81686dd2>] ? dev_watchdog+0xdc/0x142 [ 112.121847] [<ffffffff81686cf6>] ? dev_deactivate_queue+0x54/0x54 [ 112.121852] [<ffffffff8106dc8e>] warn_slowpath_fmt+0x47/0x49 [ 112.121859] [<ffffffff816869ee>] ? netif_tx_lock+0x4c/0x7b [ 112.121867] [<ffffffff81686dd2>] dev_watchdog+0xdc/0x142 [ 112.121878] [<ffffffff81076c00>] call_timer_fn+0x33/0xd3 [ 112.121884] [<ffffffff81686cf6>] ? dev_deactivate_queue+0x54/0x54 [ 112.121892] [<ffffffff81077955>] run_timer_softirq+0x1b3/0x1df [ 112.121897] [<ffffffff8107183c>] __do_softirq+0xe4/0x247 [ 112.121906] [<ffffffff81015637>] ? sched_clock+0x9/0xb [ 112.121912] [<ffffffff81071b35>] irq_exit+0x4c/0x93 [ 112.121919] [<ffffffff81034f3e>] smp_apic_timer_interrupt+0x30/0x3c [ 112.121930] [<ffffffff81767c9d>] apic_timer_interrupt+0x6d/0x80 [ 112.121934] <EOI> [<ffffffff8162a6ee>] ? arch_local_irq_enable+0xb/0xd [ 112.121946] [<ffffffff8162a939>] cpuidle_enter_state+0x50/0xa9 [ 112.121951] [<ffffffff8162aa72>] cpuidle_idle_call+0xe0/0x12d [ 112.121956] [<ffffffff81016916>] arch_cpu_idle+0x9/0x1c [ 112.121965] [<ffffffff810a6926>] cpu_startup_entry+0xe3/0x149 [ 112.121973] [<ffffffff810334ed>] start_secondary+0x217/0x219 [ 112.121977] ---[ end trace 69df42e37edf875f ]--- [ 112.121983] enp3s1: transmit timed out, tx_status 00 status 8000. [ 112.121992] diagnostics: net 0cfa media 8880 dma 000000a0 fifo 0000 [ 112.121999] Flags; bus-master 1, dirty 0(0) current 16(0) [ 112.122003] Transmit list 7881f200 vs. ffff88007881f200. [ 112.122007] 0: @ffff88007881f200 length 8000005a status 0000005a [ 112.122010] 1: @ffff88007881f298 length 8000005a status 0000005a [ 112.122013] 2: @ffff88007881f330 length 8000004e status 0000004e [ 112.122015] 3: @ffff88007881f3c8 length 80000156 status 00000156 [ 112.122018] 4: @ffff88007881f460 length 8000005a status 0000005a [ 112.122021] 5: @ffff88007881f4f8 length 8000003e status 0000003e [ 112.122023] 6: @ffff88007881f590 length 8000005a status 0000005a [ 112.122025] 7: @ffff88007881f628 length 8000003e status 0000003e [ 112.122028] 8: @ffff88007881f6c0 length 80000156 status 00000156 [ 112.122030] 9: @ffff88007881f758 length 8000003e status 0000003e [ 112.122033] 10: @ffff88007881f7f0 length 80000156 status 00000156 [ 112.122035] 11: @ffff88007881f888 length 80000156 status 00000156 [ 112.122037] 12: @ffff88007881f920 length 8000005a status 0000005a [ 112.122041] 13: @ffff88007881f9b8 length 80000156 status 00000156 [ 112.122043] 14: @ffff88007881fa50 length 8000005a status 8000005a [ 112.122046] 15: @ffff88007881fae8 length 8000004e status 8000004e

Any help will be much appreciated. Thank you.

  • Hi Ahmet,

    Have you tried the NICs on different XIO2001 units?

    I also found this old thread related to the RTL8139: e2e.ti.com/.../156136
    Is any of the information there applicable?

    Regards,
    I.K.
  • Hello Anyiam,

    Thank you for your reply. I didn't try NICs on different XIO2001 units, i don't have the EVM but i have another one of our custom board. I will try with it. I also read the thread you mentioned (and a couple of other threads) and tried all the suggestions with no luck.

    In the Secondary status line of XIO2001s lspci output, there seems to be a master abort condition signalled if i am not getting it wrong. I will try to hook logic analyzer on IRDY, TRDY, FRAME, GNT, REQ, CLK etc. and see what happens but in the mean time do you have any tips to give beforehand? Which parameters of XIO2001 do you think may be related to master abort? The master here should be 8139 or 3COM because they claim the bus as far as i know.

    Regards,

  • After inspecting with logic analyzer, it turned out to be broken GNT trace on pcb is causing this behaviour. Now the NICs work. Though i had another question,

    Does XIO2001 has anything to do with irq assignment to secondary bus devices? How does device number configuration with idsel lines map to IRQ numbers? Or does it?

    Thank you.

  • Hi Ahmet,

    I'm glad you were able to resolve the issue. For your other question, please refer to the "Interrupt Configurations" section on page 14 of the implementation guide: www.ti.com/.../scpa045d.pdf

    Regards,
    I.K.