View previous topic :: View next topic |
Author |
Message |
vgl n00b
Joined: 08 Feb 2004 Posts: 45 Location: Murcia
|
Posted: Sat Nov 06, 2004 1:38 pm Post subject: [udev] Driver usb-storage en reproductor mp3 (cerrado) |
|
|
Tengo uno de esos reproductores mp3 usb que usan el driver usb-storage. Uso exclusivamente udev. Cuando lo conecto todo va OK:
Code: |
ls -lah /dev/reproductor_mp3
brw-rw---- 1 root root 8, 1 nov 6 13:18 /dev/reproductor_mp3
|
Lo desconecto y lo vuelvo a conectar:
Code: |
ls -lah /dev/reproductor_mp3
crw-rw---- 1 root root 21, 0 nov 6 13:22 /dev/reproductor_mp3
|
Ohh!! me ha cambiado el dispositivo, ahora es de carácter y no de bloque. Hasta que no reinicio no vuelve a funcionar bien. Es decir, cuando lo conecto dos veces, la primera va bien y la segunda y sucesivas va mal.
Más información:
Code: |
cat /etc/udev/rules.d/memorias_usb.rules
SYSFS{product}="MusicDrive ", NAME="reproductor_mp3"
|
¿Alguna idea?
Last edited by vgl on Sun Nov 07, 2004 11:19 am; edited 1 time in total |
|
Back to top |
|
|
Fran Guru
Joined: 29 Feb 2004 Posts: 530 Location: Coruña (Spain)
|
Posted: Sat Nov 06, 2004 3:21 pm Post subject: |
|
|
Mmmm... el nombre etc/udev/rules.d/memorias_usb.rules no me parece muy adecuado... usará primero el 50-udev.rules:
Quote: | Files in /etc/udev/rules.d/ are parsed in lexical order. udev will stop processing rules as soon as it finds a matching rule in a file for the new item of hardware that has been detected. It is important that your own rules get processed before the udev defaults, otherwise your own naming schemes will not take effect! I suggest that you keep your own rules in a file at /etc/udev/rules.d/10-local.rules (this doesn't exist by default - create it). As 10 comes before 50, you know that your rules will be looked at first.
|
Deberías llamarlo 10memorias_usb.rules, o algo así. Es posible que esa sea la causa (que alguna regla del primer fichero se aplique). Aunque no sé por qué puede fallar sólo la 2a vez. Por otro lado, ¿has probado a dejar el nombre del kernel y poner tu nombre como link simbólico? Suele ser más conveniente:
Code: | SYSFS{product}="MusicDrive ", NAME="%k", SYMLINK="reproductor_mp3" |
Prueba ambas cosas, a ver. |
|
Back to top |
|
|
celeron2002 n00b
Joined: 17 Oct 2004 Posts: 49
|
Posted: Sat Nov 06, 2004 4:42 pm Post subject: |
|
|
a mi me paso algo similar con una impresora usb, solo funcionaba cuando estaba conectada al iniciar el pc. Lo que hice fue incluir el soporte en el kernel, antes lo tenia como modulo, talvez te pase lo mismo |
|
Back to top |
|
|
vgl n00b
Joined: 08 Feb 2004 Posts: 45 Location: Murcia
|
Posted: Sun Nov 07, 2004 11:19 am Post subject: |
|
|
Fran wrote: | Mmmm... el nombre etc/udev/rules.d/memorias_usb.rules no me parece muy adecuado... usará primero el 50-udev.rules:
Quote: | Files in /etc/udev/rules.d/ are parsed in lexical order. udev will stop processing rules as soon as it finds a matching rule in a file for the new item of hardware that has been detected. It is important that your own rules get processed before the udev defaults, otherwise your own naming schemes will not take effect! I suggest that you keep your own rules in a file at /etc/udev/rules.d/10-local.rules (this doesn't exist by default - create it). As 10 comes before 50, you know that your rules will be looked at first.
|
Deberías llamarlo 10memorias_usb.rules, o algo así. Es posible que esa sea la causa (que alguna regla del primer fichero se aplique). Aunque no sé por qué puede fallar sólo la 2a vez. Por otro lado, ¿has probado a dejar el nombre del kernel y poner tu nombre como link simbólico? Suele ser más conveniente:
Code: | SYSFS{product}="MusicDrive ", NAME="%k", SYMLINK="reproductor_mp3" |
Prueba ambas cosas, a ver. |
Resultado:
Code: |
#ls -lah /dev/reproductor_mp3
lrwxrwxrwx 1 root root 4 nov 7 11:03 /dev/reproductor_mp3 -> sda1
# mount /dev/reproductor_mp3
# umount /dev/reproductor_mp3
|
Desconecto y conecto:
Code: |
#mount /dev/reproductor_mp3
mount: /dev/reproductor_mp3 no es un dispositivo de bloques
#ls -lah /dev/reproductor_mp3
lrwxrwxrwx 1 root root 3 nov 7 11:04 /dev/reproductor_mp3 -> sg0
# ls -lah /dev/reproductor_mp3 /dev/sg0
lrwxrwxrwx 1 root root 3 nov 7 11:04 /dev/reproductor_mp3 -> sg0
crw-rw---- 1 root disk 21, 0 nov 7 11:04 /dev/sg0
|
Es decir, primero es el dispositivo /dev/sda1 de bloques, y luego es /dev/sg0 de carácteres.
Indagando un poco me he dado cuenta de que cuando lo conecto la segunda vez se crea el enlace a /dev/sg0, pero ¡¡ /dev/sda1 también se crea !! (sin enlace a /dev/reproductor_mp3).
Llegando un poco más lejos.
Hace que la próxima vez que lo conecte funcione correcto (como si fuera la primera). A las siguientes carga otra vez sd_mod y falla.
Moraleja: La próxima vez que me compile el kernel (dentro de poco) quitaré el módulo sd_mod.
Más o menos, salvo la incomodidad de quitar el módulo sd_mod esto esta resuelto.
Gracias a Fran y Celeron2002 por sus ideas. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|