Re: turn ipw(4) off when not needed
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 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
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
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 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