#79 Card does not receive anything

closed-fixed
8139too (65)
5
2002-08-09
2001-12-17
No

My 21041 card doesn't receive anything (receive light
doesn't flash) just like with the lates builds of the
original tulip driver. This was broken in the 2.4.5
kernel if I remember correctly when the CAC bit in CSR
13 was turned off. This patch gets my card going
again:

--- linux-2.5.1/drivers/net/de2104x.c.orig Mon
Dec 10 14:17:40 2001
+++ linux-2.5.1/drivers/net/de2104x.c Mon Dec 17
01:15:36 2001
@@ -345,7 +345,7 @@
static u16 t21040_csr15[] = { 0, 0, 0x0006, 0x0000,
0x0000, };

/* 21041 transceiver register settings: TP AUTO, BNC,
AUI, TP, TP FD*/
-static u16 t21041_csr13[] = { 0xEF01, 0xEF09, 0xEF09,
0xEF01, 0xEF09, };
+static u16 t21041_csr13[] = { 0xEF05, 0xEF09, 0xEF0d,
0xEF05, 0xEF0d, };
static u16 t21041_csr14[] = { 0xFFFF, 0xF7FD, 0xF7FD,
0x6F3F, 0x6F3D, };
static u16 t21041_csr15[] = { 0x0008, 0x0006, 0x000E,
0x0008, 0x0008, };

Discussion

  • Jeff Garzik

    Jeff Garzik - 2001-12-17
    • assigned_to: nobody --> jgarzik
     
  • John Zielinski

    John Zielinski - 2001-12-18

    Logged In: YES
    user_id=361391

    What does the CAC bit in CSR 13 do? All I know is that it
    makes my card work. Does it break other cards when it's
    turned on? Is that why it was removed in kernel 2.4.5?

    Where can I find some documentation on this chipset?
    Thanks.

     
  • Jeff Garzik

    Jeff Garzik - 2001-12-18

    Logged In: YES
    user_id=17443

    Can you attach the text output of "ethtool -d ethX" (where X
    is your eth interface), after applying this change?
    Can you also attach output of /bin/dmesg, after changing
    DE_DEF_MSG_ENABLE on line 74 to simply 0xffffffff ? (delete
    all NETIF_MSG_xxx)

    Finally, what media type are you using with this change?

     
  • Jeff Garzik

    Jeff Garzik - 2001-12-18
    • priority: 5 --> 6
     
  • John Zielinski

    John Zielinski - 2001-12-19

    Logged In: YES
    user_id=361391

    Before change:

    21041 Registers
    ---------------
    0x00: CSR0 (Bus Mode) 0xffe08400
    Little endian descriptors
    No transmit automatic polling
    Standard address space
    Cache alignment: 16-longword boundary alignment
    Programmable burst length 4 longwords
    Little endian data buffers
    Descriptor skip length 0 longwords
    RX-has-priority bus arbitration scheme
    0x18: CSR3 (Rx Ring Base Address) 0x046ef000
    0x20: CSR4 (Tx Ring Base Address) 0x046ef400
    0x28: CSR5 (Status) 0xfc120000
    Transmit process running: fetch desc
    Receive process running: fetch desc
    Link OK
    0x30: CSR6 (Operating Mode) 0x7ffc2002
    Transmit threshold 72 bytes
    Transmit DMA enabled
    Operating mode: normal
    Half duplex
    Receive DMA enabled
    Perfect filtering mode
    0x38: CSR7 (Interrupt Mask) 0xffffb0d5
    Normal interrupt summary
    Abnormal interrupt summary
    System error
    Link fail
    Receive buffer unavailable
    Receive interrupt
    Link pass
    Transmit buffer unavailable
    Transmit interrupt
    0x40: CSR8 (Missed Frames Counter) 0xfffe0000
    No missed frames
    0x48: CSR9 (Boot and Ethernet ROMs) 0xffff03ff
    Select bits:
    Data: 11111111
    0x50: CSR10 (Boot ROM Address) 0xffffffff
    0x58: CSR11 (General Purpose Timer) 0xfffe0000
    Timer value: 0 cycles
    0x60: CSR12 (SIA Status) 0x000050c8
    Link partner code word 0x0000
    NWay state: FLP link good, nway complete
    PLL sampler high
    PLL sampler low
    Autopolarity state
    0x68: CSR13 (SIA Connectivity) 0xffffef01
    SIA Diagnostic Mode 0x0ef0
    10base-T port
    SIA register reset asserted
    0x70: CSR14 (SIA Transmit and Receive) 0xffffffff
    10base-T/AUI autosensing
    Set polarity plus
    Autopolarity enable
    Link test enable
    Heartbeat enable
    Collision detect enable
    Collision squelch enable
    Receive squelch enable
    Autonegotiation enable
    Must Be One
    Normal Compensation Mode
    Link pulse send enable
    Driver enable
    Loopback enable
    Encoder enable
    0x78: CSR15 (SIA General) 0xffff0008
    AUI port selected

    After change:

    21041 Registers
    ---------------
    0x00: CSR0 (Bus Mode) 0xffe08400
    Little endian descriptors
    No transmit automatic polling
    Standard address space
    Cache alignment: 16-longword boundary alignment
    Programmable burst length 4 longwords
    Little endian data buffers
    Descriptor skip length 0 longwords
    RX-has-priority bus arbitration scheme
    0x18: CSR3 (Rx Ring Base Address) 0x046ef000
    0x20: CSR4 (Tx Ring Base Address) 0x046ef400
    0x28: CSR5 (Status) 0xfc120000
    Transmit process running: fetch desc
    Receive process running: fetch desc
    Link OK
    0x30: CSR6 (Operating Mode) 0x7ffc2002
    Transmit threshold 72 bytes
    Transmit DMA enabled
    Operating mode: normal
    Half duplex
    Receive DMA enabled
    Perfect filtering mode
    0x38: CSR7 (Interrupt Mask) 0xffffb0d5
    Normal interrupt summary
    Abnormal interrupt summary
    System error
    Link fail
    Receive buffer unavailable
    Receive interrupt
    Link pass
    Transmit buffer unavailable
    Transmit interrupt
    0x40: CSR8 (Missed Frames Counter) 0xfffe0000
    No missed frames
    0x48: CSR9 (Boot and Ethernet ROMs) 0xffff03ff
    Select bits:
    Data: 11111111
    0x50: CSR10 (Boot ROM Address) 0xffffffff
    0x58: CSR11 (General Purpose Timer) 0xfffe0000
    Timer value: 0 cycles
    0x60: CSR12 (SIA Status) 0x000050c8
    Link partner code word 0x0000
    NWay state: FLP link good, nway complete
    PLL sampler high
    PLL sampler low
    Autopolarity state
    0x68: CSR13 (SIA Connectivity) 0xffffef01
    SIA Diagnostic Mode 0x0ef0
    10base-T port
    SIA register reset asserted
    0x70: CSR14 (SIA Transmit and Receive) 0xffffffff
    10base-T/AUI autosensing
    Set polarity plus
    Autopolarity enable
    Link test enable
    Heartbeat enable
    Collision detect enable
    Collision squelch enable
    Receive squelch enable
    Autonegotiation enable
    Must Be One
    Normal Compensation Mode
    Link pulse send enable
    Driver enable
    Loopback enable
    Encoder enable
    0x78: CSR15 (SIA General) 0xffff0008
    AUI port selected

    Here's /var/log/dmesg:

    Linux version 2.5.1 (root@gatekeeper) (gcc version 2.95.2
    20000220 (Debian GNU/Linux)) #7 Wed Dec 19 01:27:48 EST 2001
    BIOS-provided physical RAM map:
    BIOS-e820: 0000000000000000 - 00000000000a0000 (usable)
    BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
    BIOS-e820: 0000000000100000 - 0000000007ffd000 (usable)
    BIOS-e820: 0000000007ffd000 - 0000000007fff000 (ACPI data)
    BIOS-e820: 0000000007fff000 - 0000000008000000 (ACPI NVS)
    BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved)
    On node 0 totalpages: 32765
    zone(0): 4096 pages.
    zone(1): 28669 pages.
    zone(2): 0 pages.
    Kernel command line: BOOT_IMAGE=test2 ro root=301
    BOOT_FILE=/boot/vmlinuz.test2
    Initializing CPU#0
    Detected 267.275 MHz processor.
    Console: colour VGA+ 132x60
    Calibrating delay loop... 532.48 BogoMIPS
    Memory: 127076k/131060k available (857k kernel code, 3600k
    reserved, 248k data, 204k init, 0k highmem)
    Dentry-cache hash table entries: 16384 (order: 5, 131072
    bytes)
    Inode-cache hash table entries: 8192 (order: 4, 65536 bytes)
    Mount-cache hash table entries: 2048 (order: 2, 16384 bytes)
    Buffer-cache hash table entries: 4096 (order: 2, 16384
    bytes)
    Page-cache hash table entries: 32768 (order: 5, 131072
    bytes)
    CPU: Before vendor init, caps: 0080f9ff 00000000 00000000,
    vendor = 0
    CPU: L1 I cache: 16K, L1 D cache: 16K
    CPU: L2 cache: 512K
    Intel machine check architecture supported.
    Intel machine check reporting enabled on CPU#0.
    CPU: After vendor init, caps: 0080f9ff 00000000 00000000
    00000000
    CPU: After generic, caps: 0080f9ff 00000000 00000000
    00000000
    CPU: Common caps: 0080f9ff 00000000 00000000
    00000000
    CPU: Intel Pentium II (Klamath) stepping 04
    Checking 'hlt' instruction... OK.
    POSIX conformance testing by UNIFIX
    mtrr: v1.40 (20010327) Richard Gooch (rgooch@atnf.csiro.au)
    mtrr: detected mtrr type: Intel
    PCI: PCI BIOS revision 2.10 entry at 0xf0750, last bus=1
    PCI: Using configuration type 1
    PCI: Probing PCI hardware
    Unknown bridge resource 0: assuming transparent
    PCI: Using IRQ router PIIX [8086/7110] at 00:04.0
    Limiting direct PCI/PCI transfers.
    Linux NET4.0 for Linux 2.4
    Based upon Swansea University Computer Society NET3.039
    Initializing RT netlink socket
    Starting kswapd
    BIO: pool of 256 setup, 14Kb (56 bytes/bio)
    biovec: init pool 0, 1 entries, 12 bytes
    biovec: init pool 1, 4 entries, 48 bytes
    biovec: init pool 2, 16 entries, 192 bytes
    biovec: init pool 3, 64 entries, 768 bytes
    biovec: init pool 4, 128 entries, 1536 bytes
    biovec: init pool 5, 256 entries, 3072 bytes
    Detected PS/2 Mouse Port.
    pty: 256 Unix98 ptys configured
    Serial driver version 5.05c (2001-07-08) with MANY_PORTS
    SHARE_IRQ SERIAL_PCI enabled
    ttyS00 at 0x03f8 (irq = 4) is a 16550A
    ttyS01 at 0x02f8 (irq = 3) is a 16550A
    Real Time Clock Driver v1.10e
    block: 256 slots per queue, batch=32
    Uniform Multi-Platform E-IDE driver Revision: 6.32
    ide: Assuming 33MHz system bus speed for PIO modes;
    override with idebus=xx
    PIIX4: IDE controller on PCI slot 00:04.1
    PIIX4: chipset revision 1
    PIIX4: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0xd800-0xd807, BIOS settings: hda:DMA,
    hdb:pio
    ide1: BM-DMA at 0xd808-0xd80f, BIOS settings: hdc:pio,
    hdd:pio
    hda: SAMSUNG SV0322A, ATA DISK drive
    ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
    hda: 6250608 sectors (3200 MB) w/478KiB Cache,
    CHS=11024/9/63, UDMA(33)
    Partition check:
    hda: hda1 hda2
    Floppy drive(s): fd0 is 1.44M
    FDC 0 is a post-1991 82077
    PCI: Found IRQ 10 for device 00:0b.0
    3c59x: Donald Becker and others.
    www.scyld.com/network/vortex.html
    00:0b.0: 3Com PCI 3c905B Cyclone 100baseTx at 0xb800. Vers
    LK1.1.16
    de2104x PCI Ethernet driver v0.5.2 (Dec 17, 2001)
    PCI: Found IRQ 11 for device 00:0a.0
    de0: SROM-listed ports: TP
    eth1: 21041 at 0xc8800000, 00:40:05:35:5b:9a, IRQ 11
    NET4: Linux TCP/IP 1.0 for NET4.0
    IP Protocols: ICMP, UDP, TCP
    IP: routing cache hash table of 512 buckets, 4Kbytes
    TCP: Hash tables configured (established 8192 bind 8192)
    IPv4 over IPv4 tunneling driver
    ip_conntrack (1023 buckets, 8184 max)
    ip_tables: (c)2000 Netfilter core team
    NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
    VFS: Mounted root (ext2 filesystem) readonly.
    Freeing unused kernel memory: 204k freed
    Adding Swap: 500052k swap-space (priority -1)

    And here's a snippet from dmesg:

    eth1: intr, status fc670040 mode 7ffc2002 desc 42/52/52
    eth1: rx slot 42 status 0x2520728 len 590 copying? 0
    eth1: intr, status fc670040 mode 7ffc2002 desc 43/52/52
    eth1: rx slot 43 status 0x400728 len 60 copying? 1
    eth1: 10baseT auto link ok, mode 7ffc2002 status 1c8
    eth1: intr, status fc670040 mode 7ffc2002 desc 44/52/52
    eth1: rx slot 44 status 0x400728 len 60 copying? 1
    eth1: intr, status fc670040 mode 7ffc2002 desc 45/52/52
    eth1: rx slot 45 status 0x400728 len 60 copying? 1
    eth1: intr, status fc670040 mode 7ffc2002 desc 46/52/52
    eth1: rx slot 46 status 0x400728 len 60 copying? 1

    I'll check that patch for 2.4.x tomorrow.

     
  • John Zielinski

    John Zielinski - 2001-12-19

    Logged In: YES
    user_id=361391

    Oh, almost forgot. The media type is 10baseT-HD. The card
    has TP and BNC connectors. It's directly hooked up to a
    Lancity cable modem. I'm not forcing any media type
    manually.

     
  • Jeff Garzik

    Jeff Garzik - 2002-08-09
    • labels: 101307 --> 8139too
    • priority: 6 --> 5
    • status: open --> closed-fixed
     
  • Jeff Garzik

    Jeff Garzik - 2002-08-09

    Logged In: YES
    user_id=17443

    This problem is fixed in the latest version of the driver. You
    can download the driver from the download section on this
    SourceForge web page.

     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.





No, thanks