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