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