WinFuture-Forum.de: Ubuntu Udev Rules - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Linux
  • 2 Seiten +
  • 1
  • 2

Ubuntu Udev Rules


#1 Mitglied ist offline   martin_mt 

  • Gruppe: aktive Mitglieder
  • Beiträge: 515
  • Beigetreten: 19. August 02
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 11. Februar 2009 - 09:12

Hi Leute

da ich ledier noch keinen gefunden hab, der sich mit den udev rules von ubuntu wirklich auskennt (ich hab die komplette website darüber gelesen, und die theorie auch verstanden, aber in der praxis bekomm ich es nicht hin)

vielleicht hat wer von euch ne idee woran es liegen kann..

es geht umein netbook mit ubuntu drauf
und einen usb hdspa stick (Novatel MC950D)

was hab ich gemacht

ich hab mal die udev rule angelegt:

/etc/udev/rules.d/10-local.rules
SUBSYSTEM=="usb", ATTR{idProduct}=="4400", ATTR{idVendor}=="1410", SYMLINK+="35Gmodem", RUN+="/usr/bin/start_usb_modem.sh



das start_usb_modem.sh existiert, ist executable, und enthält folgendes:

 #!/bin/sh

modprobe -r usbserial
umount /media/NVTL/
modprobe usbserial vendor=0x1410 product=0x4400




allerdings passiert NICHTS wenn ich den usb stick einstecke..
es wird nach wie vor die "cd" partition der sticks gemounet, und nicht das eigentliche modem device..
sprich genau das, was auch passiert wenn ich die rule nicht verwende..

nur jedesmal das cdlaufwerk auswerfen um dann mittels wvdial die verbindung herzustellen , genau das wollte ich ja mit der udev rule umgehen ..


ich blick hier net mehr druch .. vielleicht weiss ja wer was
0

Anzeige



#2 _lustiger_affe_

  • Gruppe: Gäste

geschrieben 11. Februar 2009 - 14:48

Du hast a) udev nach anlegen der Regel neu initialisiert und/bzw. b) mal statt 10- 99-bla probiert? Ev. kommt noch eine Regel dazwischen, die dir wieder was zerschiesst?

Dieser Beitrag wurde von lustiger_affe bearbeitet: 11. Februar 2009 - 15:46

0

#3 Mitglied ist offline   martin_mt 

  • Gruppe: aktive Mitglieder
  • Beiträge: 515
  • Beigetreten: 19. August 02
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 11. Februar 2009 - 15:39

neu initialisiert: nein
neu gebootet: ja (das reicht hoffentlich, oder ?)
wenn nein, wie initialisier ich die neu =

hab auch 99- getestet
selbes ergebnis.. leider

er lädt mir immer das /media/NVTL

sprich vendorID 1410 und productid 5010

mir scheint, als würde das shellscript dass da aufgerufen wird, nicht richtig (bzw gar nicht funktionieren, auch wenn es mir auf den ersten blick korrekt erscheint =
0

#4 _lustiger_affe_

  • Gruppe: Gäste

geschrieben 11. Februar 2009 - 15:42

Zitat

neu initialisiert: nein
neu gebootet: ja (das reicht hoffentlich, oder ?)
Reicht.

Zitat

wenn nein, wie initialisier ich die neu =
KA wie das bei *buntu/Deb is, bei mir wäre es ein `/etc/init.d/udev restart`

Probier mal, ob folgendes was sinnvolles ergibt:
1. Stick abziehen
2. Shell öffnen
3. als root anmelden
4. `udevadm monitor` eingeben
5. Stick einstecken
6. auf errors achten oder die Ausgabe mal hier posten
0

#5 Mitglied ist offline   martin_mt 

  • Gruppe: aktive Mitglieder
  • Beiträge: 515
  • Beigetreten: 19. August 02
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 11. Februar 2009 - 15:53

ich werd nicht schlau draus ... ich hoffe du..
das ist alles was kommt
nach der letzten zeile geht wieder der "ordner"" /media/NVTL auf und das wars


root@martin-laptop:/usr/bin# udevadm monitor
udevmonitor will print the received events for:
UDEV the event which udev sends out after rule processing
UEVENT the kernel uevent

UEVENT[1234363744.848085] add
/devices/pci0000:00/0000:00:1d.0/usb1/1-2 (usb)
UEVENT[1234363744.848337] add
/devices/pci0000:00/0000:00:1d.0/usb1/1-2/usb_endpoint/usbdev1.4_ep00
(usb_endpoint)
UEVENT[1234363744.854758] add
/devices/pci0000:00/0000:00:1d.0/usb1/1-2/1-2:1.0 (usb)
UDEV [1234363744.860613] add
/devices/pci0000:00/0000:00:1d.0/usb1/1-2 (usb)
UEVENT[1234363744.872975] add /class/scsi_host/host4 (scsi_host)
UEVENT[1234363744.886442] add
/devices/pci0000:00/0000:00:1d.0/usb1/1-2/1-2:1.0/usb_endpoint/usbdev1.4_ep88
(usb_endpoint)
UEVENT[1234363744.886638] add
/devices/pci0000:00/0000:00:1d.0/usb1/1-2/1-2:1.0/usb_endpoint/usbdev1.4_ep09
(usb_endpoint)
UDEV [1234363744.923560] add
/devices/pci0000:00/0000:00:1d.0/usb1/1-2/usb_endpoint/usbdev1.4_ep00
(usb_endpoint)
UDEV [1234363745.474182] add
/devices/pci0000:00/0000:00:1d.0/usb1/1-2/1-2:1.0 (usb)
UDEV [1234363745.480760] add /class/scsi_host/host4 (scsi_host)
UDEV [1234363745.530787] add
/devices/pci0000:00/0000:00:1d.0/usb1/1-2/1-2:1.0/usb_endpoint/usbdev1.4_ep88
(usb_endpoint)
UDEV [1234363745.551433] add
/devices/pci0000:00/0000:00:1d.0/usb1/1-2/1-2:1.0/usb_endpoint/usbdev1.4_ep09
(usb_endpoint)
UEVENT[1234363749.927284] add
/devices/pci0000:00/0000:00:1d.0/usb1/1-2/1-2:1.0/host4/target4:0:0/4:0:0:0
(scsi)
UEVENT[1234363749.980480] add /block/sr0 (block)
UEVENT[1234363749.980710] add /class/scsi_device/4:0:0:0 (scsi_device)
UEVENT[1234363749.980776] add /class/scsi_generic/sg2 (scsi_generic)
UDEV [1234363750.394192] add
/devices/pci0000:00/0000:00:1d.0/usb1/1-2/1-2:1.0/host4/target4:0:0/4:0:0:0
(scsi)
UDEV [1234363750.441950] add /class/scsi_device/4:0:0:0 (scsi_device)
UDEV [1234363750.478605] add /class/scsi_generic/sg2 (scsi_generic)
UDEV [1234363750.580146] add /block/sr0 (block)



edit: nur nochmal der vollständigkeit halber:

wenn man den sticka nsteckt, meldet er sich (lt. lsusb) als
deviceid 1410:5010 (also vendor 1410 und device id 5010)
dann macht man (händisch) ein eject /dev/scd0 (is n netbook das kein cd laufwerk hat, daher scd0),
dann wird es deviceid 1410:4400 (vendor 1410, device 4400)
und DANN ist es erst als modem verwendbar..

Dieser Beitrag wurde von martin_mt bearbeitet: 11. Februar 2009 - 16:00

0

#6 _lustiger_affe_

  • Gruppe: Gäste

geschrieben 11. Februar 2009 - 15:57

Mh, sieht soweit erstmal ordentlich aus. Funzt das Skript denn, wenn du es normal von Hand ausführst?
0

#7 Mitglied ist offline   martin_mt 

  • Gruppe: aktive Mitglieder
  • Beiträge: 515
  • Beigetreten: 19. August 02
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 11. Februar 2009 - 16:11

ich danke dir schonmal ganz herzlich für dein Hilfe....

ich hab zwar schon viel gelernt in letzter zeit (durch ubuntueee und durch mein nas mit debian), aber hier steig ich einfach aus

das shellscript:
#!/bin/sh

modprobe -r usbserial
unmount /media/NVTL
modprobe usbserial vendor=0x1410 product=0x4400


tut irgendwie nix wenn ich es als skript ausführe..
aber ohne "error"

wenn ich die commands einzeln ausführen will (als admin)
dann scheitert schon modprobe -r usbserial mit "FATAL: module usbserial is in use."

das umoutn /media/NVTL funktioniert

aber modprobe usbserial vendor=0x1410 product=0x4400 tut nix (gibt auch keinen fehler aus.. vermutlich weil das modprobe -r usbserial net funktioniert hat, kann ers auch net neu zuweisen)
0

#8 _lustiger_affe_

  • Gruppe: Gäste

geschrieben 11. Februar 2009 - 16:14

Du führst das aber schon komplett als root aus, ja?

Probier mal, 1. die Reihenfolge von umount und modprobe -r umzudrehen und 2. poste mal bitte die Ausgabe von `lsmod | grep usb`.

So als Hinweis, normalerweise bedeutet keinerlei Ausgabe, dass alles korrekt verlaufen ist - warum das hier jetzt spackt, weis ich leider (noch) nicht.
0

#9 Mitglied ist offline   martin_mt 

  • Gruppe: aktive Mitglieder
  • Beiträge: 515
  • Beigetreten: 19. August 02
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 11. Februar 2009 - 16:28

ja, ich führ alles als root aus (tut er das eigentlich auch, wenn das script "nur" so in der udev rule drinnen steht ?))

reihenfolge geändert.. umount klappt
modprobe -r usbserial keine meldung (scheint also zu klappen jetzt)
modprobe usbserial vendor=0x1440 product=0x4400 -> keine meldung aber auch kein effelt, ändert das device net ..

root@martin-laptop:~# lsmod |grep usb
usbserial 35048 0
usb_storage 72640 1
libusual 18340 1 usb_storage
scsi_mod 150796 5 sr_mod,usb_storage,sg,sd_mod,libata
usbcore 145644 8 usbserial,uvcvideo,usb_storage,lubusual,ehci_hcd,u
hci_hcd



edit: nur also info, ich fahr jetzt heim, d.h. näcshte antwort ~ 18 Uhr ...

Dieser Beitrag wurde von martin_mt bearbeitet: 11. Februar 2009 - 16:31

0

#10 _lustiger_affe_

  • Gruppe: Gäste

geschrieben 11. Februar 2009 - 16:42

Zitat

ja, ich führ alles als root aus (tut er das eigentlich auch, wenn das script "nur" so in der udev rule drinnen steht ?))
Ja, ausser udev ist so global konfiguriert, dass es alle Tasks als User X ausführt - geh ich aber mal nicht von aus.

Ich vermute momentan einen zeitlichen Konflikt oder, dass udev den Event nicht richtig mitbekommt, daher probier mal bitte folgendes:

#!/bin/sh
echo -ne "beginning with umount ... " > /root/test.log
umount /media/NVTL && echo "ok" >> /root/test.log
echo -ne "removing module ... "  >> /root/test.log
modprobe -r usbserial && echo "ok"  >> /root/test.log
echo -ne "waiting for 3 seconds ... " >> /root/test.log
sleep 3 && echo "ok" >> /root/test.log
echo -ne "reloading the module with new settings ... " >> /root/test.log
modprobe usbserial vendor=0x1440 product=0x4400 && echo "ok" >> /root/test.log
echo -ne "waiting another second" >> /root/test.log
sleep 1 && echo "ok" >> /root/test.log
echo -ne "calling udev & sync ... " >> /root/test.log
udevadm trigger && sync && echo "ok" >> /root/test.log


Schau, ob das funktioniert und wenn nicht, schau ob was ungewöhnliches in /root/test.log steht.

Dieser Beitrag wurde von lustiger_affe bearbeitet: 11. Februar 2009 - 16:43

0

#11 Mitglied ist offline   martin_mt 

  • Gruppe: aktive Mitglieder
  • Beiträge: 515
  • Beigetreten: 19. August 02
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 11. Februar 2009 - 18:12

hmm... ich werd daraus net schlau



-ne beginning with umount ...
ok
-ne removing module ...
ok
-ne waiting for 3 seconds ...
ok
-ne reloading the module with new settings ...
ok
-ne waiting another second
ok
-ne calling udev & sync ...
ok


man sieht keinen fehler, aber es passiert nix .. *grübel*
0

#12 _lustiger_affe_

  • Gruppe: Gäste

geschrieben 11. Februar 2009 - 18:21

Bist du dir sicher, dass die IDs stimmen? Mal mit `sudo lsusb -v` überprüft? Ansonsten bin ich hier leider mit meinem Latein am Ende, sorry :ph34r:
0

#13 Mitglied ist offline   martin_mt 

  • Gruppe: aktive Mitglieder
  • Beiträge: 515
  • Beigetreten: 19. August 02
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 11. Februar 2009 - 18:30

jop... da bin ich mir sicher

wenn ich den usb stick anstecke:

deviceid 1410:5010

danach mach ich ind er konsole sudo eject /dev/scd0

und damit wirds zu

deviceid 1410:4400


das ist jetzt nur der auszug von lsusb ...

bringt dir lsusb -v mehr ? dann poste ich dir die nachher auch noch..

und alles nur wegen diesem blöden (windows) laufwerk als dass sich das ding am anfang melden muss
(laufwerk mit der software für windows)
0

#14 _lustiger_affe_

  • Gruppe: Gäste

geschrieben 11. Februar 2009 - 18:36

Nope, würde mir auch nicht weiterhelfen. Kurzes googlen hat noch das gebracht, probier mal das dort verlinkte .run-file aus - ansonsten ist hier leider wirklich Ende im Gelände für mich, hab auch keinerlei Stick in der Art, um das Problem nachzuvollziehen oder einzugrenzen.
0

#15 Mitglied ist offline   bb83 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.870
  • Beigetreten: 30. August 05
  • Reputation: 24
  • Geschlecht:Männlich

geschrieben 11. Februar 2009 - 20:09

Bei mir treibt ozerocdoff dem Stick das Cd-Rom Laufwerk aus, vlt hilft dir das weiter?
0

Thema verteilen:


  • 2 Seiten +
  • 1
  • 2

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0