if_alc trouble

Pyun YongHyeon pyunyh at gmail.com
Fri Aug 13 19:45:33 UTC 2010


On Fri, Aug 13, 2010 at 10:22:06AM +0300, Sergey V. Dyatko wrote:
> Hi all,
> I have strange problem:
> 
> NIC:
> alc0 at pci0:2:0:0:        class=0x020000 card=0x38a317aa chip=0x10621969
> rev=0xc0 hdr=0x00 vendor     = 'Attansic (Now owned by Atheros)'
>     device     = 'Atheros AR8132 PCI-E Fast Ethernet Controller
> (AR8132)' class      = network
>     subclass   = ethernet
> 
> % uname -a
> FreeBSD laptop.minsk.domain 9.0-CURRENT FreeBSD 9.0-CURRENT #8 r209973:
> Tue Jul 13 10:17:08 EEST 2010
> root at laptop.minsk.domain:/usr/obj/usr/src/sys/b450  i386
> 
> I'm using if_alc as a kernel module, when I boot with plugged in
> cable all works fine, but when I booting with unplugged
> cable - network doesn't work.
> 
> I'm trying kenv hw.alc.msi_disable=1 and kldload if_alc..
> from messages: 
> 
> Aug 13 09:06:12 laptop kernel: alc0: <Atheros AR8132 PCIe Fast
> Ethernet> port 0x3000-0x307f mem 0x96100000-0x9613ffff ir q 16 at
> Ethernet> device 0.0 on pci2
> Aug 13 09:06:12 laptop kernel: alc0: 15872 Tx FIFO, 15360 Rx FIFO
> Aug 13 09:06:12 laptop kernel: miibus0: <MII bus> on alc0
> Aug 13 09:06:12 laptop kernel: atphy0: <Atheros F1 10/100/1000 PHY> PHY
> 0 on miibus0 Aug 13 09:06:12 laptop kernel: atphy0:  10baseT,
> 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto Aug 13 09:06:12 laptop
> kernel: alc0: Ethernet address: 00:1f:16:2e:fa:49 Aug 13 09:06:12
> laptop kernel: alc0: [FILTER] Aug 13 09:06:12 laptop kernel: alc0: link
> state changed to DOWN Aug 13 09:06:15 laptop kernel: alc0: link state
> changed to UP Aug 13 09:06:15 laptop kernel: alc0: DMA write error! --
> resetting Aug 13 09:06:15 laptop kernel: alc0: link state changed to
> DOWN Aug 13 09:06:16 laptop kernel: alc0: promiscuous mode enabled
> Aug 13 09:06:17 laptop kernel: alc0: link state changed to UP
> Aug 13 09:06:18 laptop kernel: alc0: DMA write error! -- resetting
> Aug 13 09:06:18 laptop kernel: alc0: link state changed to DOWN
> Aug 13 09:06:20 laptop kernel: alc0: link state changed to UP
> Aug 13 09:06:21 laptop kernel: alc0: DMA write error! -- resetting
> 
> 
> how to repeat: 
> 1) boot with unplugged cable (if_alc_load="YES" on loader.conf)
> 2) plug-in cable
> 3) dhclient alc0
> 4) tcpdump -ni alc0 -vvv -> http://tiger.ipfw.ru/files/tcpdump.txt
> 5) reboot with plugged cable..
> 6) dhclient alc0
> ....
> [tiger at laptop]~%ifconfig alc0 
> alc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu
> 1500
> options=c3198<VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MCAST,WOL_MAGIC,VLAN_HWTSO,LINKSTATE>
> ether 00:1f:16:2e:fa:49 inet 192.168.9.150 netmask 0xffffff00 broadcast
> 192.168.9.255 media: Ethernet autoselect (100baseTX <full-duplex>)
>         status: active
> 
> now I can unplug cable, unload if_alc, load it again, plug cable -- all
> works fine..
> 

I'm working on it but I was not able to reproduce the issue on my
AR8131/AR8132/AR8151/AR8152 sample boards. However it seems AR8132
is the only controller that shows this issue and I vaguely remember
a couple of users reported the issue.
I'll update PR 148772 if I manage to find some clue.


More information about the freebsd-current mailing list