• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[solved] Automatische Bluetooth-Verbindung zum ISDN AP

pekabe

Hacker
Hallo,

habe SuSE 10 auf dem PC und will mich via AVM BlueFritz! USB-Dongle und ISDN Access Point ins Internet einwählen. Bluetooth-Verbindung herstellen mittels ciptool connect <adresse> als su klappt perfekt, auch die Einwahl mit KInternet. Soweit, so gut. Allerdings erscheint mir der Weg über die Konsole, als su einloggen, ciptool blablabla eingeben recht umständlich. Wenn ich das KDE-Bluetooth-Modul starte (blaues Symbol rechts unten) wird der USB-Dongle erkannt, aber ich schaffe es nicht, dass die Verbindung zum Access Point automatisch oder zumindest mit einem Mausklick hergestellt wird. Wenn ich mich mittels ciptool connect verbinde, wird die aktive Verbindung aber dargestellt.

Läßt sich KDE-Bluetooth so einrichten, dass der PC automatisch mit dem ISDN Access Point verbunden wird. Wenn ja, wie? Bin für jeden Tip dankbar.

pekabe
 
OP
P

pekabe

Hacker
Nachdem vier Wochen lang keine Antwort kommt, gehe ich mal davon aus, dass es keine Lösung dafür gibt. Schade. Immerhin war es mir mit SuSe Linux 10 nun endlich möglich, überhaupt eine Bluetooth-Verbindung herzustellen, aber der angebliche Komfort von kdebluetooth stellt sich einfach nicht ein. Auch auf der kdebluetooth-Homepage gibt es keine verständliche Anleitung.

Vielleicht meldet sich ja hier doch noch jemand, der das gleiche Problem hatte und es lösen konnte.

pekabe
 

*Mr.X*

Newbie
Hallo,
nach endlos langen Nächten und mittlerweile (fast) grauen Haaren bin ich auch genau an diesem Punkt angekommen. Ich bin sogar noch einen Schritt weiter: Ich habe den Aufruf von ciptool connect <adresse> als Discovery Job im KDE-Bluetooth-Modul eingebunden. Das klappt perfekt - die Verbindung zum APX wird aufgebaut und ich kann mich ins Internet einwählen, sobald ich den Dongle anstecke und der APX gefunden wird.
Jetzt kommt das große ABER: Das ganze geht nur wenn ich als root angemeldet bin. Das gleiche prozedere als "normaler" User bringt mir lediglich ein "cant create connection - permission denied". Jetzt bin ich nun wieder am verzweifeln und Haareraufen.
Muß ich mich denn wirklich jedesmal erst als root anmelden, damit ich ins Internet darf :cry:
 
OP
P

pekabe

Hacker
Hallo,

habe nicht mehr daran geglaubt, noch eine Reaktion auf mein Problem zu bekommen! Vielen Dank erstmal.
Kannst Du mir genauer beschreiben was zu tun ist, um die Sache mit dem Discovery Job hinzubekommen? Ich stehe in dieser Sache wirklich vor einem Rätsel.
Zur Zeit lese ich mich tiefer in Linux ein, wälze gerade den dicken "Kofler", das Linux-Standardwerk. Leider hält sich dieser Linux-Guru bei Bluetooth mangels Erfahrung auch ziemlich bedeckt.
Die Verbindung mittels ciptool connect als su in einer shell klappt ja technisch einwandfrei, aber komfortabler wäre es natürlich schon wie mit der Fritz!-Software unter Win. Aber das darf man hier ja nicht so laut sagen... Ansonsten bin ich von Linux wirklich begeistert, je tiefer man einsteigt, desto mehr Spaß macht es eigentlich.
Vielen Dank schon mal für weitere Hilfe!

pekabe
 

*Mr.X*

Newbie
Hallo,

Kannst Du mir genauer beschreiben was zu tun ist, um die Sache mit dem Discovery Job hinzubekommen?
Klick das Symbol für das KDE-Bluetooth-Modul mit rechter Maustaste an und wähle dort configuration>configure connections (könnte auch leicht ähnlich heißen) Bei den drei Reitern auf der Konfigurationsseite gibt es dann einen für Discovery Job. Dort erstellst du einen neuen Job und nimmst die einfache Benachrichtigung als Vorlage. Jetzt kannst du noch einstellen, das der Job nur für ein bestimmtes Gerät (dein AccesPoint) gestartet werden soll.
Das Script mußt du nun noch editieren. Es befindet sich normalerweise unter /root/.kde/share/apps/discover.../deinJobName (ich hoffe ich hab das aus dem Gedächtnis richtig hinbekommen ;) In der Verzweigung für 'start' trägst du die Zeile /PfadZuCipTool/ciptool connect <adresse> ein.

Beim nächsten Erkennen des AP sollte jetzt auch automatisch verbunden werden. Aber wie gesagt, funktioniert (bei mir bis jetzt) nur als root. Wenn da noch jemand eine weitergehende Lösung hätte, wär ich sehr glücklich.

MrX

P.S.: Wenn das jetzt zu ungenau war, dann schau ich heute Abend zu Hause nochmal nach und meld mich nochmal. Hab das jetzt frei aus dem Gedächtnis aufgeschrieben.
 
OP
P

pekabe

Hacker
Vielen Dank für die schnelle Antwort.
Habe jetzt versucht auf meinem PC alles nachzuvollziehen. Allerdings bin ich jetzt bei der "Verzweigung für 'start'" hängengeblieben. Eine solche Zeile finde ich nicht. Es gibt Lost und Found, Run und Configure... Kannst Du vielleicht den Inhalt Deiner Datei hier posten, das würde mir sicher weiterhelfen.
Danke schon mal.

pekabe
 

*Mr.X*

Newbie
Hallo pekabe,

ich werd den Inhalt der Datei heute Abend posten!

Nun nochmal zu meinem "root" Problem:
Also die Meldung: "can't create connection - permission denied" scheint vom AccesPoint ausgelöst zu werden. Ich habe zumindest keine Einträge die Ansatzweise auf eine Zugriffsverweigerung hindeuten in /var/log/messages oder warn gefunden.

Offensichtlich liest er beim Verbindungsaufbau die Datei /etc/bluetooth/pin nicht aus, in der das Bluetoothpasswort gespeichert ist. Egal ob diese Datei vorhanden ist und egal was drinsteht, es kommt immer die gleiche Meldung :? Vielleicht wird das Bluetoothpasswort ja nur als root automatisch in /etc/bluetooth/pin gesucht? Und als "normaler" Nutzer irgendwo anders? Aber wo? Gibt es unter Linux eine Möglichkeit rauszubekommen, welche Dateien von einem Prozess geöffnet werden? Wie sieht diese Möglichkeit aus?

Gruß
MrX
 

*Mr.X*

Newbie
Wie versprochen:
Das von mir verwendete Template ist "Device_Notification":
Code:
#!/bin/sh

# This script will display a passive notification window
# for a few seconds if a device appears or disappears
#
# --- START OF CONFIGURATION SECTION ---

# Number of seconds the passive popup is visible
# Example: SECONDS="5"
SECONDS="5"

# --- END OF CONFIGURATION SECTION ---


case "$1" in
    run)
        export SECONDS
        /usr/local/bin/isdnAccess start
        $JOB_TEMPLATE_DIR/Device_Notification.real $@
        ;;
    configure)
        kedit $JOB_PATH
        ;;
esac
Das Script in /usr/local/bin/isdnAccess start sieht dann so aus:
Code:
case "$1" in
    start)
          /usr/bin/ciptool connect XX:XX:XX:XX:XX:CC
        ;;
    stop)
        /usr/bin/ciptool release XX:XX:XX:XX:XX:CC
        ;;
esac
Gruß
MrX
 
OP
P

pekabe

Hacker
Klasse MrX, vielen Dank!

Habe leider nicht so oft Zeit, am Linux herumzutüfteln. Wird sich wohl noch bis zum Wochenende ziehen, bis ich das Script ausprobieren kann.
Möglicherweise kriegen wir es gemeinsam hin. Bis dann!

pekabe
 

*Mr.X*

Newbie
Hallo pekabe,

vergiss die Variante mit dem Discovery Job! Ich hab jetzt eine Lösung, die funktioniert automatisch und nicht nur mit root!

Ich habe das Initscript für den Start vom Bluetooth etwas erweitert und das funzt bei mir hervorragend :p

/etc/init.d/bluetooth:
Code:
...
	if [ $DUND_START = "yes" ] && [ -x "$DUND_DAEMON" ] ; then
		$DUND_DAEMON $DUND_DAEMON_ARGS
		echo -n " dund"
	fi
# **************************************************************************************
#  Das soll automatisch eine Verbindung zu einem Bluefritz! AP herstellen
	if [ $CIP_START = "yes" ] && [ -x "$CIP_DAEMON" ] ; then
		$CIP_DAEMON $CIP_DAEMON_ARGS
		echo -n " cip"
	fi
# **************************************************************************************
	if [ "$BT_DESKTOPFILE" != "" ] && [ -e /var/lib/Desktop/ ]; then
		cp "$BT_DESKTOPFILE" /var/lib/Desktop/
	fi;
...
/etc/sysconfig/bluetooth:
Code:
...
############ CIP

## Path:        Hardware/Bluetooth
## Description: Start CIP
## Type:        yesno
## Default:     no
## ServiceRestart: bluetooth
CIP_START="yes"

## Path:        Hardware/Bluetooth
## Description: Set responsible utility for CIP
## Type:        list("/usr/bin/ciptool","")
## Default:     "/usr/bin/ciptool"
## ServiceRestart: bluetooth
CIP_DAEMON="/usr/bin/ciptool"

## Path:        Hardware/Bluetooth
## Description: Arguments for CIP
## Type:        list("connect", "")
## Default:     "connect"
## ServiceRestart: bluetooth
CIP_DAEMON_ARGS="connect XX:XX:XX:XX:XX:XX "
Das XX:XX:XX:XX:XX:XX in der letzten Zeile bitte durch die BADDR deines AP ersetzen ;)
Damit wird automatisch und unabhängig vom Nutzer eine Verbindung vom BlueFritz! USB zum Accesspoint hergestellt. Hat bei mir mit eingestecktem Dongle beim Systemstart und auch mit Hotplug funktioniert.

Viel Erfolg beim testen!

MrX
 
OP
P

pekabe

Hacker
Hallo MrX!

Sieht ja gut aus! Werde es am Wochenende testen und Bescheid geben.

Grüße aus dem Allgäu,
pekabe
 
OP
P

pekabe

Hacker
Genial und perfekt! Great job, Mr.X !
Klappt hervorragend, habe die Scripts 1:1 abgetippt und es hat sofort funktioniert! Jetzt wird auch der CIP-Daemon in der YaST-Konfiguration von Bluetooth angezeigt. Ich musste lediglich mein KInternet wieder von "Falls hotplugged" auf "Bei Systemstart" umstellen, neu booten und schon hat kdebluetooth automatisch die Verbindung hergestellt.

Großartig! Vielen herzlichen Dank, wie bist Du bloß drauf gekommen?

Grüße
pekabe
 

*Mr.X*

Newbie
pekabe schrieb:
Großartig! Vielen herzlichen Dank, wie bist Du bloß drauf gekommen?
Hallo pekabe,
Hab so ziemlich jeden Ansatz, der sich in diversen Suchen bei Google und Co. finden ließ, ausprobiert. Bin aber immer an der "root-Problematik" hängengeblieben (auch hier gibt es ja einige (alte, ungelöste) Threads zu diesem Thema). Deshalb hab ich nach einer Lösung gesucht, um den Blauzahn wenigstens beim Systemstart automatisch connected zu kriegen, der Rest war dann try & error.
Das das ganze auch für Hotplug funktioniert war nicht beabsichtigt - wenn ich das hier ehrlicher Weise sagen darf - ;) ist aber umso besser!

@Moderator: Ein HowTo dazu schreiben?

@pekabe: Den Thread als "Gelöst" markern !?

Gruß MrX
 
Oben