# [solved] USB-Stick mounten?

## Battlestar Gentoo

Hallo,

irgendwie bekomme ich es nicht hin, auf den USB-Stick zuzugreifen. Ich habe folgende Udev-Regel angelegt:

```
BUS="usb", SYSFS{serial}=="07341822008D", NAME="usb", SYMLINK="usbstick"
```

/dev/usb und /dev/usbstick werden erzeugt. Wenn ich aber versuche, den USB-Stick mit bspw. "mount /dev/usb /mnt/usblocal" zu mounten, bekomme ich eine Fehlermeldung, dass der USB-Stick ein blockorientiertes Gerät ist? Was mache ich falsch?

----------

## Klaus Meier

Was benutzt du denn? Nur eine Konsole oder Gnome oder KDE. Unter Gnome und KDE  mußt du den Benutzer zur Gruppe plugdev hinzufügen und hal starten, dann mountet er von alleine.

----------

## Battlestar Gentoo

Hi, 

Xfce benutze ich. Außerdem gibt's bei mir die Gruppe plugdev überhaupt nicht.

----------

## Klaus Meier

 *Gentoo Reptile wrote:*   

> Hi, 
> 
> Xfce benutze ich. Außerdem gibt's bei mir die Gruppe plugdev überhaupt nicht.

 

Die wird auch erst durch pmount oder gnomemount erzeugt. Wie sieht es mit hal aus?

----------

## Battlestar Gentoo

Es gibt auch kein Binary "hal". Ich verstehe ich auch, wozu das gut sein sollte. Ich will einfach nur meinen USB-Stick mounten.

----------

## Finswimmer

Hast du Mass Storage aktiviert?

----------

## Battlestar Gentoo

Welcher Punkt ist das "CONFIG_USB_STORAGE"? Falls ja, dann ja.

----------

## firefly

und hast du scsi-disk support im kernel aktiviert?

und die regel ist falsch, denn usb-sticks werden über scsi,genauer scsi-disk(sd*) angesprochen. Lass mal die regel weg und shcau mal was die letzten ausgaben von dmesg sind, nachdem du den stick angesteckt hast.

----------

## Klaus Meier

 *Gentoo Reptile wrote:*   

> Es gibt auch kein Binary "hal". Ich verstehe ich auch, wozu das gut sein sollte. Ich will einfach nur meinen USB-Stick mounten.

 hal ist ein USE-Flag. Und man sollte hal dann mit rc-update -a hald starten. Dann werden Geräte automatisch erkannt.

----------

## Battlestar Gentoo

und hast du scsi-disk support im kernel aktiviert?

Ja

und die regel ist falsch, denn usb-sticks werden über scsi,genauer scsi-disk(sd*) angesprochen. Lass mal die regel weg und shcau mal was die letzten ausgaben von dmesg sind, nachdem du den stick angesteckt hast.

u.a...

usb 1-2: new full speed device using uhci_hcd and address 3

Aber wie kann ich darauf zugreifen?

----------

## Finswimmer

 *Gentoo Reptile wrote:*   

> und hast du scsi-disk support im kernel aktiviert?
> 
> Ja
> 
> und die regel ist falsch, denn usb-sticks werden über scsi,genauer scsi-disk(sd*) angesprochen. Lass mal die regel weg und shcau mal was die letzten ausgaben von dmesg sind, nachdem du den stick angesteckt hast.
> ...

 

Müsste direkt darunter stehen.

Sowas wie /dev/sdb1 (bei mir)

Tobi

----------

## LeonGaultier

Dein USB Stick ist doch Partitioniert. Du kannst also nicht einfach sda einbinden sondern musst ihm sagen welche Partition er nehmen soll.

sda1

Das musst du in den udev Regeln mit einbringen.

Beispiel:

BUS=="usb", SYSFS{product}=="USB 2.0M DSC", KERNEL=="sd?1", NAME="%k", SYMLINK="camera"

sd?1 - steht für die erste Partition auf sdx

Leon

----------

## Battlestar Gentoo

Also bei mir steht nichts, hmm?

Ich weiß nicht, was ich jetzt davon halten soll.

----------

## Finswimmer

Wie wäre es, wenn du weniger erzählst und uns mehr von den Meldungen postest?  :Wink: 

Vllt. hast du was übersehen.

Tobi

----------

## Battlestar Gentoo

Auch wenn ich das KERNEL-Attribut hinzufüge, bekomme ich deswegen nicht mehr "sda"s. Es besteht nur das Block-Special "/dev/usb"

----------

## firefly

was ist daran so schwer, wenn du einfach die letzten 10 bis 20 zeilen der dmesg ausgabe hier postest, nachdem du den usb-stick eingesteckt hast?

desweiteren wass passiert wenn du nachdem der usb-stick angeschlossen ist ein 

```
modprobe usb-storage
```

 machst?

----------

## LeonGaultier

Leute! Wenn die Devices schon angelegt werden, dann ist das Modul doch geladen und funktioniert.

----------

## nikaya

Was sagt denn "fdisk -l" über den Stick?

Formatiert ist er schon,ja?

----------

## firefly

nein, denn er findet ja, nach seiner aussage, keine sd* ausgaben in dmesg  :Wink: 

wenn ein usb-stick angeschlossen wird, dann sollte die ausgabe in dmesg in etwa wie folgt aussehen:

 *Quote:*   

> usb 2-2: new full speed USB device using uhci_hcd and address 22
> 
> usb 2-2: configuration #1 chosen from 1 choice
> 
> scsi2 : SCSI emulation for USB Mass Storage devices
> ...

 

EDIT:ach ja kannst du mal die ausgabe von lsmod hier posten nachdem du den stick angesteckt hast?

Ist usb-storage und scsi-disk support fest im kernel oder als modul?

----------

## Battlestar Gentoo

Hier ist die Ausgabe von dmesg:

```
usbcore: registered new driver usbfs

usbcore: registered new driver hub

usb usb1: configuration #1 chosen from 1 choice

usb 1-1: new full speed USB device using uhci_hcd and address 2

usb 1-1: configuration #1 chosen from 1 choice

usbcore: registered new driver usblp

drivers/usb/class/usblp.c: v0.13: USB Printer Device Class driver

usb-storage: device found at 2

usb-storage: waiting for device to settle before scanning

usbcore: registered new driver usb-storage

usbcore: registered new driver usbhid

drivers/usb/input/hid-core.c: v2.6:USB HID core driver

usbcore: registered new driver snd-usb-audio

usb-storage: device scan complete

usb 1-1: USB disconnect, address 2

usb 1-2: new full speed USB device using uhci_hcd and address 3

usb 1-2: configuration #1 chosen from 1 choice

usb-storage: device found at 3

usb-storage: waiting for device to settle before scanning

usb-storage: device scan complete

usb 1-2: USB disconnect, address 3

usb 1-1: new full speed USB device using uhci_hcd and address 4

usb 1-1: configuration #1 chosen from 1 choice

usb-storage: device found at 4

usb-storage: waiting for device to settle before scanning

usb-storage: device scan complete
```

modprobe usb-storage kann ich logischerweise nicht ausführen, da ich es nicht als Modul einkompiliert habe.

----------

## firefly

ok usb-storage findet den usb-stick und aktiviert ihn. Nur es werden keine devices für die partition(en) auf dem stick erstellt.

also hast du  entweder sd_mod (scsi-disk support) nicht im kernel aktiviert, oder, wenn als modul, dann mach mal test-weise ein 

```
modprobe sd_mod
```

 wenn der stick angeschlossen ist.

----------

## Battlestar Gentoo

Was sagt denn "fdisk -l" über den Stick?

fdisk -l sagt gar nichts. Wenn der Stick in der Partitionstabelle wäre, könnte ich ihn doch mounten.

Formatiert ist er schon,ja?

Nein, wie soll ich den Stick auch formatieren, wenn ich nicht drauf zugreifen kann.

----------

## firefly

öhm eigentlich meinte er was ein 

```
fdisk -l <block-device>
```

 sagt  :Wink: 

Nur bei dir ist das problem das überhaupt kein block-device erstellt wird  :Smile: 

----------

## Battlestar Gentoo

also hast du entweder sd_mod (scsi-disk support) nicht im kernel aktiviert, oder, wenn als modul, dann mach mal test-weise ein modprobe sd_mod wenn der stick angeschlossen ist.

Also folgende Dinge sind bei mir aktiviert:

legacy /proc/scsi

SCSI disk support

SCSI generic support

Alle fest einkompiliert, aber trotzdem keine Spur von irgendwelchen sds

----------

## Battlestar Gentoo

Offensichtlich war das Dateisystem am Stick irgendwie beschädigt. Habe jetzt neu formatiert, und es scheint zu funktionieren.  (mit /dev/usb) Danke für eure Hilfe. 

Eine letzte Frage, bezüglich der Mountpunkte, weil ich jetzt mit dem USB-Stick das gleiche Problem wie immer habe: Ich verstehe, seit ich Linux nutze bis heute nicht, was es bringt, bestimmte Regeln in der fstab zu setzen, wenn ohnehin der Zugriff vom Mountpunkt abhängt. Wenn ich nicht die Mountpunkte (aller Dateisystem, zB Festplatten) auf 775 mit Gruppe users setzte, bringen mir die tolerantesten Regeln nichts. Vielleicht kann mich jemand diesbezüglich aufklären.

----------

## firefly

öhm die rechte von dem verzeichniss, das als mount-point verwendet, wird haben keine auswirkung auf die rechte, wenn ein block-device in den mount-point eingehängt wird.

Dann hängen die rechte von dem verwendeten Dateisystem ab, und zwar, wenn das FS die Linux-datei rechte beherscht, werden die im FS gespeicherten rechte für die aus der sicht des FS root-verzeichniss verwendet. Wenn es sich aber um ein FS handelt, welches die Linux Datei rechte nicht untersüzt, werden die rechte aus der fstab verwendet oder defaults.

Das kannst du sehr gut an einem usb-stick mit fat-fs sehen. Setzte den user und die gruppe des mount-points auf z.b portage, portage und dann mounte deinen usb-stick in dieses verzeichniss. Wenn du dir dann die rechte des verzeichnisses anschaust, wirst du feststellen, das es nun root:root(user:gruppe), solange keine andere gruppe/user in der fstab dafür festelegt wurde, zugeordnet ist.

----------

## Battlestar Gentoo

öhm die rechte von dem verzeichniss, das als mount-point verwendet, wird haben keine auswirkung auf die rechte, wenn ein block-device in den mount-point eingehängt wird. 

Aber warum kann es dann sein, dass ein ext3-Filesystem erst dann als normaler Benutzer beschreibbar ist, wenn ich die Rechte von /mnt/multimedia (=der Einhängepunkt) auf 775 Gruppe users gesetzt habe?

Fstab-Eintrag:

```
/dev/hda2      /mnt/multimedia   ext3      defaults   0 2
```

Desweiteren kann ich den USB-Stick nicht als normaler Benutzer mounten, obwohl ich in der fstab alle Rechte setzte:

```

/dev/usb      /mnt/usbstick   vfat     users,exec,umask=000   0 0
```

Kannst du dir das erklären?

----------

## firefly

 *Gentoo Reptile wrote:*   

> 
> 
> öhm die rechte von dem verzeichniss, das als mount-point verwendet, wird haben keine auswirkung auf die rechte, wenn ein block-device in den mount-point eingehängt wird. 
> 
> Aber warum kann es dann sein, dass ein ext3-Filesystem erst dann als normaler Benutzer beschreibbar ist, wenn ich die Rechte von /mnt/multimedia (=der Einhängepunkt) auf 775 Gruppe users gesetzt habe?
> ...

 

musst du die Änderunge der rechte für /mnt/multimedia jedesmal ändern, nachdem /dev/hda2 nach /mnt/multimedia gemountet ist?

bei mir sieht der fstab eintrag für meinen usb-stick wie folgt aus:

```
/dev/usbflash1          /media/usbflash   vfat,msdos,ext2       users,noauto,gid=6,uid=1000,dmask=002,fmask=113 0 0
```

ach ja wie sehen die rechte von /dev/usb aus?

----------

## Battlestar Gentoo

musst du die Änderunge der rechte für /mnt/multimedia jedesmal ändern, nachdem /dev/hda2 nach /mnt/multimedia gemountet ist? 

Nein, solange sie auf 775 bleiben, nicht. Liegen sie "darunter", kann ich als Normaluser auf diesem Laufwerk nicht mehr schreiben.

 *Quote:*   

> 
> 
> /dev/usbflash1          /media/usbflash   vfat,msdos,ext2       users,noauto,gid=6,uid=1000,dmask=002,fmask=113 0 0

 

Also das mit der Partitionszahl "1" habe ich bisher noch nicht verstanden. Will ich usb1 mounten, sagt er mir, dass usb1 nicht exisitert. Mounte ich /dev/usb, sagt er mir, dass es ein "bad superblock, missing codepage usw" ist, hmmm. 

Nochmal bitte: Was genau muss nun in der Udev-Regel stehen und wie muss ich es dann mit welchen Rechten (wenn ich auf FAT32 formatiert (fdisk-Option n-> hexcode b)) einhängen?

P.S. Ich muss jetzt leider los. Kann erst wieder abends weiter probieren, danke einstweil.

----------

## firefly

öhm was steht in der ausgabe von dmesg nachdem mount die fehlermeldung ausgibt

----------

## Battlestar Gentoo

Ich habe jetzt noch ein wenig herumprobiert und weiß jetzt, dass der USB-Stick nur dann nicht gemountet werden kann, wenn das Dateisystem mit fdisk zu fat32 formatiert wurde. (Hexcode "b" bei den Optionen).

bei ext3 habe ich keine Probleme.

Die Meldung aus dmesg ist dabei folgende:

```
VFS: Can't find a valid FAT filesystem on dev sda1
```

Aber wieso nicht? Kann fdisk nicht ordentlich formatieren, oder was ist das Problem?

----------

## ChrisJumper

Hallo Gentoo Reptile!

Also das mit dem unbekannten Filesystem ist "so eine Sache". Zuerst musst du im Kernel den Support für vfat aktiviert haben und dann hat es wohl auch mit den Ländercode-Einstellungen dieser Vfats zu tun. Bei Fat32 hilft es, aber mir sind immer noch USB-Sticks untergekommen die mein Gentoo nicht erkennen mag...

Schau mal hier der Link:

schau mal hier

Gut Nacht

P.s.: Hier nochmal meine eingebauten "USB"-Kerneldinge ;)

```
CONFIG_USB_ARCH_HAS_HCD=y

CONFIG_USB_ARCH_HAS_OHCI=y

CONFIG_USB_ARCH_HAS_EHCI=y

CONFIG_USB=y

CONFIG_USB_DEVICEFS=y

CONFIG_USB_EHCI_HCD=y

CONFIG_USB_UHCI_HCD=y

CONFIG_USB_STORAGE=y

CONFIG_USB_HID=y

CONFIG_USB_HIDINPUT=y

CONFIG_USB_MON=y
```

Achtung jetzt kommt Halbwissen: Ich meine gehört zu haben, das ein USB-Device nicht als /dev/sd?X (?=Buchstabe, X=Number) gemountet wird, wenn er "langsame oder veraltete" Device-Treiber verwendet. Also USB 1.0 usw.. dann geht er nach /dev/ub?X

----------

## Battlestar Gentoo

Hi,

das mit den Kernel-Optionen von vfat werde ich mir morgen abend ansehen. Davor bin ich leider nicht daheim.

 *Quote:*   

> Achtung jetzt kommt Halbwissen: Ich meine gehört zu haben, das ein USB-Device nicht als /dev/sd?X (?=Buchstabe, X=Number) gemountet wird, wenn er "langsame oder veraltete" Device-Treiber verwendet. Also USB 1.0 usw.. dann geht er nach /dev/ub?X

 

Nun, mit dem Mounten habe ich jetzt eigentlich kein Problem. Die Udev-Option KERNEL ist zwar sd?1, aber ich habe keine Probleme den Stick nach /mnt/usbstick zu mounten. Vorausgesetzt der Mountpunkt hat genug Rechte, wo ich wieder bei meinem Problem weiter oben wäre. 

Es kann mir nämlich wirklich keiner mehr weismachen, dass die Rechte des Mountpunkts nichts mit den Rechten aus /etc/fstab zu tun haben. Unter "users 775" spielt sich bei mir gar nichts ab, also um auf diesen Filesystemen schreiben zu können, brauche ich mindestens diese Rechte.

----------

## firefly

so jetzt muss ich dir das doch mal beweisen, das es stimmt was ich sage:

der USB-Stick ist mit vfat(fat32) formatiert:

ursprüngliche rechte vom verzeichniss vor dem mounten:

```
drwxr-xr-x 2 stephan users 104 2006-09-25 23:58 usbflash
```

rechte nach dem befehl als root mount /dev/usbflash1 /media/usbflash

```
drwxr-xr-x 3 root    root  4096 1970-01-01 01:00 usbflash
```

chown root:root auf /media/usbflash in ungemounteten zustand:

```
drwxr-xr-x 2 root    root  104 2006-09-25 23:58 usbflash
```

mount /media/usbflash als user mit folgendem fstab eintrag:

```
/dev/usbflash1          /media/usbflash   vfat,msdos,ext2       users,noauto,gid=6,uid=1000,dmask=002,fmask=113 0 0
```

die rechte:

```
drwxrwxr-x 3 stephan disk  4096 1970-01-01 01:00 usbflash
```

chmod 700 auf /media/usbflash in ungemounteten zustand:

```
drwx------ 2 root    root  104 2006-09-25 23:58 usbflash
```

mount /media/usbflash als user:

```
drwxrwxr-x 3 stephan disk  4096 1970-01-01 01:00 usbflash
```

nachdem unmount vom user:

```
drwx------ 2 root    root  104 2006-09-25 23:58 usbflash
```

der USB-Stick ist jetz mit ext2 formatiert:

die rechte von /media/usbflash sind immer noch

```
drwx------ 2 root    root  104 2006-09-25 23:58 usbflash
```

der fstab eintrag sieht wie folgt aus:

```
/dev/usbflash1          /media/usbflash   ext2       users,noauto 0 0
```

rechte wenn man als user mountet:

```
drwxr-xr-x 3 root    root  1024 2006-10-03 09:43 usbflash
```

ein chown stephan:users auf das gemountete verzeichniss:

```
drwxr-xr-x 3 stephan users 1024 2006-10-03 09:43 usbflash
```

unmount als user:

```
drwx------ 2 root    root  104 2006-09-25 23:58 usbflash
```

remount als user:

```
drwxr-xr-x 3 stephan users 1024 2006-10-03 09:43 usbflash
```

mount von /dev/usbflash1 als root nach /media/floppy:

rechte vor dem mount:

```
drwx------ 2 root    root    72 2004-04-11 16:50 floppy
```

nach dem mounten:

```
drwxr-xr-x 3 stephan users 1024 2006-10-03 09:43 floppy
```

wie du sehen kannst speichert das ext2 fs welche rechte es hat für seinen mount-point und zwar unabhängig des verzeichnisses, welches als mountpount beim mounten ausgewählt wird.

das vfat fs unterstüzt kein unix-dateirechte und deshalb sind die rechte des mountpoints, nach dem mounten des Dateisystem, abhängig von den mount optionen. Standard ist root:root 755

----------

## Battlestar Gentoo

Ich hab zu so später Stunde keine Lust mehr es auszuprobieren, aber ich werde es noch nachholen. Ich bin gespannt.

Übrigens, mein USB-Stick kann jetzt ohne "bad superblock etc.."-Meldungen gemountet werden. Ein

```
mkdosfs /dev/usbstick
```

hat das Problem offensichtlich entgültig gelöst.

----------

## py-ro

Firefly: das Phänomen mit den Zugriffsrechten des Mountpoints gibt es tatsächlich, ist auch nicht immer reproduzierbar, hat mich aber auch schon nerven gekostet.

MfG

Py

----------

## Battlestar Gentoo

Ich hatte schon wieder Probleme, aber "mkdosfs -F 32 /dev/usbstick" ist wohl die entgültige Lösung =)

----------

