annotate Documentation/sonypi.txt @ 854:950b9eb27661

usbback: fix urb interval value for interrupt urbs.

Signed-off-by: Noboru Iwamatsu <n_iwamatsu@jp.fujitsu.com>
author Keir Fraser <keir.fraser@citrix.com>
date Mon Apr 06 13:51:20 2009 +0100 (2009-04-06)
parents 831230e53067
rev   line source
ian@0 1 Sony Programmable I/O Control Device Driver Readme
ian@0 2 --------------------------------------------------
ian@0 3 Copyright (C) 2001-2004 Stelian Pop <stelian@popies.net>
ian@0 4 Copyright (C) 2001-2002 Alc˘ve <www.alcove.com>
ian@0 5 Copyright (C) 2001 Michael Ashley <m.ashley@unsw.edu.au>
ian@0 6 Copyright (C) 2001 Junichi Morita <jun1m@mars.dti.ne.jp>
ian@0 7 Copyright (C) 2000 Takaya Kinjo <t-kinjo@tc4.so-net.ne.jp>
ian@0 8 Copyright (C) 2000 Andrew Tridgell <tridge@samba.org>
ian@0 9
ian@0 10 This driver enables access to the Sony Programmable I/O Control Device which
ian@0 11 can be found in many Sony Vaio laptops. Some newer Sony laptops (seems to be
ian@0 12 limited to new FX series laptops, at least the FX501 and the FX702) lack a
ian@0 13 sonypi device and are not supported at all by this driver.
ian@0 14
ian@0 15 It will give access (through a user space utility) to some events those laptops
ian@0 16 generate, like:
ian@0 17 - jogdial events (the small wheel on the side of Vaios)
ian@0 18 - capture button events (only on Vaio Picturebook series)
ian@0 19 - Fn keys
ian@0 20 - bluetooth button (only on C1VR model)
ian@0 21 - programmable keys, back, help, zoom, thumbphrase buttons, etc.
ian@0 22 (when available)
ian@0 23
ian@0 24 Those events (see linux/sonypi.h) can be polled using the character device node
ian@0 25 /dev/sonypi (major 10, minor auto allocated or specified as a option).
ian@0 26 A simple daemon which translates the jogdial movements into mouse wheel events
ian@0 27 can be downloaded at: <http://popies.net/sonypi/>
ian@0 28
ian@0 29 Another option to intercept the events is to get them directly through the
ian@0 30 input layer.
ian@0 31
ian@0 32 This driver supports also some ioctl commands for setting the LCD screen
ian@0 33 brightness and querying the batteries charge information (some more
ian@0 34 commands may be added in the future).
ian@0 35
ian@0 36 This driver can also be used to set the camera controls on Picturebook series
ian@0 37 (brightness, contrast etc), and is used by the video4linux driver for the
ian@0 38 Motion Eye camera.
ian@0 39
ian@0 40 Please note that this driver was created by reverse engineering the Windows
ian@0 41 driver and the ACPI BIOS, because Sony doesn't agree to release any programming
ian@0 42 specs for its laptops. If someone convinces them to do so, drop me a note.
ian@0 43
ian@0 44 Driver options:
ian@0 45 ---------------
ian@0 46
ian@0 47 Several options can be passed to the sonypi driver using the standard
ian@0 48 module argument syntax (<param>=<value> when passing the option to the
ian@0 49 module or sonypi.<param>=<value> on the kernel boot line when sonypi is
ian@0 50 statically linked into the kernel). Those options are:
ian@0 51
ian@0 52 minor: minor number of the misc device /dev/sonypi,
ian@0 53 default is -1 (automatic allocation, see /proc/misc
ian@0 54 or kernel logs)
ian@0 55
ian@0 56 camera: if you have a PictureBook series Vaio (with the
ian@0 57 integrated MotionEye camera), set this parameter to 1
ian@0 58 in order to let the driver access to the camera
ian@0 59
ian@0 60 fnkeyinit: on some Vaios (C1VE, C1VR etc), the Fn key events don't
ian@0 61 get enabled unless you set this parameter to 1.
ian@0 62 Do not use this option unless it's actually necessary,
ian@0 63 some Vaio models don't deal well with this option.
ian@0 64 This option is available only if the kernel is
ian@0 65 compiled without ACPI support (since it conflicts
ian@0 66 with it and it shouldn't be required anyway if
ian@0 67 ACPI is already enabled).
ian@0 68
ian@0 69 verbose: set to 1 to print unknown events received from the
ian@0 70 sonypi device.
ian@0 71 set to 2 to print all events received from the
ian@0 72 sonypi device.
ian@0 73
ian@0 74 compat: uses some compatibility code for enabling the sonypi
ian@0 75 events. If the driver worked for you in the past
ian@0 76 (prior to version 1.5) and does not work anymore,
ian@0 77 add this option and report to the author.
ian@0 78
ian@0 79 mask: event mask telling the driver what events will be
ian@0 80 reported to the user. This parameter is required for
ian@0 81 some Vaio models where the hardware reuses values
ian@0 82 used in other Vaio models (like the FX series who does
ian@0 83 not have a jogdial but reuses the jogdial events for
ian@0 84 programmable keys events). The default event mask is
ian@0 85 set to 0xffffffff, meaning that all possible events
ian@0 86 will be tried. You can use the following bits to
ian@0 87 construct your own event mask (from
ian@0 88 drivers/char/sonypi.h):
ian@0 89 SONYPI_JOGGER_MASK 0x0001
ian@0 90 SONYPI_CAPTURE_MASK 0x0002
ian@0 91 SONYPI_FNKEY_MASK 0x0004
ian@0 93 SONYPI_PKEY_MASK 0x0010
ian@0 94 SONYPI_BACK_MASK 0x0020
ian@0 95 SONYPI_HELP_MASK 0x0040
ian@0 96 SONYPI_LID_MASK 0x0080
ian@0 97 SONYPI_ZOOM_MASK 0x0100
ian@0 99 SONYPI_MEYE_MASK 0x0400
ian@0 101 SONYPI_BATTERY_MASK 0x1000
ian@0 102 SONYPI_WIRELESS_MASK 0x2000
ian@0 103
ian@0 104 useinput: if set (which is the default) two input devices are
ian@0 105 created, one which interprets the jogdial events as
ian@0 106 mouse events, the other one which acts like a
ian@0 107 keyboard reporting the pressing of the special keys.
ian@0 108
ian@0 109 Module use:
ian@0 110 -----------
ian@0 111
ian@0 112 In order to automatically load the sonypi module on use, you can put those
ian@0 113 lines in your /etc/modprobe.conf file:
ian@0 114
ian@0 115 alias char-major-10-250 sonypi
ian@0 116 options sonypi minor=250
ian@0 117
ian@0 118 This supposes the use of minor 250 for the sonypi device:
ian@0 119
ian@0 120 # mknod /dev/sonypi c 10 250
ian@0 121
ian@0 122 Bugs:
ian@0 123 -----
ian@0 124
ian@0 125 - several users reported that this driver disables the BIOS-managed
ian@0 126 Fn-keys which put the laptop in sleeping state, or switch the
ian@0 127 external monitor on/off. There is no workaround yet, since this
ian@0 128 driver disables all APM management for those keys, by enabling the
ian@0 129 ACPI management (and the ACPI core stuff is not complete yet). If
ian@0 130 you have one of those laptops with working Fn keys and want to
ian@0 131 continue to use them, don't use this driver.
ian@0 132
ian@0 133 - some users reported that the laptop speed is lower (dhrystone
ian@0 134 tested) when using the driver with the fnkeyinit parameter. I cannot
ian@0 135 reproduce it on my laptop and not all users have this problem.
ian@0 136 This happens because the fnkeyinit parameter enables the ACPI
ian@0 137 mode (but without additional ACPI control, like processor
ian@0 138 speed handling etc). Use ACPI instead of APM if it works on your
ian@0 139 laptop.
ian@0 140
ian@0 141 - sonypi lacks the ability to distinguish between certain key
ian@0 142 events on some models.
ian@0 143
ian@0 144 - some models with the nvidia card (geforce go 6200 tc) uses a
ian@0 145 different way to adjust the backlighting of the screen. There
ian@0 146 is a userspace utility to adjust the brightness on those models,
ian@0 147 which can be downloaded from
ian@0 148 http://www.acc.umu.se/~erikw/program/smartdimmer-0.1.tar.bz2
ian@0 149
ian@0 150 - since all development was done by reverse engineering, there is
ian@0 151 _absolutely no guarantee_ that this driver will not crash your
ian@0 152 laptop. Permanently.