mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 10:49:33 +00:00
107 lines
4 KiB
Text
107 lines
4 KiB
Text
![]() |
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 device present in the ACPI BIOS of
|
||
|
the Sony Vaio laptops.
|
||
|
|
||
|
It gives access to some extra laptop functionalities. In its current
|
||
|
form, this driver let the user set or query the screen brightness
|
||
|
through the backlight subsystem and remove/apply power to some devices.
|
||
|
|
||
|
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 iteger
|
||
|
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)
|
||
|
|
||
|
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_acpi_values' table, and add a new
|
||
|
entry to this table with your get/set method names using the
|
||
|
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 :)
|
||
|
|
||
|
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.
|
||
|
|