[T21] Bluetooth an/aus

jjk

New member
Themenstarter
Registriert
15 Jan. 2008
Beiträge
64
Hi Leute,

ich habe heute meinem T21 Bluetooth spendiert über den Ultraport-USB Anschluss. Hardwareseitig ist alles klar, funzt :).

Nun hab ich mir gedacht, schön wärs das Ding an und aus machen zu können.
Habe mir 2 Scripte gebaut, eins zum Einschalten, eines zum Ausschalten.
Wenn das Bluetoothdongel an ist, kann ich mit
Code:
hciconfig hci0 down;
rmmod hci_usb
das Dongle ausschalten und mit
Code:
modprobe hci_usb;
hciconfig hci0 up
wieder einschalten. Schön ist halt, dass es wirklich ausgeht, also auch die LED geht aus.

Nun möcht ich den unbenutzten "ThinkPad" Button nutzen und damit so ein Toggle Script aufrufen.

Jetzt meine zu meiner Frage:
Ich kann mit der Taste ja nur einen Befehl aufrufen, also brauch ich ja etwas was guckt ob der Dongle An ist. Tja, wie mach ich das? Hat da jemand erfahrungen in bash-Programmierung?

Dachte ich mach n
Code:
lsmod | grep hci_usb
, aber wie dann weiter? Also wie kann ich die Ausgabe des Befehls verarbeiten?

Vorschläge?

Gruß und frohe Ostern
Jens
 
Lass mich raten: Google ist ausgefallen und andere Suchmaschinen und/oder LInux-Foren kennst Du nicht ... ?
Code:
if [ condition ]
then 
        action
elif [ condition2 ]
then
        action2
.
.
.
elif [ condition3 ]
then

else
        actionx
fi

Bash by example, Part 1
 
Naja, es hätte ja sein können das hier jemand sowas schonmal versucht hat, hab wohl zu speziell bei google gesucht ...

Ich werd mal weiterschauen, vllt. bekomm ich das ja auch so hin ...

so long
 
Ich denke, nicht jeder muss unbedingt bash lernen. Falls du es noch nicht hast, hiermit sollte es laufen.
Code:
if [ `lsmod | grep hci_usb | wc -w` > 0 ]; then
  hciconfig hci0 down;
  rmmod hci_usb
else
  modprobe hci_usb;
  hciconfig hci0 up
fi
Ist zwar dreckig, aber sollte funktionieren (wenn es keine Abhängigkeiten gibt).
 
In Fedora 8 gibt es das ganze schon und zusammen mit meinem T42 gibt es auch die passenden Tasten. Dumm nur, seit dem es nicht mehr ibm_acp, sondern thinkpad_acpi heißt, dass dann diese Scripte nicht richtig funktionieren. Die Lösung ist einfach, man muss die Keymappings anpassen.
 
Hallo,

hab auch noch ein nützliches Skript im Netz gefunden was auf meinem x60 wunderbar funktioniert.
Vielleicht hilft es ja jemandem habe auch eine Weile nach so etwas gesucht.

Gruß benkap

Code:
#!/bin/sh
# Schaltet den Bluetooth-Status um

# Bluetooth-Status holen
DEVICE=/proc/acpi/ibm/bluetooth
BTSTATE=`cat $DEVICE | grep status | awk '{print $2}'`

# Switchen je nach Status
case "$BTSTATE" in
enabled)
TITLE="Bluetooth ist aktiviert"
QUESTION="Soll Bluetooth nun deaktiviert werden?"
;;
disabled)
TITLE="Bluetooth ist deaktiviert"
QUESTION="Soll Bluetooth nun aktiviert werden?"
;;
*)
zenity --warning --title="Bluetooth" --text="Bluetooth-Status konnte nicht ermittelt werden."
exit 1
esac

# Nachfragen
zenity --question --title="$TITLE" --text="$QUESTION"
rc=$?
if [ "${rc}" -eq "1" ]; then
echo "Abbruch. Keine Änderung."
exit 2
fi

# Status ausgeben
if [ "$BTSTATE" = "enabled" ]
then
echo "Deaktiviere Bluetooth."
BTSTATE="disable"

else
echo "Aktiviere Bluetooth."
BTSTATE="enable"
fi

# Status ändern
gksu --description "Bluetooth-Umschalter" -- sh -c 'echo -n "'$BTSTATE'" > '$DEVICE
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben