123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- Sony Programmable I/O Control Device Driver Readme
- --------------------------------------------------
- Copyright (C) 2001-2004 Stelian Pop <stelian@popies.net>
- Copyright (C) 2001-2002 Alcôve <www.alcove.com>
- Copyright (C) 2001 Michael Ashley <m.ashley@unsw.edu.au>
- Copyright (C) 2001 Junichi Morita <jun1m@mars.dti.ne.jp>
- Copyright (C) 2000 Takaya Kinjo <t-kinjo@tc4.so-net.ne.jp>
- Copyright (C) 2000 Andrew Tridgell <tridge@samba.org>
- 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
- http://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.
|