Re: Programm bei USB (dis)connect starten?
udev bringt Ordnung in die Devicenamen. Ohne udev ist das so, daß z.B. ein angesteckter USB-Stick nicht immer die gleichen Devicenamen bekommt. So ist er vielleicht immer auf /dev/sda und dann kommt irgendwann mal ein Kumpel vorbei, der auch nen USB-Stick hat ... und schwups hängt dein eigener Stick auf /dev/sdb. Das dumme daran ist, daß man nicht herausbekommt, auf welchem Device der USB-Stick ansprechbar ist. Hat mich schon einige Nerven gekostet, als ich mal ein Auto-Mount-Script gebaut habe. Ich will nicht behaupten, alles über hotplug/udev verstanden zu haben, und an einigen Stellen bin ich mir nicht sicher, ob es einfach noch Baustelle ist, oder ob an meinem mangelnden Verständnis liegt. Soweit ich verstehe, lädt hotplug den richtigen Treiber, *könnte* dann auch noch Scripte ausführen... Im Falle eines USB-Sticks sah es aber so aus, daß hotplug den usb-storage-Treiber lud und dann später den SCSI-Treiber - und erst das wäre der Augenblick gewesen, wo ich etwas damit hätte anfangen können. Also habe ich mir udev angesehen und dort in /etc/udev/local.rules KERNEL=sd*, SYSFS{model}=MEMORYBIRD *, SYMLINK=stick%e KERNEL=sd*, SYSFS{model}=USB, SYMLINK=box%e eingetragen. Jetzt erscheint mein Memorystick als /dev/stick, /dev/stick1 und meine externe USB-Plattenbox als /dev/box, /dev/box1. Damit kann ich (und der Automounter) gut leben. Ob dem OP das hilft, weiß ich nicht, denn er wollte ja richtige Scripte ausführen. udev mag zwar auch Script ausführen, aber soweit ich das sehe, *vor* dem Erzeugen des Device-Nodes. Für Scripte nach dem Erzeugen des Device-Nodes scheint in Grenzen hotplug verantwortlich zu sein (für USB habe ich dort was gefunden im Zusammenhang mit libgphoto2). Ehm. Klingt gut, Ist denn _jeder_ USB-Stick _eindeutig_ zu identifizieren? Wenn ihr die gleichen habt, dann eher schwer. M.W. haben die keine unique ID oder etwas ähnliches. Dann hilft vielleicht nur mounten und nach bestimmten Files suchen. Heiko signature.asc Description: Digital signature
Re: Programm bei USB (dis)connect starten?
Moin, Am Dienstag, 11. Januar 2005 08:06 schrieb Joerg Desch: On Mon, 10 Jan 2005 17:14:12 +0100 Michael Tuschik [EMAIL PROTECTED] wrote: Das dumme daran ist, daß man nicht herausbekommt, auf welchem Device der USB-Stick ansprechbar ist. Hat mich schon einige Nerven gekostet, als ich mal ein Auto-Mount-Script gebaut habe. Du meinst, man dann nirgendwo sehen, ob der Stick als z.B. /dev/sda oder /dev/sdb erkannt wird? Hast Du dein Automount-Script aufgegeben? Genau. Ich hab das ganze mit scsidev aus dem Paket scsitools gelöst. Damit wird mein USB-Stick automatisch unter /mnt/usbstick gemountet, wenn ich ihn anstecke. Ich hatte allerdings auch schon Probleme mit scsidev (hängende Prozesse). Das Tool scheint nicht ganz stabil zu sein. Es scheint, daß udev hier Abhilfe schafft. Ich habe allerdings noch keinen 2.6er Kernel laufen. Gruß Micha
Re: Programm bei USB (dis)connect starten?
ja hallo erstmal,.. Am Montag, 10. Januar 2005 00:07 schrieb Thomas Jahns: Gerhard Brauer [EMAIL PROTECTED] writes: Gruesse! * Jan Lühr [EMAIL PROTECTED] schrieb am [09.01.05 18:39]: ja hallo erstmal,.. ist es eigentlich möglich, ein Programm automatisch zu starten, wenn ich ein USB-Gerät Verbinde, bzw. es entferne? Ja, über hotplug. man und Doku zu hotplug hat Beispiele dazu. Kurz: Du brauchst die VendorID und die ProdID des devices, z.b. über lsusb -v[vv]. [...] Wenn man auch remove-Ereignisse sehen möchte und außerdem den Namen des device sicher wissen will, bietet es sich an, das gleich durch udev zu realisieren. Siehe auch Heißt das, dass hotplug hier nicht wirklich brauchbar ist? Keep smiling yanosz
Re: Programm bei USB (dis)connect starten?
Hi, Am Montag, 10. Januar 2005 16:59 schrieb Jan Lühr: ja hallo erstmal,.. Heißt das, dass hotplug hier nicht wirklich brauchbar ist? Du brauchst in jedem Fall hotplug. hotplug übernimmt das ganze Gerät erkennen Treiber laden usw. im System. udev bringt Ordnung in die Devicenamen. Ohne udev ist das so, daß z.B. ein angesteckter USB-Stick nicht immer die gleichen Devicenamen bekommt. So ist er vielleicht immer auf /dev/sda und dann kommt irgendwann mal ein Kumpel vorbei, der auch nen USB-Stick hat ... und schwups hängt dein eigener Stick auf /dev/sdb. Das dumme daran ist, daß man nicht herausbekommt, auf welchem Device der USB-Stick ansprechbar ist. Hat mich schon einige Nerven gekostet, als ich mal ein Auto-Mount-Script gebaut habe. Gruß Michael
Re: Programm bei USB (dis)connect starten?
ja hallo erstmal,... Am Montag, 10. Januar 2005 17:14 schrieb Michael Tuschik: Hi, Am Montag, 10. Januar 2005 16:59 schrieb Jan Lühr: ja hallo erstmal,.. Heißt das, dass hotplug hier nicht wirklich brauchbar ist? Du brauchst in jedem Fall hotplug. hotplug übernimmt das ganze Gerät erkennen Treiber laden usw. im System. udev bringt Ordnung in die Devicenamen. Ohne udev ist das so, daß z.B. ein angesteckter USB-Stick nicht immer die gleichen Devicenamen bekommt. So ist er vielleicht immer auf /dev/sda und dann kommt irgendwann mal ein Kumpel vorbei, der auch nen USB-Stick hat ... und schwups hängt dein eigener Stick auf /dev/sdb. Das dumme daran ist, daß man nicht herausbekommt, auf welchem Device der USB-Stick ansprechbar ist. Hat mich schon einige Nerven gekostet, als ich mal ein Auto-Mount-Script gebaut habe. Ehm. Klingt gut, Ist denn _jeder_ USB-Stick _eindeutig_ zu identifizieren? Keep smiling yanosz -- Achtung: Die E-Mail-Adresse [EMAIL PROTECTED] wird in Kürze deaktiviert werden. Bitte nutzen Sie die Adresse [EMAIL PROTECTED]
Re: Programm bei USB (dis)connect starten?
On 10.Jan 2005 - 22:00:47, Jan Lühr wrote: Ehm. Klingt gut, Ist denn _jeder_ USB-Stick _eindeutig_ zu identifizieren? Tj... Eigentlich schon denke ich, dafür gibts schliesslich genug Informationen wenn du mal udevinfo auf das Device los lässt... Andreas -- You can rent this space for only $5 a week. -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)
Re: Programm bei USB (dis)connect starten?
On Mon, 10 Jan 2005 17:14:12 +0100 Michael Tuschik [EMAIL PROTECTED] wrote: Das dumme daran ist, daß man nicht herausbekommt, auf welchem Device der USB-Stick ansprechbar ist. Hat mich schon einige Nerven gekostet, als ich mal ein Auto-Mount-Script gebaut habe. Du meinst, man dann nirgendwo sehen, ob der Stick als z.B. /dev/sda oder /dev/sdb erkannt wird? Hast Du dein Automount-Script aufgegeben? -- Email: Joerg Desch jd DOT vvd AT web DOT de
Programm bei USB (dis)connect starten?
ja hallo erstmal,.. ist es eigentlich möglich, ein Programm automatisch zu starten, wenn ich ein USB-Gerät Verbinde, bzw. es entferne? mfG Jan Lühr -- Achtung: Die E-Mail-Adresse [EMAIL PROTECTED] wird in Kürze deaktiviert werden. Bitte nutzen Sie die Adresse [EMAIL PROTECTED]
Re: Programm bei USB (dis)connect starten?
Jan Lühr wrote: ja hallo erstmal,.. ist es eigentlich möglich, ein Programm automatisch zu starten, wenn ich ein USB-Gerät Verbinde, bzw. es entferne? mfG Jan Lühr Hi, hotplug ist was du suchst. Frag mal deinen apt. MfG -- Claus Malter [EMAIL PROTECTED] ICQ: 105226435 Web: http://claus.freakempire.de GnuPG-ID: 0x5E8F5B07 http://wwwkeys.de.pgp.net signature.asc Description: OpenPGP digital signature
Re: Programm bei USB (dis)connect starten?
Gruesse! * Jan Lühr [EMAIL PROTECTED] schrieb am [09.01.05 18:39]: ja hallo erstmal,.. ist es eigentlich möglich, ein Programm automatisch zu starten, wenn ich ein USB-Gerät Verbinde, bzw. es entferne? Ja, über hotplug. man und Doku zu hotplug hat Beispiele dazu. Kurz: Du brauchst die VendorID und die ProdID des devices, z.b. über lsusb -v[vv]. In /etc/hotplug/usb erstellst du ein File usbgeraet.usermap (die usermap files Einträge werden in der Doku beschrieben oder du orientierst dich z.B. an der libsane.usermap). Als ersten Parameter gibst du den Namen des Skriptes an (dieses liegt ebenfalls in /etc/hotplug/usb), als 3. und 4. Parameter VendorID und ProdID Dem Skript werden vom hotplugd u.a. Parameter zu ACTION=[add|remove] mitgegeben, aufgrund deren du entsprechende Vorgänge auslösen kannst. Ich habe gerade eine Backuplösung mit einer externen USB-Hd gebastelt. Einziger Punkt bei mir, dem ich allerdings noch nicht weiter nachgehen konnte, ist: Als ACTION wird lediglich add vom hotplugd übergeben, kein remove. Momentan könnte ich auf ein Abstöpseln des Gerätes nicht reagieren. Ist aber laut Doku so vorgesehen, wird also auch irgendwie gehen. mfG Jan Lühr Gruß Gerhard
Re: Programm bei USB (dis)connect starten?
ja hallo erstmal,... Am Sonntag, 9. Januar 2005 18:57 schrieb Gerhard Brauer: Gruesse! * Jan Lühr [EMAIL PROTECTED] schrieb am [09.01.05 18:39]: ja hallo erstmal,.. ist es eigentlich möglich, ein Programm automatisch zu starten, wenn ich ein USB-Gerät Verbinde, bzw. es entferne? Ja, über hotplug. man und Doku zu hotplug hat Beispiele dazu. Danke für das Stichwort. Das habe ich irgendwie noch nicht beachtet. Kurz: Du brauchst die VendorID und die ProdID des devices, z.b. über lsusb -v[vv]. In welchem Paket ist dies? In /etc/hotplug/usb erstellst du ein File usbgeraet.usermap (die usermap files Einträge werden in der Doku beschrieben oder du orientierst dich z.B. an der libsane.usermap). Danke. Die habe ich zwar nicht zur Hand, jedoch werde ich morgen mal die Doku fressen. Als ersten Parameter gibst du den Namen des Skriptes an (dieses liegt ebenfalls in /etc/hotplug/usb), als 3. und 4. Parameter VendorID und ProdID Dem Skript werden vom hotplugd u.a. Parameter zu ACTION=[add|remove] mitgegeben, aufgrund deren du entsprechende Vorgänge auslösen kannst. Klingt nachdem was ich suche. Ich habe gerade eine Backuplösung mit einer externen USB-Hd gebastelt. Einziger Punkt bei mir, dem ich allerdings noch nicht weiter nachgehen konnte, ist: Als ACTION wird lediglich add vom hotplugd übergeben, kein remove. Momentan könnte ich auf ein Abstöpseln des Gerätes nicht reagieren. Ist aber laut Doku so vorgesehen, wird also auch irgendwie gehen. Klingt vielversprechend. Danke, Keep smiling yanosz
Re: Programm bei USB (dis)connect starten?
Gruesse! * Jan Lühr [EMAIL PROTECTED] schrieb am [09.01.05 21:42]: Kurz: Du brauchst die VendorID und die ProdID des devices, z.b. über lsusb -v[vv]. In welchem Paket ist dies? usbutils In /etc/hotplug/usb erstellst du ein File usbgeraet.usermap (die usermap files Einträge werden in der Doku beschrieben oder du orientierst dich z.B. an der libsane.usermap). Danke. Die habe ich zwar nicht zur Hand, jedoch werde ich morgen mal die Doku fressen. Klar, die kam ja erst mit dem Sane-Dingsbums. Hier der relevate Teil (Sorry für überlange Zeilen bzw. verhunzten Zeilenumbruch) # The entries below are used to detect a USB scanner when it's plugged in # and then run the libusbscanner script to change the ownership and # permissions on the device node used by libusb. # # The 0x0003 match flag means the device is matched by its vendor and # product IDs. # # Sample entry (replace 0x and 0x with vendor ID and product ID respectively) : # libusbscanner 0x0003 0x 0x0x 0x 0x00 0x000x000x000x00 0x00 0x # # usb module match_flags idVendor idProduct bcdDevice_lo bcdDevice_hi bDeviceClass bDeviceSubClass bDeviceProtocol bInterfaceClass bInterfaceSubClass bInterfaceProtocol driver_info # Keep smiling yanosz Gruß Gerhard
Re: Programm bei USB (dis)connect starten?
Gerhard Brauer [EMAIL PROTECTED] writes: Gruesse! * Jan Lühr [EMAIL PROTECTED] schrieb am [09.01.05 18:39]: ja hallo erstmal,.. ist es eigentlich möglich, ein Programm automatisch zu starten, wenn ich ein USB-Gerät Verbinde, bzw. es entferne? Ja, über hotplug. man und Doku zu hotplug hat Beispiele dazu. Kurz: Du brauchst die VendorID und die ProdID des devices, z.b. über lsusb -v[vv]. [...] Wenn man auch remove-Ereignisse sehen möchte und außerdem den Namen des device sicher wissen will, bietet es sich an, das gleich durch udev zu realisieren. Siehe auch http://ccomb.free.fr/wiki/wakka.php?wiki=UsbMassStorageEnglish Thomas Jahns -- Computers are good at following instructions, but not at reading your mind. D. E. Knuth, The TeXbook, Addison-Wesley 1984, 1986, 1996, p. 9