Re: Call for testers: Atheros AR8121(L1E)/AR8113/AR8114(L2E) ethernet

From: Jan Henrik Sylvester <me_at_janh.de>
Date: Thu, 27 Nov 2008 20:23:09 +0100
Sorry for getting back so late. I have been moving and still have no 
internet access, yet.

Pyun YongHyeon wrote:
> On Tue, Nov 04, 2008 at 10:36:21PM +0100, Jan Henrik Sylvester wrote:
>  > I was happy too early. Now I keep getting these:
>  > ale0: DMA read error! -- resetting
>  > ale0: could not disable Tx/Rx MAC(0x00000008)!
> 
> It looks like Tx queue processing is still in progress.
> Would you show me hardware MAC statistics?
> ("sysctl dev.ale.0.stats" will show you detailed information.)
> Also ale(4) related dmesg output might be useful.

I still cannot reliably reproduce the problem, but this is from a time 
it happened (with the old version of the driver, see below):

dev.ale.0.stats.rx.good_frames: 2341
dev.ale.0.stats.rx.good_bcast_frames: 21
dev.ale.0.stats.rx.good_mcast_frames: 0
dev.ale.0.stats.rx.pause_frames: 0
dev.ale.0.stats.rx.control_frames: 0
dev.ale.0.stats.rx.crc_errs: 0
dev.ale.0.stats.rx.len_errs: 0
dev.ale.0.stats.rx.good_octets: 174085
dev.ale.0.stats.rx.good_bcast_octets: 5772
dev.ale.0.stats.rx.good_mcast_octets: 0
dev.ale.0.stats.rx.runts: 0
dev.ale.0.stats.rx.fragments: 0
dev.ale.0.stats.rx.frames_64: 133
dev.ale.0.stats.rx.frames_65_127: 2147
dev.ale.0.stats.rx.frames_128_255: 37
dev.ale.0.stats.rx.frames_256_511: 21
dev.ale.0.stats.rx.frames_512_1023: 3
dev.ale.0.stats.rx.frames_1024_1518: 0
dev.ale.0.stats.rx.frames_1519_max: 0
dev.ale.0.stats.rx.trunc_errs: 0
dev.ale.0.stats.rx.fifo_oflows: 0
dev.ale.0.stats.rx.desc_oflows: 0
dev.ale.0.stats.rx.align_errs: 0
dev.ale.0.stats.rx.filtered: 0
dev.ale.0.stats.tx.good_frames: 3415
dev.ale.0.stats.tx.good_bcast_frames: 15
dev.ale.0.stats.tx.good_mcast_frames: 30
dev.ale.0.stats.tx.pause_frames: 0
dev.ale.0.stats.tx.control_frames: 0
dev.ale.0.stats.tx.excess_defers: 0
dev.ale.0.stats.tx.defers: 0
dev.ale.0.stats.tx.good_octets: 3910774
dev.ale.0.stats.tx.good_bcast_octets: 39251
dev.ale.0.stats.tx.good_mcast_octets: 0
dev.ale.0.stats.tx.frames_64: 9
dev.ale.0.stats.tx.frames_65_127: 235
dev.ale.0.stats.tx.frames_128_255: 121
dev.ale.0.stats.tx.frames_256_511: 337
dev.ale.0.stats.tx.frames_512_1023: 386
dev.ale.0.stats.tx.frames_1024_1518: 2327
dev.ale.0.stats.tx.frames_1519_max: 0
dev.ale.0.stats.tx.single_colls: 0
dev.ale.0.stats.tx.multi_colls: 0
dev.ale.0.stats.tx.late_colls: 0
dev.ale.0.stats.tx.excess_colls: 0
dev.ale.0.stats.tx.abort: 0
dev.ale.0.stats.tx.underruns: 0
dev.ale.0.stats.tx.desc_underruns: 0
dev.ale.0.stats.tx.len_errs: 0
dev.ale.0.stats.tx.trunc_errs: 5088

ale0: <Atheros AR8121/AR8113/AR8114 PCIe Ethernet> port 0xec00-0xec7f 
mem 0xfbfc0000-0xfbffffff irq 17 at device 0.0 on pci3
ale0: PCI device revision : 0x00b0
ale0: Chip id/revision : 0xb002
ale0: 960 Tx FIFO, 1024 Rx FIFO
ale0: MSIX count : 0
ale0: MSI count : 1
ale0: Using 1 MSI messages.
ale0: Read request size : 512 bytes.
ale0: TLP payload size : 128 bytes.
miibus0: <MII bus> on ale0
atphy0: <Atheros F1 10/100/1000 PHY> PHY 0 on miibus0
atphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, auto
ale0: Ethernet address: 00:22:15:a4:15:83
ale0: [FILTER]
ale0: link state changed to DOWN
ale0: interrupt moderation is 100 us.
ale0: link state changed to UP
ale0: link state changed to DOWN
ale0: link state changed to UP
ale0: link state changed to DOWN
ale0: link state changed to UP
ale0: link state changed to DOWN
ale0: link state changed to UP
ale0: link state changed to DOWN
ale0: link state changed to UP
ale0: DMA read error! -- resetting
ale0: could not disable Tx/Rx MAC(0x00000008)!
ale0: interrupt moderation is 100 us.
ale0: link state changed to DOWN
ale0: link state changed to UP
[*72]
ale0: DMA read error! -- resetting
ale0: could not disable Tx/Rx MAC(0x00000008)!
ale0: interrupt moderation is 100 us.
ale0: link state changed to DOWN
ale0: link state changed to UP

> Is there any reliable way to reproduce it?

Unfortunately, not yet. I did some similar activities and got it again, 
but I cannot specify a procedure. I will try, later, again.

> Also I've slightly changed code which may help to stop MAC in case
> of critical condition. Would you get the latest if_ale.c at the
> following URL and try again?
> http://people.freebsd.org/~yongari/ale/if_ale.c

I did, Nov-27, but it does not compile:

if_ale.c: In function 'ale_attach': 

if_ale.c:452: error: 'ALE_FLAG_TXCSUM_BUG' undeclared (first use in this 
function)
if_ale.c:452: error: (Each undeclared identifier is reported only once 

if_ale.c:452: error: for each function it appears in.) 

if_ale.c:457: error: 'ALE_FLAG_RXCSUM_BUG' undeclared (first use in this 
function)
if_ale.c:464: error: 'ALE_FLAG_TXCMB_BUG' undeclared (first use in this 
function)
if_ale.c: In function 'ale_sysctl_node': 

if_ale.c:727: error: 'struct ale_softc' has no member named 'ale_int_rx_mod'
[...]

Since I only got a new copy of if_ale.c, I assume, I need the others, 
too, but since I have no internet here, I cannot check, now. I will try 
to redownload everything when I send this mail, but I cannot do the 
testing, there.

I will send another mail, but unfortunately, there will be more delay.

Cheers,
Jan Henrik
Received on Thu Nov 27 2008 - 19:30:12 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:38 UTC