Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 3 Nov 2012 20:09:12 GMT
From:      ADAM David Alan Martin <adamartin@FreeBSD.org>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   kern/173336: Atheros card improper device poweroff handling on Eee PC 900
Message-ID:  <201211032009.qA3K9CAu053032@red.freebsd.org>
Resent-Message-ID: <201211032010.qA3KA05c003464@freefall.freebsd.org>

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

>Number:         173336
>Category:       kern
>Synopsis:       Atheros card improper device poweroff handling on Eee PC 900
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Nov 03 20:10:00 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     ADAM David Alan Martin
>Release:        8.2-RELEASE
>Organization:
>Environment:
FreeBSD pluto 8.2-RELEASE FreeBSD 8.2-RELEASE #1: Mon Mar 21 11:41:09 UTC 2011     adam@pluto:/usr/src/sys/i386/compile/PLUTO  i386

>Description:
Atheros network 802.11 device:

ath0@pci0:1:0:0:        class=0x020000 card=0x10261a3b chip=0x001c168c rev=0x01 hdr=0x00
    vendor     = 'Atheros Communications Inc.'
    device     = 'AR5006 family 802.11abg Wireless NIC'
    class      = network
    subclass   = ethernet

can be disabled by "Fn-F2" on the Eee-PC, which causes a device power-off.  BAR registers seem to not be properly initialized when the device is restored from poweroff.  This problem persists until the next full reboot.  (Suspend/Resume does not reset the BAR registers correctly.)
>How-To-Repeat:
Remove the driver, or make sure it's not loaded.  Power off the wifi (with Fn-F2).  Load the driver.  Power on the card.  All future driver loads, with or without the driver loaded are going to not find "ath0".
>Fix:
Not a fix, but these are the pci configuration space register dumps via "pciconf -r ath0@pci0:1:0:0 0:255":

Correctly initialized registers:

001c168c 00100007 02000001 00000004
fbef0004 00000000 00000000 00000000
00000000 00000000 00005001 10261a3b
00000000 00000040 00000000 00000112
01c25001 00000000 00000000 00000000
00006005 00000000 00000000 00000000
00119010 00280cc0 000a2010 00033c11
10110048 00000000 000003c0 00000000
00000000 00000000 00000000 00000000
00000011 00000000 00000000 00000000
00000004 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000


After the problem:

001c168c 00100406 02000001 00000000
00000004 00000000 00000000 00000000
00000000 00000000 00005001 10261a3b
00000000 00000040 00000000 00000112
01c25001 00000000 00000000 00000000
00006005 00000000 00000000 00000000
00119010 00280cc0 000a2010 00033c11
10110008 00000000 000003c0 00000000
00000000 00000000 00000000 00000000
00000011 00000000 00000000 00000000
00000004 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000


When the device is off, all "ffffffff" is shown for the configuration space.

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



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