# rozpoznawanie urządzenia USB przy montowaniu

## szybi

Mam pendrive'a i mp3. Pierwszy jest rozpoznawany jako /dev/sda1 , a drugi jako /dev/sda. Chce, żeby oba montowały się automatycznie, ale wygląda, że do zamontowania używana jest zawsze pierwsza z reguł znaleziona w fstabie. Zatem poprawnie montowane jest tylko jedno z tych urządzeń. Nie mam pomysłu jak to rozwiązać.

Edit by Poe

ort! 

-- argasek edit (ort, Poe, zasnąłeś i chyba nie zapisałeś  :Smile:  )Last edited by szybi on Wed Jan 31, 2007 2:56 pm; edited 2 times in total

----------

## n0rbi666

Niech zgadnę - używasz kde ? (wiem bo sam mam taki problem, i jak na razie nie kombinowałem żeby go rozwiązać xD

tzn jedyne co zrobiłem to udev-rules - ale i to nie pomaga  :Neutral:  )

----------

## Gabrys

Jeśli chcesz automatycznego montowania, to nie powinieneś mieć wpisów w /etc/fstab, tylko dobrze skonfigurowanego HAL-a.

----------

## szybi

Z jednym wpisem działało dobrze, to myślałem, że z dwoma będzie lepiej  :Smile: 

Nie potrafię nic znaleźć konkretnego na temat konfigurowania HAL-a (ale znalazłem coś o sprzedawaniu hali  :Wink:   )

----------

## Raku

jak używasz KDE, to wystarczy że masz uruchomionego hala i wszystko montuje ci się automatycznie - bez wpisywania niczego do fstabów, itp.

----------

## n0rbi666

http://gentoo-wiki.com/HOWTO_D-BUS%2C_HAL%2C_KDE_media:/

U mnie wystarczyło wywalić wszystkie wpisy dotyczące usb z /etc/fstab, i dodać użytkownika do grupy plugdev  :Smile: 

----------

## szybi

Ja mam gnome'a.

Czy nie wystarczy, że do grupy plugdev należy haldaemon?

Jak by nie było, jak nie ma w fstab-ie wpisów dotyczących usb nie montuje poprawnie urządzeń, o których mowa.

Jeszcze postudiuję ten linkt od n0rbi666 (dziękuję), ale sielanka to to nie będzie coś czuję  :Smile: 

----------

## ChRisiu

Zawsze możesz skorzystać z udev-rules jak wspomniał n0rbi666. Ja mam coś takiego dla aparatu i pen'a:

```

# Konica Minolta DiMAGE

KERNEL=="sd?1", BUS=="scsi", SYSFS{model}=="DiMAGE*", SYMLINK+="dimage"

# Pendrive

KERNEL=="sd?1", BUS=="scsi", SYSFS{model}=="USB DRIVE*", SYMLINK+="usb_pen"

```

i /etc/fstab do tego:

```

/dev/dimage             /mnt/dimage     auto            noauto,rw,user,dmask=000,fmask=111,uid=1000,gid=100,codepage=852,iocharset=iso8859-2   0 0

/dev/usb_pen            /mnt/usb_pen    auto            noauto,rw,user,dmask=000,fmask=111,uid=1000,gid=100,codepage=852,iocharset=iso8859-2   0 0

```

Działa bezproblemowo   :Wink: 

----------

## szybi

I tak właśnie planuję to rozwiązać. Tylko sobie najpierw przetłumaczę manuala do udev  :Smile:  Może się czegoś nauczę  :Smile: 

Dziękuję i pozdrawiam.

----------

## szybi

Myślałem, że już sobie poradziłęm, ale nie. Usunąłem te wpisu z fstab-a i dodałem użytkowników do grupy plugdev i działało. Trochę, bo nie wszystkim. Może coś pomyliłem. Teraz kłopot mam inny, dalej montowanie USB:

Podłączam aparat i w dmesg nie wiele:

```
ohci_hcd 0000:00:02.0: wakeup

usb 1-3: new full speed USB device using ohci_hcd and address 14

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

Automatycznie nic się nie zamontowało, więc chciałbym ręcznie, ale nie wiem, które urządzenie. W /dev mam kilka urządzeń USB z numerem 14:

usbdev1.14_ep00 

usbdev1.14_ep01

usbdev1.14_ep82

usbdev1.14_ep83

 i spróbowałem tak:

```

udevinfo --attribute-walk --name=usbdev1.14_ep00              

  looking at device '/devices/pci0000:00/0000:00:02.0/usb1/1-3/usbdev1.14_ep00':

    KERNEL=="usbdev1.14_ep00"

    SUBSYSTEM=="usb_endpoint"

    DRIVER==""

    ATTR{direction}=="both"

    ATTR{type}=="Control"

    ATTR{interval}=="0ms"

    ATTR{wMaxPacketSize}=="0008"

    ATTR{bInterval}=="00"

    ATTR{bmAttributes}=="00"

    ATTR{bEndpointAddress}=="00"

    ATTR{bLength}=="07"

    ATTR{dev}=="442:13"

  looking at parent device '/devices/pci0000:00/0000:00:02.0/usb1/1-3':

    KERNELS=="1-3"

    SUBSYSTEMS=="usb"

    DRIVERS=="usb"

    ATTRS{configuration}==""

    ATTRS{product}=="Canon Digital Camera"

    ATTRS{manufacturer}=="Canon Inc."

    ATTRS{maxchild}=="0"

    ATTRS{version}==" 1.10"

    ATTRS{devnum}=="14"

    ATTRS{speed}=="12"

    ATTRS{bMaxPacketSize0}=="8"

    ATTRS{bNumConfigurations}=="1"

    ATTRS{bDeviceProtocol}=="00"

    ATTRS{bDeviceSubClass}=="00"

    ATTRS{bDeviceClass}=="00"

    ATTRS{bcdDevice}=="0001"

    ATTRS{idProduct}=="309c"

    ATTRS{idVendor}=="04a9"

    ATTRS{bMaxPower}=="  0mA"

    ATTRS{bmAttributes}=="c0"

    ATTRS{bConfigurationValue}=="1"

    ATTRS{bNumInterfaces}==" 1"

  looking at parent device '/devices/pci0000:00/0000:00:02.0/usb1':

    KERNELS=="usb1"

    SUBSYSTEMS=="usb"

    DRIVERS=="usb"

    ATTRS{configuration}==""

    ATTRS{serial}=="0000:00:02.0"

    ATTRS{product}=="OHCI Host Controller"

    ATTRS{manufacturer}=="Linux 2.6.18-gentoo-r2 ohci_hcd"

    ATTRS{maxchild}=="3"

    ATTRS{version}==" 1.10"

    ATTRS{devnum}=="1"

    ATTRS{speed}=="12"

    ATTRS{bMaxPacketSize0}=="64"

    ATTRS{bNumConfigurations}=="1"

    ATTRS{bDeviceProtocol}=="00"

    ATTRS{bDeviceSubClass}=="00"

    ATTRS{bDeviceClass}=="09"

    ATTRS{bcdDevice}=="0206"

    ATTRS{idProduct}=="0000"

    ATTRS{idVendor}=="0000"

    ATTRS{bMaxPower}=="  0mA"

    ATTRS{bmAttributes}=="e0"

    ATTRS{bConfigurationValue}=="1"

    ATTRS{bNumInterfaces}==" 1"

  looking at parent device '/devices/pci0000:00/0000:00:02.0':

    KERNELS=="0000:00:02.0"

    SUBSYSTEMS=="pci"

    DRIVERS=="ohci_hcd"

    ATTRS{broken_parity_status}=="0"

    ATTRS{enable}=="1"

    ATTRS{modalias}=="pci:v000010DEd00000067sv00001043sd00000C11bc0Csc03i10"

    ATTRS{local_cpus}=="ff"

    ATTRS{irq}=="185"

    ATTRS{class}=="0x0c0310"

    ATTRS{subsystem_device}=="0x0c11"

    ATTRS{subsystem_vendor}=="0x1043"

    ATTRS{device}=="0x0067"

    ATTRS{vendor}=="0x10de"

  looking at parent device '/devices/pci0000:00':

    KERNELS=="pci0000:00"

    SUBSYSTEMS==""

    DRIVERS==""

```

Niby znalazł, że to jest aparat, ale przy próbie montowania ręcznie wszystko idzie dobrze, ale zawartość katalogu po zamontowaniu jest taka:

-r--r--r-- 1 root root 0 sty 31 16:11 exports

-rw------- 1 root root 0 sty 31 16:11 filehandle

-rw------- 1 root root 0 sty 31 16:11 nfsv4leasetime

-rw------- 1 root root 0 sty 31 16:11 nfsv4recoverydir

-rw------- 1 root root 0 sty 31 16:11 threads

-rw------- 1 root root 0 sty 31 16:11 versions

Nie wiem co to za pliki, ale wnioskuję z nich, że źle coś zrobiłem.

Jak dojść do tego, jakie mam montować urządzenie?

..::Milu Edit: ort!!

----------

## joker

jezeli chcesz zrobic wpisy na stale w fstab to polecam:

http://gentoo-wiki.com/HOWTO_Customizing_UDEV

wystarczy lsusb, wpis w udev i fstab.

----------

## szybi

lsusb fajna rzecz, ale nie potrafię z tego nic pożytecznego wyciągnąć.

Zrobiłem sobie taki wpis do hal.rules:

ACTION=="add", ATTRS{product}=="*Camera*", SYMLINK+="aparat"

i nawet fajnie działa - jak podłączam aparat, to tworzy urządzenie "aparat". Jak odłącze, to je usuwa, ale do niczego to nie jest przydatne, bo tego aparatu się nie da zamontować. Efekt montowania jest jak wyżej.

Czy możliwe jest, że tego aparatu poprostu nie da się zamontować?

Podłubałem jeszcze w udevinfo i znalazłem, że subsystem tego aparatu to "usb_endpoint". Urządzenia, które udawało się jakoś zamontować miały zawsze "block". Nie wiem co to znaczy, ale chyba coś w tym jest.

----------

## milu

Może Twój aparat funkcjonuje w trybie ptp? Wtedy nie jest widoczny jako dysk. Do obsługi takiego urządzenia będziesz potrzebował np. media-gfx/gphoto2

Niektóre z aparatów miały możliwość wyboru trybu pracy. Proponuje sięgnąć po ostatnią deskę ratunku - instrukcję obsługi.

----------

## joker

u mnie sprawa wygladala tak:

```
genbox joker # lsusb

Bus 005 Device 001: ID 0000:0000

Bus 002 Device 001: ID 0000:0000

Bus 004 Device 001: ID 0000:0000

Bus 001 Device 002: ID 067b:2506 Prolific Technology, Inc.

Bus 001 Device 001: ID 0000:0000

Bus 003 Device 002: ID 046d:c03d Logitech, Inc.

Bus 003 Device 001: ID 0000:0000
```

interesowalo mnie Prolific Technology, Inc.

/etc/udev/rules.d/10-local.rules:

```
BUS=="usb", KERNEL=="sd*" SYSFS{idVendor}=="067b", SYSFS{idProduct}=="2506", NAME="%k", SYMLINK="usbhd%n"
```

w Twoim przypadku powinno starczyc:

```
BUS=="usb", SYSFS{idVendor}=="067b", SYSFS{idProduct}=="2506", NAME="aparacik"
```

----------

## przemos

 *milu wrote:*   

> Może Twój aparat funkcjonuje w trybie ptp? Wtedy nie jest widoczny jako dysk. Do obsługi takiego urządzenia będziesz potrzebował np. media-gfx/gphoto2
> 
> Niektóre z aparatów miały możliwość wyboru trybu pracy. Proponuje sięgnąć po ostatnią deskę ratunku - instrukcję obsługi.

 

Ja bym jednak tego sie trzymal. Jakis czas temu rowniez mialem problemy z podmontowaniem aparatu, ktory przyniosl znajomy a byl nim canon a70 i okazalo sie, ze gphoto to jest to co potrzebuje (+gtkam jako frontend).

----------

## szybi

Wygląda na to, że gphoto zadziała. Muszę tylko się nauczyć z niego korzystać  :Smile: 

Co do rady joker-a, to wypróbowałem, ale efekt taki jak był - montuą się takie dziwne pliki.

----------

## Yaro

Ja proponuję zainstalować sobie digicam (nakładkę gphoto2 i świetny program do katalogowania zdjęć), wybrać w menu Aparat -> Dodaj aparat i to cała wielka filozofia   :Very Happy:  .

----------

## joker

a w aparacie nie da sie ustawic zeby byl widziany jako usb a nie ptp?

----------

