Hallo nopes.
vielen Dank für die Anregungen! Mittlerweile habe ich das Ganze noch an zwei Ubuntu-Rechnern untersuchen können, an denen alles einwandfrei funktioniert. Es fällt auf, daß dort im Gegensatz zu Debian-Systemen keinerlei "modeswitch"-Ereignisse auftreten, wie oben bei Debian als
Code:
Jun 20 15:17:23 blechkumpan usb_modeswitch: switch device 12d1:1037 on 001/027
zu sehen.
Die "RUN+="-Zeile habe ich mit angepaßtem Inhalt ("echo $(date) >> /tmp/test.log") versucht, sie blieb aber ohne jeden Effekt.
Es kommt m.E. wohl eher drauf an, das (mir derzeit noch Unbekannte) zu verhindern, das den "modeswitch" unter Debian auslöst, statt per zusätzlicher Regeln das Ganze zu verschlimmbessern.
UDATE1
Langsam kommt ein wenig Licht ins Dunkel. Plötzlich erschien nämlich in /etc/udev/rules.d eine Datei "70-persistent-cd.rules" mit folgendem Inhalt:
# This file was automatically generated by the /lib/udev/write_cd_rules
# program, run by the cd-aliases-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and set the $GENERATED variable.
# Android_Adapter (pci-0000:00:1a.7-usb-0:2:1.0-scsi-0:0:0:1)
SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:1a.7-usb-0:2:1.0-scsi-0:0:0:1", SYMLINK+="cdrom", ENV{GENERATED}="1"
# Android_Adapter (pci-0000:00:1a.7-usb-0:2:1.0-scsi-0:0:0:1)
SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{ID_SERIAL}=="Huawei_Incorporated_Android_Adapt er_CC96A0C3FBD3-0:1", SYMLINK+="cdrom1", ENV{GENERATED}="1"
UPDATE2
in der Datei /etc/usb_modeswitch.conf findet sich bei Debian die Zeile
Setzt man diesen Wert auf 1, so wird das Smartphone immerhin schon wieder mit seinen Blockgeräten (sdx, sdy) erkannt, es fehlen nur noch die Partitionen (d.h. Liste der Geräteüberwachung bleibt leer). Auch die oben erwähnte "70-persistent-cd.rules" wird zeitgleich vom System neu geschrieben. Ein Aufruf von "gparted" (als root) läßt dann auch wieder die Partitionen erscheinen - zumindest ein etwas besserer Workaround.
Bei Ubuntu 12.04 sieht /etc/usb_modeswitch.conf exakt aus wie bei Debian (DisableSwitching=0), also harrt die Stelle für das nötige Feintuning immer noch der Entdeckung, denn dort funktioniert ja alles wie ein Benutzer es erwarten würde.
UPDATE 3
Zwei weitere offenbar relevante Regeln stecken in /lib/udev/rules.d/40-usb-media-players.rules:
Code:
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1037|1038", ENV{ID_MEDIA_PLAYER}="huawei_ideos"
und in /lib/udev/rules.d/40-usb_modeswitch.rules:
Code:
# Generic entry for all Huawei devices
ATTRS{idVendor}=="12d1", ATTR{bInterfaceNumber}=="00", ATTR{bInterfaceClass}=="08", RUN+="usb_modeswitch '%b/%k'"
Während erste bei Ubuntu identisch ist (also nicht stören sollte), hat die zweite keine Ubuntu-Entsprechung, also keinen solchen generischen Eintrag, sondern nur zahlreiche gerätespezifische, darunter jedoch keinen für 1037 oder 1038.
Kaum kommentiert man letztere auf dem Debian-System aus, erscheinen auch tatsächlich die Blockgeräte:
Code:
UDEV [1050015.057403] add /devices/pci0000:00/0000:00:1a.7/usb9/9-1/9-1:1.0/host56/target56:0:0/56:0:0:0/scsi_disk/56:0:0:0 (scsi_disk)
UDEV [1050015.057693] add /devices/pci0000:00/0000:00:1a.7/usb9/9-1/9-1:1.0/host56/target56:0:0/56:0:0:0/scsi_generic/sg4 (scsi_generic)
UDEV [1050015.058741] add /devices/pci0000:00/0000:00:1a.7/usb9/9-1/9-1:1.0/host56/target56:0:0/56:0:0:0/bsg/56:0:0:0 (bsg)
UDEV [1050015.060412] add /devices/pci0000:00/0000:00:1a.7/usb9/9-1/9-1:1.0/host56/target56:0:0/56:0:0:1/scsi_generic/sg5 (scsi_generic)
KERNEL[1050015.061783] change /devices/pci0000:00/0000:00:1a.7/usb9/9-1/9-1:1.0/host56/target56:0:0/56:0:0:0/block/sdd (block)
UDEV [1050015.063166] add /devices/pci0000:00/0000:00:1a.7/usb9/9-1/9-1:1.0/host56/target56:0:0/56:0:0:2 (scsi)
UDEV [1050015.064851] add /devices/pci0000:00/0000:00:1a.7/usb9/9-1/9-1:1.0/host56/target56:0:0/56:0:0:2/scsi_disk/56:0:0:2 (scsi_disk)
UDEV [1050015.065901] add /devices/pci0000:00/0000:00:1a.7/usb9/9-1/9-1:1.0/host56/target56:0:0/56:0:0:2/scsi_device/56:0:0:2 (scsi_device)
UDEV [1050015.066008] add /devices/pci0000:00/0000:00:1a.7/usb9/9-1/9-1:1.0/host56/target56:0:0/56:0:0:2/bsg/56:0:0:2 (bsg)
UDEV [1050015.066108] add /devices/pci0000:00/0000:00:1a.7/usb9/9-1/9-1:1.0/host56/target56:0:0/56:0:0:2/scsi_generic/sg6 (scsi_generic)
KERNEL[1050015.070671] change /devices/pci0000:00/0000:00:1a.7/usb9/9-1/9-1:1.0/host56/target56:0:0/56:0:0:2/block/sde (block)
UDEV [1050015.073846] add /devices/pci0000:00/0000:00:1a.7/usb9/9-1/9-1:1.0/host56/target56:0:0/56:0:0:0/block/sdd (block)
UDEV [1050015.074457] add /devices/pci0000:00/0000:00:1a.7/usb9/9-1/9-1:1.0/host56/target56:0:0/56:0:0:1/block/sr1 (block)
"/org/freedesktop/UDisks2/drives/Huawei_Incorporated_Android_Adapter_CC96A0C3FBD3" has new interfaces: ("org.freedesktop.UDisks2.Drive")
UDEV [1050015.094046] add /devices/pci0000:00/0000:00:1a.7/usb9/9-1/9-1:1.0/host56/target56:0:0/56:0:0:2/block/sde (block)
UDEV [1050015.100281] change /devices/pci0000:00/0000:00:1a.7/usb9/9-1/9-1:1.0/host56/target56:0:0/56:0:0:1/block/sr1 (block)
UDEV [1050015.102456] change /devices/pci0000:00/0000:00:1a.7/usb9/9-1/9-1:1.0/host56/target56:0:0/56:0:0:2/block/sde (block)
UDEV [1050015.102585] change /devices/pci0000:00/0000:00:1a.7/usb9/9-1/9-1:1.0/host56/target56:0:0/56:0:0:2/block/sde (block)
UDEV [1050015.129124] change /devices/pci0000:00/0000:00:1a.7/usb9/9-1/9-1:1.0/host56/target56:0:0/56:0:0:0/block/sdd (block)
"/org/freedesktop/UDisks2/block_devices/sdd" has new interfaces: ("org.freedesktop.UDisks2.Block")
UDEV [1050015.158534] change /devices/pci0000:00/0000:00:1a.7/usb9/9-1/9-1:1.0/host56/target56:0:0/56:0:0:0/block/sdd (block)
"/org/freedesktop/UDisks2/drives/Huawei_Incorporated_Android_Adapter_CC96A0C3FBD3_1" has new interfaces: ("org.freedesktop.UDisks2.Drive")
"/org/freedesktop/UDisks2/block_devices/sr1" has new interfaces: ("org.freedesktop.UDisks2.Block")
"/org/freedesktop/UDisks2/drives/Huawei_Incorporated_Android_Adapter_CC96A0C3FBD3_2" has new interfaces: ("org.freedesktop.UDisks2.Drive")
"/org/freedesktop/UDisks2/block_devices/sde" has new interfaces: ("org.freedesktop.UDisks2.Block")
Eigentlich sieht das gar nicht so verkehrt aus. Die Preisfrage ist "nur" noch, wie man diese "org.freedesktop.UDisks2.Block"-Geräte dem Anwender zugänglich macht.
Lesezeichen