Bug 5890

Summary: Driver sk98lin not working (no communication with other node)
Product: Drivers Reporter: Jaroslav Prodelal (ogee)
Component: NetworkAssignee: Stephen Hemminger (stephen)
Status: CLOSED CODE_FIX    
Severity: normal CC: bunk, stephen
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.15 Subsystem:
Regression: --- Bisected commit-id:

Description Jaroslav Prodelal 2006-01-14 10:22:58 UTC
Most recent kernel where this bug did not occur: 2.6.13.3 (no more recent
version we use)
Distribution: CentOS 4.2
Hardware Environment: AMD Athlon(tm) 64 X2 Dual Core Processor 4400+, 4GB RAM,
NVidida NFORCE3 network card, Yukon Gigabit Ethernet 10/100/1000Base-T Adapter
Software Environment: 
Problem Description:
The driver is properly loaded and device is also properly configured, but I
can't ping other node (device is used to P2P connection only).

When I try to use tcpdump on that interface, I can see outgoing packets to other
node and rarely some strange message are display on other node when I use
tcpdump on pair device there:

...
19:10:36.903542 IP truncated-ip - 38 bytes missing! 10.99.0.1 > 10.99.0.2: icmp
64: echo request seq 6
19:10:37.913470 IP truncated-ip - 38 bytes missing! 10.99.0.1 > 10.99.0.2: icmp
64: echo request seq 6
19:10:39.881524 IP 10.99.0.1 > 10.99.0.2: icmp 64: echo request seq 6
19:10:46.903458 IP 10.99.0.1 > 10.99.0.2: icmp 64: echo request seq 6
19:10:46.920733 IP truncated-ip - 38 bytes missing! 10.99.0.1 > 10.99.0.2: icmp
64: echo request seq 6
19:11:05.901484 IP 10.99.0.1 > 10.99.0.2: icmp 64: echo request seq 34
...

When I leave program ping to tries ping from bad node, sometimes I can see
message like this:

64 bytes from 10.99.0.2: icmp_seq=182 ttl=64 time=3981 ms
wrong data byte #20 should be 0x14 but was 0x0
#16     10 11 12 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#48     0 0 0 0 0 0 0 0
64 bytes from 10.99.0.2: icmp_seq=182 ttl=64 time=5021 ms (DUP!)
wrong data byte #20 should be 0x14 but was 0x0
#16     10 11 12 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#48     0 0 0 0 0 0 0 0

dmesg output when I load driver:

ACPI: PCI Interrupt 0000:05:0c.0[A] -> Link [APC2] -> GSI 17 (level, low) -> IRQ 233
ACPI: PCI Interrupt 0000:05:0c.0[A] -> Link [APC2] -> GSI 17 (level, low) -> IRQ 233
eth0: Yukon Gigabit Ethernet 10/100/1000Base-T Adapter
      PrefPort:A  RlmtMode:Check Link State
ADDRCONF(NETDEV_UP): eth0: link is not ready
eth0: network connection up using port A
    speed:           1000
    autonegotiation: yes
    duplex mode:     full
    flowctrl:        symmetric
    role:            slave
    irq moderation:  disabled
    scatter-gather:  enabled
ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

I have compiled driver from manufacturer site
(http://www.syskonnect.com/syskonnect/support/driver/htm/sk9elin.htm) and it is
working correctly. Packets are transmitted.

dmesg output of selfcompiled driver downloaded from manufacturer site:

sk98lin: Network Device Driver v8.28.1.3
(C)Copyright 1999-2005 Marvell(R).
ACPI: PCI Interrupt 0000:05:0c.0[A] -> Link [APC2] -> GSI 17 (level, low) -> IRQ 233
eth0: Yukon Gigabit Ethernet 10/100/1000Base-T Adapter
      PrefPort:A  RlmtMode:Check Link State
ADDRCONF(NETDEV_UP): eth0: link is not ready
eth0: network connection up using port A
    speed:           1000
    autonegotiation: yes
    duplex mode:     full
    flowctrl:        symmetric
    role:            slave
    irq moderation:  disabled
    scatter-gather:  enabled
    tx-checksum:     enabled
    rx-checksum:     enabled
    rx-polling:      enabled
ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

----
But with selfcompiled driver another problem exits. When I load drbd module
(www.drbd.org), I can't do ping as well and there is no connection between
theses nodes.
---
In the past, I have also problems with drbd and sk98lin, but only with
selfcompiled sk98lin module on kernel 2.6.13.3. There were kernel panic every
time I load sk98lin driver. But it works correctly with included driver from
2.6.13.3
----
So, the major problem is, that sk98lin module doesn't work for me on 2.6.15 and
also, that manufacturer driver doesn't work with drbd, but it is not your
problem, I think?!

----
If think I send all information I could, if I can send more, please let me knoe
which and how to do that.

Steps to reproduce:
Just try ping to some node from machine with this network card.
Comment 1 Adrian Bunk 2006-01-14 10:46:13 UTC
Stephen, can you look at this bug?
Comment 2 Renato S. Yamane 2006-01-18 01:55:59 UTC
It's true!
Solution: use module sky2
Don't select module sk98lin when you compile your kernel and select module sky2
(with option "Y" and don't "M").
Bye,
Renato
I have problem with acpi in kernel 2.6.15:
http://bugzilla.kernel.org/show_bug.cgi?id=5864
Comment 3 Stephen Hemminger 2006-01-18 07:37:50 UTC
Since sky2 (now in 2.6.16-rc1) works, and the out of tree driver
does not. I call this closed. If you want to file a bug with SysKonnect about
their driver, mail them.