[LUG.ro] Montar mp3 player

Gustavo Guillermo Perez lugro@lugro.org.ar
Tue, 1 Feb 2005 12:37:14 +0000


El Lun 31 Ene 2005 15:00, KSTOR escribió:
> En la carpeta /dev/ tengo sda, sda1, sda2.. y también sdb, sdb1,...
> Intente montar el dispositivo con todos ellos pero tira los mismo.
> Tengo cargado el modulo usb-storage y usbcore, el demsg referido al usb
> dice esto:
>
> usbcore: registered new driver usbfs
> usbcore: registered new driver hub
> Initializing USB Mass Storage driver...
> usbcore: registered new driver usb-storage
> USB Mass Storage support registered.
>
> Lo que pasa también es que el modulo usb-storage no lo carga al inicio,
> lo tengo que hacer a mano. Pero igual después re-conecto el reproductor
> y sigo sin poder montar.
>
> Utilizo la version 2.6.6 del kernel...
>
> SALUDOS

Ese kernel a mi me anda con casi todo, usb-storage solo lo cargo para las 
cámaras cybershot de sony y muy pocos lapices USB, porque por default muchos 
reproductores mp3 y lapices no usan usb-storage son nativos, son de los que 
pueden bootear con el bios, y todos esos no usan usb-storage, pero el 2.6.6 
lo tengo andando en una de mis PCs sin problemas
Si usaste udev, udev fabrica los nodos como /dev/uba* o /dev/ubb* /dev/ubc*, 
como veo que tenés /dev/sda entonces no es udev, o es una mezcla de ambos.
alomejor podés estar en un caso de unusual_dev en el driver usb-storage, y 
esto puede servir para que los que desarrollan el kernel agreguen una entrada 
especial en ese driver, por ejemplo mi cámara USB antes de tener un lector de 
tarjetas, por un buen tiempo tuve que poner en el archivo
/usr/src/linux-2.6.6/drivers/usb/storage/unusual_devs.h algo así:

/* Not sure who reported this originally but                                    
 * Pavel Machek <pavel@ucw.cz> reported that the extra US_FL_SINGLE_LUN         
 * flag be added */                                                             
UNUSUAL_DEV(  0x04cb, 0x0100, 0x0000, 0x2210,                                   
                "Fujifilm",                                                     
                "FinePix 1400Zoom",                                             
                US_SC_UFI, US_PR_DEVICE, NULL, US_FL_FIX_INQUIRY | 
US_FL_SINGLE_
LUN),                      

donde lo que no estaba era US_FL_FIX_INQUIRY, no me enteré solo, compilé el 
kernel en modo USB verboso del driver usb-storage y el texto de los archivos 
de log y lspci se los envié para que me dieran una opinión, ellos se 
encargaron y me ayudaron, pero solo te prestan atención con información 
detallada, de todas formas revisá ese archivo entero por más que no te sirva 
de nada dice al menos modelos y marcas de aparatos, en mi caso la cámara no 
era el mismo modelo era la 1300.

Al conectar el reproductor tenés que ver si se adjuntó un dispositivo de disco 
eso se ve en la terminal donde syslog muestra los mensajes que suele ser 
CONTROL+ALT+F10.

Para darle permisos, es muy fácil con hotplug, resulta que cuando hotplug 
detecta un nuevo dispositivo ejecuta un comando y como argumento le dice cual 
es el device que se acaba de adjuntar, eso permite darle permisos a /dev/sda* 
por ejemplo cuando se conecta y con un simple script que lo puedo mandar si 
te interesa agregás la entrada a /etc/fstab si configuraste el escritorio de 
KDE para que muestre los iconos de dispositivos extraibles (está en las 
propiedades del escritorio) automáticamente al cabo de no más de 5 o 6 
segundos de conectar el dispositivo aparece el icono para montarlo y como 
hotplug (y tu script) se supone que le dieron permisos, todo debería 
funcionar.

respecto a los drivers de usb-storage que no se cargan al arranque, en algunas 
distribuciones hay un script vacío que se llama /etc/init.d/boot.local donde 
podés poner:
modprobe usb-storage o lo que quieras que se cargue o ejecute al arranque.
si no existe el archivo, lo podés crear y hacer un enlace simbólico al 
runlevel actual que estas corriendo, por ejemplo al hacer como root (mi 
runlevel es el 3):
# runlevel
N 3
ln -s /etc/init.d/boot.local /etc/rc.d/3/S39boot.local
(el 39 es un ejemplo)
en SuSE es:
insserv /etc/init.d/boot.local
en Gentoo:
rc-update -a /etc/init.d/boot.local default

Saludos

-- 
Gustavo Guillermo Pérez
Compunauta uLinux
www.userver.tk