USB-Problem

Antworten
Nachricht
Autor
xirox
Beiträge: 7
Registriert: 16. Okt 2007 22:04

USB-Problem

#1 Beitrag von xirox » 30. Okt 2007 12:07

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
:roll:

Gruß
Xirox

haha

???

#2 Beitrag von haha » 30. Okt 2007 19:41

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 :lol:

Oder soll ein Shell-Script gestartet werden ?

Code: Alles auswählen

Wo kann ich die ausführbare Datei hinstecken
Das ist egal, auf jedes Gerät was nicht 'noexec' gemoutet ist.

Code: Alles auswählen

welcher stelle im System muss ich den Aufruf hinmachen? 
egal, er muss nur zu der ausführbaren Datei führen.

Code: Alles auswählen

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

Benutzeravatar
Janka
Beiträge: 3585
Registriert: 11. Feb 2006 19:10

#3 Beitrag von Janka » 30. Okt 2007 20:28

"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
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

xirox
Beiträge: 7
Registriert: 16. Okt 2007 22:04

#4 Beitrag von xirox » 31. Okt 2007 8:24

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

haha

usb device

#5 Beitrag von haha » 31. Okt 2007 11:30

Der Anschluss eines (USB-)Gerätes wird im kernel-log protokilliert.

Starte mal

Code: Alles auswählen

# tail -f /var/log/messages
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

Benutzeravatar
Janka
Beiträge: 3585
Registriert: 11. Feb 2006 19:10

Re: usb device

#6 Beitrag von Janka » 31. Okt 2007 13:33

haha hat geschrieben:Der Anschluss eines (USB-)Gerätes wird im kernel-log protokilliert.

Starte mal

Code: Alles auswählen

# tail -f /var/log/messages
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 hat geschrieben: 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
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

Antworten