mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
158 lines
6.4 KiB
158 lines
6.4 KiB
================================================== |
|
Sony Programmable I/O Control Device Driver Readme |
|
================================================== |
|
|
|
- Copyright (C) 2001-2004 Stelian Pop <[email protected]> |
|
- Copyright (C) 2001-2002 Alcôve <www.alcove.com> |
|
- Copyright (C) 2001 Michael Ashley <[email protected]> |
|
- Copyright (C) 2001 Junichi Morita <[email protected]> |
|
- Copyright (C) 2000 Takaya Kinjo <[email protected]> |
|
- Copyright (C) 2000 Andrew Tridgell <[email protected]> |
|
|
|
This driver enables access to the Sony Programmable I/O Control Device which |
|
can be found in many Sony Vaio laptops. Some newer Sony laptops (seems to be |
|
limited to new FX series laptops, at least the FX501 and the FX702) lack a |
|
sonypi device and are not supported at all by this driver. |
|
|
|
It will give access (through a user space utility) to some events those laptops |
|
generate, like: |
|
|
|
- jogdial events (the small wheel on the side of Vaios) |
|
- capture button events (only on Vaio Picturebook series) |
|
- Fn keys |
|
- bluetooth button (only on C1VR model) |
|
- programmable keys, back, help, zoom, thumbphrase buttons, etc. |
|
(when available) |
|
|
|
Those events (see linux/sonypi.h) can be polled using the character device node |
|
/dev/sonypi (major 10, minor auto allocated or specified as a option). |
|
A simple daemon which translates the jogdial movements into mouse wheel events |
|
can be downloaded at: <http://popies.net/sonypi/> |
|
|
|
Another option to intercept the events is to get them directly through the |
|
input layer. |
|
|
|
This driver supports also some ioctl commands for setting the LCD screen |
|
brightness and querying the batteries charge information (some more |
|
commands may be added in the future). |
|
|
|
This driver can also be used to set the camera controls on Picturebook series |
|
(brightness, contrast etc), and is used by the video4linux driver for the |
|
Motion Eye camera. |
|
|
|
Please note that this driver was created by reverse engineering the Windows |
|
driver and the ACPI BIOS, because Sony doesn't agree to release any programming |
|
specs for its laptops. If someone convinces them to do so, drop me a note. |
|
|
|
Driver options: |
|
--------------- |
|
|
|
Several options can be passed to the sonypi driver using the standard |
|
module argument syntax (<param>=<value> when passing the option to the |
|
module or sonypi.<param>=<value> on the kernel boot line when sonypi is |
|
statically linked into the kernel). Those options are: |
|
|
|
=============== ======================================================= |
|
minor: minor number of the misc device /dev/sonypi, |
|
default is -1 (automatic allocation, see /proc/misc |
|
or kernel logs) |
|
|
|
camera: if you have a PictureBook series Vaio (with the |
|
integrated MotionEye camera), set this parameter to 1 |
|
in order to let the driver access to the camera |
|
|
|
fnkeyinit: on some Vaios (C1VE, C1VR etc), the Fn key events don't |
|
get enabled unless you set this parameter to 1. |
|
Do not use this option unless it's actually necessary, |
|
some Vaio models don't deal well with this option. |
|
This option is available only if the kernel is |
|
compiled without ACPI support (since it conflicts |
|
with it and it shouldn't be required anyway if |
|
ACPI is already enabled). |
|
|
|
verbose: set to 1 to print unknown events received from the |
|
sonypi device. |
|
set to 2 to print all events received from the |
|
sonypi device. |
|
|
|
compat: uses some compatibility code for enabling the sonypi |
|
events. If the driver worked for you in the past |
|
(prior to version 1.5) and does not work anymore, |
|
add this option and report to the author. |
|
|
|
mask: event mask telling the driver what events will be |
|
reported to the user. This parameter is required for |
|
some Vaio models where the hardware reuses values |
|
used in other Vaio models (like the FX series who does |
|
not have a jogdial but reuses the jogdial events for |
|
programmable keys events). The default event mask is |
|
set to 0xffffffff, meaning that all possible events |
|
will be tried. You can use the following bits to |
|
construct your own event mask (from |
|
drivers/char/sonypi.h):: |
|
|
|
SONYPI_JOGGER_MASK 0x0001 |
|
SONYPI_CAPTURE_MASK 0x0002 |
|
SONYPI_FNKEY_MASK 0x0004 |
|
SONYPI_BLUETOOTH_MASK 0x0008 |
|
SONYPI_PKEY_MASK 0x0010 |
|
SONYPI_BACK_MASK 0x0020 |
|
SONYPI_HELP_MASK 0x0040 |
|
SONYPI_LID_MASK 0x0080 |
|
SONYPI_ZOOM_MASK 0x0100 |
|
SONYPI_THUMBPHRASE_MASK 0x0200 |
|
SONYPI_MEYE_MASK 0x0400 |
|
SONYPI_MEMORYSTICK_MASK 0x0800 |
|
SONYPI_BATTERY_MASK 0x1000 |
|
SONYPI_WIRELESS_MASK 0x2000 |
|
|
|
useinput: if set (which is the default) two input devices are |
|
created, one which interprets the jogdial events as |
|
mouse events, the other one which acts like a |
|
keyboard reporting the pressing of the special keys. |
|
=============== ======================================================= |
|
|
|
Module use: |
|
----------- |
|
|
|
In order to automatically load the sonypi module on use, you can put those |
|
lines a configuration file in /etc/modprobe.d/:: |
|
|
|
alias char-major-10-250 sonypi |
|
options sonypi minor=250 |
|
|
|
This supposes the use of minor 250 for the sonypi device:: |
|
|
|
# mknod /dev/sonypi c 10 250 |
|
|
|
Bugs: |
|
----- |
|
|
|
- several users reported that this driver disables the BIOS-managed |
|
Fn-keys which put the laptop in sleeping state, or switch the |
|
external monitor on/off. There is no workaround yet, since this |
|
driver disables all APM management for those keys, by enabling the |
|
ACPI management (and the ACPI core stuff is not complete yet). If |
|
you have one of those laptops with working Fn keys and want to |
|
continue to use them, don't use this driver. |
|
|
|
- some users reported that the laptop speed is lower (dhrystone |
|
tested) when using the driver with the fnkeyinit parameter. I cannot |
|
reproduce it on my laptop and not all users have this problem. |
|
This happens because the fnkeyinit parameter enables the ACPI |
|
mode (but without additional ACPI control, like processor |
|
speed handling etc). Use ACPI instead of APM if it works on your |
|
laptop. |
|
|
|
- sonypi lacks the ability to distinguish between certain key |
|
events on some models. |
|
|
|
- some models with the nvidia card (geforce go 6200 tc) uses a |
|
different way to adjust the backlighting of the screen. There |
|
is a userspace utility to adjust the brightness on those models, |
|
which can be downloaded from |
|
https://www.acc.umu.se/~erikw/program/smartdimmer-0.1.tar.bz2 |
|
|
|
- since all development was done by reverse engineering, there is |
|
*absolutely no guarantee* that this driver will not crash your |
|
laptop. Permanently.
|
|
|