# [SOLVED] [UDEV] Automatyczne tworzenie urządzeń

## Callem

Witam.

Problem polega na tym, że UDEV nie tworzy automatycznie niektórych urządzeń.

N.p. po podłączeniu pendrive'a dmesg wypluwa:

```
usb 1-5: new high speed USB device using ehci_hcd and address 5

scsi4 : SCSI emulation for USB Mass Storage devices

usb-storage: device found at 5

usb-storage: waiting for device to settle before scanning

  Vendor: Kingston  Model: DataTraveler 2.0  Rev: 1.00

  Type:   Direct-Access                      ANSI SCSI revision: 00

SCSI device sdc: 492544 512-byte hdwr sectors (252 MB)

sdc: Write Protect is off

sdc: Mode Sense: 23 00 00 00

sdc: assuming drive cache: write through

SCSI device sdc: 492544 512-byte hdwr sectors (252 MB)

sdc: Write Protect is off

sdc: Mode Sense: 23 00 00 00

sdc: assuming drive cache: write through

 sdc: sdc1

Attached scsi removable disk sdc at scsi4, channel 0, id 0, lun 0

Attached scsi generic sg2 at scsi4, channel 0, id 0, lun 0,  type 0

usb-storage: device scan complete
```

jednak urządzenie /dev/sdc i /dev/sdc1 nie są tworzone. Dopiero po wykonaniu:

```
cd /dev

MAKEDEV sdc
```

tworzne są urządzenia i bez problemu mogę podmontować sdc1, pisać i czytać z i do pendrive'a.

Podobnie mam np z VMware. Urządzenie vmmon nie jest tworzone, vmnet natomiast tak. Tutaj vmmon muszę dodać poprzez mknod lub odpalić vmware-config.pl.

Obecnie używam gentoo-2.6.14-r4, udev-077-r3, 64bit system.

Na wcześniejszych wersjach problem był dokładnie taki sam.

Przewertowałem fora gentoo, goolowałem i czuję się już bezradny.

Czy ktoś z was się już spotkał z takim problemem ? Proszę o info i dziękuję za wszelkie wskazówki.Last edited by Callem on Wed Dec 14, 2005 6:38 pm; edited 1 time in total

----------

## Xax

Nie wiem czy trafie, ale sprawdz czy masz zainstalowany hotplug (jezeli nie to doinstaluje) oraz czy jest uruchomiony (/etc/init.d/hotplug). Najlepiej dodac na stale do runlevela default;

----------

## Callem

Mam zainstalowany pakiet hotplug-base w wersji 20040401.

```
/etc/init.d/hotplug start

 * CONFIG_HOTPLUG not enabled for this kernel!
```

Nie wydaje mi się, by właśnie to było problemem. Kolega ma identyczną maszynę,  podobny objaw z hotplug i u niego nie ma problemów o których pisałem.

Mimo wszystko spróbuję włączyć hotplug w kernelu i sprawdzić jak będzie.

----------

## Xax

```
xax xax # esearch hotplug

[ Results for search key : hotplug ]

[ Applications found : 2 ]

*  sys-apps/hotplug

      Latest version available: 20040923-r1

      Latest version installed: 20040923-r1

      Size of downloaded files: 43 kB

      Homepage:    http://linux-hotplug.sourceforge.net

      Description: USB and PCI hotplug scripts

      License:     GPL-2

*  sys-apps/hotplug-base

      Latest version available: 20040401

      Latest version installed: 20040401

      Size of downloaded files: 40 kB

      Homepage:    http://linux-hotplug.sourceforge.net

      Description: Base Hotplug framework

      License:     GPL-2
```

----------

## Callem

Tak jak podejrzewałem, pakiety hotpluga i obsługa w kernelu nie przyniosły pożądanego rezultatu.

Problem zdaje się leżeć gdzieś w udev.

----------

## Xax

No to inny podejrzany:

```

Device Drivers

    USB support

        USB device filesystem <- ma byc wlaczone

```

Sprawdz czy masz wsparcie w kernelu. Jezeli nie to dodaj. Jezeli masz to:

```
xax linux # mount

udev on /dev type tmpfs (rw,nosuid)

usbfs on /proc/bus/usb type usbfs (rw)

```

Powinny byc oba. Jezeli nie masz usbfs (wsparcie w kernelu powyzej) to po dodaniu wsparcie i restarcie (o ile sie nie pojawi samo):

```
mount -t usbfs none /proc/bus/usb
```

lub na stale do fstab'a

```
none  /proc/bus/usb  usbfs  defaults  0  0
```

Sprawdz, sproboj, jak nie pomyslimy cos wiecej.

----------

## Callem

Wszystko to jest u mnie OK. 

Tak jak napisałem, problem z pendrive'em to tylko przykład, po dodaniu /dev/sdc poprzez MAKEDEV mogę podmontować urządzenie, czytać i pisać do niego bez problemów. W 1 poście podałem co wypluwa dmesg, m. in. 

```
sdc: assuming drive cache: write through

 sdc: sdc1

Attached scsi removable disk sdc at scsi4, channel 0, id 0, lun 0

Attached scsi generic sg2 at scsi4, channel 0, id 0, lun 0,  type 0

usb-storage: device scan complete
```

 ale urządzenie sdc1 ani żadne sdc nie jest tworzone.

Podobnie np. jest z VMware i modułem vmmon, gdzie nie jest tworzony z automatu /dev/vmmon. Dopiero 

```
mknod /dev/vmmon c 10 165
```

 dodaje to urządzenie i VMware działa, lub po odpaleniu vmware-config.pl.

Dlatego obstawiam problem z udev, lub może czegoś mi brakuje w kernelu.

----------

## Callem

Problem, zarówno z pendrive jak i vmware, ustał po ustawieniu w 

```
/etc/conf.d/rc
```

 z 

```
RC_DEVICES="auto"
```

 na 

```
RC_DEVICES="udev"
```

oraz rekompilacji kernela z usb-storage jako moduł. Wcześniej, nieopatrznie, miałem to wkompilowane na stałe, co jak się gdzieś doczytałem - jest dużym błędem.

Dziękuję Xax za wszelkie wskazówki.

Pozdrawiam

----------

