Page 1 of 1
USB-Problem
Posted: 30. Oct 2007 12:07
by xirox
Hallo allerseits,
mal wieder ein problemchen.
Ich will folgendes hinbekommen.
Grundsätzliches:
Ich habe den Quelltext zu einer kleinen ausführbaren Datei like "Hello World"
Diese Datei muss ich immer via Hand starten -> an der Stelle kommt mein Problem.
Ich will dass das Programm automatisch startet wenn etwas an den USB slot angeschlossen wird , beispielsweise ein USB-Stick.
Wo kann ich die ausführbare Datei hinstecken und an welcher stelle im System muss ich
den Aufruf hinmachen?
Kann ich auch auch nur den Quelltext im System hinterlegen, oder braucht das System
eine ausführbare Datei? Wird der Quellcode vllt nochmal Compiliert?
Hoffe auf schnelle Antwort
Gruß
Xirox
???
Posted: 30. Oct 2007 19:41
by haha
Was soll das bedeuten: Quelltext von einer ausführbaren Date starten?
So wie es dort steht ergibt's wenig Sinn: Steckt man ein USB-Gerät ein, so wird der Quelltext kompiliert und ausgeführt
Oder soll ein Shell-Script gestartet werden ?
Code: Select all
Wo kann ich die ausführbare Datei hinstecken
Das ist egal, auf jedes Gerät was nicht 'noexec' gemoutet ist.
Code: Select all
welcher stelle im System muss ich den Aufruf hinmachen?
egal, er muss nur zu der ausführbaren Datei führen.
Code: Select all
Kann ich auch auch nur den Quelltext im System hinterlegen, oder braucht das System
eine ausführbare Datei?
Was
genau willst Du den machen ??
bye haha
Posted: 30. Oct 2007 20:28
by Janka
"hotplug" erkennt angeschlossene Geräte und führt dann jeweils Skripte aus. Normalerweise ist das "udev", und da kann man außer dem Anlegen der passenden Devicenode noch eigene Skripte starten. Ist allerdings etwas trickreich einzurichten, wenn man nicht genau einer bestehenden Anleitung folgen will. Howto z.B. hier:
http://gentoo-wiki.com/HOWTO_Customizing_UDEV
Janka
Posted: 31. Oct 2007 8:24
by xirox
Hi,
muss folgendes realisieren.
Ich habe eine USB Relaiskarte. Wenn ich die Karte an den PC anschließe,
soll im System nachgeschaut werden welcher user gerade eingeloggt ist.
Je nach entsprechendem user wird ein Relais der Karte angesprochen,
das Relais schaltet durch - eine Diode brennt.
Den User auslesen habe ich bereits hinbekommen, das durchschalten mit der
LED ebenfalls. Muss jedoch das Programm immer über die shell starten.
Es sollte so sein, wenn ich die Relaiskarte an den USB port anschließe, mein Programm
automatisch starten soll, und nicht etwa von mir per Hand.
Vlg
usb device
Posted: 31. Oct 2007 11:30
by haha
Der Anschluss eines (USB-)Gerätes wird im kernel-log protokilliert.
Starte mal
und stecke dann deine Karte ein. Es erscheint dann eine Meldung mit USB-irgendwas.
Man kann nun minütlich per cron nach diesem Namen greppen und dann im Trefferfall das Script starten.
bye haha
Re: usb device
Posted: 31. Oct 2007 13:33
by Janka
haha wrote:Der Anschluss eines (USB-)Gerätes wird im kernel-log protokilliert.
Starte mal
und stecke dann deine Karte ein. Es erscheint dann eine Meldung mit USB-irgendwas.
Man kann auch einfach vorher und nachher "lsusb" eingeben, und bekommt so die Device-ID des USB-Gerätes heraus.
haha wrote:
Man kann nun minütlich per cron nach diesem Namen greppen und dann im Trefferfall das Script starten.
Kann man auch machen, wenn man sonst keinen Plan hat. Alternativ kann man auch syslog so umkonfigurieren, dass es das Skript startet. Das ist *fast* genauso durch die Brust ins Auge.
Richtig ist es, eine udev-Regel zu erstellen, die auf die per lsusb ermittelte Device-ID triggert, und durch diese dann das Skript gleich mitstarten zu lassen, z.B. wie hier beschrieben:
http://reactivated.net/writing_udev_rul ... ternal-run
Janka