[netdrivers] Adaptec Starfire and Kernel 2.6.x
Stefan Neuwirth
neuwirt-netdrivers at trillian.hd.shuttle.de
Fri Jul 1 11:59:26 PDT 2005
Hi there,
meanwhile I switched to a plain vanilla 2.6.12.2 kernel - the same
result.
Stefan
Stefan Neuwirth <neuwirt-netdrivers at trillian.hd.shuttle.de> writes:
> Hi there,
>
> I've a an adaptec starfire base 4-port card. The card is running fine
> over time using a 2.4 linux kernel. Switching the system to 2.6 kernel
> makes the card unusable. The 2.6 system runs fine using a dec (tulip)
> based ethernet card.
>
> The card identifies via lspci in an 2.6. environment:
>
> 0000:03:04.0 Ethernet controller: Adaptec ANA620xx/ANA69011A (rev 03)
> Subsystem: Adaptec ANA62044 4-port 10/100
> Flags: bus master, medium devsel, latency 72, IRQ 201
> Memory at e1100000 (32-bit, non-prefetchable)
> I/O ports at 5000 [size=256]
> Capabilities: [50] Power Management version 1
>
> 0000:03:05.0 Ethernet controller: Adaptec ANA620xx/ANA69011A (rev 03)
> Subsystem: Adaptec ANA62044 4-port 10/100
> Flags: bus master, medium devsel, latency 72, IRQ 185
> Memory at e1180000 (32-bit, non-prefetchable)
> I/O ports at 5400 [size=256]
> Capabilities: [50] Power Management version 1
>
> 0000:03:06.0 Ethernet controller: Adaptec ANA620xx/ANA69011A (rev 03)
> Subsystem: Adaptec ANA62044 4-port 10/100
> Flags: bus master, medium devsel, latency 72, IRQ 209
> Memory at e1200000 (32-bit, non-prefetchable)
> I/O ports at 5800 [size=256]
> Capabilities: [50] Power Management version 1
>
> 0000:03:07.0 Ethernet controller: Adaptec ANA620xx/ANA69011A (rev 03)
> Subsystem: Adaptec ANA62044 4-port 10/100
> Flags: bus master, medium devsel, latency 72, IRQ 169
> Memory at e1280000 (32-bit, non-prefetchable)
> I/O ports at 5c00 [size=256]
> Capabilities: [50] Power Management version 1
>
> The starfire driver get loaded an all 4 port show up in ifconfig. It's
> possible to configure the Interfaces:
>
> eth1 Link encap:Ethernet HWaddr 00:00:D1:ED:14:01
> inet addr:10.0.0.10 Bcast:10.255.255.255 Mask:255.255.255.0
> inet6 addr: fe80::200:d1ff:feed:1401/64 Scope:Link
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:74 errors:0 dropped:0 overruns:0 frame:0
> TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:1000
> RX bytes:5131 (5.0 Kb) TX bytes:868 (868.0 b)
> Interrupt:201
>
> As you can see, the packet counter grow up. The card also apears in
> /proc/interrupts:
>
> ford:~ # grep eth1 /proc/interrupts
> 201: 197 IO-APIC-level eth1
>
> Please note, that I reloaded the driver so RX packet count and
> interrupt count do not match.
>
> Now, perfect but unfortunatlly it dosen't work :-(
>
> Doing a ping show on the target machine something like this:
>
> zaphod:~ # tcpdump -i eth0 host 10.0.0.10
> User level filter, protocol ALL, datagram packet socket
> tcpdump: listening on eth0
> 12:34:45.124031 arp who-has 10.0.0.11 tell 10.0.0.10
> 12:34:45.124068 arp reply 10.0.0.11 (0:2:b3:24:ce:75) is-at 0:2:b3:24:ce:75 (0:0:d1:ed:14:1)
> 12:34:46.123959 arp who-has 10.0.0.11 tell 10.0.0.10
> 12:34:46.123980 arp reply 10.0.0.11 (0:2:b3:24:ce:75) is-at 0:2:b3:24:ce:75 (0:0:d1:ed:14:1)
> 12:34:47.123902 arp who-has 10.0.0.11 tell 10.0.0.10
> 12:34:47.123938 arp reply 10.0.0.11 (0:2:b3:24:ce:75) is-at 0:2:b3:24:ce:75 (0:0:d1:ed:14:1)
>
> So it seems the system can send packets into the world but can't
> receive anything. Doing a tcpdump on the machine with the starfire
> card give strange things:
>
> tcpdump: verbose output suppressed, use -v or -vv for full protocol
> decode listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes
> 12:18:09.275428 00:00:00:00:00:00 > 00:00:00:00:00:00 null I (s=0,r=0,C) len=42
> 12:18:10.274873 63:72:69:63:6b:65 > 65:74:20:2f:75:2f, ethertype Unknown (0x7420
> ), length 60:
> 0x0000: 6e6f 6e65 2072 772c 6269 6e64 2030 2030 none.rw,bind.0.0
> 0x0010: 0a74 206e 6673 2072 772c 7265 7472 793d .t.nfs.rw,retry=
> 0x0020: 322c 7273 697a 653d 3430 3936 2c77 2,rsize=4096,w
> 12:18:11.274443 00:00:00:00:00:00 > 00:00:00:00:00:00 null I (s=0,r=0,C) len=42
> 12:18:12.273955 00:00:00:00:00:c0 > 00:00:00:00:00:00, ethertype Unknown (0x203d
> ), length 60:
> 0x0000: 12c0 ba75 1400 a4fa ffbf 0000 0000 0000 ...u............
> 0x0010: 0000 0000 0000 0000 0000 0000 0000 0000 ................
> 0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
>
> Well the first block look like an enrty of my automounter table! For
> sure this is nothing valid in term of an ethernet packet. So wrong
> pointer, DMA problem?
>
> Last but not least the output of the driver in debug level 8:
>
> Jun 25 12:32:58 ford kernel: starfire.c:v1.03 7/26/2000 Written by Donald Becker <becker at scyld.com>
> Jun 25 12:32:58 ford kernel: (unofficial 2.2/2.4 kernel port, version 1.03+LK1.4.2, January 19, 2005)
> Jun 25 12:32:58 ford kernel: starfire: polling (NAPI) enabled
> Jun 25 12:32:58 ford kernel: ACPI: PCI interrupt 0000:03:04.0[A] -> GSI 18 (level, low) -> IRQ 201
> Jun 25 12:32:58 ford kernel: 04 90 15 69 00 02 04 90 19 00 01 00 00 00 00 01
> Jun 25 12:32:58 ford kernel: 14 ed d1 00 00 09 05 ff ff ff ff ff ff ff ff ff
> Jun 25 12:32:59 ford kernel: eth1: Adaptec Starfire 6915 at f0f00000, 00:00:d1:ed:14:01, IRQ 201.
> Jun 25 12:32:59 ford kernel: eth1: MII PHY found at address 1, status 0x7809 advertising 0x01e1.
> Jun 25 12:32:59 ford kernel: eth1: scatter-gather and hardware TCP cksumming enabled.
> Jun 25 12:32:59 ford kernel: ACPI: PCI interrupt 0000:03:05.0[A] -> GSI 19 (level, low) -> IRQ 185
> Jun 25 12:32:59 ford kernel: 04 90 15 69 00 02 04 90 19 00 01 00 00 00 00 02
> Jun 25 12:32:59 ford kernel: 14 ed d1 00 00 09 05 ff ff ff ff ff ff ff ff ff
> Jun 25 12:32:59 ford kernel: eth2: Adaptec Starfire 6915 at f1000000, 00:00:d1:ed:14:02, IRQ 185.
> Jun 25 12:32:59 ford kernel: eth2: MII PHY found at address 1, status 0x7809 advertising 0x01e1.
> Jun 25 12:32:59 ford kernel: eth2: scatter-gather and hardware TCP cksumming enabled.
> Jun 25 12:32:59 ford kernel: ACPI: PCI interrupt 0000:03:06.0[A] -> GSI 16 (level, low) -> IRQ 209
> Jun 25 12:32:59 ford kernel: 04 90 15 69 00 02 04 90 19 00 01 00 00 00 00 03
> Jun 25 12:32:59 ford kernel: 14 ed d1 00 00 09 05 ff ff ff ff ff ff ff ff ff
> Jun 25 12:32:59 ford kernel: eth3: Adaptec Starfire 6915 at f1100000, 00:00:d1:ed:14:03, IRQ 209.
> Jun 25 12:32:59 ford kernel: eth3: MII PHY found at address 1, status 0x7809 advertising 0x01e1.
> Jun 25 12:32:59 ford kernel: eth3: scatter-gather and hardware TCP cksumming enabled.
> Jun 25 12:32:59 ford kernel: ACPI: PCI interrupt 0000:03:07.0[A] -> GSI 17 (level, low) -> IRQ 169
> Jun 25 12:32:59 ford kernel: 04 90 15 69 00 02 04 90 19 00 01 00 00 00 00 04
> Jun 25 12:32:59 ford kernel: 14 ed d1 00 00 09 05 ff ff ff ff ff ff ff ff ff
> Jun 25 12:32:59 ford kernel: eth4: Adaptec Starfire 6915 at f1280000, 00:00:d1:ed:14:04, IRQ 169.
> Jun 25 12:32:59 ford kernel: eth4: MII PHY found at address 1, status 0x7809 advertising 0x01e1.
> Jun 25 12:32:59 ford kernel: eth4: scatter-gather and hardware TCP cksumming enabled.
> Jun 25 12:33:15 ford kernel: eth1: netdev_open() irq 201.
> Jun 25 12:33:15 ford kernel: eth1: Filling in the station address.
> Jun 25 12:33:15 ford kernel: eth1: Setting the Rx and Tx modes.
> Jun 25 12:33:15 ford kernel: eth1: Interrupt status 0x20000001.
> Jun 25 12:33:15 ford kernel: eth1: Tx Consumer index is 0.
> Jun 25 12:33:15 ford kernel: eth1: Link is down
> Jun 25 12:33:15 ford kernel: eth1: Interrupt status 0x00000000.
> Jun 25 12:33:15 ford kernel: eth1: exiting interrupt, status=0x00000000.
> Jun 25 12:33:15 ford kernel: eth1: Done netdev_open().
> Jun 25 12:33:15 ford kernel: eth1: Tx #0/#0 slot 0 status 0xb1010056.
> Jun 25 12:33:15 ford kernel: eth1: Tx #1/#0 slot 1 status 0xb101004e.
> Jun 25 12:33:16 ford kernel: eth1: Tx #2/#0 slot 2 status 0xb1010046.
> Jun 25 12:33:16 ford kernel: eth1: Interrupt status 0x20009001.
> Jun 25 12:33:16 ford kernel: eth1: Tx Consumer index is 6.
> Jun 25 12:33:16 ford kernel: eth1: Tx completion #0 entry 0 is 0x87630000.
> Jun 25 12:33:16 ford kernel: eth1: Tx completion #1 entry 1 is 0x8dd90010.
> Jun 25 12:33:16 ford kernel: eth1: Tx completion #2 entry 2 is 0x804f0020.
> Jun 25 12:33:16 ford kernel: eth1: Link is up, running at 100Mbit full-duplex
> Jun 25 12:33:16 ford kernel: eth1: Interrupt status 0x00000000.
> Jun 25 12:33:16 ford kernel: eth1: exiting interrupt, status=0x00000000.
> Jun 25 12:33:19 ford kernel: eth1: Tx #3/#3 slot 3 status 0xb1010056.
> Jun 25 12:33:20 ford kernel: eth1: Tx #4/#3 slot 4 status 0xb1010046.
> Jun 25 12:33:24 ford kernel: eth1: Tx #5/#3 slot 5 status 0xb1010046.
> Jun 25 12:33:25 ford kernel: eth1: no IPv6 routers present
> Jun 25 12:33:33 ford kernel: eth1: Interrupt status 0x00009101.
> Jun 25 12:33:33 ford kernel: eth1: Tx Consumer index is 12.
> Jun 25 12:33:33 ford kernel: eth1: Tx completion #3 entry 3 is 0x85200030.
> Jun 25 12:33:33 ford kernel: eth1: Tx completion #4 entry 4 is 0x89cd0040.
> Jun 25 12:33:33 ford kernel: eth1: Tx completion #5 entry 5 is 0x93640050.
> Jun 25 12:33:33 ford kernel: eth1: Interrupt status 0x00000000.
> Jun 25 12:33:33 ford kernel: eth1: exiting interrupt, status=0x00000000.
> Jun 25 12:33:33 ford kernel: netdev_rx() status of 0 was 0x6000003c.
> Jun 25 12:33:33 ford kernel: netdev_rx() normal Rx pkt length 60, quota 19.
> Jun 25 12:33:33 ford kernel: Rx data 00:c0:ca:20:35:6f 00:e0:81:51:15:82 0800.
> Jun 25 12:33:33 ford kernel: netdev_rx() status2 of 0 was 0x0000.
> Jun 25 12:33:33 ford kernel: exiting netdev_rx(): 0, status of 1 was 0x00000000.
> Jun 25 12:33:33 ford kernel: exiting netdev_poll(): 0.
> ...
>
> Searching via google shows up a few poeple having the same or similar
> problems, but noone ever mentioned a solution.
>
> Stefan
>
> PS: The test were performed on an SuSE 2.6.11.4-20a kernel, but I also
> tried other SuSE kernels and several knoppix cds - everytime the same.
More information about the netdrivers
mailing list