Fedora 15 y M-Audio Audiophile USB

#1 por Mallory el 12/08/2011
Hola de nuevo Señores;
Tengo un viejo problema con mi vieja M-Audio Audiophile USB en Fedora 15. Necesito darle permisos a mi usuario Full Access al dispositivo de audio de la tarjeta. Me explico mejor, hace años lo hacía en Fedora 10 en Sistema-Preferencias-Sistema-Autorizaciones Device-Access y añadía a mi usuario en "Directly access sound devices", parece ser que en F15 no está o ya no funciona así. Por el manual añadiendo mi usuario al grupo "jackuser" sería suficiente, pero no es el caso. Quizás añadiendo alguna regla con la herramienta Policykit?. Estoy un poco perdido!.
Como siempre Fedora sigue funcionando de maravilla, pero es como si el sistema estuviera totalmente blindado y seguro para que un torpe usuario como yo no meta la pata, y eso que tengo desactivado SElinux.

Gracias de antemano
Subir
#2 por monon el 16/08/2011
Prueba a dar al propio dispositivo que hay en /dev los permisos necesarios para tu usuario. Solo se me ocurre eso ...
Subir
#3 por myhomerecords el 17/08/2011
Saludos, hay una forma de darle los permisos por comando, " usermod -a -G grupo usuario ". Espero que te sirva.

Deschamps Produtions

Subir
#4 por Mallory el 18/08/2011
Gracias, hasta ahora lo venía haciendo a lo bruto "chmod -R 777 /dev/snd/" y funciona, lo malo es que al reiniciar vuelven otra vez los valores por defecto. Igual con un 666 me llega, tengo que experimentar un poco. Probaré con "usermod".

Es curioso que esto con Debian y Ubuntu no pasa, es como si el propio sistema en Fedora estuviera super protegido, cosa que veo bien!, me parece más difícil de administrar que las Debian (será la costumbre), pero tiene un rendimiento acoj... , bueno Debian también.

Saludos
Subir
mod
#5 por Irwin J. Cespedes el 19/08/2011
Mallory escribió:
lo malo es que al reiniciar vuelven otra vez los valores por defecto.


Prueba metiendo el código en el archivo "/etc/init.d/rc.local" al puro final del documento, para que te ejecute el comando a la hora de iniciar el sistema, sin necesidad de hacerlo manualmente cada vez que arrancas la máquina.

Es una solución poco elegante, pero hace el trabajo ;-)

Ruta 27, Mi nuevo tema hecho en GNU/Linux: https://soundcloud.com/altiplane/ruta-27

También soy Altiplane, esta es mi música.

Subir
#6 por monon el 19/08/2011
Lo mejor es crear una regla para udev que haga ese trabajo cada vez que se conecta el dispositivo, ya que a traves de rc.local solo se ejecutará una vez al iniciarse el sistema, de este otro modo aplicara el comando cada vez que lo conectes.

La regla mas segura es hacer que el dispositivo pertenezca al grupo deseado (normalmente "audio" y suponiendo que tu usuario ya pertenezca al grupo, pero veo que en tu caso es "jackuser") y cambiar el modo de permisos a 664 del dispositivo.

No se si en fedora los archivos de configuracion estan exactamente igual que en los de ubuntu y pero por ahi andaran...

Lo primero es saber a que dispositivo nos vamos a referir y que atributos tiene (segun udev) por los cuales podamos diferenciarlo del resto.

el comado a usar es "udevadm info" (en versiones anteriores de udev que usa "udevinfo")
$ udevadm info --attribute-walk --path=/sys/hasta/llegar/al/dispositivo
o
$ udevadm info --attribute-walk --name=/dev/hasta/llegar/al/dispositivo



ambos te daran una respuesta como esta:
[...]
looking at parent device '/devices/pci0000:00/0000:00:1e.0/0000:09:01.0':
KERNELS=="0000:09:01.0"
SUBSYSTEMS=="pci"
DRIVERS=="RME Hammerfall DSP"
ATTRS{vendor}=="0x10ee"
ATTRS{device}=="0x3fc5"
ATTRS{subsystem_vendor}=="0x0000"
ATTRS{subsystem_device}=="0x0000"
ATTRS{class}=="0x040100"
ATTRS{irq}=="17"
ATTRS{local_cpus}=="00000000,000000ff"
ATTRS{local_cpulist}=="0-7"
ATTRS{modalias}=="pci:v000010EEd00003FC5sv00000000sd00000000bc04sc01i00"
ATTRS{numa_node}=="-1"
ATTRS{broken_parity_status}=="0"
ATTRS{msi_bus}==""
[...]

Los atributos que necesitaremos son: SUBSYSTEM,ATTRS{vendor} y ATTRS{device}
En mi caso es una RME pci
por lo que el subsystem es

SUBSYSTEMS=="pci"

y la marca

ATTRS{vendor}=="0x10ee"

y el modelo

ATTRS{device}=="0x3fc5"


Con esos datos creamos la "rule" ( regla) de udev creando el archivo

sudo touch /etc/udev/rules.d/90-audiophile.rules

(investiga si en Fedora es ese el path de reglas de udev. Se que algunas distros cambian un poco sobre todo las que no derivan de Debian)

Editas el archivo como root y añades lo siguiente en una sola linea

SUBSYSTEM=="usb" , ACTION=="add" , ATTRS{vendor}=="0xNNNN" , ATTRS{device}=="0xNNNN" , GROUP="jackuser" , MODE="664"

(los NNNN deven ser los datos devueltos por udevadm info)
lo guardas y reinicias udev con el comando

sudo service udev restart

( puede que fedora aun use /etc/init.d/udev restart , no lo sé)
y ya deberia funcionar

Para comprobarlo desnechufa el dispositivo, vuelve a enchufarlo y haz un
ls -la /dev/snd/*

Puede que se deban variar algunas cosas , ya que no puedo comprobar su funcionamiento, pero la cosa va mas o menos por ahí
Subir
#7 por monon el 19/08/2011
Un apunte sobre udevadm.
La mejor manera de encontrar tu dispositivo es usar
cat /proc/asound/cards
para averiguar como está indexada tu tarjeta usb


La salida podria ser algo así:

0 [Intel ]: HDA-Intel - HDA Intel
HDA Intel at 0xf7df8000 irq 22
1 [DSP ]: H-DSP - Hammerfall DSP
RME Hammerfall HDSP 9652 at 0xfbef0000, irq 17

Ya se que la "card1" es mi RME.

Ahora ya podemos encontrar la tarjeta en /sys

$ udevadm info --attribute-walk --path=/sys/class/sound/card1/


Se podria encontrar tambien por /sys/bus o por otros paths de /sys pero este es el mas entendible entre los humanos.
Subir
mod
#8 por Irwin J. Cespedes el 19/08/2011
monon escribió:
Puede que se deban variar algunas cosas , ya que no puedo comprobar su funcionamiento, pero la cosa va mas o menos por ahí


Hombre, eso si es una solución elegante :teclear:

Ruta 27, Mi nuevo tema hecho en GNU/Linux: https://soundcloud.com/altiplane/ruta-27

También soy Altiplane, esta es mi música.

Subir
#9 por Mallory el 21/08/2011
Señores, gracias por la ayuda. Monon agradezco tu tiempo, increíble aportación. Mañana me pongo con el tema y os cuento los resultados. Algo había leído en otro foro sobre las reglas en udev pero no aclaraban nada de los parámetros a introducir en el fichero.rules.
Subir
Respuesta rápida

Regístrate o para poder postear en este hilo