Unable to get screensaver working.



  • Basic info: pfSense-2.1-BETA0-512mb-amd64-nanobsd_vga-20121210-1806.img.gz running on msata ssd on a Intel DN2800MT board.
    Trying to get the display to turn off after 1 min.

    Following instructions @ http://forum.pfsense.org/index.php/topic,25506.msg132418.html

    I set the FS to RW, downloaded http://files.pfsense.org/jimp/ko-8.3/amd64/green_saver.ko to /boot/modules/ then created/edited /boot/loader.conf.local to read green_saver_load="YES". Then I installed the shellcmd package and added "vidcontrol -t 60" (for 1 min), set the FS back to RO and rebooted.

    Waited for 1 min after the FW finished loading and zilch.

    I have also tried playing with rc.conf, rc.conf.local, and loader.conf with no effect…

    Any suggestions?


  • Netgate Administrator

    Is it loading the module correctly?
    You can see the currently loaded modules using kldstat. There should also be something at the beginning of the boot messages giving details.

    Perhaps your monitor/board/driver combination is not playing nicely with the DPMS signals. Did you try any other saver modules?

    Steve



  • So I did a wipe and a fresh load of pfSense-2.1-BETA1-4g-amd64-nanobsd_vga-20121212-1059.img.gz last night and got it configured and up and running. I followed the same steps today and it looks like no it's not loading. I see nothing about it when booting and kldstat shows the following:

    Id Refs Address            Size     Name
    1    9 0xffffffff80100000 11f3410  kernel
    2    1 0xffffffff81412000 c61      coretemp.ko
    3    1 0xffffffff81413000 702e     cpufreq.ko

    Digging a bit more around I tried the following @ the shell:
    kldload green_saver
    And got the following error:
    kldload: can't load green_saver: Exec format error

    I then tried the same with blank_saver.ko and got a similar error. Digging around on google a bit - it sounds like a build / dependance issue and the files @  http://files.pfsense.org/jimp/ko-8.3/amd64/ may not be compatible with amd64-nanobsd snapshots?


  • Netgate Administrator

    They should be compatible.
    How are you downloading them? Possibly they are being corrupted during download.

    Try fetching them straight to the box:

    fetch http://files.pfsense.org/jimp/ko-8.3/amd64/green_saver.ko
    

    Steve



  • Tried it via direct copy/paste of your suggestion:

    [2.1-BETA1][admin@pfsense.somthing]/boot/modules(8): fetch http://files.pfsense.org/jimp/ko-8.3/amd64/green_saver.ko
    green_saver.ko                                100% of 3624  B  524 kBps
    [2.1-BETA1][admin@pfsense.somthing]/boot/modules(9): kldload green_saver
    kldload: can't load green_saver: Exec format error
    

  • Netgate Administrator

    Hmm, odd. Perhaps there is some incompatibility issue there.
    You are definitely running 64bit I suppose. Have to ask.  ;)

    Try loading some other kernel module that won't do anything. Try cpuctl.ko. I don't have a 2.1 box up to check but I assume that isn't in the image already.

    Steve



  • [2.1-BETA1][admin@pfsense.somthing]/boot/modules(7): fetch http://files.pfsense.org/jimp/ko-8.3/amd64/cpuctl.ko
    cpuctl.ko                                     100% of   10 kB  212 kBps
    [2.1-BETA1][admin@pfsense.somthing]/boot/modules(8): kldload cpuctl.ko
    [2.1-BETA1][admin@pfsense.somthing]/boot/modules(9): kldstat
    Id Refs Address            Size     Name
     1   11 0xffffffff80100000 11f3410  kernel
     2    1 0xffffffff81412000 c61      coretemp.ko
     3    1 0xffffffff81413000 702e     cpufreq.ko
     4    1 0xffffffff8141b000 ecf      cpuctl.ko
    

    Well that seemed to work - but why that and not the savers?

    *edit and I have to assume yes to the 64bit question as the file I used was pfSense-2.1-BETA1-4g-amd64-nanobsd_vga-20121212-1059.img.gz. Unless this is some how not 64bit?



  • I was doing most of my testing remote and has not has a chance to check the local console. Checked it today and found a bunch of "KLD green_saver.ko: depends on splash - not available" errors that never echo'ed back though the putty session.

    Digging around a bit it sounds like splash is a kernel device that BSD uses for a start splash screen and screen savers as well. I started getting a bit out of my depth at this point - any one have a walk though how to enable splash on pfsense?


  • Netgate Administrator

    I've never tried this but I see there are some 'splash' kernel modules you could load. Easy test.

    Steve



  • I saw that as well and gave it a shot - they also gave the same error. It looks like splash is actually a device that some how needs to be enabled via a different method.


  • Netgate Administrator

    If you're using splash_* it looks like you need bitmap_load as well:
    See the examples here: http://www.freebsd.org/cgi/man.cgi?query=splash&sektion=4&apropos=0&manpath=FreeBSD+9.0-RELEASE

    Though it does seem like you need something compiled into the kernel as well:
    @man:

    In order to load the splash screen or the screen saver, you must have the following line in the kernel configuration file.

    device splash

    Steve



  • Yeah I think it needs a re-compiled kernel with the option enabled before this can be taken any further if I understand http://aplawrence.com/Unixart/compiling_freebsd.html correctly. As of right now that's way beyond my ability.


  • Netgate Administrator

    Yep I agree it looks like it's not included in the pfSense kernel:

    [2.0.1-RELEASE][admin@pfsense.fire.box]/boot/kernel(27): kldstat -v | grep splash
    [2.0.1-RELEASE][admin@pfsense.fire.box]/boot/kernel(28):
    
    

    Not 100% sure if it would appear in that list though.  :-\ Anyone else?

    Steve


  • Rebel Alliance Developer Netgate

    splash is in GENERIC so it's on a full install because full install kernels include GENERIC and specify additional options beyond what is there. NanoBSD kernels are pruned down and do not include things like that.

    So it will work on a full install, but not NanoBSD.


  • Netgate Administrator

    Thanks Jim, as always.  :)

    Steve



  • Ahhhh ok. Since this is running on a SSD - the RO default state of the NanoBSD was one of the traits I was looking to keep. Is there any chance that in the future that the splash device option be added to the NanoBSD VGA build since it's more then likely going to have a screen attached?


  • Rebel Alliance Developer Netgate

    seems like it might be OK… feel free to submit a pull request on github with the changes, or a redmine feature request.



  • Thank you again stephenw10 and jimp! I have done so and will wait to see what they say/do.


  • Rebel Alliance Developer Netgate



  • Whoa - that was quick!
    Updated today and redid the steps in my 1st post - went down to check the local console and it has already went to sleep! I would say that's tested, working, and my issue is solved!

    Thank you again jimp and stephenw10!

    This thread can be closed as solved as far my issue.



  • Now that you got it working, figured it was something I'd like to give a try.

    I'm running an old DELL Inspiron 5100 notebook and in the case of an extended power outage that drains the battery the BIOS (RTC) is set to wake the computer once a day so the machine will eventually boot up again after power is restored.

    However this seems to only work if the screen is up (not closed).  So thought it would be nice to blank the screen.

    It does blank the screen so that is nice, however it does not turn off the backlight.  That's a big energy consumer, so not quite so green.

    Also it blanks the screen for about the middle half of boot up.  That could be real problem if it should hang during boot up with the screen blank.

    Thanks for getting this working and sharing.

    
    Put i386 version of green_saver.ko in /boot/modules/
    Added green_saver_load="YES" to /boot/loader.conf.local
    Added <shellcmd>vidcontrol -t 60</shellcmd> at end of config system section
    rebooted
    
    

  • Netgate Administrator

    Try using <afterbootupshellcmd>instead.

    Steve</afterbootupshellcmd>



  • Nice thought, but it is blanking before it gets to the pfSense load.

    Seems to be blanking upon loading the green_saver_load module in /boot/loader.conf.local.


  • Rebel Alliance Developer Netgate

    Instead of putting that in loader.conf.local you could use the shell command tag to kldload it and then use vidcontrol.



  • That works. :)  Thanks.

    Now if could just turn off the backlight.



  • Loading green_saver.ko and configuring with vidcontrol with the afterbootupshellcmd and getting the following message.   It does clear the screen though.

    vidcontrol: getting active vty: Inappropriate ioctl for device'

    Details:

    /cf/conf/config.xml
    <afterbootupshellcmd>/var/After_Bootup_Shell_Cmds.sh</afterbootupshellcmd>

    /var/After_Bootup_Shell_Commands.sh
    #!/bin/sh

    After Bootup Shell Commands Script

    kldload -v green_saver.ko;
    vidcontrol -t 60

    Log Output
    php: : The command 'kldload -v green_saver.ko; vidcontrol -t 60' returned exit code '1', the output was 'Loaded green_saver.ko, id=2
    vidcontrol: getting active vty: Inappropriate ioctl for device'


Log in to reply