dc no worky with <Xircom X3201 10/100BaseTX>, also LOR

Daniel Eischen eischen at vigrid.com
Fri Feb 11 13:11:33 PST 2005


I can't get this Xircom CardBus Ethernet II 10/100 device to work
with FreeBSD.  The probe/attach for MII always fails causing dc to
return ENXIO.  I've tried this device on two different Dells
(Inspiron 4150 and 8100) with the same result.  The same machines
are very happy with a Xircom Cardbus 10/100 w/modem however.

What do I have to do to get this to work?

Here's the probe for the X3201 which fails.  The mem addresses
and io ports chosen are the same as for the Xircom Cardbus 10/100
w/modem that works.

    pcib2: device cardbus0 requested decoded memory range 0xf4000000-0xfbffffff
    pcib2: device cardbus0 requested decoded memory range 0xf4000000-0xfbffffff
    pcib2: device cardbus0 requested decoded I/O range 0xe000-0xffff
    found->    vendor=0x115d, dev=0x0003, revid=0x03
    bus=4, slot=0, func=0
    class=02-00-00, hdrtype=0x00, mfdev=0
    cmdreg=0x0000, statreg=0x0210, cachelnsz=8 (dwords)
    lattimer=0xa8 (5040 ns), mingnt=0x14 (5000 ns), maxlat=0x28 (10000 ns)
    intpin=a, irq=222
    powerspec 2  supports D0 D1 D2 D3  current D0
    dc0: <Xircom X3201 10/100BaseTX> port 0xe000-0xe07f mem 0xf4002000-0xf40027ff,0xf4002800-0xf4002fff irq 10 at device 0.0 on cardbus0
    pcib2: device dc0 requested decoded I/O range 0xe000-0xe07f
    dc0: MII without any PHY!
    lock order reversal
    1st 0xc1c3cd40 dc0 (network driver) @ /opt/FreeBSD/src/sys/pci/if_dc.c:2343
    2nd 0xc07c9500 ACPI root bus (ACPI root bus) @ /opt/FreeBSD/src/sys/dev/acpica/acpi.c:1050
    KDB: stack backtrace:
    kdb_backtrace(0,ffffffff,c07df6c8,c07e0a50,c07a85ac) at kdb_backtrace+0x29
    witness_checkorder(c07c9500,9,c0741e15,41a) at witness_checkorder+0x54c
    _sx_xlock(c07c9500,c0741e15,41a,2,0) at _sx_xlock+0x50
    acpi_release_resource(c1979a00,c1c6fd80,1,0,c1c2d280) at acpi_release_resource+0x26
    bus_generic_release_resource(c1a46580,c1c6fd80,1,0,c1c2d280) at bus_generic_release_resource+0x64
    resource_list_release(c1c76b04,c1a46980,c1c6fd80,1,0) at resource_list_release+0x6e
    bus_generic_rl_release_resource(c1a46980,c1c6fd80,1,0,c1c2d280) at bus_generic_rl_release_resource+0x5e
    bus_generic_release_resource(c1a4c180,c1c6fd80,1,0,c1c2d280) at bus_generic_release_resource+0x64
    resource_list_release(c1c76b04,c1a4ca00,c1c6fd80,1,0) at resource_list_release+0x6e
    bus_generic_rl_release_resource(c1a4ca00,c1c6fd80,1,0,c1c2d280) at bus_generic_rl_release_resource+0x5e
    cbb_cardbus_release_resource(c1a4cc00,c1c6fd80,1,0,c1c2d280) at cbb_cardbus_release_resource+0x98
    cbb_release_resource(c1a4cc00,c1c6fd80,1,0,c1c2d280) at cbb_release_resource+0x42
    resource_list_release(c1c76b04,c1a57400,c1c6fd80,1,0) at resource_list_release+0xfb
    bus_generic_rl_release_resource(c1a57400,c1c6fd80,1,0,c1c2d280) at bus_generic_rl_release_resource+0x5e
    bus_release_resource(c1c6fd80,1,0,c1c2d280) at bus_release_resource+0x61
    dc_detach(c1c6fd80) at dc_detach+0xb2
    dc_attach(c1c6fd80) at dc_attach+0xe20
    device_attach(c1c6fd80,0,c1c6fd80,c1c76b00,0) at device_attach+0x58
    device_probe_and_attach(c1c6fd80,c1c76b00,c1a57400,c1c6fd80,c1a57400,c1c6fd80) at device_probe_and_attach+0xe0
    cardbus_attach_card(c1a57400) at cardbus_attach_card+0x1ae
    cbb_insert(c1a73800) at cbb_insert+0xd2
    cbb_event_thread(c1a73800,d36ced48,c1a73800,c04fdd94,0) at cbb_event_thread+0x129
    fork_exit(c04fdd94,c1a73800,d36ced48) at fork_exit+0xa4
    fork_trampoline() at fork_trampoline+0x8
    --- trap 0x1, eip = 0, esp = 0xd36ced7c, ebp = 0 ---
    device_attach: dc0 attach returned 6

On the same boot, after removing the X3201 and inserting the Xircom CardBus
10/100 w/modem:

    pcib2: device cardbus0 requested decoded memory range 0xf4000000-0xfbffffff
    pcib2: device cardbus0 requested decoded memory range 0xf4000000-0xfbffffff
    pcib2: device cardbus0 requested decoded I/O range 0xe000-0xffff
    found->    vendor=0x115d, dev=0x0003, revid=0x03
    bus=4, slot=0, func=0
    class=02-00-00, hdrtype=0x00, mfdev=1
    cmdreg=0x0000, statreg=0x0210, cachelnsz=8 (dwords)
    lattimer=0xa8 (5040 ns), mingnt=0x14 (5000 ns), maxlat=0x28 (10000 ns)
    intpin=a, irq=222
    powerspec 1  supports D0 D1 D2 D3  current D0
    dc0: <Xircom X3201 10/100BaseTX> port 0xe000-0xe07f mem 0xf4002000-0xf40027ff,0xf4002800-0xf4002fff irq 10 at device 0.0 on cardbus0
    pcib2: device dc0 requested decoded I/O range 0xe000-0xe07f
    miibus0: <MII bus> on dc0
    tdkphy0: <TDK 78Q2120 media interface> on miibus0
    tdkphy0: OUI 0x00c039, model 0x0014, rev. 11
    tdkphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
    dc0: bpf attached
    dc0: Ethernet address: 00:10:a4:7c:b8:75
    dc0: if_start running deferred for Giant
    dc0: [GIANT-LOCKED]
    pcib2: device cardbus0 requested decoded memory range 0xf4000000-0xfbffffff
    pcib2: device cardbus0 requested decoded memory range 0xf4000000-0xfbffffff
    pcib2: device cardbus0 requested decoded I/O range 0xe000-0xffff
    found->    vendor=0x115d, dev=0x0103, revid=0x03
    bus=4, slot=0, func=1
    class=07-00-02, hdrtype=0x00, mfdev=1
    cmdreg=0x0000, statreg=0x0210, cachelnsz=0 (dwords)
    lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
    intpin=a, irq=222
    powerspec 1  supports D0 D1 D2 D3  current D0
    pcib2: device sio4 requested decoded I/O range 0xe080-0xe087
    sio4: irq maps: 0x105 0x505 0x105 0x105
    sio4: <Xircom Cardbus modem> port 0xe080-0xe087 mem 0xf4002000-0xf40027ff,0xf4002800-0xf4002fff irq 10 at device 0.1 on cardbus0
    pcib2: device sio4 requested decoded I/O range 0xe080-0xe087
    sio4: type 16550A
    sio4: unable to activate interrupt in fast mode - using normal mode
    dc0: link state changed to UP

-- 
Dan Eischen



More information about the freebsd-mobile mailing list