Convert files within the Documentation directory to UTF-8. Adrian Bunk: small additional fixes Signed-off-by: John Anthony Kazos Jr. <jakj@j-a-k-j.com> Signed-off-by: Adrian Bunk <bunk@stusta.de>
		
			
				
	
	
		
			153 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			153 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
Sony Programmable I/O Control Device Driver Readme
 | 
						|
--------------------------------------------------
 | 
						|
	Copyright (C) 2001-2004 Stelian Pop <stelian@popies.net>
 | 
						|
	Copyright (C) 2001-2002 Alcôve <www.alcove.com>
 | 
						|
	Copyright (C) 2001 Michael Ashley <m.ashley@unsw.edu.au>
 | 
						|
	Copyright (C) 2001 Junichi Morita <jun1m@mars.dti.ne.jp>
 | 
						|
	Copyright (C) 2000 Takaya Kinjo <t-kinjo@tc4.so-net.ne.jp>
 | 
						|
	Copyright (C) 2000 Andrew Tridgell <tridge@samba.org>
 | 
						|
 | 
						|
This driver enables access to the Sony Programmable I/O Control Device which
 | 
						|
can be found in many Sony Vaio laptops. Some newer Sony laptops (seems to be
 | 
						|
limited to new FX series laptops, at least the FX501 and the FX702) lack a
 | 
						|
sonypi device and are not supported at all by this driver.
 | 
						|
 | 
						|
It will give access (through a user space utility) to some events those laptops
 | 
						|
generate, like:
 | 
						|
	- jogdial events (the small wheel on the side of Vaios)
 | 
						|
	- capture button events (only on Vaio Picturebook series)
 | 
						|
	- Fn keys
 | 
						|
	- bluetooth button (only on C1VR model)
 | 
						|
	- programmable keys, back, help, zoom, thumbphrase buttons, etc.
 | 
						|
	  (when available)
 | 
						|
 | 
						|
Those events (see linux/sonypi.h) can be polled using the character device node
 | 
						|
/dev/sonypi (major 10, minor auto allocated or specified as a option).
 | 
						|
A simple daemon which translates the jogdial movements into mouse wheel events
 | 
						|
can be downloaded at: <http://popies.net/sonypi/>
 | 
						|
 | 
						|
Another option to intercept the events is to get them directly through the
 | 
						|
input layer.
 | 
						|
 | 
						|
This driver supports also some ioctl commands for setting the LCD screen
 | 
						|
brightness and querying the batteries charge information (some more
 | 
						|
commands may be added in the future).
 | 
						|
 | 
						|
This driver can also be used to set the camera controls on Picturebook series
 | 
						|
(brightness, contrast etc), and is used by the video4linux driver for the
 | 
						|
Motion Eye camera.
 | 
						|
 | 
						|
Please note that this driver was created by reverse engineering the Windows
 | 
						|
driver and the ACPI BIOS, because Sony doesn't agree to release any programming
 | 
						|
specs for its laptops. If someone convinces them to do so, drop me a note.
 | 
						|
 | 
						|
Driver options:
 | 
						|
---------------
 | 
						|
 | 
						|
Several options can be passed to the sonypi driver using the standard
 | 
						|
module argument syntax (<param>=<value> when passing the option to the
 | 
						|
module or sonypi.<param>=<value> on the kernel boot line when sonypi is
 | 
						|
statically linked into the kernel). Those options are:
 | 
						|
 | 
						|
	minor: 		minor number of the misc device /dev/sonypi,
 | 
						|
			default is -1 (automatic allocation, see /proc/misc
 | 
						|
			or kernel logs)
 | 
						|
 | 
						|
	camera:		if you have a PictureBook series Vaio (with the
 | 
						|
			integrated MotionEye camera), set this parameter to 1
 | 
						|
			in order to let the driver access to the camera
 | 
						|
 | 
						|
	fnkeyinit:	on some Vaios (C1VE, C1VR etc), the Fn key events don't
 | 
						|
			get enabled unless you set this parameter to 1.
 | 
						|
			Do not use this option unless it's actually necessary,
 | 
						|
			some Vaio models don't deal well with this option.
 | 
						|
			This option is available only if the kernel is
 | 
						|
			compiled without ACPI support (since it conflicts
 | 
						|
			with it and it shouldn't be required anyway if
 | 
						|
			ACPI is already enabled).
 | 
						|
 | 
						|
	verbose:	set to 1 to print unknown events received from the
 | 
						|
			sonypi device.
 | 
						|
			set to 2 to print all events received from the
 | 
						|
			sonypi device.
 | 
						|
 | 
						|
	compat:		uses some compatibility code for enabling the sonypi
 | 
						|
			events. If the driver worked for you in the past
 | 
						|
			(prior to version 1.5) and does not work anymore,
 | 
						|
			add this option and report to the author.
 | 
						|
 | 
						|
	mask:		event mask telling the driver what events will be
 | 
						|
			reported to the user. This parameter is required for
 | 
						|
			some Vaio models where the hardware reuses values
 | 
						|
			used in other Vaio models (like the FX series who does
 | 
						|
			not have a jogdial but reuses the jogdial events for
 | 
						|
			programmable keys events). The default event mask is
 | 
						|
			set to 0xffffffff, meaning that all possible events
 | 
						|
			will be tried. You can use the following bits to
 | 
						|
			construct your own event mask (from
 | 
						|
			drivers/char/sonypi.h):
 | 
						|
				SONYPI_JOGGER_MASK 		0x0001
 | 
						|
				SONYPI_CAPTURE_MASK 		0x0002
 | 
						|
				SONYPI_FNKEY_MASK 		0x0004
 | 
						|
				SONYPI_BLUETOOTH_MASK 		0x0008
 | 
						|
				SONYPI_PKEY_MASK 		0x0010
 | 
						|
				SONYPI_BACK_MASK 		0x0020
 | 
						|
				SONYPI_HELP_MASK 		0x0040
 | 
						|
				SONYPI_LID_MASK 		0x0080
 | 
						|
				SONYPI_ZOOM_MASK 		0x0100
 | 
						|
				SONYPI_THUMBPHRASE_MASK 	0x0200
 | 
						|
				SONYPI_MEYE_MASK		0x0400
 | 
						|
				SONYPI_MEMORYSTICK_MASK		0x0800
 | 
						|
				SONYPI_BATTERY_MASK		0x1000
 | 
						|
				SONYPI_WIRELESS_MASK		0x2000
 | 
						|
 | 
						|
	useinput:	if set (which is the default) two input devices are
 | 
						|
			created, one which interprets the jogdial events as
 | 
						|
			mouse events, the other one which acts like a
 | 
						|
			keyboard reporting the pressing of the special keys.
 | 
						|
 | 
						|
Module use:
 | 
						|
-----------
 | 
						|
 | 
						|
In order to automatically load the sonypi module on use, you can put those
 | 
						|
lines in your /etc/modprobe.conf file:
 | 
						|
 | 
						|
	alias char-major-10-250 sonypi
 | 
						|
	options sonypi minor=250
 | 
						|
 | 
						|
This supposes the use of minor 250 for the sonypi device:
 | 
						|
 | 
						|
	# mknod /dev/sonypi c 10 250
 | 
						|
 | 
						|
Bugs:
 | 
						|
-----
 | 
						|
 | 
						|
	- several users reported that this driver disables the BIOS-managed
 | 
						|
	  Fn-keys which put the laptop in sleeping state, or switch the
 | 
						|
	  external monitor on/off. There is no workaround yet, since this
 | 
						|
	  driver disables all APM management for those keys, by enabling the
 | 
						|
	  ACPI management (and the ACPI core stuff is not complete yet). If
 | 
						|
	  you have one of those laptops with working Fn keys and want to
 | 
						|
	  continue to use them, don't use this driver.
 | 
						|
 | 
						|
	- some users reported that the laptop speed is lower (dhrystone
 | 
						|
	  tested) when using the driver with the fnkeyinit parameter. I cannot
 | 
						|
	  reproduce it on my laptop and not all users have this problem.
 | 
						|
	  This happens because the fnkeyinit parameter enables the ACPI
 | 
						|
	  mode (but without additional ACPI control, like processor
 | 
						|
	  speed handling etc). Use ACPI instead of APM if it works on your
 | 
						|
	  laptop.
 | 
						|
 | 
						|
	- sonypi lacks the ability to distinguish between certain key
 | 
						|
	  events on some models.
 | 
						|
 | 
						|
	- some models with the nvidia card (geforce go 6200 tc) uses a
 | 
						|
	  different way to adjust the backlighting of the screen. There
 | 
						|
	  is a userspace utility to adjust the brightness on those models,
 | 
						|
	  which can be downloaded from
 | 
						|
	  http://www.acc.umu.se/~erikw/program/smartdimmer-0.1.tar.bz2
 | 
						|
 | 
						|
	- since all development was done by reverse engineering, there is
 | 
						|
	  _absolutely no guarantee_ that this driver will not crash your
 | 
						|
	  laptop. Permanently.
 |