| Sony Notebook Control Driver (SNC) Readme |
| ----------------------------------------- |
| Copyright (C) 2004- 2005 Stelian Pop <stelian@popies.net> |
| Copyright (C) 2007 Mattia Dongili <malattia@linux.it> |
| |
| This mini-driver drives the SNC and SPIC device present in the ACPI BIOS of the |
| Sony Vaio laptops. This driver mixes both devices functions under the same |
| (hopefully consistent) interface. This also means that the sonypi driver is |
| obsoleted by sony-laptop now. |
| |
| Fn keys (hotkeys): |
| ------------------ |
| Some models report hotkeys through the SNC or SPIC devices, such events are |
| reported both through the ACPI subsystem as acpi events and through the INPUT |
| subsystem. See the logs of acpid or /proc/acpi/event and |
| /proc/bus/input/devices to find out what those events are and which input |
| devices are created by the driver. |
| |
| Backlight control: |
| ------------------ |
| If your laptop model supports it, you will find sysfs files in the |
| /sys/class/backlight/sony/ |
| directory. You will be able to query and set the current screen |
| brightness: |
| brightness get/set screen brightness (an integer |
| between 0 and 7) |
| actual_brightness reading from this file will query the HW |
| to get real brightness value |
| max_brightness the maximum brightness value |
| |
| |
| Platform specific: |
| ------------------ |
| Loading the sony-laptop module will create a |
| /sys/devices/platform/sony-laptop/ |
| directory populated with some files. |
| |
| You then read/write integer values from/to those files by using |
| standard UNIX tools. |
| |
| The files are: |
| brightness_default screen brightness which will be set |
| when the laptop will be rebooted |
| cdpower power on/off the internal CD drive |
| audiopower power on/off the internal sound card |
| lanpower power on/off the internal ethernet card |
| (only in debug mode) |
| bluetoothpower power on/off the internal bluetooth device |
| fanspeed get/set the fan speed |
| |
| Note that some files may be missing if they are not supported |
| by your particular laptop model. |
| |
| Example usage: |
| # echo "1" > /sys/devices/platform/sony-laptop/brightness_default |
| sets the lowest screen brightness for the next and later reboots, |
| # echo "8" > /sys/devices/platform/sony-laptop/brightness_default |
| sets the highest screen brightness for the next and later reboots, |
| # cat /sys/devices/platform/sony-laptop/brightness_default |
| retrieves the value. |
| |
| # echo "0" > /sys/devices/platform/sony-laptop/audiopower |
| powers off the sound card, |
| # echo "1" > /sys/devices/platform/sony-laptop/audiopower |
| powers on the sound card. |
| |
| Development: |
| ------------ |
| |
| If you want to help with the development of this driver (and |
| you are not afraid of any side effects doing strange things with |
| your ACPI BIOS could have on your laptop), load the driver and |
| pass the option 'debug=1'. |
| |
| REPEAT: DON'T DO THIS IF YOU DON'T LIKE RISKY BUSINESS. |
| |
| In your kernel logs you will find the list of all ACPI methods |
| the SNC device has on your laptop. You can see the GCDP/GCDP methods |
| used to pwer on/off the CD drive, but there are others. |
| |
| I HAVE NO IDEA WHAT THOSE METHODS DO. |
| |
| The sony-laptop driver creates, for some of those methods (the most |
| current ones found on several Vaio models), an entry under |
| /sys/devices/platform/sony-laptop, just like the 'cdpower' one. |
| You can create other entries corresponding to your own laptop methods by |
| further editing the source (see the 'sony_nc_values' table, and add a new |
| entry to this table with your get/set method names using the |
| SNC_HANDLE_NAMES macro). |
| |
| Your mission, should you accept it, is to try finding out what |
| those entries are for, by reading/writing random values from/to those |
| files and find out what is the impact on your laptop. |
| |
| Should you find anything interesting, please report it back to me, |
| I will not disavow all knowledge of your actions :) |
| |
| See also http://www.linux.it/~malattia/wiki/index.php/Sony_drivers for other |
| useful info. |
| |
| Bugs/Limitations: |
| ----------------- |
| |
| * This driver is not based on official documentation from Sony |
| (because there is none), so there is no guarantee this driver |
| will work at all, or do the right thing. Although this hasn't |
| happened to me, this driver could do very bad things to your |
| laptop, including permanent damage. |
| |
| * The sony-laptop and sonypi drivers do not interact at all. In the |
| future, sonypi could use sony-laptop to do (part of) its business. |
| |
| * spicctrl, which is the userspace tool used to communicate with the |
| sonypi driver (through /dev/sonypi) does not try to use the |
| sony-laptop driver. In the future, spicctrl could try sonypi first, |
| and if it isn't present, try sony-laptop instead. |