pciconf -w

Dan Langille dan at langille.org
Thu Apr 17 13:14:21 UTC 2008


Takashi Inoue wrote:
> M. Warner Losh wrote:
> 
>> In message: <1208358909.10448.1.camel at RabbitsDen>
>>             "Alexandre \"Sunny\" Kovalenko" <gaijin.k at gmail.com> writes:
>> : On Wed, 2008-04-16 at 10:37 -0400, John Baldwin wrote:
>> : > On Wednesday 16 April 2008 07:40:18 am Takashi Inoue wrote:
>> : > > Hi friends,
>> : > >
>> : > > Does anyone know how to trun off a pci device using pciconf -w ?
>> : > >
>> : > > Becase my MiniPCI Express wireless card is realy hot,
>> : > > I want to turn off when I don't need it.
>> : > >
>> : > >
>> : > > ath0 at pci0:3:0:0:       class=0x020000 card=0x058a1014 
>> chip=0x1014168c
>> : > > rev=0x01 hdr=0x00
>> : > >     vendor     = 'Atheros Communications Inc.'
>> : > >     device     = 'AR5212 Atheros AR5212 802.11abg wireless'
>> : > >     class      = network
>> : > >     subclass   = ethernet
>> : > >     cap 01[40] = powerspec 2  supports D0 D3  current D0
>> : > >     cap 05[50] = MSI supports 1 message
>> : > >     cap 10[60] = PCI-Express 1 legacy endpoint
>> : > >     cap 11[90] = MSI-X supports 1 message in map 0x10
>> : > : > Bug warner (imp at FreeBSD.org) for his devctl patch and use that 
>> to turn it off.
>> : > : Just out of curiosity... would setting 
>> hw.pci.do_power_nodriver="3" and
>> : unloading if_ath.ko do the trick?
>>
>> Yes.
> 
>  No.
> 
>  none1 at pci0:3:0:0:    class=0x020000 card=0x058a1014 chip=0x1014168c 
> rev=0x01 hdr=0x00
>     vendor     = 'Atheros Communications Inc.'
>     device     = 'AR5212 Atheros AR5212 802.11abg wireless'
>     class      = network
>     subclass   = ethernet
>     cap 01[40] = powerspec 2  supports D0 D3  current D0
>     cap 05[50] = MSI supports 1 message
>     cap 10[60] = PCI-Express 1 legacy endpoint
>     cap 11[90] = MSI-X supports 1 message in map 0x10
> 
> As you see, even in case without driver,
> it's power status is D0 and the device is hot.
> Setting hw.....nodriver=3 has no effect.
> I think I need to write D3 by hand.

I have a ThinkPad X61s.  Here is what I see when ath0 is up:

ath0 at pci0:3:0:0:        class=0x020000 card=0x058a1014 chip=0x1014168c 
rev=0x01 hdr=0x00
     vendor     = 'Atheros Communications Inc.'
     device     = 'AR5212 Atheros AR5212 802.11abg wireless'
     class      = network
     subclass   = ethernet
     cap 01[40] = powerspec 2  supports D0 D3  current D0
     cap 05[50] = MSI supports 1 message
     cap 10[60] = PCI-Express 1 legacy endpoint
     cap 11[90] = MSI-X supports 1 message in map 0x10

After an ifconfig ath0 down:

ath0 at pci0:3:0:0:        class=0x020000 card=0x058a1014 chip=0x1014168c 
rev=0x01 hdr=0x00
     vendor     = 'Atheros Communications Inc.'
     device     = 'AR5212 Atheros AR5212 802.11abg wireless'
     class      = network
     subclass   = ethernet
     cap 01[40] = powerspec 2  supports D0 D3  current D0
     cap 05[50] = MSI supports 1 message
     cap 10[60] = PCI-Express 1 legacy endpoint
     cap 11[90] = MSI-X supports 1 message in map 0x10


after hw.pci.do_power_nodriver="3"

ath0 at pci0:3:0:0:        class=0x020000 card=0x058a1014 chip=0x1014168c 
rev=0x01 hdr=0x00
     vendor     = 'Atheros Communications Inc.'
     device     = 'AR5212 Atheros AR5212 802.11abg wireless'
     class      = network
     subclass   = ethernet
     cap 01[40] = powerspec 2  supports D0 D3  current D0
     cap 05[50] = MSI supports 1 message
     cap 10[60] = PCI-Express 1 legacy endpoint
     cap 11[90] = MSI-X supports 1 message in map 0x10

As for loaded modules:

[root at laptop ~]# kldstat | grep ath
[root at laptop ~]#

HTH


More information about the freebsd-mobile mailing list