Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Autom. Script ausführen wenn USB Gerät angeschlossen wird
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
Dimitri
Guru
Guru


Joined: 24 Jul 2002
Posts: 373
Location: Niederbayern/Germany

PostPosted: Mon Sep 09, 2002 6:42 am    Post subject: Autom. Script ausführen wenn USB Gerät angeschlossen wird Reply with quote

Hi,
ist es möglich ein Script auszuführen wenn ich ein USB Gerät einstecke. (Möchte meine Kamera automatisch mounten)

Dim
Back to top
View user's profile Send private message
zbled
Apprentice
Apprentice


Joined: 18 Jun 2002
Posts: 216
Location: Bukowski's Piano Bar

PostPosted: Mon Sep 09, 2002 6:58 am    Post subject: Reply with quote

da gibt es doch im kernel die option "hot plugable devices". hat nicht das damit zu tun? wenn du kernel automount oder so ähnlich aktiviert hast, müßte linux, sobald es erkennt, daß das und das modul für das gerät benötigt werden, automatisch laden.
Back to top
View user's profile Send private message
Dimitri
Guru
Guru


Joined: 24 Jul 2002
Posts: 373
Location: Niederbayern/Germany

PostPosted: Mon Sep 09, 2002 7:12 am    Post subject: Reply with quote

Hi,
es geht nicht darum das Gerät zu erkennen. Das geht schon alles. Ich möchte es nur sobald es eingesteckt wird einen Mount Befehl ausführen. Automount ist bei mir mit einkompiliert. Muss ich mal sehen wie der funktioniert.

Dim
Back to top
View user's profile Send private message
cyc
Tux's lil' helper
Tux's lil' helper


Joined: 28 Jun 2002
Posts: 89

PostPosted: Mon Sep 09, 2002 12:40 pm    Post subject: Reply with quote

schreib mal ob du was erreichen konntest, ich hab das gleiche vor (mit ner digicam)
_________________
http://www.gentoo-de.org
Gentoo userpage
Back to top
View user's profile Send private message
Konfuzius
n00b
n00b


Joined: 24 Jul 2002
Posts: 58
Location: Schwarzenbek

PostPosted: Mon Sep 09, 2002 12:56 pm    Post subject: Reply with quote

zbled wrote:
da gibt es doch im kernel die option "hot plugable devices". hat nicht das damit zu tun? wenn du kernel automount oder so ähnlich aktiviert hast, müßte linux, sobald es erkennt, daß das und das modul für das gerät benötigt werden, automatisch laden.


hot plug bedeutet ja nur, dass du das Gerät im laufenden Betrieb anschliessen oder auch wieder abziehen kannst, ohne dass der Kernel ne Grätsche macht, bzw. er das Gerät auch findet..

Ohne hot plug muss das Gerät sonst bereits beim booten des Systems angeschlossen gewesen sein, damit das Ding gefunden und betrieben werden kann..
_________________
pedo mellon a minno
Seti@Home:
[img:e92bd75090]http://www.fullmoonlinux.de/seti/userstats.php?bcolor=128,128,128&tcolor=129,128,128&l=1&email=1[/img:e92bd75090]
Back to top
View user's profile Send private message
Beforegod
Bodhisattva
Bodhisattva


Joined: 10 Apr 2002
Posts: 1494
Location: Frankfurt/Main

PostPosted: Mon Sep 09, 2002 2:37 pm    Post subject: Kernel Messages und Cron Reply with quote

Du könntest (auch wenns nur ein workaround ist) das ganze mittels den Kernel Messages und Cron machen.

Lass alle 30 Sekunden ein Skript laufen das nach dem Anschluss der Kamera sucht!

dmesg | grep usb (oder Kamerabezeichnung)
und dann auswerten..
(wenn usb geladen => mount /dev/sda1 /mnt/digi)


kann dir aber leider auch nicht das skript schreiben, da ich keine Ahnung von Bash Programmierung habe ;)
Back to top
View user's profile Send private message
KiLLaCaT
Guru
Guru


Joined: 24 Jul 2002
Posts: 306
Location: Linz, Austria

PostPosted: Mon Sep 09, 2002 3:30 pm    Post subject: Reply with quote

also ich bin zwar kein profi, aber einen ansatz kann ich liefern:
Code:

#!/bin/bash
#Programm autostart.sh
if [ -e "/dev/usb/<camera_oder_so>"]; then
  mount /dev/usb/<camera_oder_so> /mnt/camera

else
   wait 30
   autostart.sh
fi


das problem is, dass er wissen muss, ob die camera angestöpselt is. man könnte ja die standard-ausgabe in eine datei umleiten, wenn er dann meldet, dass was eingesteckt wurde schreibt er das in die datei. wenn man dann ein if commando laufen lasst, das schaut ob die meldung über eine usb device steht, und dann mit dem obigen scrpt weitermacht, währe das prob gelöst 8)
Back to top
View user's profile Send private message
KiLLaCaT
Guru
Guru


Joined: 24 Jul 2002
Posts: 306
Location: Linz, Austria

PostPosted: Mon Sep 09, 2002 4:26 pm    Post subject: Reply with quote

achja: unter
http://www.tuxhausen.de/kurs_bash_prog.html
findest du (fast alles was du dazu brauchst)

MfG

jax
Back to top
View user's profile Send private message
sesc
n00b
n00b


Joined: 01 Sep 2002
Posts: 24
Location: Hilden, Germany

PostPosted: Mon Sep 09, 2002 8:08 pm    Post subject: post-install Reply with quote

Hi,
man könnte auch folgendes machen, was wesentlich eleganter wäre (wenn es funktioniert :)):

es handelt sich ja um ein usb-storage-device, also wird vom kernel automatisch das entsprechende modul geladen. der kernel guckt hierfür in die modules.conf und diese bietet die option "post-install" an.
der eintrag "post-install usb-storage mount verzeichnis" müsste also das tun, was du willst!

Ciao
Sebastian
_________________
Und Gott sprach: tar -xf universe.tar
Back to top
View user's profile Send private message
Dimitri
Guru
Guru


Joined: 24 Jul 2002
Posts: 373
Location: Niederbayern/Germany

PostPosted: Mon Sep 09, 2002 8:12 pm    Post subject: Reply with quote

Hi,
das ganze geht ganz einfach wenn man weiss wie *gg*.
Unter /proc/sys/kernel gibt es eine Datei hotplug. darin steht der Name des Scripts das aufgerufen wird, wenn ein USB Gerät eingesteckt wird.
Standardmässig ist das /sbin/hotplug. Diese Datei gibts unter Gentoo anscheinend nicht. Deshalb einfach eine erstellen:

#!/bin/sh
mount /mnt/camera

Und fertig. Nicht vergessen die Datei ausführbar zu machen.
Der nächste Schritt ist dann, automatisch auf dem Desktop ein Icon erscheinen zu lassen, mit dem man den entsprechenden Ordner öffnen kann. (So wie's in der neuen Mandrake 9 Beta gemacht ist) Wenn ich das hingebracht hab, schreib ich's wieder rein.

Dim
Back to top
View user's profile Send private message
sesc
n00b
n00b


Joined: 01 Sep 2002
Posts: 24
Location: Hilden, Germany

PostPosted: Mon Sep 09, 2002 8:18 pm    Post subject: Reply with quote

Dimitri wrote:
Hi,
das ganze geht ganz einfach wenn man weiss wie *gg*.
Unter /proc/sys/kernel gibt es eine Datei hotplug. darin steht der Name des Scripts das aufgerufen wird, wenn ein USB Gerät eingesteckt wird.
Standardmässig ist das /sbin/hotplug. Diese Datei gibts unter Gentoo anscheinend nicht. Deshalb einfach eine erstellen:


hi,
doch doch, die Datei gibts, zumindest wenn das System "anständig" installiert ist :)
Nach emerge sys-apps/hotplug hast du sie auch!

Ciao
Sebastian

Anmerkung: Ich habe aber folgendes in der readme des hotplug-pakets gefunden:
Quote:

- Drivers may provide a per-device setup script that's invoked after
they modprobe: /etc/hotplug/usb/MODULENAME is called.

EXAMPLE: When you connect your USB PDA, you might want to
automatically start its hotsync daemon. (visor)

_________________
Und Gott sprach: tar -xf universe.tar
Back to top
View user's profile Send private message
rs
n00b
n00b


Joined: 20 Jun 2002
Posts: 4

PostPosted: Mon Sep 09, 2002 10:40 pm    Post subject: Reply with quote

KiLLaCaT wrote:
also ich bin zwar kein profi, aber einen ansatz kann ich liefern:
Code:

#!/bin/bash
#Programm autostart.sh
if [ -e "/dev/usb/<camera_oder_so>"]; then
  mount /dev/usb/<camera_oder_so> /mnt/camera

else
   wait 30
   autostart.sh
fi


das problem is, dass er wissen muss, ob die camera angestöpselt is. man könnte ja die standard-ausgabe in eine datei umleiten, wenn er dann meldet, dass was eingesteckt wurde schreibt er das in die datei. wenn man dann ein if commando laufen lasst, das schaut ob die meldung über eine usb device steht, und dann mit dem obigen scrpt weitermacht, währe das prob gelöst 8)


Naja, das Skript startet sich alle 30 Sekunden selbst neu, was früher oder später den Speicher vollfüllt und das ist gar nicht gut. Eine herkömmliche Endlosschleife hätte es auch getan.
Back to top
View user's profile Send private message
SNo0py
Apprentice
Apprentice


Joined: 12 Jul 2002
Posts: 270
Location: Vienna, Austria

PostPosted: Sun Oct 20, 2002 1:37 pm    Post subject: Reply with quote

Und, hat schon jemand eine elegante Lösung gefunden? Die mit dem Cron-Script halte ich nicht für sinnvoll, da Polling nur CPU-Zeit in Anspruch nimmt. Wozu gibts die hotplug-Scripts?

lg
Mike
_________________
Sex is like hacking. You get in, you get out, and you hope you didnt leave something behind that can be traced back to you.
Back to top
View user's profile Send private message
Henning
Apprentice
Apprentice


Joined: 08 Sep 2002
Posts: 196
Location: Braunschweig

PostPosted: Sun Oct 20, 2002 3:17 pm    Post subject: Reply with quote

Ähm, ?

welche elegante Lösung meinst du denn? Ich bin mir einfach gemäß den Angaben in diesem Thread vorgegangen.
Also zuerst 'emerge hotplug', dann unter /etc/hotplug/usb das Script mit dem mount Befehl bereitstellen. Bei mir war das z.B. usb-storage um einen USB-Stick bzw. Card-Reader einzubinden.
Das war's.
Wenn man verschiedene Devices nutzen will, muß man den mount natürlich etwas intelligenter gestalten.

Einziges Problem ist das unplug. Hier muß natürlich zuerst ein umount gemacht werden, und dann das Gerät entfernt werden. Ist halt wie bei ner floppy.

Wo ist also daß Problem?

Henning
Back to top
View user's profile Send private message
SNo0py
Apprentice
Apprentice


Joined: 12 Jul 2002
Posts: 270
Location: Vienna, Austria

PostPosted: Mon Oct 21, 2002 5:35 am    Post subject: Reply with quote

Na ja, ich möchte meine Digicam "deppensicher" an den Server hängen, d.h. wenn sie an den USB-Port gehängt und aktiviert wird, dann soll sie automatisch mounten und die Bilder sollen via Samba freigegeben werden. Um das ganze möglichst einfach benutzbar zu machen muss natürlich auch ein automatisches unmount funktionieren, damit der nächste wieder anstecken kann.

Im Sinne der Einfachheit sollte natürlich nicht "per Hand/SSH" ungemounten werden...

lg
_________________
Sex is like hacking. You get in, you get out, and you hope you didnt leave something behind that can be traced back to you.
Back to top
View user's profile Send private message
Henning
Apprentice
Apprentice


Joined: 08 Sep 2002
Posts: 196
Location: Braunschweig

PostPosted: Mon Oct 21, 2002 3:04 pm    Post subject: Reply with quote

Hallo,

also das mit mount geht ja problemlos. Beim umount muß sicher Forschungsarbeit geleistet werden.
Es kann ja schließlich nicht verhindert werden, jemand das USB Device zieht, bevor der umount gelaufen ist.
In der Praxis hat das trennen bei mir funktioniert. Ich möchte meine Hand allerdings nicht dafür ins Feuer legen, daß das Dateisystem nicht beschädigt wird, wenn beim unplug gerade auf das device geschrieben wird.
Da das mounten ja über ein script geschieht, könnte man vorher vielleich sicherheitshalber ein umount absetzen.
Hat schon mal jemand getestet, ob das script auch beim unplug aufgerufen wird?

Ach ja, zum Thema automatisch ein Icon auf dem Desktop erscheinen lassen.
Das geht relativ einfach (KDE). Man erstellt das gewünschte Icon zunächst von Hand und verschiebt es aus /home/userid/Desktop an einen 'sicheren' Ort.
Das Hotplug-Script kopiert es dann einfach wieder zurück.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum