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: 0xc0000/0x10000 0xd0000/0x1000 0xd1000/0x1000 0xdc000/0x4000! 0xe0000/0x10000 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 0xd0000000, size 0x10000000 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 0xb0000000/0x1000 2:0:1: mem address conflict 0xb1000000/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 AC97 ac97: codec id 0x41445374 (Analog Devices AD1981B) ac97: codec features headphone, 20 bit DAC, No 3D Stereo audio0 at auich0 "Intel 82801DB Modem" rev 0x01 at pci0 dev 31 function 6 not configured usb1 at uhci0: USB revision 1.0 uhub1 at usb1 "Intel UHCI root hub" rev 1.00/1.00 addr 1 usb2 at uhci1: USB revision 1.0 uhub2 at usb2 "Intel UHCI root hub" rev 1.00/1.00 addr 1 usb3 at uhci2: USB revision 1.0 uhub3 at usb3 "Intel UHCI root hub" rev 1.00/1.00 addr 1 isa0 at ichpcib0 isadma0 at isa0 com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo pckbc0 at isa0 port 0x60/5 pckbd0 at pckbc0 (kbd slot) pckbc0: using irq 1 for kbd slot wskbd0 at pckbd0: console keyboard, using wsdisplay0 pms0 at pckbc0 (aux slot) pckbc0: using irq 12 for aux slot wsmouse0 at pms0 mux 0 wsmouse1 at pms0 mux 0 pms0: Synaptics touchpad, firmware 5.9 pcppi0 at isa0 port 0x61 spkr0 at pcppi0 lpt2 at isa0 port 0x3bc/4: polled npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16 fdc0 at isa0 port 0x3f0/6 irq 6 drq 2 mtrr: Pentium Pro MTRR support vscsi0 at root scsibus1 at vscsi0: 256 targets softraid0 at root scsibus2 at softraid0: 256 targets root on wd0a (3a9f38780353c4cf.a) swap on wd0b dump on wd0b hw.machine=i386 hw.model=Intel(R) Pentium(R) M processor 1500MHz ("GenuineIntel" 686-class) hw.ncpu=1 hw.byteorder=1234 hw.pagesize=4096 hw.disknames=wd0:3a9f38780353c4cf,cd0:,sd0:5424f8a0fc01a043 hw.diskcount=3 hw.sensors.softraid0.drive0=online (sd0), OK hw.cpuspeed=600 hw.setperf=0 hw.vendor=IBM hw.product=237382G hw.version=ThinkPad T40 hw.serialno=9997RW8 hw.uuid=c79cc001-465e-11cb-b378-be00206cedb1 hw.physmem=267317248 hw.usermem=267304960 hw.ncpufound=1 hw.allowpowerdown=1