The Notebook Review forums were hosted by TechTarget, who shut down them down on January 31, 2022. This static read-only archive was pulled by NBR forum users between January 20 and January 31, 2022, in an effort to make sure that the valuable technical information that had been posted on the forums is preserved. For current discussions, many NBR forum users moved over to NotebookTalk.net after the shutdown.
Problems? See this thread at archive.org.

    Sony Vaio FW Series Backlight Brightness Tool

    Discussion in 'VAIO / Sony' started by snowengineer, Nov 3, 2008.

  1. snowengineer

    snowengineer Notebook Enthusiast

    Reputations:
    31
    Messages:
    23
    Likes Received:
    0
    Trophy Points:
    5
    I've attached a little program which tries to adjust the backlight power down and up while using windows xp. You need at least service pack 1 to get it working. Please don't blame me, if it isn't working.
     

    Attached Files:

  2. snowengineer

    snowengineer Notebook Enthusiast

    Reputations:
    31
    Messages:
    23
    Likes Received:
    0
    Trophy Points:
    5
    if anyone wants to try it on aw, z, sr or bz model please tell me.
    it probably should also work there for xp.
     
  3. akorolex

    akorolex Newbie

    Reputations:
    0
    Messages:
    3
    Likes Received:
    0
    Trophy Points:
    5
    This application works fine for Vaio FW11ER! I can see how back light power is changing. It looks like backlightdemo sends IOCTLS to drivers. So it is possible to completely solve problem of brightness for Vaio FW11 over XP if to know what interface it uses. Where did you get this application? Is it possible to have source codes of it?
     
  4. snowengineer

    snowengineer Notebook Enthusiast

    Reputations:
    31
    Messages:
    23
    Likes Received:
    0
    Trophy Points:
    5
    well, its my own work.
    and yes, it is possible to solve the brightness problem - and it would be an easy task for sony corporation to help winxp users.. but it seems they have special contracts with microsoft ;-)

    actually i'm not planning to give the source out, because of the long work through the specs and the debugger.. in the past i was just giving out the program to my donating friends =)
     
  5. Babydarklord

    Babydarklord Notebook Evangelist

    Reputations:
    1
    Messages:
    319
    Likes Received:
    0
    Trophy Points:
    30
    Thx for the Programs man your the Best it works fine.
     
  6. akorolex

    akorolex Newbie

    Reputations:
    0
    Messages:
    3
    Likes Received:
    0
    Trophy Points:
    5
    Yes. Sore some reasons I'm not surprised to hear this :).
    Thank a lot for this program.
     
  7. gpc

    gpc Notebook Consultant

    Reputations:
    50
    Messages:
    203
    Likes Received:
    10
    Trophy Points:
    31
    I tried your program on my AW11S with XP SP3 (where I can't get the fn keys working :( ) but it says that my computer is not supported...
     
  8. snowengineer

    snowengineer Notebook Enthusiast

    Reputations:
    31
    Messages:
    23
    Likes Received:
    0
    Trophy Points:
    5
    sounds not good. there are three different error stages inside the program, is "The computer is not supporting this kind of backlight control" the one u've seen? i can't test or debug your model actually, but did u installed sony utils and shared libraries first? are there any missing drivers in your systems hardware?
    i guess sony changed again something...
     
  9. gpc

    gpc Notebook Consultant

    Reputations:
    50
    Messages:
    203
    Likes Received:
    10
    Trophy Points:
    31
    sure. It says: your computer is not supporting this king of backlight control.
    There is only one missing driver, but it is about some audio peripheral.
    I'm trying to install everything I'm finding on internet about fn keys, so yes, I did installed sony utils and shared library, but I'm pretty sure they are not the right ones.
    There is no way to get the fn keys working with the procedure for any other Vaio...
     
  10. snowengineer

    snowengineer Notebook Enthusiast

    Reputations:
    31
    Messages:
    23
    Likes Received:
    0
    Trophy Points:
    5
    okay, which versions are installed now? and especially look for the sony notebook control device (SonyNC.sys) at your systems hardware. which version is it?
     
  11. gpc

    gpc Notebook Consultant

    Reputations:
    50
    Messages:
    203
    Likes Received:
    10
    Trophy Points:
    31
    Right now I'm trying to start a new installation, I'll tell you as soon as I have restore XP.
    I just tried your program under Vista and it's working fine.
     
  12. gpc

    gpc Notebook Consultant

    Reputations:
    50
    Messages:
    203
    Likes Received:
    10
    Trophy Points:
    31
    Well, I've got a better idea.
    Tell me the library version I need, so I can check if I can install them under XP...
     
  13. snowengineer

    snowengineer Notebook Enthusiast

    Reputations:
    31
    Messages:
    23
    Likes Received:
    0
    Trophy Points:
    5
    the most important one (for fw11):
    ftp.vaio-link.com/PUB/OS/XPDOWNGRADE/SR1/DRIVERS/13_SNC%20DRIVER%20SONY%206.0B%20_%206.0.1.ZIP

    the following depends on your system (dunno whats inside your maschine):
    ftp.vaio-link.com/PUB/OS/XPDOWNGRADE/SR1/DRIVERS/1_CHIPSET%20DRIVER%20INTEL%208.7D%20_%208.7.0.ZIP

    and these two links:
    ftp.vaio-link.com/PUB/OS/XPDOWNGRADE/SR1/UTILITIES/10_VAIO%20EVENT%20SERVICE%202.8_XP_2.8.00.ZIP
    ftp.vaio-link.com/PUB/OS/XPDOWNGRADE/SR1/UTILITIES/2_SONY%20UTILITIES%20DLL%207.0%20XP_7.0.00.ZIP

    and you should backup your vesconfig.ini from vista if u wanna get volume keys and special buttons working under xp
    but if brightness isnt working thereafter, i am unable to help you because then sony has something changed in bios..
     
  14. gpc

    gpc Notebook Consultant

    Reputations:
    50
    Messages:
    203
    Likes Received:
    10
    Trophy Points:
    31
    Thank you very much, I'll let you know!
     
  15. gpc

    gpc Notebook Consultant

    Reputations:
    50
    Messages:
    203
    Likes Received:
    10
    Trophy Points:
    31
    Hi,
    thanks to your files I managed to get the eject button working, the fn+f7 working, zoom working, hibernate button working and it looks like also the multimedia buttons working, so a big thanks :D
    About the backlight setting, now the buttons show me the the OSD for the settings, but actually they don't change anything.
    your program still giving the same error, that my computer doesn't support this kind of backlight control. It looks definitively a driver issue, maybe someone can give us some new idea.
     
  16. snowengineer

    snowengineer Notebook Enthusiast

    Reputations:
    31
    Messages:
    23
    Likes Received:
    0
    Trophy Points:
    5
    I assume sony corporation is not willing to write new drivers for you.. Vista uses a different way to control the backlight inside the kernel. The only way without the help of sony corporation is to debug vista until you find the point where they send the new parameters to the bios. You need these to build a new program..
     
  17. gpc

    gpc Notebook Consultant

    Reputations:
    50
    Messages:
    203
    Likes Received:
    10
    Trophy Points:
    31
    Well, I have no idea how to do it, I'm not really a software engineer...
    I hope that in the future someone will find something.
     
  18. snowengineer

    snowengineer Notebook Enthusiast

    Reputations:
    31
    Messages:
    23
    Likes Received:
    0
    Trophy Points:
    5
    me neither.. i'm just a hardware engineer doped on snow ;)

    well, call sony and ask them for specifications or drivers.. as long as many ppl would do the same they could get tenderized - maybe :rolleyes:
     
  19. sasokoren

    sasokoren Newbie

    Reputations:
    0
    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    5

    just tried the program on windows 7 rc (build 7100), 64-bit on SONY VGN-FW21E. the notebook brightness keys don't work, but your program worked great! thanks!
     
  20. Derrida

    Derrida Notebook Deity

    Reputations:
    251
    Messages:
    833
    Likes Received:
    3
    Trophy Points:
    31
    What is the backlight problem, exactly, in the first place? Could you describe it, please?

    Thanks!
     
  21. 81403

    81403 Newbie

    Reputations:
    0
    Messages:
    5
    Likes Received:
    0
    Trophy Points:
    5
    hi,
    i've just got a sony vaio FW41 laptop and the fn keys for increasing/decreasing display brightness are (of course) not working in XP

    in vista/win7, there's this " windows mobility center" utility, which can control various notebook specific settings (including display's backlight brightness) regardless of what notebook you have

    i've done a little bit of research and it seems that this control is provided through some ACPI messages (_BCL and _BCM), so theoretically, it SHOULD be possible to make some small utility in c++ which would send these messages to BIOS

    this looks like a good place to start: http://msdn.microsoft.com/en-us/library/aa906355.aspx BUT it's not particularly well documented for someone with no experience with lower level apps like hardware drivers/tools

    sooo.. any hints where to start? :)
    do i need to download some toolkit to mess with ACPI?
    and most importantly, would this be even possible in XP?

    thanks for any tips :)
     
  22. 81403

    81403 Newbie

    Reputations:
    0
    Messages:
    5
    Likes Received:
    0
    Trophy Points:
    5
    ok, after digging around a bit, i've found this:
    XP does have very little support for messing with ACPI (Vista and Win7 provide WMI for such manipulation - see the link above), so i tried using IOCTL commands (probably what snowengineer used)

    unfortunately, they didn't work... i was able to open the \\.\LCD device successfully, but any IOCTL command failed (or returned 0 bytes of data) :/
    maybe this is the reason why snowengineer's tool said that "This computer is not supporting this kind of backlight control"

    if anyone has any idea what's wrong (doubt that :p), i'd really wanna hear it :)

    i was also considering messing with ACPI directly through hardware calls (giveio.sys might help with this), but reading the leghty ACPI specs seems a litte hardcore to me.. plus it's probably somewhat risky :)

    to sum this up - i'm afraid the easiest solution would be switching to windows 7 (or linux :) )
     
  23. snowengineer

    snowengineer Notebook Enthusiast

    Reputations:
    31
    Messages:
    23
    Likes Received:
    0
    Trophy Points:
    5
    the tools isnt working under xp and fw4x-xx series anymore?
    thanx sony, they kicked the important parts out of their machines..

    and to exchange the bios with an older one isnt possible as long as u are already using diffent hardware (another ati-gfx for example)
     
  24. levicki

    levicki Notebook Guru

    Reputations:
    27
    Messages:
    69
    Likes Received:
    0
    Trophy Points:
    15
    Hey, this works for me!

    1. Sony VAIO VGN-FW190E
    2. Windows XP SP3
    3. Sony Firmware Extension Parser

    It reports 9 levels just like Sony Notebook Utilities. Sony utilities do not work (when I change brightness using Power Management nothing happens) but your program changes it succesfully.

    As for the SFEP driver (#3) I used the one that comes for Vista x64 for my model -- it has both 32-bit and 64-bit files in the package and even though Windows XP complains it is unsigned it installs and works good enough to enable brightness ACPI method.

    Would you be so kind to share the source code or at least make a version which works silently and accepts parameter (brightness level) so I can load it at startup?

    Even better option -- is it possible to change default brightness value in BIOS code/data? If it is I am willing to write a patch.

    EDIT: There is this package in DSDT:

    Code:
    Name (ICL1, Package (0x0B)
    
    It has 11 values, first two are 0x64 (100% default for AC power and battery), the rest are monotonically increasing values from 0x04 to 0x64 (9 brightness levels).

    I can patch DSDT on the fly using Microsoft ASL tool (patches the OS registry), but I would like to patch it in BIOS itself so I have proper brightness from boot screen onwards instead only after entering operating system.

    Problem is that the DSDT is somewhere in the packed section of the BIOS so I cannot easily patch it.
     
  25. 81403

    81403 Newbie

    Reputations:
    0
    Messages:
    5
    Likes Received:
    0
    Trophy Points:
    5
    i might take a look at it during this weekend and if i can get it working, i'll post the source here as well

    i'm afraid, though, that using XP might not be an option for me, even if i get that backlight tool working
    when running XP, the notebook is making some weird high pitched noises which change depending on what i'm doing.. in win7, nothing like this happens
    did anyone else experience this?

    um.. and hacking the bios might not be the best idea :)

    btw what does DSDT stand for?
     
  26. levicki

    levicki Notebook Guru

    Reputations:
    27
    Messages:
    69
    Likes Received:
    0
    Trophy Points:
    15
    Those may come from the fan, set power policy to minimal power management to allow CPU to downclock itself when doing nothing, and be sure you have SP3 and all the latest drivers.

    Um.. why not? I already enabled VT by hacking the BIOS.

    btw, how about not being so helpless and Google it? ;)
     
  27. snowengineer

    snowengineer Notebook Enthusiast

    Reputations:
    31
    Messages:
    23
    Likes Received:
    0
    Trophy Points:
    5
    DSDT stands for Differentiated System Description Table and is a part of the Advanced Configuration and Power Interface (ACPI)

    but as levicki already wrote: google is your friend
    ___________

    igor, i will try to help you on the weekend, please let me some time..

    and as u may have noticed, it wasnt my intention to spread it widely through the net in the beginning..

    but sony isnt willing to change their concept of supporting XP..
    seems to be our turn..
    ___________

    by the way, i dont really believe that the noises 81403 was talking about are coming just from the fan.. they are probably coming from some inductors.. but the solution of levicki is the right one, because its a (frequency) clock problem
     
  28. levicki

    levicki Notebook Guru

    Reputations:
    27
    Messages:
    69
    Likes Received:
    0
    Trophy Points:
    15
    Take your time, I am not in a hurry anyway. I solved it for me by patching the DSDT table in the registry, but I would like a more permanent solution.

    As for that noise it may be a coil in the power circuitry (either CPU or GPU) and it is power draw related for sure. More power management == less noise.
     
  29. 81403

    81403 Newbie

    Reputations:
    0
    Messages:
    5
    Likes Received:
    0
    Trophy Points:
    5
    could you please post some instructions on patching the registry?
    the instructions included in the ASL compiler say that it can load ACPI tables into the registry, but i don't know where i should get those tables in the first place

    as for the SFEP driver, i wasn't able to install it - after extracting it with universal extractor and running the 32-bit version, it just quit with no error message (i coudn't install it via the inf file either)
    is it meant only for the Intel GMA graphics? i've got Radeon HD 4650 and the SFEP is not included in official drivers for my laptop
    well, and without proper drivers, ioctl control won't work

    ..and finally, the noise is still present, even after setting power management to minimal
    it probably has something to do with some driver (i was experimenting with sony utilities for various laptops, hoping that i can get the backlight working), so i'll try to reinstall xp and hopefully, i'll be able to track it down
     
  30. levicki

    levicki Notebook Guru

    Reputations:
    27
    Messages:
    69
    Likes Received:
    0
    Trophy Points:
    15
    You get the tables by dumping them -- use RWEverything, select ACPI Tables from Access menu, click on DSDT tab and then Save as binary (Shift+F2). Use iasl.exe -d to decompile the resulting binary file to source.

    Afterwards, you can modify the ICL1 package default brightness values, and recompile DSDT using iasl.exe. You will also need to resolve eventual compilation errors before you will be able to overlay the DSDT in the registry using Microsoft ASL compiler.

    You should be able to install it using .inf version. SFEP is located under HID in Device Manager and Microsoft installs its own default driver (sonync.sys) -- you have to force installation by going through Have disk option.

    There is a chance that you won't need a driver if you patch the DSDT, I haven't tried it in that order so I am not sure if the driver is needed at all once you modify ICL1.
     
  31. 81403

    81403 Newbie

    Reputations:
    0
    Messages:
    5
    Likes Received:
    0
    Trophy Points:
    5
    many thanks, i'll try that tomorrow

    edit:
    i've installed a fresh XP SP3 and found out that the noise was present from the very beginning - it starts a second or two after the desktop comes on
    the interesting fact is, that it's not present in safe mode.. but i don't know how to track down what could be causing it :/

    concerning the backlight - i've successfully overriden the sonync.sys with SFEP.sys, but IOCTL is still not working
    to be exact, this code i wrote:
    Code:
    #include <stdio.h>
    #include <tchar.h>
    #include <windows.h>
    
    #define IOCTL_VIDEO_QUERY_DISPLAY_BRIGHTNESS \
      CTL_CODE(FILE_DEVICE_VIDEO, 0x126, METHOD_BUFFERED, FILE_ANY_ACCESS)
    
    typedef struct _DISPLAY_BRIGHTNESS {
      UCHAR ucDisplayPolicy;
      UCHAR ucACBrightness;
      UCHAR ucDCBrightness;
    }DISPLAY_BRIGHTNESS, *PDISPLAY_BRIGHTNESS;
    
    int main ()
    {
    	HANDLE display = CreateFile(L"\\\\.\\LCD", FILE_ANY_ACCESS, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);
    	DWORD error = GetLastError();
    	if(display == INVALID_HANDLE_VALUE)
    	{
    		printf("error #%d\n", error);
    
    		return 1;
    	}
    
    	DISPLAY_BRIGHTNESS bright;
    	DWORD bytesReturned;
    	bool res = DeviceIoControl(display, IOCTL_VIDEO_QUERY_DISPLAY_BRIGHTNESS, NULL, 0, &bright, sizeof(bright), &bytesReturned, NULL);
    	error = GetLastError();
    
    	printf ("Querying current display brightness...\nresult: %d, %d bytes returned, error code: %d\n", res, bytesReturned, error);
    	if (bytesReturned) printf ("policy: %d, ac brightness: %d, dc brightness: %d\n", bright.ucDisplayPolicy, bright.ucACBrightness, bright.ucACBrightness);
    
    	CloseHandle(display);
    	return 0;
    }
    returns this:
    Code:
    Querying current display brightness...
    result: 1, 0 bytes returned, error code: 0
    another approach might be using this: http://www.pbus-167.com/nhc/nhc_advanced.htm#anchor_acpi_programming

    unfortunately, i won't do anything about it until i find a way to get rid of this horrible noise :p

    and finally, i also tried those asl tools - successfully dumped the DSTD ACPI table, decompiled it, changed the first two numbers in each ICL (0-5) from 0x64 to 0x58, then compiled it and loaded it into registry ("Table overloading succeeded") but... nothing happened

    so.. it's windows 7 for me, i'm afraid...
     
  32. Lovek

    Lovek Newbie

    Reputations:
    0
    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    5
    Hi snowengineer,

    Your tool worked on my fw11m too, thanks. can't you add a commande line support to it so we can set the backlights, or make a simple gui ?

    Regards.