PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : !!!!!!!!Hilfe!!!!!!!! Funktionstasten auf VGN-A115M



vinoCrew84
09.09.06, 13:59
Hallo Leute! Habe mir vor ca. einer Woche Linux zugelegt. (10.1 von opensuse.org).
D.h., ich bin noch absolut grün hinter den Ohren.

Habe versucht, die Funktionstasten auf meinem VGN-A115M zum laufen zu bekommen.
Ich habe ettliche Howtos gelesen. Leider gibt es keins speziell für mein Notebook und Linux. Könnt ihr mir helfen?

Konnte bisher nur minimale Erfolge verzeichnen. Konnte z.B. mit modprobe die sonypi laden, damit ich unter KDE die Energieverwaltung habe, jedoch stoße ich schon wieder an meine Grenzen, wenn ich dieses Modul beim Booten laden will.

Die sony_acpi bekomm ich auch nicht installiert. Weiter unten in dieser Kategorie habe ich zu diesem Thema einel Link gefunden mit dessen Hilfe ich es zumindest schon den Erfolg hatte, dass er Events erkannt hat bei Druck auf die Tasten. Ich bekam die Meldung "Unbeantwortetes Ereignis: <Nr.>" fett auf dem Desktop. Nach dem Neustart wars allerdings wieder weg.


Ich hab wirklich langsam das Gefühl zu dumm für Linux zu sein. Die bunte Vielfalt der Distris und Kernel ist ja ganz gut und schön, aber leider findet man nie das was man sucht als Unerfahrener bezüglich Howtos. Naja, wie dem auch sei, wollte euch fragen, ob ihr mir mal Schritt für Schritt helfen könntet?

Grüße!

tschloss
09.09.06, 14:15
Willkommen hier im Forum.

Offenbar hast du nicht nur ein Problem mit den Funktionstasten, sondern auch mit der "!"-Taste :ugly:

Die meisten hier haben einen Filter auf Beiträge mit mehr als einem Ausrufezeichen im Titel. Und "HILFE" kannst du auch weglassen, außer du schwebst in Lebensgefahr.

Also denn mal viel Erfolg mit deinem Linux.
Greetz
Thomas

kreol
09.09.06, 14:16
Nein.


...Viele Frage- oder Ausrufezeichen im Thementitel oder in Beiträgen vergrößern die Chance auf Hilfe übrigens nicht, sondern eher umgekehrt. Gleiches gilt für Wörter wie WICHTIG, DRINGEND oder BRAUCHE HILFE. Diese Dinge sind völlig überflüssig und verärgern eher die anderen Mitglieder, als dass sie dir helfen.


Kreol

vinoCrew84
09.09.06, 14:19
Ich entschuldige mich vielmals! Wenn das hier zu den Gepflogenheiten gehört, dann solls mir recht sein! Danke für den Hinweis...

Trotzdem hätte ich gerne ne Antwort auf meine Frage!

Grüße!

kreol
09.09.06, 14:34
Kenne das VGN-A115M nicht, wie evtl. viele hier. Welche "Funktionstasten" meinst Du? Haben die mit der Energieverwaltung (http://de.wikipedia.org/wiki/Acpi) zu tun?

Wenn es ein Energieverwaltungsproblem ist: was sagt ein in der Konsole ausgeführtes "dmesg | grep acpi"?

Also was genau geht nicht? Beschreibe Dein Problem bitte nochmal für die, denen kein VGN-A115M zur Verfügung steht.


Kreol

vinoCrew84
09.09.06, 14:44
Also, o.k.!

Auf dem Vaio-Notebook (wie auf vielen anderen auch) gibt es spezielle Tasten für die Helligkeit (rauf,runter), den Display-Switch, Pause, Standby, Hibernate-Modus, eine freibelegbare Funktionstaste (S1), Lautstärke (+/-) und ein Auswurf-Knopf für das Laufwerk. Diese ganzen Sachen funktionieren nicht! Ich habe herausgefunden, dass ich dafür einen speziellen acpi treiber brauche für sony. Bzw. habe ich gelesen, dass sonypid reichen würde, was bei opensuse schon dabei ist und für die Energieverwaltung zuständig ist.

Habe sonypid schon über modprobe geladen, was mir dann ermöglicht, den Energiestatus im KDE-Kontrollzentrum anzuzeigen. Ich wüsste aber gerne, wie ich ihn dazu bringe, dieses Modul beim starten zu laden??

ABER: mit diesem Modul funktionieren die Funktionstasten nach wie vor nicht. Deswegen steht in diversen Quellen, dass ich die sony_acpi brauche. Diese allerdings bekomme ich nicht installiert, weil ich zu doof bin. (google: "sony_acpi").
Außerdem gibts nur Howtos für andere Notebooks und Distris.

Hab mal dmesg | grep acpi im terminal eingegeben:

sony_acpi: module not supported by Novell, setting U taint flag.

sepp2k
09.09.06, 16:17
Die meisten hier haben einen Filter auf Beiträge mit mehr als einem Ausrufezeichen im Titel.
Das ist zwar jetzt total off topic, aber wo gibt's hier im Forum denn bitte eine Filterfunktion? Die habe ich hier ja noch gar nicht gesehen - wäre aber echt mal praktisch.
Oder meintest du einen mentalen Filter o.ä.?

tschloss
09.09.06, 17:41
Das ist zwar jetzt total off topic, aber wo gibt's hier im Forum denn bitte eine Filterfunktion? Die habe ich hier ja noch gar nicht gesehen - wäre aber echt mal praktisch.
Oder meintest du einen mentalen Filter o.ä.?
:D ich meinte eher den mentalen Filter ....

Wobei man zB mit Greasemonkey sowas sicher abbilden könnte (die Werbetabelle ist so schon verschwunden ;) )

Grüße
Thomas

vinoCrew84
10.09.06, 09:02
Hab noch ein kleines Perl-Script im Netz gefunden:


#!/usr/bin/perl
###########
#
# Daemon to monitor sonypi events and do things, on machines that have
# the sony programmable I/O device. Requires the "sonypid" daemon as
# input, and the "spicctrl" and "readeontool" programs for output.
#
# There is a table of actions to take for each sonypi function-key event.
# Only a few of the events (notably eject, brightness, video out, and
# suspend to disk) are used.
#
# The path may need customization for your system; it works on my VGN-A197
# machine with Debian sarge and radeontool and sonypid installed in
# /usr/local/bin.
#
# Best of luck; questions, comments, or revisions may be directed to
# "deforest@boulder.swri.edu".
#
# Copyright Craig DeForest, 2003
#
# Minor adjustments to fit into Debian's framework and support
# Sony's VAIO A-Series by Denny Priebe, 2004
#
# You may distribute this under the terms of the GPL version 2; the
# complete license is available at http://www.gnu.org/licenses/gpl.txt
#

$ENV{PATH} = '/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin';
$ENV{SHELL} = '/bin/sh' if exists $ENV{SHELL};
delete @ENV{qw(IFS CDPATH ENV BASH_ENV LD_LIBRARY_PATH)};

##########
# Some setup variables collected here for convenience

$bright_steps = 10;
$spicctrl = 'spicctrl';

# /dev/cdrom is usally a good idea. Change this if needed.
$cdrom = "/dev/cdrom";

# Change this to the command that usually suspends your machine.
# It differs between the existing implementations (pmdisk, swsusp, swsusp2)
$suspend_command = "true";

##########
# Some brightness settings
$minbs = 0;
$maxbs = 255;
$bs = ($maxbs-$minbs+1)/$bright_steps;

##########
# What to do when the raise brightness key is hit
$brighter = sub {
$B = int(`$spicctrl -B`) + int($bs);
if ($B <= $maxbs) {
`$spicctrl -b $B`;
}
};

##########
# What to do when the lower brightness key is hit
$darker = sub {
$B = int(`$spicctrl -B`) - int($bs);
if ($B >= $minbs) {
`$spicctrl -b $B`;
}
};

##########
# What to do when the toggle video out key is hit
$toggle_vo = sub {
$rv = `radeontool dac`;
@words = split(m/\s+/,$rv);
$status = $words[$#words];
$ns = "off" if $status eq "on";
$ns = "on" if $status eq "off";
`radeontool dac $ns && logger -t sonypidd "Video out is $ns"`;
};

##########
# What to do when the suspend key is hit
$suspend = sub {
`logger -t sonypidd "Suspending"`;
`$suspend_command`;
};

##########
# Table of function-key actions. List ref containing strings
# executes strings as shell commands; code ref gets executed in situ.

%cmds = (
"F5" => $darker, # Fn-F5 - decrease brightness
"F6" => $brighter, # Fn-F6 - increase brightness
"F7" => $toggle_vo, # Fn-F7 - toggle video out
"F12" => $suspend, # Fn-F12 - suspend to disk
"E" => ["eject $cdrom"], # Eject button aka Fn-E
);

#
# Daemon stuff -- check the lockfile (There Can Only Be One!) and
# spawn twice to disassociate from the terminal.
#
if(open FILE,"</var/run/sonypidd.pid" ) {
chomp($otherpid = <FILE>);
@lines = `ps -e`;
@found = grep(/^\s*$otherpid\s/o && /sonypidd/,@lines);
if(@found) {
print STDERR "Sonypidd is already running (PID $otherpid)\n";
exit(1);
}
}

open FILE,">/var/run/sonypidd.pid" || die "Couldn't open lock file\n";
exit 0 if(fork);
exit 0 if(fork);
print FILE $$,"\n";
close FILE;


##########
# Open a sonypid process to read the sonypi device
pipe READ,WRITE;
$pid = fork();
$| = 1;
if(!$pid) {
close READ;
open STDERR,">&WRITE";
open STDOUT,">&WRITE";
exec('sonypid');
die;
}
close WRITE;

##########
# Interrupt handling -- clean up the sonypid before dying...
$die = sub{ kill(9,$pid); unlink("/var/run/sonypidd.pid"); exit 1; };
$SIG{HUP} = $SIG{INT} = $SIG{QUIT} = $SIG{TERM} = $die;


##########
# Event loop -- grab the function-key events, look 'em up, and do 'em.
# Go away as soon as the sonypid dies.

while(defined( $_ = <READ> )){
s/^Event:\s*//;
@words = split(m/\s+/,$_);

if($words[0] =~ m/^Fn-([0-9A-Za-z]+)$/) {
my $f_no = $1;
if(defined($cmds{$f_no})) {
if(ref $cmds{$f_no} eq 'CODE') {
&{$cmds{$f_no}};
} elsif(ref $cmds{$f_no} eq 'ARRAY') {
for(@{$cmds{$f_no}}) {
`$_`;
}
}
}
}
}

exit 0;



Hiermit kann ich mein CD-Laufwerk auswerfen, aber ich muss es jedesmal wieder neu per Hand aufrufen, scheint nicht dauerhaft zu laufen.
Was kann ich tun, damit es wie ne Art Daemon läuft? Jmd. ne Idee?