LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 01-27-2010, 01:23 AM   #1
BILLYKANE
Member
 
Registered: Feb 2008
Location: Hefei,Anhui,China
Distribution: Slackware;chakra
Posts: 96

Rep: Reputation: 22
enable function key


Hello. I got a new laptop Toshiba L526.
Now I want to make it's Function keys work.
I have read many threads, and fand it is better using acpi.
but when I try
modprobe toshiba_acpi
it got a error :
FATAL:Error inserting toshiba_acpi(/lib/modules/2.6.29.6-smp/kernel/drivers/platform/x86/toshiba_acpi.ko): No such device.

My slackware version has upgrade to current exclude the kernel packages and alsa. the kenel I use is 2.6.29.6-smp.


When I run acpi_listen,no output .
So what can I do ?
Please help.
 
Old 01-27-2010, 01:36 AM   #2
GrapefruiTgirl
LQ Guru
 
Registered: Dec 2006
Location: underground
Distribution: Slackware64
Posts: 7,594

Rep: Reputation: 556Reputation: 556Reputation: 556Reputation: 556Reputation: 556Reputation: 556
http://lists.debian.org/debian-user/.../msg00045.html
http://memebeam.org/toys/ToshibaAcpiDriver

You may find the above threads helpful and informative. If your laptop is very new, I suspect it is not yet supported by the driver, but you will have to make that determination for yourself; it's just a suggestion

Sasha
 
Old 01-27-2010, 03:14 AM   #3
BILLYKANE
Member
 
Registered: Feb 2008
Location: Hefei,Anhui,China
Distribution: Slackware;chakra
Posts: 96

Original Poster
Rep: Reputation: 22
Quote:
Originally Posted by GrapefruiTgirl View Post
http://lists.debian.org/debian-user/.../msg00045.html
http://memebeam.org/toys/ToshibaAcpiDriver

You may find the above threads helpful and informative. If your laptop is very new, I suspect it is not yet supported by the driver, but you will have to make that determination for yourself; it's just a suggestion

Sasha
Thanks for your quick reply.Seems I have to compile My kernel Using the Patch.I will do it later
 
Old 01-27-2010, 11:05 PM   #4
BILLYKANE
Member
 
Registered: Feb 2008
Location: Hefei,Anhui,China
Distribution: Slackware;chakra
Posts: 96

Original Poster
Rep: Reputation: 22
hi. I have upgrade my kernel to current ,but the problem still could not solved.
Maybe GrapefruiTgirl you are right,it is not yet supported by the driver.
 
Old 01-28-2010, 12:06 AM   #5
GrapefruiTgirl
LQ Guru
 
Registered: Dec 2006
Location: underground
Distribution: Slackware64
Posts: 7,594

Rep: Reputation: 556Reputation: 556Reputation: 556Reputation: 556Reputation: 556Reputation: 556
What kernel are you running now; and what kernel was the patch for, if you applied it?
 
Old 01-28-2010, 07:25 PM   #6
BILLYKANE
Member
 
Registered: Feb 2008
Location: Hefei,Anhui,China
Distribution: Slackware;chakra
Posts: 96

Original Poster
Rep: Reputation: 22
Quote:
Originally Posted by GrapefruiTgirl View Post
What kernel are you running now; and what kernel was the patch for, if you applied it?
Sorry I did not read your last thread seriously.
The patch http://memebeam.org/toys/ToshibaAcpiDriver list is only for 2.4 kernel.

I have upgrade my kernel to 2.6.32.5-smp.

I notice that The Bios I used form toshiba website is list like this:

2010-01-15 BIOS V1.5_for_Windows 1602KB

So I guess that it must be not supported by the driver.
 
Old 01-29-2010, 04:48 AM   #7
devwatchdog
Member
 
Registered: Jan 2010
Posts: 202

Rep: Reputation: 47
Quote:
Originally Posted by BILLYKANE View Post
Sorry I did not read your last thread seriously.
The patch http://memebeam.org/toys/ToshibaAcpiDriver list is only for 2.4 kernel.

I have upgrade my kernel to 2.6.32.5-smp.

I notice that The Bios I used form toshiba website is list like this:

2010-01-15 BIOS V1.5_for_Windows 1602KB

So I guess that it must be not supported by the driver.
The memebeam.org web page is referenced in the toshiba_acpi.c source file found in the kernel source. There is also another module named simply 'toshiba' that appears to offer similar functionality, although that one appears to be older as well, and probably won't offer a solution for you.

I did run across a web page where someone took a Toshiba laptop and had some level of success with installing Slackware 12 on a Tecra M2. You can find the article here. He uses a program called FnFX to provide functionality, although as you can see in the article, he had to do a bit of tweaking to get it to perform as he needed.

Here is another program that might help:

http://sourceforge.net/projects/tclkeymon/

I found that as a link offered on this page:

http://tuxmobil.org/toshiba.html

There are some other links there that might provide some direction on a solution. ACPI issues can be frustrating, and time consuming to solve. I hope you can find a suitable solution without spending too much time on it.
 
Old 01-29-2010, 10:27 PM   #8
BILLYKANE
Member
 
Registered: Feb 2008
Location: Hefei,Anhui,China
Distribution: Slackware;chakra
Posts: 96

Original Poster
Rep: Reputation: 22
Quote:
Originally Posted by devwatchdog View Post
The memebeam.org web page is referenced in the toshiba_acpi.c source file found in the kernel source. There is also another module named simply 'toshiba' that appears to offer similar functionality, although that one appears to be older as well, and probably won't offer a solution for you.

I did run across a web page where someone took a Toshiba laptop and had some level of success with installing Slackware 12 on a Tecra M2. You can find the article here. He uses a program called FnFX to provide functionality, although as you can see in the article, he had to do a bit of tweaking to get it to perform as he needed.

Here is another program that might help:

http://sourceforge.net/projects/tclkeymon/

I found that as a link offered on this page:

http://tuxmobil.org/toshiba.html

There are some other links there that might provide some direction on a solution. ACPI issues can be frustrating, and time consuming to solve. I hope you can find a suitable solution without spending too much time on it.
Thanks. I'll have a try.
 
Old 01-29-2010, 10:44 PM   #9
BILLYKANE
Member
 
Registered: Feb 2008
Location: Hefei,Anhui,China
Distribution: Slackware;chakra
Posts: 96

Original Poster
Rep: Reputation: 22
devwatchdog,I install FnFX but got these errors:

root@Slackware_HuDi:/home/hudi/Desktop# fnfx
FnFX Client v0.3 (c) 2003, 2004 Timo Hoenig <thoenig@nouse.net>

fatal error: Failed to get id of shared memory segment. Please make sure that the daemon 'fnfxd' is running.

root@Slackware_HuDi:/home/hudi/Desktop# fnfxd
FnFX Daemon v0.3 (c) 2003, 2004 Timo Hoenig <thoenig@nouse.net>

fatal error: Could open /proc/acpi/toshiba/keys.

Please make sure that your kernel has enabled the Toshiba option in the ACPI section.
For more information read the documentation and/or http://fnfx.sf.net/index.php?section=doc#kernel.

here is /proc/acpi information:
root@Slackware_HuDi:/proc/acpi# ls
ac_adapter button embedded_controller fadt info processor thermal_zone wakeup
battery dsdt event fan power_resource sleep video

I am sure it is cause form kernel modules toshiba_acpi/toshiba.
Thanks for your kind heart.
 
Old 01-30-2010, 08:51 AM   #10
devwatchdog
Member
 
Registered: Jan 2010
Posts: 202

Rep: Reputation: 47
Quote:
Originally Posted by BILLYKANE View Post
devwatchdog,I install FnFX but got these errors:

root@Slackware_HuDi:/home/hudi/Desktop# fnfx
FnFX Client v0.3 (c) 2003, 2004 Timo Hoenig <thoenig@nouse.net>

fatal error: Failed to get id of shared memory segment. Please make sure that the daemon 'fnfxd' is running.

root@Slackware_HuDi:/home/hudi/Desktop# fnfxd
FnFX Daemon v0.3 (c) 2003, 2004 Timo Hoenig <thoenig@nouse.net>

fatal error: Could open /proc/acpi/toshiba/keys.

Please make sure that your kernel has enabled the Toshiba option in the ACPI section.
For more information read the documentation and/or http://fnfx.sf.net/index.php?section=doc#kernel.

here is /proc/acpi information:
root@Slackware_HuDi:/proc/acpi# ls
ac_adapter button embedded_controller fadt info processor thermal_zone wakeup
battery dsdt event fan power_resource sleep video

I am sure it is cause form kernel modules toshiba_acpi/toshiba.
Thanks for your kind heart.
Yes, fnfx looks for the same acpi inputs that the toshiba_acpi kernel module provides, which obviously isn't going to do you any good in this situation seeing you can't load that module. I was hoping it might have been based on something else, but unfortunately that isn't the case.

Does your laptop by any chance have a Phoenix BIOS? I've read where some Toshiba laptops do, which could explain why the toshiba_acpi module won't load.

There is obviously some acpi functionality there. Figure out what your BIOS is and then we can pursue this further.

I've done a bit of research and have found there are plenty of older How-To documents out there available, but I haven't seen anything written recently regarding ACPI. (although there probably are more recent documents somewhere) The old documents will point you in the right direction, but little things like the directories where information is stored has changed.

Do you have acpid, or kapcid running? This is what I see when I search for acpi in the processes running:

root@mars:/proc/acpi# ps -ef|grep acpi
root 112 2 0 Jan29 ? 00:03:22 [kacpid]
root 113 2 0 Jan29 ? 00:00:09 [kacpi_notify]
root 2706 1 0 Jan29 ? 00:00:13 /usr/sbin/acpid
82 2774 2735 0 Jan29 ? 00:00:14 hald-addon-acpi: listening on acpid socket /var/run/acpid.socket
root 16232 15933 0 09:49 pts/0 00:00:00 grep acpi
root@mars:/proc/acpi#

I hope we can find an existing solution for you. Mapping ACPI events to the corresponding activity isn't very much fun.
 
Old 01-31-2010, 07:58 PM   #11
BILLYKANE
Member
 
Registered: Feb 2008
Location: Hefei,Anhui,China
Distribution: Slackware;chakra
Posts: 96

Original Poster
Rep: Reputation: 22
Quote:
Originally Posted by devwatchdog View Post
Yes, fnfx looks for the same acpi inputs that the toshiba_acpi kernel module provides, which obviously isn't going to do you any good in this situation seeing you can't load that module. I was hoping it might have been based on something else, but unfortunately that isn't the case.

Does your laptop by any chance have a Phoenix BIOS? I've read where some Toshiba laptops do, which could explain why the toshiba_acpi module won't load.

There is obviously some acpi functionality there. Figure out what your BIOS is and then we can pursue this further.

I've done a bit of research and have found there are plenty of older How-To documents out there available, but I haven't seen anything written recently regarding ACPI. (although there probably are more recent documents somewhere) The old documents will point you in the right direction, but little things like the directories where information is stored has changed.

Do you have acpid, or kapcid running? This is what I see when I search for acpi in the processes running:

root@mars:/proc/acpi# ps -ef|grep acpi
root 112 2 0 Jan29 ? 00:03:22 [kacpid]
root 113 2 0 Jan29 ? 00:00:09 [kacpi_notify]
root 2706 1 0 Jan29 ? 00:00:13 /usr/sbin/acpid
82 2774 2735 0 Jan29 ? 00:00:14 hald-addon-acpi: listening on acpid socket /var/run/acpid.socket
root 16232 15933 0 09:49 pts/0 00:00:00 grep acpi
root@mars:/proc/acpi#

I hope we can find an existing solution for you. Mapping ACPI events to the corresponding activity isn't very much fun.
hi,devwatchdog,here is it:

root@Slackware_HuDi:/home/hudi# ps -ef|grep acpi
root 245 2 0 09:40 ? 00:00:00 [kacpid]
root 246 2 0 09:40 ? 00:00:00 [kacpi_notify]
root 247 2 0 09:40 ? 00:00:00 [kacpi_hotplug]
root 2665 1 0 09:41 ? 00:00:00 /usr/sbin/acpid
82 2713 2680 0 09:41 ? 00:00:00 hald-addon-acpi: listening on acpid socket /var/run/acpid.socket
root 3640 3629 0 09:55 pts/2 00:00:00 grep acpi
root@Slackware_HuDi:/home/hudi#


acpid and kapcid are running.So frustrated problem.
 
Old 02-01-2010, 09:22 AM   #12
devwatchdog
Member
 
Registered: Jan 2010
Posts: 202

Rep: Reputation: 47
We're going to figure this out, BILLYKANE!

I started digging further into the various solutions and software available for ACPI, and saw a few that looked familiar, such as xmodmap, which I believe I have used in the past.

One I ran across is an omnibook module that could provide the functionality you need. I downloaded the source and here is the README file under the doc/ directory:

===============================================================
Kernel Support for HP OmniBooks, Pavilions and Compal laptops
===============================================================

This package is intended to provide Linux kernel support for many laptops such as:
- HP OmniBook and Pavilion
- Toshiba Satellite and Tecra which are not supported by the toshiba_acpi module
- Compal ACL00
- Many laptops manufactured by Compal Electronics, Inc as ODM

Supported features depends on the exact laptop model but may include:
- Enabling hotkey buttons
- Console (LCD display) blanking
- Battery status monitoring.
- Fan and fan policy support
- Touchpad control
- AC Adapter status monitoring
- External display monitors status monitoring and control
- LCD brightness (backlight) monitoring and control
- Docking station/port replicator status
- CPU temperature monitoring
- Mute LED monitoring and control
- Wifi and Bluetooth adapters monitoring and control
- Cooling method control
- CPU Throttling control

Useful links:

Full documentation (HOWTO, Installation instructions, Supported laptops list... ):
http://omnibook.sourceforge.net/doku.php?id=start

Sourceforge project page:
http://sourceforge.net/projects/omnibook

Other links not related to the project:

For HP Omnibook specific issues ou can see the OmniBook mailing list:
http://zurich.ai.mit.edu/mailman/listinfo/omnibook

or the Toshiba linux mailing list:
http://linux.toshiba-dme.co.jp/linux/

***********************************************

I downloaded the source found here, the latest one, but it would not compile on my system. I tried it on my Slackware system and that one failed as well. After a bit of searching, I found this reference:

http://sourceforge.net/tracker/index...60&atid=868544

You can see there is mention of a file that can be found here that is a source rpm. I extracted the source by the following steps, and it compiled properly. There is mention of a patch in the page where I found that ftp file, but I'm not sure what they are discussing there. They might be adding this code the kernel source, but that is just a guess.

I started from my home directory for my user, where the omnibook-20080627-1.1.6.src.rpm file is located.

jcwx@mars:~$ mkdir temp
jcwx@mars:~$ cp omnibook-20080627-1.1.6.src.rpm temp
jcwx@mars:~$ cd temp
jcwx@mars:~/temp$ ls
omnibook-20080627-1.1.6.src.rpm
jcwx@mars:~/temp$ rpm2cpio omnibook-20080627-1.1.6.src.rpm | cpio -idv
omnibook-2.20080627.tar.bz2
omnibook-fix-uninitialized.diff
omnibook-fix-wrong_named_variable.diff
omnibook.spec
preamble
135 blocks
jcwx@mars:~/temp$ ls
omnibook-2.20080627.tar.bz2 omnibook-fix-wrong_named_variable.diff
omnibook-20080627-1.1.6.src.rpm omnibook.spec
omnibook-fix-uninitialized.diff preamble
jcwx@mars:~/temp$ tar -xvjf omnibook-2.20080627.tar.bz2
omnibook-2.20080627/
omnibook-2.20080627/doc/
omnibook-2.20080627/doc/.svn/

(...)

omnibook-2.20080627/temperature.c
omnibook-2.20080627/blank.c
omnibook-2.20080627/laptop.h
jcwx@mars:~/temp$ ls
omnibook-2.20080627/ omnibook-fix-wrong_named_variable.diff
omnibook-2.20080627.tar.bz2 omnibook.spec
omnibook-20080627-1.1.6.src.rpm preamble
omnibook-fix-uninitialized.diff
jcwx@mars:~/temp$ cd omnibook-2.20080627
jcwx@mars:~/temp/omnibook-2.20080627$ ls
Makefile compal.c dump.c info.c misc/ sections.lds
ac.c compat.h ec.c init.c muteled.c temperature.c
acpi.c cooling.c fan.c kbc.c nbsmi.c throttling.c
battery.c display.c fan_policy.c laptop.h omnibook.h touchpad.c
blank.c doc/ hardware.h lcd.c pio.c wireless.c
bluetooth.c dock.c hotkeys.c lib.c polling.c
jcwx@mars:~/temp/omnibook-2.20080627$ make
make -C /lib/modules/2.6.27.31-smp/build SUBDIRS=/home/jcwx/temp/omnibook-2.20080627 modules
make[1]: Entering directory `/usr/src/linux-2.6.27.31'
CC [M] /home/jcwx/temp/omnibook-2.20080627/init.o
CC [M] /home/jcwx/temp/omnibook-2.20080627/lib.o

(...)

CC [M] /home/jcwx/temp/omnibook-2.20080627/throttling.o
LD [M] /home/jcwx/temp/omnibook-2.20080627/omnibook.o
Building modules, stage 2.
MODPOST 1 modules
CC /home/jcwx/temp/omnibook-2.20080627/omnibook.mod.o
LD [M] /home/jcwx/temp/omnibook-2.20080627/omnibook.ko
make[1]: Leaving directory `/usr/src/linux-2.6.27.31'
jcwx@mars:~/temp/omnibook-2.20080627$ su
Password:
root@mars:/home/jcwx/temp/omnibook-2.20080627# make install

********************************

I didn't install the module on my system as there is no need to do so. You will now have a module named 'omnibook' installed on your system, and will need to load it with:

root@mars:~# modprobe omnibook

You can then do some testing to see if any of your Fn keys are working.

Let us know if this helps you.
 
Old 02-01-2010, 09:47 AM   #13
devwatchdog
Member
 
Registered: Jan 2010
Posts: 202

Rep: Reputation: 47
After looking at the directory where the rpm is extracted, I see two 'diff' files in there, and those are the ones that are mentioned as patches.

You will need to apply those patches before compiling. The directory where the source code is is not the same name defined in the patches, so you will need to tell patch where the files are. There are other ways around this, but this one works.

jcwx@mars:~/temp$ ls
omnibook-2.20080627/ omnibook-fix-wrong_named_variable.diff
omnibook-2.20080627.tar.bz2 omnibook.spec
omnibook-20080627-1.1.6.src.rpm preamble
omnibook-fix-uninitialized.diff
jcwx@mars:~/temp$ patch < omnibook-fix-wrong_named_variable.diff
can't find file to patch at input line 3
Perhaps you should have used the -p or --strip option?
The text leading up to this was:
--------------------------
|--- omnibook-2.20071219/nbsmi.c 2008-01-02 02:00:43.000000000 +0100
|+++ omnibook-2.20071219/nbsmi.c 2008-01-02 02:01:01.000000000 +0100
--------------------------
File to patch: omnibook-2.20080627/nbsmi.c
patching file omnibook-2.20080627/nbsmi.c
jcwx@mars:~/temp$ patch < omnibook-fix-uninitialized.diff
can't find file to patch at input line 13
Perhaps you should have used the -p or --strip option?
The text leading up to this was:
--------------------------
|From: Danny Kukawka <dkukawka@suse.de>
|Subject: fix compiler warning about use uninitialized variable
|
|fix compiler warning about use uninitialized variable on ix86
|
|Signed-off-by: Danny Kukawka <dkukawka@suse.de>
|---
| init.c | 2 +-
| 1 file changed, 1 insertion(+), 1 deletion(-)
|
|--- omnibook-2.20071016/nbsmi.c (Revision 265)
|+++ omnibook-2.20071016/nbsmi.c (Arbeitskopie)
--------------------------
File to patch: omnibook-2.20080627/nbsmi.c
patching file omnibook-2.20080627/nbsmi.c
jcwx@mars:~/temp$
 
Old 02-02-2010, 10:00 PM   #14
BILLYKANE
Member
 
Registered: Feb 2008
Location: Hefei,Anhui,China
Distribution: Slackware;chakra
Posts: 96

Original Poster
Rep: Reputation: 22
Hi devwatchdog,many thanks to you. I compiled the program you give and got a error:

/home/hudi/Desktop/temp/omnibook-2.20080627/init.c: In function 'omnibook_init':
/home/hudi/Desktop/temp/omnibook-2.20080627/init.c:294: error: 'struct proc_dir_entry' has no member named 'owner'

the error line is this:
proc_entry->owner = THIS_MODULE;
I guess it may mean change proc directory owner,So I delete this line and successfully make and install the program.

after I do :

root@Slackware_HuDi:/home/hudi# modprobe omnibook
root@Slackware_HuDi:/home/hudi#

the Fn key still not work.

PS: I forget to say before, the Fn+ESC and F11+ESC are set as mute and Numlock.They work fine before I do any thing.But Fn+FX like change the light function would not work.
 
Old 02-02-2010, 10:15 PM   #15
BILLYKANE
Member
 
Registered: Feb 2008
Location: Hefei,Anhui,China
Distribution: Slackware;chakra
Posts: 96

Original Poster
Rep: Reputation: 22
I am sorry ,devwatchdog.After reboot,I can use Fn+F6/F7 to adjust the light.But Fn key still could not do on/off the touchpad and wireless net device. But it is much better now.So happy . Thanks very much.

Last edited by BILLYKANE; 02-02-2010 at 10:23 PM.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
how to enable encryption key trnz$mr Linux - Newbie 14 03-09-2010 07:05 PM
enable autocomplete tab key function AIX 5.3 watcher69b AIX 2 03-10-2009 10:35 AM
Key function changing squirrel001 Linux - Newbie 4 01-20-2009 06:50 PM
The function key for brightness up cz7asm Linux - Laptop and Netbook 0 11-09-2007 02:46 PM
Function Key eggoz Linux - Software 0 06-28-2006 08:34 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 05:11 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration