Pfsense on a notebook



  • Has anyone seen one of these adapters anywhere cheaper? I can't seem to find anything even on ebay.

    http://www.hwtools.net/Adapter/PM2C.html

    I want to possibly use a pcie Intel NIC in an older notebook I have.



  • I happened to find them at this site for a good price.

    http://www.buydvb.net/pm2c-pcie-mini-pcie-adapter_p17.html

    For 1 it's $24.99 + 4.42 = $29.41

    and for 2 it's $49.98 + 6.71 = $56.69  ( use promo code 9128c08514 for $5 off $50)

    I got the customer service lady to change it for me. I will let you know if they work well in 2 weeks. I grabbed 2 of them.

    This is for anyone who might be interested in trying this.


  • Netgate Administrator

    Interesting solution.
    Wouldn't the PCIe card stick out the bottom of your notebook though? Useful for testing I guess.

    Steve



  • Yes, but the pfsense router will be sitting in the back room on a shelf. I think I am going to make a box out of 1/4 MDF or some cardboard.



  • Why not just use a pcmcia network card? Years ago I ran pFsense on a Pentium III notebook and a d-link 10/100 card.


  • Netgate Administrator

    Are there any laptops that have both Mini PCIe and PCMCIA?

    I would think anything with with m-PCIe would be express card or nothing.

    Steve



  • @ScottNJ:

    Why not just use a pcmcia network card? Years ago I ran pFsense on a Pentium III notebook and a d-link 10/100 card.

    Intel NICs are far superior and who still uses non gigabit these days?


  • Netgate Administrator

    Depends on your situation.
    If you are re-using older hardware as a home gateway then you almost certainly don't need gigabit (unless you're living in Korea or Sweden).

    My loadbalanced WAN connections can provide a theoretical maximum of 70Mb/s so there is no need for gigabit ethernet on my box. In fact it does have gigabit interfaces but they are all running at 100Mb/s as that's what's connected to them.

    Steve



  • so I ended up doing this on a Thinkpad T60 and it works great. I have a couple questions though.

    How do I get the log from pfsesne booting up? I would like to see that to see if everything is working correctly. When I installed pfsense on Windows 7 this computer was idling at 16W and it is at 23W now with pfsense.

    I read somewhere that the Core 2 Duo CPUs sometimes only enable speedstep on one core? How can I fix this? Thanks!


  • Netgate Administrator

    pfSense will not use any power saving features by default, it doesn't expect to be running on a laptop!
    Have you enabled powerd?
    You will probably have to switch the timecounter to enable powerd.

    16W seems pretty good, 21W doesn't seem too bad.  ;)

    Steve



  • @rekd0514:

    so I ended up doing this on a Thinkpad T60 and it works great. I have a couple questions though.

    How do I get the log from pfsesne booting up? I would like to see that to see if everything is working correctly. When I installed pfsense on Windows 7 this computer was idling at 16W and it is at 23W now with pfsense.

    I read somewhere that the Core 2 Duo CPUs sometimes only enable speedstep on one core? How can I fix this? Thanks!

    pfSense doesn't enable Intel Speedstep (EIST) by default.  Try this:

    Go to System -> Advanced -> Miscellaneous -> Enable PowerD

    Go to Diagnostics -> Edit FIle -> Create /boot/loader.conf.local
    Insert:

    hint.p4tcc.0.disabled=1
    hint.acpi_throttle.0.disabled=1
    est_load="YES"
    

    Reboot for effect.



  • pfSense will not use any power saving features by default, it doesn't expect to be running on a laptop!
    Have you enabled powerd?
    You will probably have to switch the timecounter to enable powerd.

    16W seems pretty good, 21W doesn't seem too bad.  Wink
    ,but
    Steve

    Thank you, it would be nice to get it to that 16W though if possible. :) I tested my other gear as well:

    Dell PowerConnect 2816 Switch - 10W
    D-Link DIR-655 as AP - 7W

    , so 16W is pretty good for sure.

    pfSense doesn't enable Intel Speedstep (EIST) by default.  Try this:

    Go to System -> Advanced -> Miscellaneous -> Enable PowerD

    Go to Diagnostics -> Edit FIle -> Create /boot/loader.conf.local
    Insert:
    Code:

    hint.p4tcc.0.disabled=1
    hint.acpi_throttle.0.disabled=1
    est_load="YES"

    I assume this is right?

    "The powerd utility monitors the system state and sets various power control options accordingly. It offers three modes (maximum, minimum, and adaptive) that can be individually selected while on AC power or batteries. The modes maximum, minimum, and adaptive may be abbreviated max, min, adp. Maximum mode chooses the highest performance values. Minimum mode selects the lowest performance values to get the most power savings. Adaptive mode attempts to strike a balance by degrading performance when the system appears idle and increasing it when the system is busy. It offers a good balance between a small performance loss for greatly increased power savings. The default mode for pfSense is adaptive."

    • so how/where do I enable the different modes at? I just did the above and restarted. I am at ~20W now and the fan is still going pretty fast, which indicates to me it's not working 100% yet. Thanks for the help!

  • Netgate Administrator

    Hmm, ok.
    You need to check the boot log for powerd messages. It looks like it's not loading correctly. The est driver is compiled into the kernel so there's no need to load it (doesn't hurt though).
    If it's running correctly you should see on the dashboard next to cpu type a maximum and current frequency.
    Alternatively you can run powerd -v at the console to see what frequency it's running at.

    If it isn't running you may have to change the kernel timecounter. See: http://forum.pfsense.org/index.php/topic,20095.msg195755/topicseen.html#msg195755

    Steve



  • @rekd0514:

    I assume this is right?

    "The powerd utility monitors the system state and sets various power control options accordingly. It offers three modes (maximum, minimum, and adaptive) that can be individually selected while on AC power or batteries. The modes maximum, minimum, and adaptive may be abbreviated max, min, adp. Maximum mode chooses the highest performance values. Minimum mode selects the lowest performance values to get the most power savings. Adaptive mode attempts to strike a balance by degrading performance when the system appears idle and increasing it when the system is busy. It offers a good balance between a small performance loss for greatly increased power savings. The default mode for pfSense is adaptive."

    • so how/where do I enable the different modes at? I just did the above and restarted. I am at ~20W now and the fan is still going pretty fast, which indicates to me it's not working 100% yet. Thanks for the help!

    It looks right.  To verify, go to Diagnostics -> Command Prompt.  Type:
    sysctl dev.cpu

    The output of "dev.cpu.0.freq_levels" will list the frequency steps available.  Here's an example output of my setup (Intel Core Solo T1350; 133MHz FSB).  Your Core 2 Duo will have dev.cpu.1.* output as well because of the 2nd core.

    $ sysctl dev.cpu
    dev.cpu.0.%desc: ACPI CPU
    dev.cpu.0.%driver: cpu
    dev.cpu.0.%location: handle=\_PR_.CPU0
    dev.cpu.0.%pnpinfo: _HID=none _UID=0
    dev.cpu.0.%parent: acpi0
    dev.cpu.0.freq: 800
    dev.cpu.0.freq_levels: 1867/88000 1600/73000 1333/59000 1067/48000 800/37000
    dev.cpu.0.cx_supported: C1/0
    dev.cpu.0.cx_lowest: C1
    dev.cpu.0.cx_usage: 100.00% last 5000us
    

    You can see that the steps are always a multiple of the FSB (133MHz aka 533MHz).  In my case, it's 266MHz (2 x 133MHz) steps.

    With PowerD but without disabling P4TCC, you will see many more steps in 100MHz steps.

    For the T60 with a Merom Core 2 Duo, the lowest frequency will be 6 x 166MHz(FSB) = 1GHz.
    If you have a Core Duo or Core Solo with 133MHz FSB instead, the lowest is 6 x 133 = 800MHz (Same as mine).

    On the topic of the fan, I don't think there are platform specific ACPI drivers loaded for controlling the onboard fan.  You'll need to enter BIOS (hit the Thinkvantage button on boot) and set the Processor Cooling Policy to Active rather than Passive.  The hardware should handle things on their own from there.



  • @stephenw10:

    Hmm, ok.
    You need to check the boot log for powerd messages. It looks like it's not loading correctly. The est driver is compiled into the kernel so there's no need to load it (doesn't hurt though).
    If it's running correctly you should see on the dashboard next to cpu type a maximum and current frequency.
    Alternatively you can run powerd -v at the console to see what frequency it's running at.

    If it isn't running you may have to change the kernel timecounter. See: http://forum.pfsense.org/index.php/topic,20095.msg195755/topicseen.html#msg195755

    Steve

    It does show up now. Here is my dmesg log as well, so you can see if anything is wrong.

    CPU Type Intel(R) Core(TM)2 CPU T5500 @ 1.66GHz
                            Current: 1000 MHz, Max: 1667 MHz

    $ dmesg
    Copyright © 1992-2010 The FreeBSD Project.
    Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
    The Regents of the University of California. All rights reserved.
    FreeBSD is a registered trademark of The FreeBSD Foundation.
    FreeBSD 8.1-RELEASE-p4 #0: Tue Sep 13 17:04:54 EDT 2011
        root@FreeBSD_8.0_pfSense_2.0-AMD64.snaps.pfsense.org:/usr/obj./usr/pfSensesrc/src/sys/pfSense_SMP.8 amd64
    Timecounter "i8254" frequency 1193182 Hz quality 0
    CPU: Intel(R) Core(TM)2 CPU        T5500  @ 1.66GHz (1662.51-MHz K8-class CPU)
      Origin = "GenuineIntel"  Id = 0x6f2  Family = 6  Model = f  Stepping = 2
      Features=0xbfebfbff <fpu,vme,de,pse,tsc,msr,pae,mce,cx8,apic,sep,mtrr,pge,mca,cmov,pat,pse36,clflush,dts,acpi,mmx,fxsr,sse,sse2,ss,htt,tm,pbe>Features2=0xe3bd <sse3,dtes64,mon,ds_cpl,vmx,est,tm2,ssse3,cx16,xtpr,pdcm>AMD Features=0x20100800 <syscall,nx,lm>AMD Features2=0x1 <lahf>TSC: P-state invariant
    real memory  = 3221225472 (3072 MB)
    avail memory = 3087454208 (2944 MB)
    ACPI APIC Table: <lenovo tp-79 ="">FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
    FreeBSD/SMP: 1 package(s) x 2 core(s)
    cpu0 (BSP): APIC ID:  0
    cpu1 (AP): APIC ID:  1
    ACPI Warning: 32/64X length mismatch in Gpe1Block: 0/32 (20100331/tbfadt-625)
    ACPI Warning: Optional field Gpe1Block has zero address or length: 0x      0    102C/0x0 (20100331/tbfadt-655)
    ioapic0: Changing APIC ID to 1
    ioapic0 <version 2.0="">irqs 0-23 on motherboard
    netisr_init: forcing maxthreads to 1 and bindthreads to 0 for device polling
    wlan: mac acl policy registered
    ipw_monitor: You need to read the LICENSE file in /usr/share/doc/legal/intel_ipw/.
    ipw_monitor: If you agree with the license, set legal.intel_ipw.license_ack=1 in /boot/loader.conf.
    module_register_init: MOD_LOAD (ipw_monitor_fw, 0xffffffff80470e30, 0) error 1
    wpi: You need to read the LICENSE file in /usr/share/doc/legal/intel_wpi/.
    wpi: If you agree with the license, set legal.intel_wpi.license_ack=1 in /boot/loader.conf.
    module_register_init: MOD_LOAD (wpi_fw, 0xffffffff806548f0, 0) error 1
    ipw_bss: You need to read the LICENSE file in /usr/share/doc/legal/intel_ipw/.
    ipw_bss: If you agree with the license, set legal.intel_ipw.license_ack=1 in /boot/loader.conf.
    module_register_init: MOD_LOAD (ipw_bss_fw, 0xffffffff80470cf0, 0) error 1
    ipw_ibss: You need to read the LICENSE file in /usr/share/doc/legal/intel_ipw/.
    ipw_ibss: If you agree with the license, set legal.intel_ipw.license_ack=1 in /boot/loader.conf.
    module_register_init: MOD_LOAD (ipw_ibss_fw, 0xffffffff80470d90, 0) error 1
    kbd1 at kbdmux0
    cryptosoft0: <software crypto="">on motherboard
    padlock0: No ACE support.
    acpi0: <lenovo tp-79="">on motherboard
    CPU0: local APIC error 0x40
    acpi0: [ITHREAD]
    acpi_ec0: <embedded controller:="" gpe="" 0x1c,="" ecdt="">port 0x62,0x66 on acpi0
    acpi0: Power Button (fixed)
    acpi0: reservation of 0, a0000 (3) failed
    acpi0: reservation of 100000, bff00000 (3) failed
    Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
    acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1008-0x100b on acpi0
    cpu0: <acpi cpu="">on acpi0
    cpu1: <acpi cpu="">on acpi0
    acpi_hpet0: <high precision="" event="" timer="">iomem 0xfed00000-0xfed003ff on acpi0
    Timecounter "HPET" frequency 14318180 Hz quality 900
    acpi_lid0: <control method="" lid="" switch="">on acpi0
    acpi_button0: <sleep button="">on acpi0
    pcib0: <acpi host-pci="" bridge="">port 0xcf8-0xcff on acpi0
    pci0: <acpi pci="" bus="">on pcib0
    pcib1: <acpi pci-pci="" bridge="">irq 16 at device 1.0 on pci0
    pci1: <acpi pci="" bus="">on pcib1
    vgapci0: <vga-compatible display="">port 0x2000-0x20ff mem 0xd8000000-0xdfffffff,0xee100000-0xee10ffff irq 16 at device 0.0 on pci1
    pci0: <multimedia, hda="">at device 27.0 (no driver attached)
    pcib2: <acpi pci-pci="" bridge="">irq 20 at device 28.0 on pci0
    pci2: <acpi pci="" bus="">on pcib2
    em0: <intel(r) 1000="" pro="" network="" connection="" 7.2.3="">port 0x3000-0x301f mem 0xee000000-0xee01ffff irq 16 at device 0.0 on pci2
    em0: Using an MSI interrupt
    em0: [FILTER]
    pcib3: <acpi pci-pci="" bridge="">irq 21 at device 28.1 on pci0
    pci3: <acpi pci="" bus="">on pcib3
    em1: <intel(r) 1000="" pro="" network="" connection="" 7.2.3="">at device 0.0 on pci3
    em1: Memory Access and/or Bus Master bits were not set!
    em1: Using MSIX interrupts with 3 vectors
    em1: [ITHREAD]
    em1: [ITHREAD]
    em1: [ITHREAD]
    pcib4: <acpi pci-pci="" bridge="">irq 22 at device 28.2 on pci0
    pci4: <acpi pci="" bus="">on pcib4
    pcib5: <acpi pci-pci="" bridge="">irq 23 at device 28.3 on pci0
    pci12: <acpi pci="" bus="">on pcib5
    uhci0: <intel 82801g="" (ich7)="" usb="" controller="" usb-a="">port 0x1800-0x181f irq 16 at device 29.0 on pci0
    uhci0: [ITHREAD]
    usbus0: <intel 82801g="" (ich7)="" usb="" controller="" usb-a="">on uhci0
    uhci1: <intel 82801g="" (ich7)="" usb="" controller="" usb-b="">port 0x1820-0x183f irq 17 at device 29.1 on pci0
    uhci1: [ITHREAD]
    usbus1: <intel 82801g="" (ich7)="" usb="" controller="" usb-b="">on uhci1
    uhci2: <intel 82801g="" (ich7)="" usb="" controller="" usb-c="">port 0x1840-0x185f irq 18 at device 29.2 on pci0
    uhci2: [ITHREAD]
    usbus2: <intel 82801g="" (ich7)="" usb="" controller="" usb-c="">on uhci2
    uhci3: <intel 82801g="" (ich7)="" usb="" controller="" usb-d="">port 0x1860-0x187f irq 19 at device 29.3 on pci0
    uhci3: [ITHREAD]
    usbus3: <intel 82801g="" (ich7)="" usb="" controller="" usb-d="">on uhci3
    ehci0: <intel 82801gb="" r="" (ich7)="" usb="" 2.0="" controller="">mem 0xee404000-0xee4043ff irq 19 at device 29.7 on pci0
    ehci0: [ITHREAD]
    usbus4: EHCI version 1.0
    usbus4: <intel 82801gb="" r="" (ich7)="" usb="" 2.0="" controller="">on ehci0
    pcib6: <acpi pci-pci="" bridge="">at device 30.0 on pci0
    pci21: <acpi pci="" bus="">on pcib6
    cbb0: <ti1510 pci-cardbus="" bridge="">mem 0xe4300000-0xe4300fff irq 16 at device 0.0 on pci21
    cardbus0: <cardbus bus="">on cbb0
    pccard0: <16-bit PCCard bus> on cbb0
    cbb0: [FILTER]
    isab0: <pci-isa bridge="">at device 31.0 on pci0
    isa0: <isa bus="">on isab0
    atapci0: <intel ich7="" udma100="" controller="">port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x1880-0x188f at device 31.1 on pci0
    ata0: <ata 0="" channel="">on atapci0
    ata0: [ITHREAD]
    atapci1: <intel ich7m="" sata150="" controller="">port 0x18c8-0x18cf,0x18ac-0x18af,0x18c0-0x18c7,0x18a8-0x18ab,0x18b0-0x18bf mem 0xee404400-0xee4047ff irq 16 at device 31.2 on pci0
    atapci1: [ITHREAD]
    atapci1: AHCI called from vendor specific driver
    atapci1: AHCI v1.10 controller with 4 1.5Gbps ports, PM not supported
    ata2: <ata 0="" channel="">on atapci1
    ata2: [ITHREAD]
    pci0: <serial bus,="" smbus="">at device 31.3 (no driver attached)
    acpi_tz0: <thermal zone="">on acpi0
    acpi_tz1: <thermal zone="">on acpi0
    atrtc0: <at realtime="" clock="">port 0x70-0x71 irq 8 on acpi0
    atkbdc0: <keyboard controller="" (i8042)="">port 0x60,0x64 irq 1 on acpi0
    atkbd0: <at keyboard="">irq 1 on atkbdc0
    kbd0 at atkbd0
    atkbd0: [GIANT-LOCKED]
    atkbd0: [ITHREAD]
    psm0: <ps 2="" mouse="">irq 12 on atkbdc0
    psm0: [GIANT-LOCKED]
    psm0: [ITHREAD]
    psm0: model Generic PS/2 mouse, device ID 0
    battery0: <acpi control="" method="" battery="">on acpi0
    acpi_acad0: <ac adapter="">on acpi0
    orm0: <isa option="" roms="">at iomem 0xd0000-0xd0fff,0xd1000-0xd1fff,0xdc000-0xdffff,0xe0000-0xeffff on isa0
    sc0: <system console="">at flags 0x100 on isa0
    sc0: VGA <16 virtual consoles, flags=0x300>
    vga0: <generic isa="" vga="">at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
    ppc0: cannot reserve I/O port range
    est0: <enhanced speedstep="" frequency="" control="">on cpu0
    est1: <enhanced speedstep="" frequency="" control="">on cpu1
    Timecounters tick every 1.000 msec
    IPsec: Initialized Security Association Processing.
    usbus0: 12Mbps Full Speed USB v1.0
    usbus1: 12Mbps Full Speed USB v1.0
    usbus2: 12Mbps Full Speed USB v1.0
    usbus3: 12Mbps Full Speed USB v1.0
    usbus4: 480Mbps High Speed USB v2.0
    ugen0.1: <intel>at usbus0
    uhub0: <intel 1="" 9="" uhci="" root="" hub,="" class="" 0,="" rev="" 1.00="" 1.00,="" addr="">on usbus0
    ugen1.1: <intel>at usbus1
    uhub1: <intel 1="" 9="" uhci="" root="" hub,="" class="" 0,="" rev="" 1.00="" 1.00,="" addr="">on usbus1
    ugen2.1: <intel>at usbus2
    uhub2: <intel 1="" 9="" uhci="" root="" hub,="" class="" 0,="" rev="" 1.00="" 1.00,="" addr="">on usbus2
    ugen3.1: <intel>at usbus3
    uhub3: <intel 1="" 9="" uhci="" root="" hub,="" class="" 0,="" rev="" 1.00="" 1.00,="" addr="">on usbus3
    ugen4.1: <intel>at usbus4
    uhub4: <intel 1="" 9="" ehci="" root="" hub,="" class="" 0,="" rev="" 2.00="" 1.00,="" addr="">on usbus4
    acd0: CDRW <hl-dt-stcd-rw dvd="" drive="" gcc-4247n="" 1.02="">at ata0-master UDMA33
    ad4: 15272MB <samsung ssd="" um410="" series="" 2.5"="" 16gb="" vam12d1q="">at ata2-master UDMA100 SATA 1.5Gb/s
    uhub0: 2 ports with 2 removable, self powered
    uhub1: 2 ports with 2 removable, self powered
    uhub2: 2 ports with 2 removable, self powered
    uhub3: 2 ports with 2 removable, self powered
    uhub4: 8 ports with 8 removable, self powered
    ugen3.2: <stmicroelectronics>at usbus3
    SMP: AP CPU #1 Launched!
    Trying to mount root from ufs:/dev/ad4s1a
    pflog0: promiscuous mode enabled
    em1: link state changed to UP

    On the topic of the fan, I don't think there are platform specific ACPI drivers loaded for controlling the onboard fan.  You'll need to enter BIOS (hit the Thinkvantage button on boot) and set the Processor Cooling Policy to Active rather than Passive.  The hardware should handle things on their own from there.

    I will have to see what options are in the BIOS.</stmicroelectronics></samsung></hl-dt-stcd-rw></intel></intel></intel></intel></intel></intel></intel></intel></intel></intel></enhanced></enhanced></generic></system></isa></ac></acpi></ps></at></keyboard></at></thermal></thermal></serial></ata></intel></ata></intel></isa></pci-isa></cardbus></ti1510></acpi></acpi></intel></intel></intel></intel></intel></intel></intel></intel></intel></intel></acpi></acpi></acpi></acpi></intel(r)></acpi></acpi></intel(r)></acpi></acpi></multimedia,></vga-compatible></acpi></acpi></acpi></acpi></sleep></control></high></acpi></acpi></embedded></lenovo></software></version></lenovo></lahf></syscall,nx,lm></sse3,dtes64,mon,ds_cpl,vmx,est,tm2,ssse3,cx16,xtpr,pdcm></fpu,vme,de,pse,tsc,msr,pae,mce,cx8,apic,sep,mtrr,pge,mca,cmov,pat,pse36,clflush,dts,acpi,mmx,fxsr,sse,sse2,ss,htt,tm,pbe>


  • Netgate Administrator

    Just in terms of reducing the fan noise it is almost certainly worth the effort to clean the fan/heatsink assembly in an old laptop. Even if it looks relatively dust free from the outside.
    I recently looked at a friends laptop that was running very hot and eventually turned itself off. After blowing out the heatsink with compressed air and remounting the assembly to the cpu with decent quality heatsink compound the idle temperature went from 63°C to 40°C. The fan is barely audible at this temperature.
    On that Sony Vaio it was relatively easy (surprisingly so) to access the CPU, I realise that most laptops are a PITA to disassemble.

    Steve



  • I actually did clean it out and changed the paste when I put the T5500 in it to replace the T2400 it had in it.

    Thank you for all the help.  :)


Locked