Hallo Andreas,
Dir und Deinen Angehörigen ebenfalls besinnliche und frohe Feiertage! Außerdem noch eines vorweg: Ich bin weder Programmier- noch udev-Experte. Ich schätze mal, dass das Skript VBoxCreateUSBNode.sh
das USB-Gerät noch nicht einhängt, sondern nur dafür sorgt, dass das Gerät in VB als auswählbares USB-Gerät auftaucht.
Wenn Du einen USB-Stick anhängst, wird dann dafür ein Verzeichnis in /dev/vboxusb
in irgendeiner Form angelegt? Denn so interpretiere ich erst mal den Inhalt des Skriptes. Also generell müsste dort eigentlich für jedes angeschlossene USB-Gerät ein Eintrag angelegt werden - wenn ich es richtig verstehe.
Das Skritp aus dem von mir geposteten Link stellt dabei nur auf USB-Speicher-Geräte ab. Allerdings verwendet, das noch /poc/bus/usb
, was wahrscheinlich so aktuell nicht mehr funktionieren dürfte - aber auch das weiß ich nicht genau.
Ich würde an den beiden Skripten, die Du jetzt hast, gar nichts ändern. Sondern ich würde eine neu udev-Regeldatei in /etc/udev/rules.d
erstellen, die den Inhalt aus dem Link hat also:
DRIVERS=="usb-storage",IMPORT{program}="usb_id --num-info --export %p", RUN+="/etc/udev/vboxusbstorage.sh"
Die Datei muss dann eine höher Nummer haben, als die vboxdrv.rules
. Ich denke diese Datei müsste noch funktionieren. Schwieriger wird es jetzt mit dem Skript /etc/udev/vboxusbstorage.sh
. Du kannst ja mal probieren, ob es in der jetzigen Form noch funktioniert. Mehr als dass es nicht geht wird ja wohl kaum passieren:
#!/bin/sh
attach_storage()
{
set `/sbin/lsusb -d ${ID_VENDOR}:${ID_MODEL}| sed 's/:.*//g'`
while [ ! -z "$1" ]; do
case $1 in
Bus) shift
address="/proc/bus/usb/$1"
;;
Device) shift
address=${address}"/$1"
;;
esac
shift
done
if [ ! -z "$address" ]; then
su - root -c "VBoxManage controlvm winxp usbattach"
fi
}
case $DEVNAME in
/dev/sd[a-z])
attach_storage;
;;
esac
Wenn das nicht geht, dann wäre in dem Verzeichnis meines Erachtens die Zeile
address="/proc/bus/usb/$1"
von Bedeutung. Möglicherweise kann/muss man die dann auf /dev/vboxusb
umbiegen - oder eben so etwas in der Art.
Bei mir in Lucid ist es so, dass angesteckte USB-Sticks in /dev/bus/usb/001
mit einer dreistelligen Nummern-Datei auftauchen, könnte gut sein, dass dieses Verzeichnis unter der address-Zeile angegeben werden muss.
Gruß,
Martin