Re: USB a /dev/sda o a /dev/sdb
En/na Lluís Gras ha escrit:
Bones !!!
M'han deixat un pendrive i per accedir-hi he de muntar-lo com /dev/sda
enlloc de /dev/sda1 com ho tenia al fstab, fins aquí tot correcte el
problema ve quan un cop conectat el desconectes i llavors no hi pots
accedir, funciono amb supermount però no crec que sigui el problema.
Vegis el resultat de dues connexions i desconnexions consecutives:
Sorry !!!
Em pensava que no hi podia accedir i veig que si, en qualsevol cas el que
em mosqueja és que tan aviat t'assigna /dev/sda com ho fa amb /dev/sdb.
Home! d'això en sé una mica...
Això que dius és ben normal. Si el connectes una tercera vegada sense
rebotar probablement te l'assignarà a /dev/sdc i així successivament. No
és cap problema del linux, sinó de la topologia USB. A diferència d'un
disc dur intern, que sempre és al mateix lloc, els dispositius
removibles s'han de poder connectar a qualsevol dels connectors
disponibles, i això no permet assignar-los noms concrets. Cada vegada
que un dispositiu USB (o firewire) es connecta al bus, és "enumerat" pel
subsistema USB amb un número de 1 a 127. Els números s'assignen
correlativament, encara que es tracti del mateix dispositiu que s'ha
desconnectat i tornat a connectar. Si ens quedem sense números es
comencen a reutilitzar els que han quedat buits, però això és difícil
que passi. Això porta a la "creació" de dispositius correlatius: sda,
sdb, sdc, sdd... i clar, no pots posar una línia fixa al fstab perquè no
saps segur com es "dirà" el dispositiu quan el connectis.
La solució està en emprar un sistema que permeti assignar un nom únic i
distint a cada dispositiu en funció d'algun paràmetre exclusiu d'ell
(p.ex. el número de sèrie, o el codi del fabricant). La manera de fer
això és utilitzant el subsistema UDEV, que permet fer això i molt més.
Per exemple, un cop configurat correctament UDEV jo li dic que, en
connectar el meu pendrive crei un enllaç simbòlic /dev/pendrive0 (jo li
vaig crear una taula de particions, d'aquí el "0") al dispositiu, es
digui com es digui. Llavors puc afegir al fstab:
/dev/pendrive0 /mnt/pendrive vfat rw,user,noauto 0 0
i ja està.
Per fer anar UDEV el millor és usar un nucli 2.6 (crec que hi ha pedaços
per al nucli 2.4, però no ho he provat). També n ecessitaras les eines
d'espai d'usuari (apt-get install udev) i configurar-lo. Per això cal
editar /et/udev/udev.rules (o encara millor, crear un fitxer propi que
es digui "pendrive.rules" dins /etc/udev/rules.d) amb una línia que posi:
BUS="usb", SYSFS{product}="<nom del producte>", NAME="%k",
SYMLINK="pendrive%n
Òbviament, on diu <nom del producte> hi hauràs de posar el teu, que
trobaràs amb la utilitat "udevinfo", un cop hagis endollat el pendrive i
l'hagi detectat, per exemple, com a /dev/sda:
udevinfo -a -p /sys/block/sda
Bé, a veure si hi ha sort. Et passo un enllaç útil:
http://www.badopi.org/node/630
Orestes
Reply to: