Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 17 Jan 2011 10:39:32 GMT
From:      Chester Lee Schmaltz <clschmaltz@gmail.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   kern/154076: recent alc driver locks computer 
Message-ID:  <201101171039.p0HAdWK9055164@red.freebsd.org>
Resent-Message-ID: <201101171040.p0HAeCS7014913@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         154076
>Category:       kern
>Synopsis:       recent alc driver locks computer
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Jan 17 10:40:11 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     Chester Lee Schmaltz
>Release:        modified 8.1-RELEASE amd64, also on ordinary 8.2-RC2 for i386 & amd64
>Organization:
>Environment:
FreeBSD  8.1-RELEASE FreeBSD 8.1-RELEASE #0: Sun Jan 16 22:39:49 CST 2011     root@n7010.local.xxx:/usr/obj/usr/src/sys/GENERICpatch  amd64

>Description:
I'm having problems with getting the wired Atheros network card working on my new laptop (Dell N7010).  The pciconf output says the device ID is 0x2060, which from the dev/alc/if_alcreg.h on the CVSweb browser indicates it is an AR8152.

I'm running 8.1-RELEASE but its version of alc doesn't support this card.  So I grabbed the version of if_alc.c, if_alcreg.h, and if_alcvar.h from Aug. 20th 2010 which added support, but now after using dhclient or manually assigning an IP my computer completely locks up.  A message about the interface going down, and then a second one about it coming back up are the last things I see.  No error messages come up nor are written to /var/log/messages.

I also tried even more recent versions from the RELENG_8_2 branch and had to update some files in dev/mii and sys/net/if_media.h but... same results.
I have an Intel i5 processor and I'm using the amd64 architecture.  GENERIC kernel or a modified one to remove unneeded stuff makes no difference.

Here is the pciconf output after updating alc:

alc0@pci0:4:0:0:	class=0x020000 card=0x04571028 chip=0x20601969 rev=0xc1 hdr=0x00
    vendor     = 'Attansic (Now owned by Atheros)'
    class      = network
    subclass   = ethernet
    bar   [10] = type Memory, range 64, base 0xf0400000, size 262144, enabled
    bar   [18] = type I/O Port, range 32, base 0x2000, size 128, enabled
    cap 01[40] = powerspec 3  supports D0 D3  current D0
    cap 05[48] = MSI supports 1 message, 64 bit enabled with 1 message
    cap 10[58] = PCI-Express 1 endpoint max data 128(4096) link x1(x1)
    cap 03[6c] = VPD

with plain 8.1-RELEASE it's similar but with none3@" replacing 
"alc0@" and the cap 05 line doesn't say "enabled with 1 message".

The ifconfig output (with the newer driver) is:

alc0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=c3198<VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MCAST,WOL_MAGIC,VLAN_HWTSO,LINKSTATE>
	ether f0:4d:a2:56:b9:48
	media: Ethernet autoselect

I also tried both the i386 and amd64 bootonly CD's for 8.2-RC2 and the same thing still happens if I give an IP address to alc0 with ifconfig at the holographic shell prompt.

For reference, in Linux the driver atl1c is working for it just fine.
Linux's lspci -vvv seems to git a lot more info, here it is:
04:00.0 Ethernet controller: Attansic Technology Corp. Device 2060 (rev c1)
	Subsystem: Dell Device 0457
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 43
	Region 0: Memory at f0400000 (64-bit, non-prefetchable) [size=256K]
	Region 2: I/O ports at 2000 [size=128]
	Capabilities: [40] Power Management version 3
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
		Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [48] MSI: Enable+ Count=1/1 Maskable- 64bit+
		Address: 00000000fee0f00c  Data: 4191
	Capabilities: [58] Express (v1) Endpoint, MSI 00
		DevCap:	MaxPayload 4096 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited
			ExtTag- AttnBtn+ AttnInd+ PwrInd+ RBE+ FLReset-
		DevCtl:	Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
			RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
			MaxPayload 128 bytes, MaxReadReq 512 bytes
		DevSta:	CorrErr+ UncorrErr+ FatalErr- UnsuppReq+ AuxPwr+ TransPend-
		LnkCap:	Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 unlimited, L1 unlimited
			ClockPM+ Surprise- LLActRep- BwNot-
		LnkCtl:	ASPM L1 Enabled; RCB 64 bytes Disabled- Retrain- CommClk+
			ExtSynch- ClockPM+ AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
	Capabilities: [6c] Vital Product Data
		Not readable
	Capabilities: [100] Advanced Error Reporting
		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq+ ACSViol-
		UEMsk:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UESvrt:	DLP- SDES+ TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
		CESta:	RxErr- BadTLP+ BadDLLP+ Rollover- Timeout- NonFatalErr-
		CEMsk:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
		AERCap:	First Error Pointer: 14, GenCap+ CGenEn- ChkCap+ ChkEn-
	Capabilities: [180] Device Serial Number ff-56-b9-48-f0-4d-a2-ff
	Kernel driver in use: atl1c


Thanks.

>How-To-Repeat:
Use the alc driver after Aug. 30 2010, Dell N7010 laptop, Attansic/Atheros device 2060 (rev c1) wired network card.
and then run:
     ifconfig alc0 192.168.100.3
(or any other IP) or 
     dhclient alc0
>Fix:


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201101171039.p0HAdWK9055164>