Re: turn ipw(4) off when not needed

2012-10-18 Thread Stuart Henderson
On 2012-10-17, Artturi Alm artturi@gmail.com wrote:
 Hmm, there used to be sensors on my thinkpad T60,
 now sysctl hw.sensors shows me nothing, and sysctl hw
 does seem to wait something, i gave up after an half minute and
 ^C'd my way out of sysctl.

this sounds like it could well be a mismatch between kernel and userland.



Re: turn ipw(4) off when not needed

2012-10-18 Thread Artturi Alm
2012/10/18 Stuart Henderson s...@spacehopper.org:
 On 2012-10-17, Artturi Alm artturi@gmail.com wrote:
 Hmm, there used to be sensors on my thinkpad T60,
 now sysctl hw.sensors shows me nothing, and sysctl hw
 does seem to wait something, i gave up after an half minute and
 ^C'd my way out of sysctl.

 this sounds like it could well be a mismatch between kernel and userland.


and it was, forgot to straighten it out on misc, thanks.


-Artturi



turn ipw(4) off when not needed

2012-10-17 Thread Jan Stary
This is current/i386 on an IBM Thinkpad T40.

It comes with an ipw(4) wifi interface, which works fine. Anyway,
the ipw(4) seems to be one of the substantial battery eaters. So
I would like to not use the interface when running on battery
and not actually using a wifi connection.

Running 'ifconfig ipw0 down' seems to do that: the antenna icon led
switches off, and time left (as reported by apm) starts increasing.
(What would be a more rigorous way to see that the battery is actually
running off more slowly now, others being equal? The machine doesn't
have any sensors, as reported by 'sysctl hw').

I would like to let that happen automatically, if only because sometimes
I forget to do that, and drain the battery considerably faster.
What is the preffered way to do that? Is ifstated(8) the way?

istated(8) is monitoring the 'interface link state'.
Is 'no network' recognizable as an interface link state?
What I would like to recognize with ipw0 is what
'no carrier' would be for an ethernet interface:
is that a good analogy? 'no network' just means
the interface is not associated to any network,
not that there isn't a nework around, right?

Now I tend to put

  ifconfig ipw0 | grep 'no network'  /dev/null  ifconfig ipw0 down

into the root's crontab but that seems a bit crude.

Jan


OpenBSD 5.2-current (GENERIC) #36: Sun Oct 14 13:13:06 MDT 2012
dera...@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC
cpu0: Intel(R) Pentium(R) M processor 1500MHz (GenuineIntel 686-class) 1.50 
GHz
cpu0: 
FPU,V86,DE,PSE,TSC,MSR,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,TM,PBE,EST,TM2
real mem  = 267317248 (254MB)
avail mem = 251985920 (240MB)
mainbus0 at root
bios0 at mainbus0: AT/286+ BIOS, date 06/18/07, BIOS32 rev. 0 @ 0xfd750, SMBIOS 
rev. 2.33 @ 0xe0010 (61 entries)
bios0: vendor IBM version 1RETDRWW (3.23 ) date 06/18/2007
bios0: IBM 237382G
apm0 at bios0: Power Management spec V1.2
acpi at bios0 function 0x0 not configured
pcibios0 at bios0: rev 2.1 @ 0xfd6e0/0x920
pcibios0: PCI IRQ Routing Table rev 1.0 @ 0xfdea0/272 (15 entries)
pcibios0: PCI Interrupt Router at 000:31:0 (Intel 82371FB ISA rev 0x00)
pcibios0: PCI bus #6 is the last bus
bios0: ROM list: 0xc/0x1 0xd/0x1000 0xd1000/0x1000 0xdc000/0x4000! 
0xe/0x1
cpu0 at mainbus0: (uniprocessor)
cpu0: Enhanced SpeedStep 1496 MHz: speeds: 1500, 1400, 1200, 1000, 800, 600 MHz
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
0:31:1: io address conflict 0x5800/0x8
0:31:1: io address conflict 0x5808/0x4
0:31:1: io address conflict 0x5810/0x8
0:31:1: io address conflict 0x580c/0x4
pchb0 at pci0 dev 0 function 0 Intel 82855PM Host rev 0x03
intelagp0 at pchb0
agp0 at intelagp0: aperture at 0xd000, size 0x1000
ppb0 at pci0 dev 1 function 0 Intel 82855PM AGP rev 0x03
pci1 at ppb0 bus 1
vga1 at pci1 dev 0 function 0 ATI Radeon Mobility M7 rev 0x00
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
radeondrm0 at vga1: irq 11
drm0 at radeondrm0
uhci0 at pci0 dev 29 function 0 Intel 82801DB USB rev 0x01: irq 11
uhci1 at pci0 dev 29 function 1 Intel 82801DB USB rev 0x01: irq 11
uhci2 at pci0 dev 29 function 2 Intel 82801DB USB rev 0x01: irq 11
ehci0 at pci0 dev 29 function 7 Intel 82801DB USB rev 0x01: irq 11
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 Intel EHCI root hub rev 2.00/1.00 addr 1
ppb1 at pci0 dev 30 function 0 Intel 82801BAM Hub-to-PCI rev 0x81
pci2 at ppb1 bus 2
2:0:0: mem address conflict 0xb000/0x1000
2:0:1: mem address conflict 0xb100/0x1000
cbb0 at pci2 dev 0 function 0 TI PCI1520 CardBus rev 0x01: irq 11
cbb1 at pci2 dev 0 function 1 TI PCI1520 CardBus rev 0x01: irq 11
em0 at pci2 dev 1 function 0 Intel PRO/1000MT (82540EP) rev 0x03: irq 11, 
address 00:0d:60:7f:83:fa
ipw0 at pci2 dev 2 function 0 Intel PRO/Wireless 2100 rev 0x04: irq 11, 
address 00:0c:f1:16:9b:b8
cardslot0 at cbb0 slot 0 flags 0
cardbus0 at cardslot0: bus 3 device 0 cacheline 0x8, lattimer 0xb0
pcmcia0 at cardslot0
cardslot1 at cbb1 slot 1 flags 0
cardbus1 at cardslot1: bus 6 device 0 cacheline 0x8, lattimer 0xb0
pcmcia1 at cardslot1
ichpcib0 at pci0 dev 31 function 0 Intel 82801DBM LPC rev 0x01: 24-bit timer 
at 3579545Hz
pciide0 at pci0 dev 31 function 1 Intel 82801DBM IDE rev 0x01: DMA, channel 0 
configured to compatibility, channel 1 configured to compatibility
wd0 at pciide0 channel 0 drive 0: HTS548040M9AT00
wd0: 16-sector PIO, LBA, 35087MB, 71859186 sectors
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 5
atapiscsi0 at pciide0 channel 1 drive 0
scsibus0 at atapiscsi0: 2 targets
cd0 at scsibus0 targ 0 lun 0: HL-DT-ST, DVD-ROM GDR8083N, 0K03 ATAPI 5/cdrom 
removable
cd0(pciide0:1:0): using PIO mode 4, Ultra-DMA mode 2
ichiic0 at pci0 dev 31 function 3 Intel 82801DB SMBus rev 0x01: irq 11
iic0 at ichiic0
spdmem0 at iic0 addr 0x50: 256MB DDR SDRAM non-parity PC2700CL2.5
auich0 at pci0 dev 31 function 5 Intel 82801DB AC97 rev 0x01: irq 11, ICH4 

Re: turn ipw(4) off when not needed

2012-10-17 Thread Todd T. Fries
Penned by Jan Stary on 20121017 10:46.55, we have:
| This is current/i386 on an IBM Thinkpad T40.
| 
| It comes with an ipw(4) wifi interface, which works fine. Anyway,
| the ipw(4) seems to be one of the substantial battery eaters. So
| I would like to not use the interface when running on battery
| and not actually using a wifi connection.
| 
| Running 'ifconfig ipw0 down' seems to do that: the antenna icon led
| switches off, and time left (as reported by apm) starts increasing.
| (What would be a more rigorous way to see that the battery is actually
| running off more slowly now, others being equal? The machine doesn't
| have any sensors, as reported by 'sysctl hw').
| 
| I would like to let that happen automatically, if only because sometimes
| I forget to do that, and drain the battery considerably faster.
| What is the preffered way to do that? Is ifstated(8) the way?
| 
| istated(8) is monitoring the 'interface link state'.
| Is 'no network' recognizable as an interface link state?
| What I would like to recognize with ipw0 is what
| 'no carrier' would be for an ethernet interface:
| is that a good analogy? 'no network' just means
| the interface is not associated to any network,
| not that there isn't a nework around, right?
| 
| Now I tend to put
| 
|   ifconfig ipw0 | grep 'no network'  /dev/null  ifconfig ipw0 down
| 
| into the root's crontab but that seems a bit crude.
| 
|   Jan

A slightly less crude way would be to put this there:

ifconfig egress | grep ^ipw0  /dev/null  { apm | grep 'A/C adapter 
state: connected' || ifconfig ipw0 down; }

because if 'egress' is not on ipw0 you're not using wireless,
and if the A/C adapter state is not connected, you're on battery.

Just sayin' ;-)

| 
| 
| OpenBSD 5.2-current (GENERIC) #36: Sun Oct 14 13:13:06 MDT 2012
| dera...@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC
| cpu0: Intel(R) Pentium(R) M processor 1500MHz (GenuineIntel 686-class) 1.50 
GHz
| cpu0: 
FPU,V86,DE,PSE,TSC,MSR,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,TM,PBE,EST,TM2
| real mem  = 267317248 (254MB)
| avail mem = 251985920 (240MB)
| mainbus0 at root
| bios0 at mainbus0: AT/286+ BIOS, date 06/18/07, BIOS32 rev. 0 @ 0xfd750, 
SMBIOS rev. 2.33 @ 0xe0010 (61 entries)
| bios0: vendor IBM version 1RETDRWW (3.23 ) date 06/18/2007
| bios0: IBM 237382G
| apm0 at bios0: Power Management spec V1.2
| acpi at bios0 function 0x0 not configured
| pcibios0 at bios0: rev 2.1 @ 0xfd6e0/0x920
| pcibios0: PCI IRQ Routing Table rev 1.0 @ 0xfdea0/272 (15 entries)
| pcibios0: PCI Interrupt Router at 000:31:0 (Intel 82371FB ISA rev 0x00)
| pcibios0: PCI bus #6 is the last bus
| bios0: ROM list: 0xc/0x1 0xd/0x1000 0xd1000/0x1000 
0xdc000/0x4000! 0xe/0x1
| cpu0 at mainbus0: (uniprocessor)
| cpu0: Enhanced SpeedStep 1496 MHz: speeds: 1500, 1400, 1200, 1000, 800, 600 
MHz
| pci0 at mainbus0 bus 0: configuration mode 1 (bios)
| 0:31:1: io address conflict 0x5800/0x8
| 0:31:1: io address conflict 0x5808/0x4
| 0:31:1: io address conflict 0x5810/0x8
| 0:31:1: io address conflict 0x580c/0x4
| pchb0 at pci0 dev 0 function 0 Intel 82855PM Host rev 0x03
| intelagp0 at pchb0
| agp0 at intelagp0: aperture at 0xd000, size 0x1000
| ppb0 at pci0 dev 1 function 0 Intel 82855PM AGP rev 0x03
| pci1 at ppb0 bus 1
| vga1 at pci1 dev 0 function 0 ATI Radeon Mobility M7 rev 0x00
| wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
| wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
| radeondrm0 at vga1: irq 11
| drm0 at radeondrm0
| uhci0 at pci0 dev 29 function 0 Intel 82801DB USB rev 0x01: irq 11
| uhci1 at pci0 dev 29 function 1 Intel 82801DB USB rev 0x01: irq 11
| uhci2 at pci0 dev 29 function 2 Intel 82801DB USB rev 0x01: irq 11
| ehci0 at pci0 dev 29 function 7 Intel 82801DB USB rev 0x01: irq 11
| usb0 at ehci0: USB revision 2.0
| uhub0 at usb0 Intel EHCI root hub rev 2.00/1.00 addr 1
| ppb1 at pci0 dev 30 function 0 Intel 82801BAM Hub-to-PCI rev 0x81
| pci2 at ppb1 bus 2
| 2:0:0: mem address conflict 0xb000/0x1000
| 2:0:1: mem address conflict 0xb100/0x1000
| cbb0 at pci2 dev 0 function 0 TI PCI1520 CardBus rev 0x01: irq 11
| cbb1 at pci2 dev 0 function 1 TI PCI1520 CardBus rev 0x01: irq 11
| em0 at pci2 dev 1 function 0 Intel PRO/1000MT (82540EP) rev 0x03: irq 11, 
address 00:0d:60:7f:83:fa
| ipw0 at pci2 dev 2 function 0 Intel PRO/Wireless 2100 rev 0x04: irq 11, 
address 00:0c:f1:16:9b:b8
| cardslot0 at cbb0 slot 0 flags 0
| cardbus0 at cardslot0: bus 3 device 0 cacheline 0x8, lattimer 0xb0
| pcmcia0 at cardslot0
| cardslot1 at cbb1 slot 1 flags 0
| cardbus1 at cardslot1: bus 6 device 0 cacheline 0x8, lattimer 0xb0
| pcmcia1 at cardslot1
| ichpcib0 at pci0 dev 31 function 0 Intel 82801DBM LPC rev 0x01: 24-bit 
timer at 3579545Hz
| pciide0 at pci0 dev 31 function 1 Intel 82801DBM IDE rev 0x01: DMA, channel 
0 configured to compatibility, channel 1 configured to compatibility
| wd0 at pciide0 channel 0 drive 0: 

Re: turn ipw(4) off when not needed

2012-10-17 Thread Artturi Alm
2012/10/17 Jan Stary h...@stare.cz:
 This is current/i386 on an IBM Thinkpad T40.

 It comes with an ipw(4) wifi interface, which works fine. Anyway,
 the ipw(4) seems to be one of the substantial battery eaters. So
 I would like to not use the interface when running on battery
 and not actually using a wifi connection.

 Running 'ifconfig ipw0 down' seems to do that: the antenna icon led
 switches off, and time left (as reported by apm) starts increasing.
 (What would be a more rigorous way to see that the battery is actually
 running off more slowly now, others being equal? The machine doesn't
 have any sensors, as reported by 'sysctl hw').

 I would like to let that happen automatically, if only because sometimes
 I forget to do that, and drain the battery considerably faster.
 What is the preffered way to do that? Is ifstated(8) the way?

 istated(8) is monitoring the 'interface link state'.
 Is 'no network' recognizable as an interface link state?
 What I would like to recognize with ipw0 is what
 'no carrier' would be for an ethernet interface:
 is that a good analogy? 'no network' just means
 the interface is not associated to any network,
 not that there isn't a nework around, right?

 Now I tend to put

   ifconfig ipw0 | grep 'no network'  /dev/null  ifconfig ipw0 down

 into the root's crontab but that seems a bit crude.

 Jan


Hmm, there used to be sensors on my thinkpad T60,
now sysctl hw.sensors shows me nothing, and sysctl hw
does seem to wait something, i gave up after an half minute and
^C'd my way out of sysctl.


-Artturi