Toshiba Acpi Driver


This is the development page for the Toshiba Laptop ACPI Extras driver for Linux, which provides access to custom methods of the ToshibaAcpi through the system proc directory. It is for certain newer (2001 and later) Toshiba laptops, such as the ToshibaLibretto.

New [plans for toshiba_acpi] have been announced.

Please note: This driver is only intended to provide the extra support for ACPI functionality specific to Toshiba laptops. In other words, this driver is not intended to cover standard ACPI functions such as shutdown, reboot, suspend, hibernate, battery info, etc. Such generic functions are being supported by the ACPI4Linux project [1] [2] and the Software Suspend 2 project [3]

Another important note: This driver does not work on all Toshiba laptops, particularly those models which seem to have a BIOS or other firmware which was not developed by Toshiba itself. New reverse engineering work will have to be done on these machines, or Toshiba will have to disclose the necessary details. (For support of machines with Phoenx BIOS, try the [Omnibook driver].) The error you will see in this case is:

$ modprobe toshiba_acpi
FATAL: Error inserting toshiba_acpi
(.../kernel/drivers/acpi/toshiba_acpi.ko): No such device

The information on this page is only applicable to the latest version of the driver.

Install and Configure

If you can already load the "toshiba_acpi" kernel module, you may skip this section.

If you have a 2.6 kernel, or a relatively recent 2.4 kernel (version 2.4.22 or newer), the driver is already included with the kernel source. Skip to "Configure the kernel".

Patch the kernel - If you have an older 2.4 kernel, or want to apply one of the experimental patches that are available on occassion, you'll have to apply a patch to the kernel source and compile it. [Download patches]

Assuming you have downloaded and unpacked the kernel source, enter the top directory and apply the patch with:

patch -p1 < some_patch_file

Configure the kernel - For a 2.6 series kernel, you'll find the driver located at:

Power management options / ACPI Support / Toshiba Laptop Extras

For a 2.4 series kernel, it's at:

General setup / Power Management support / ACPI support / ACPI Bus Manager / Toshiba Laptop Extras

Note that toshiba_acpi (needed for /proc/toshiba) doesn't seem to work with 2.6.12 kernels, but works again with 2.6.13 kernels as long as the generic hotkey driver is disabled.

Driver Use

If all is well, the directory toshiba should appear under /proc/acpi. Within that, proc files exist for examining and changing the state of various devices. Generally any user may view the state, but changing state requires root privilege.

As an example, let's look at the LCD device status (lines that start with $ are entered by the user, the other lines are output):

$ cat /proc/acpi/toshiba/lcd
brightness:              6
brightness_levels:       8

Now let's change the LCD brightness:

$ echo "brightness:4" > /proc/acpi/toshiba/lcd

If doing this manually doesn't seem like much fun, there are a few programs that will monitor hotkeys and perform the approprite action:

Reference

Here are details about the various proc files:

$ echo "lcd_out:0;crt_out:1" > /proc/acpi/toshiba/video
Note that changing the video output while an X display is active may have strange results. Switching to the text console and back to X seems to correct this.

Note that some machines do not have a TV output.

For those having trouble with this function, see ToshibaAcpiVideo.

Contributing

Please send bug fixes and ports to other kernel versions to <toshiba_acpi@memebeam.org>. Also, anyone is welcome to improve the documentation by editing this page. Adding questions is also helpful.

Questions

There is a patch to support the built-in bluetooth module in some of the Toshiba Laptops [5]. The patch exists for some time and it seems to be working. To find that specif patch was quite a hassle. My Question is now why isn't that patch incorporated in the ToshibaAcpiDriver. Are there any qualitiy problems with the code. What must be done to get it into the mainstream kernel?

See mention of bluetooth in Feature Poll section directly below, and ExperimentalToshibaAcpiDriver which allows use of the toshset utility. (Using the wiki is not a good way to ask questions-- this section will be deleted.)

Feature Poll

Vote for one of the following new features (or add a new one) by editing this page and incrementing the appropriate count. Yes, you're on your honor. The following feature request is now covered by the [Omnibook driver]. Do not add more votes.

The following requested features can be covered by toshset and the ExperimentalToshibaAcpiDriver:

Completed features from the poll: video switch, fan control, hotkey status

Somebody had requested the ability to control the LCD backlight. This is already covered by the video switching feature. If you disable the LCD output, the backlight will be shut off (it is). Another route is to use DPMS to turn off the monitor, either from X, or with something like vbetool.

Somebody had requested "software suspend or hibernate". That is covered under generic ACPI (or Suspend2) and beyond the scope of this driver.

(Hypothetical) Suggested Donation

This driver has been released under the GNU General Public License, which means it may be used free of charge, and may even be modified by others and sold for profit (for example, as part of a Linux-ready Toshiba laptop system). As trivial as this driver may appear, I've spent a considerable amount of time developing it. Perhaps there will be users who are grateful for the extra 30 minutes or more of life they can get from a standard Libretto battery. What I would ask in return-- but am not at the present time-- is a small monetary donation of US $0.60. The reason I am foregoing the donation request is that it isn't practical to transact such small amounts of money. However I would like to continue, as an exercise, to explain the details of this hypothetical suggested donation.

I would ask for a one-time, per-user donation of US $0.60. I would also ask an additional $0.60 for each year thereafter in which, as a user, you feel I have made useful improvements to the software. For every 60 cents received, I would donate 10 cents in turn to the Linux ACPI driver development team. My driver depends on their work, and I would be donating to encourage further improvements in the ACPI subsystem. Of the remaining 50 cents, and for a limited duration of one year, I would donate 10 cents to Jonathan Buzzard. This would be in appreciation of his Toshiba driver work which paved the way for other drivers such as mine, and for his helpful assistance. Also 3 cents would be allocated towards GNU/Linux development, since my product has no purpose without its continued existence. Finally, 2 cents would be donated to the Electronic Frontier Foundation.

Again, this is hypothetical. I am not asking for donations.

--JohnBelmonte

HomePage · FindPage · RecentChanges · preferences
(site locked) · history
Last edited September 20, 2012 6:21 am EDT (diff)