1 Sony Programmable I/O Control Device Driver Readme
2 --------------------------------------------------
3 Copyright (C) 2001-2003 Stelian Pop <stelian@popies.net>
4 Copyright (C) 2001-2002 AlcĂ´ve <www.alcove.com>
5 Copyright (C) 2001 Michael Ashley <m.ashley@unsw.edu.au>
6 Copyright (C) 2001 Junichi Morita <jun1m@mars.dti.ne.jp>
7 Copyright (C) 2000 Takaya Kinjo <t-kinjo@tc4.so-net.ne.jp>
8 Copyright (C) 2000 Andrew Tridgell <tridge@samba.org>
10 This driver enables access to the Sony Programmable I/O Control Device which
11 can be found in many (all ?) Sony Vaio laptops.
13 It will give access (through a user space utility) to some events those laptops
15 - jogdial events (the small wheel on the side of Vaios)
16 - capture button events (only on Vaio Picturebook series)
18 - bluetooth button (only on C1VR model)
19 - programmable keys, back, help, zoom, thumbphrase buttons, etc.
22 Those events (see linux/sonypi.h) can be polled using the character device node
23 /dev/sonypi (major 10, minor auto allocated or specified as a option).
25 A simple daemon which translates the jogdial movements into mouse wheel events
26 can be downloaded at: <http://popies.net/sonypi/>
28 This driver supports also some ioctl commands for setting the LCD screen
29 brightness and querying the batteries charge information (some more
30 commands may be added in the future).
32 This driver can also be used to set the camera controls on Picturebook series
33 (brightness, contrast etc), and is used by the video4linux driver for the
36 Please note that this driver was created by reverse engineering the Windows
37 driver and the ACPI BIOS, because Sony doesn't agree to release any programming
38 specs for its laptops. If someone convinces them to do so, drop me a note.
43 Several options can be passed to the sonypi driver, either by adding them
44 to /etc/modules.conf file, when the driver is compiled as a module or by
45 adding the following to the kernel command line (in your bootloader):
47 sonypi=minor[,verbose[,fnkeyinit[,camera[,compat[,mask[,useinput]]]]]]
51 minor: minor number of the misc device /dev/sonypi,
52 default is -1 (automatic allocation, see /proc/misc
55 camera: if you have a PictureBook series Vaio (with the
56 integrated MotionEye camera), set this parameter to 1
57 in order to let the driver access to the camera
59 fnkeyinit: on some Vaios (C1VE, C1VR etc), the Fn key events don't
60 get enabled unless you set this parameter to 1.
61 Do not use this option unless it's actually necessary,
62 some Vaio models don't deal well with this option.
63 This option is available only if the kernel is
64 compiled without ACPI support (since it conflicts
65 with it and it shouldn't be required anyway if
66 ACPI is already enabled).
68 verbose: set to 1 to print unknown events received from the
70 set to 2 to print all events received from the
73 compat: uses some compatibility code for enabling the sonypi
74 events. If the driver worked for you in the past
75 (prior to version 1.5) and does not work anymore,
76 add this option and report to the author.
78 mask: event mask telling the driver what events will be
79 reported to the user. This parameter is required for some
80 Vaio models where the hardware reuses values used in
81 other Vaio models (like the FX series who does not
82 have a jogdial but reuses the jogdial events for
83 programmable keys events). The default event mask is
84 set to 0xffffffff, meaning that all possible events will be
85 tried. You can use the following bits to construct
86 your own event mask (from drivers/char/sonypi.h):
87 SONYPI_JOGGER_MASK 0x0001
88 SONYPI_CAPTURE_MASK 0x0002
89 SONYPI_FNKEY_MASK 0x0004
90 SONYPI_BLUETOOTH_MASK 0x0008
91 SONYPI_PKEY_MASK 0x0010
92 SONYPI_BACK_MASK 0x0020
93 SONYPI_HELP_MASK 0x0040
94 SONYPI_LID_MASK 0x0080
95 SONYPI_ZOOM_MASK 0x0100
96 SONYPI_THUMBPHRASE_MASK 0x0200
97 SONYPI_MEYE_MASK 0x0400
98 SONYPI_MEMORYSTICK_MASK 0x0800
100 useinput: if set (which is the default) jogdial events are
101 forwarded to the input subsystem as mouse wheel
108 In order to automatically load the sonypi module on use, you can put those
109 lines in your /etc/modules.conf file:
111 alias char-major-10-250 sonypi
112 options sonypi minor=250
114 This supposes the use of minor 250 for the sonypi device:
116 # mknod /dev/sonypi c 10 250
121 - several users reported that this driver disables the BIOS-managed
122 Fn-keys which put the laptop in sleeping state, or switch the
123 external monitor on/off. There is no workaround yet, since this
124 driver disables all APM management for those keys, by enabling the
125 ACPI management (and the ACPI core stuff is not complete yet). If
126 you have one of those laptops with working Fn keys and want to
127 continue to use them, don't use this driver.
129 - some users reported that the laptop speed is lower (dhrystone
130 tested) when using the driver with the fnkeyinit parameter. I cannot
131 reproduce it on my laptop and not all users have this problem.
132 This happens because the fnkeyinit parameter enables the ACPI
133 mode (but without additional ACPI control, like processor
134 speed handling etc). Use ACPI instead of APM if it works on your
137 - since all development was done by reverse engineering, there is
138 _absolutely no guarantee_ that this driver will not crash your