Portál AbcLinuxu, 19. dubna 2024 10:24


Dotaz: USB: pripojovani novych zarizeni jako /dev/sdb

14.11.2007 09:26 jirka21
USB: pripojovani novych zarizeni jako /dev/sdb
Přečteno: 476×
Odpovědět | Admin
Dobry den,
mam nasledujici problem:

Ve svem zarizeni pouzivam jadro 2.4 s read-only filesystemem.

K zarizeni mam pripojeno neustale jeden flash-disk (/dev/sda) a dalsi flashdisky jsou pripojovany dle potreby.

V zarizeni bezi program (ktery je ulozeny na /dev/sda) a neustale kontroluje pritomnost dalsich flashdisku - pokud se objevi, tak je primountuje, neco provede, a zase odmountuje.

No, a muj problem spociva v tom, ze ovladac si i po odpojeni flashdisku stale pamatuje, ze flashdisk 'B' patri k /dev/sdb a pokud pripojim jiny (ikdyz uz 'B' neni pripojen) tak jej priradi k /dev/sdc.

To je neprakticke, protoze predem nevim kolik ruznych flashdisku se k zarizeni bude pripojovat.

Odstranit modul a znovu jej vlozit do jadra sice pomuze, ale to by ten muj program nesmel bezet taky z flashdisku - takze tohle reseni taky nejde pouzit.

Existuje teda jiny zpusob?

Dekuji

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Josef Kufner avatar 14.11.2007 09:59 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: USB: pripojovani novych zarizeni jako /dev/sdb
Odpovědět | | Sbalit | Link | Blokovat | Admin
Můžeš třeba automaticky updatovat/generovat fstab. Pár řádek v bashi to zvládne lehce... (a fstab hodit do tmpfs)
Hello world ! Segmentation fault (core dumped)
14.11.2007 10:38 jirka21
Rozbalit Rozbalit vše Re: USB: pripojovani novych zarizeni jako /dev/sdb
o to mi ani tak nejde, problemem pro me je to, ze
1) predem nevim kolik flashdisku pripojim, a musel bych dopredu vytvorit pro vsechny mozne zarizeni
/dev/sdc[n], /dev/sdd[n], ...

2) testovat vsechny tyto zarizeni jestli nejsou pripojene
drive jsem to resil dotazem jestli se v souboru
/proc/scsi/usb-storage-1/1
nenachazi radek "Attached: Yes"
a vzdy jsem vedel, ze to bude soubor "/proc/scsi/usb-storage-1/1" a zadny jiny
ale kdyz budu moci pripojit vice flashdisku aniz bych nejak "procistoval" informace o tech, co uz byly odstraneny, tak nevim ktere vsechny soubory budu muset prochazet
jak napr. ze souboru "
/proc/scsi/usb-storage-[m]/[n]
" zjistim kteremu zarizeni to odpovida /dev/sd[c,d,e] ?
kdybych umel nejakym zpusobem (napr. pomoci ioctl()) prinutit ovladac o smazani zaznamu o vytazenych zarizenich vse by se znacne zjednodusilo.
Dekuji
14.11.2007 16:24 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: USB: pripojovani novych zarizeni jako /dev/sdb
Zkontrolujte si pravidla pro udev, bude to téměř jistě tam.
Josef Kufner avatar 14.11.2007 18:27 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: USB: pripojovani novych zarizeni jako /dev/sdb
Ono je udev i pro 2.4 jádra ?
Hello world ! Segmentation fault (core dumped)
14.11.2007 19:12 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: USB: pripojovani novych zarizeni jako /dev/sdb
Aha, tu poznámku o jádře 2.4 jsem úplně přehlédl.
14.11.2007 16:25 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: USB: pripojovani novych zarizeni jako /dev/sdb
jak napr. ze souboru /proc/scsi/usb-storage-[m]/[n] zjistim kteremu zarizeni to odpovida /dev/sd[c,d,e] ?
  udevinfo -a -n /dev/sdc
Josef Kufner avatar 14.11.2007 18:31 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: USB: pripojovani novych zarizeni jako /dev/sdb
Nehledej v tom žádné složitosti... prostě:
#!/bin/bash
(
  cat /etc/fstab.base
  for f in /dev/sd*
  do
    echo $f /media/usb/$(basename $f) bla bla bla
  done
) >/etc/fstab
Pro tvoje potřeby to už lehce doděláš. Kdyžtak lze mountovat i tak, že místo zařízení napíšeš LABEL=neco, kde "neco" je jméno partišny.
Hello world ! Segmentation fault (core dumped)
14.11.2007 10:40 miso | skóre: 36 | blog: iSCSI_initiator_howto | Praha
Rozbalit Rozbalit vše Re: USB: pripojovani novych zarizeni jako /dev/sdb
Odpovědět | | Sbalit | Link | Blokovat | Admin
No, a muj problem spociva v tom, ze ovladac si i po odpojeni flashdisku stale pamatuje, ze flashdisk 'B' patri k /dev/sdb a pokud pripojim jiny (ikdyz uz 'B' neni pripojen) tak jej priradi k /dev/sdc.
Pamata si to skutocne driver, alebo to robi udev?
Project Satan infects Calculon with Werecar virus
14.11.2007 11:38 Serafin
Rozbalit Rozbalit vše Re: USB: pripojovani novych zarizeni jako /dev/sdb
Dobrý den, kde přesně se to dá nastavit, aby si systém pamatoval, že flash disk A patří k sda1, disk B k sdb1... ? Používám Mandrivu 2008. Za odpověď předem děkuji.
14.11.2007 11:43 outsider
Rozbalit Rozbalit vše Re: USB: pripojovani novych zarizeni jako /dev/sdb
Pomoci udev pravidel.

Ale netusim k cemu by zrovna tohle mohlo byt normalnimu cloveku dobre (normalne me totiz zajima, kam se ten disk primountuje, ne jak se jmenuje jeho zarizeni).
14.11.2007 18:11 Serafin
Rozbalit Rozbalit vše Re: USB: pripojovani novych zarizeni jako /dev/sdb
Je to dobrý proto, že mám pro připojování disku skript, kde mám všechny parametry pro disk. Ale aby fungoval, potřebuju, aby se pokaždý připojil jako sda1. Zkoušel jsem přepsat fstab, ale nikdy se nepřipojil správně. Buď byl jen pro čtení nebo se špatně kódovala čeština apod.
14.11.2007 18:24 outsider
Rozbalit Rozbalit vše Re: USB: pripojovani novych zarizeni jako /dev/sdb
Tak pouzivejte UUID ( ls -l /dev/disk/by-uuid/ ). Nebo ten skript upravte tak, aby se mu jmeno zarizeni predavalo jako parametr a volejte ho s prislusnym jmenem zarizeni.

Ale stejne si myslim, ze nastavit spravne gnome-mount je jednodussi (teda pokud pouzivate GNOME ;-) )
15.11.2007 18:11 Serafin
Rozbalit Rozbalit vše Re: USB: pripojovani novych zarizeni jako /dev/sdb
Používám KDE. Jak to přesně myslíte, používejte uuid? Skriptík bych měl upravit jak? Vím, že jsou to asi blbý otázky, ale v tohle směru nejsem až tak zběhlý.
15.11.2007 18:14 Serafin
Rozbalit Rozbalit vše Re: USB: pripojovani novych zarizeni jako /dev/sdb
Tak UUID už jsem našel, je to tady kousek níž.
14.11.2007 11:47 jirka21
Rozbalit Rozbalit vše Re: USB: pripojovani novych zarizeni jako /dev/sdb
je to program, ktery pobezi na desce EDOSK7760 (http://www.shlinux.com/products/edosk7760.php) s jadrem 2.4 a read-only systemem - myslim, ze udev je pro jadra rady 2.6, a v /dev/ vytvari zarizeni, tzn. ze tento adresar musi byt pristupny pro zapis - takze si myslim, ze nic takoveho nepouzivam.
14.11.2007 18:26 pavel
Rozbalit Rozbalit vše Re: USB: pripojovani novych zarizeni jako /dev/sdb
A nešlo by použít UUID?
15.11.2007 18:56 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: USB: pripojovani novych zarizeni jako /dev/sdb
Nejsem si moc jistý, jestli to na systému bez udev bude fungovat. Alespoň na mém systému mountování podle UUID funguje pomocí těch symbolických linků v /dev/disk/by-uuid a ty vytváří právě udev.
Josef Kufner avatar 14.11.2007 18:28 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: USB: pripojovani novych zarizeni jako /dev/sdb
/dev se při použití udev mountuje do tmpfs, takže read-only disk nijak nevadí.
Hello world ! Segmentation fault (core dumped)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.