159 lines · plain
1==================================================2Sony Programmable I/O Control Device Driver Readme3==================================================4 5 - Copyright (C) 2001-2004 Stelian Pop <stelian@popies.net>6 - Copyright (C) 2001-2002 Alcôve <www.alcove.com>7 - Copyright (C) 2001 Michael Ashley <m.ashley@unsw.edu.au>8 - Copyright (C) 2001 Junichi Morita <jun1m@mars.dti.ne.jp>9 - Copyright (C) 2000 Takaya Kinjo <t-kinjo@tc4.so-net.ne.jp>10 - Copyright (C) 2000 Andrew Tridgell <tridge@samba.org>11 12This driver enables access to the Sony Programmable I/O Control Device which13can be found in many Sony Vaio laptops. Some newer Sony laptops (seems to be14limited to new FX series laptops, at least the FX501 and the FX702) lack a15sonypi device and are not supported at all by this driver.16 17It will give access (through a user space utility) to some events those laptops18generate, like:19 20 - jogdial events (the small wheel on the side of Vaios)21 - capture button events (only on Vaio Picturebook series)22 - Fn keys23 - bluetooth button (only on C1VR model)24 - programmable keys, back, help, zoom, thumbphrase buttons, etc.25 (when available)26 27Those events (see linux/sonypi.h) can be polled using the character device node28/dev/sonypi (major 10, minor auto allocated or specified as a option).29A simple daemon which translates the jogdial movements into mouse wheel events30can be downloaded at: <http://popies.net/sonypi/>31 32Another option to intercept the events is to get them directly through the33input layer.34 35This driver supports also some ioctl commands for setting the LCD screen36brightness and querying the batteries charge information (some more37commands may be added in the future).38 39This driver can also be used to set the camera controls on Picturebook series40(brightness, contrast etc), and is used by the video4linux driver for the41Motion Eye camera.42 43Please note that this driver was created by reverse engineering the Windows44driver and the ACPI BIOS, because Sony doesn't agree to release any programming45specs for its laptops. If someone convinces them to do so, drop me a note.46 47Driver options:48---------------49 50Several options can be passed to the sonypi driver using the standard51module argument syntax (<param>=<value> when passing the option to the52module or sonypi.<param>=<value> on the kernel boot line when sonypi is53statically linked into the kernel). Those options are:54 55 =============== =======================================================56 minor: minor number of the misc device /dev/sonypi,57 default is -1 (automatic allocation, see /proc/misc58 or kernel logs)59 60 camera: if you have a PictureBook series Vaio (with the61 integrated MotionEye camera), set this parameter to 162 in order to let the driver access to the camera63 64 fnkeyinit: on some Vaios (C1VE, C1VR etc), the Fn key events don't65 get enabled unless you set this parameter to 1.66 Do not use this option unless it's actually necessary,67 some Vaio models don't deal well with this option.68 This option is available only if the kernel is69 compiled without ACPI support (since it conflicts70 with it and it shouldn't be required anyway if71 ACPI is already enabled).72 73 verbose: set to 1 to print unknown events received from the74 sonypi device.75 set to 2 to print all events received from the76 sonypi device.77 78 compat: uses some compatibility code for enabling the sonypi79 events. If the driver worked for you in the past80 (prior to version 1.5) and does not work anymore,81 add this option and report to the author.82 83 mask: event mask telling the driver what events will be84 reported to the user. This parameter is required for85 some Vaio models where the hardware reuses values86 used in other Vaio models (like the FX series who does87 not have a jogdial but reuses the jogdial events for88 programmable keys events). The default event mask is89 set to 0xffffffff, meaning that all possible events90 will be tried. You can use the following bits to91 construct your own event mask (from92 drivers/char/sonypi.h)::93 94 SONYPI_JOGGER_MASK 0x000195 SONYPI_CAPTURE_MASK 0x000296 SONYPI_FNKEY_MASK 0x000497 SONYPI_BLUETOOTH_MASK 0x000898 SONYPI_PKEY_MASK 0x001099 SONYPI_BACK_MASK 0x0020100 SONYPI_HELP_MASK 0x0040101 SONYPI_LID_MASK 0x0080102 SONYPI_ZOOM_MASK 0x0100103 SONYPI_THUMBPHRASE_MASK 0x0200104 SONYPI_MEYE_MASK 0x0400105 SONYPI_MEMORYSTICK_MASK 0x0800106 SONYPI_BATTERY_MASK 0x1000107 SONYPI_WIRELESS_MASK 0x2000108 109 useinput: if set (which is the default) two input devices are110 created, one which interprets the jogdial events as111 mouse events, the other one which acts like a112 keyboard reporting the pressing of the special keys.113 =============== =======================================================114 115Module use:116-----------117 118In order to automatically load the sonypi module on use, you can put those119lines a configuration file in /etc/modprobe.d/::120 121 alias char-major-10-250 sonypi122 options sonypi minor=250123 124This supposes the use of minor 250 for the sonypi device::125 126 # mknod /dev/sonypi c 10 250127 128Bugs:129-----130 131 - several users reported that this driver disables the BIOS-managed132 Fn-keys which put the laptop in sleeping state, or switch the133 external monitor on/off. There is no workaround yet, since this134 driver disables all APM management for those keys, by enabling the135 ACPI management (and the ACPI core stuff is not complete yet). If136 you have one of those laptops with working Fn keys and want to137 continue to use them, don't use this driver.138 139 - some users reported that the laptop speed is lower (dhrystone140 tested) when using the driver with the fnkeyinit parameter. I cannot141 reproduce it on my laptop and not all users have this problem.142 This happens because the fnkeyinit parameter enables the ACPI143 mode (but without additional ACPI control, like processor144 speed handling etc). Use ACPI instead of APM if it works on your145 laptop.146 147 - sonypi lacks the ability to distinguish between certain key148 events on some models.149 150 - some models with the nvidia card (geforce go 6200 tc) uses a151 different way to adjust the backlighting of the screen. There152 is a userspace utility to adjust the brightness on those models,153 which can be downloaded from154 https://www.acc.umu.se/~erikw/program/smartdimmer-0.1.tar.bz2155 156 - since all development was done by reverse engineering, there is157 *absolutely no guarantee* that this driver will not crash your158 laptop. Permanently.159