Sobre Focusrite Saffire, Ubuntu 10.04, Puerto IEEE1394

#1 por yose85 el 04/06/2010
Hola muy buenas, despues de que se me averiara el Imac he decidido instalar la tarjeta de sonido, una Focusrite Saffire, en un portatil con ubuntu 10.04, al que le he instalado los programas de audio de ubuntu studio,

A ver si alguien me puede echar una mano por que ando atascado en la instalación, parece que no detecta la tarjeta. El ordenador es un HP pavilion DV7, con un puerto firewire de los pequeños, no se si es que no me detecta el puerto Firewire aunque aparece en la lista de hardware de linux:

[code]$ lshw[/code]

[code]*-firewire
description: FireWire (IEEE 1394)
product: IEEE 1394 Host Controller
vendor: JMicron Technology Corp.
physical id: 0
bus info: pci@0000:06:00.0
version: 00
width: 32 bits
clock: 33MHz
capabilities: bus_master cap_list
configuration: driver=ohci1394 latency=0
resources: irq:16 memory:d6000000-d60007ff memory:d6000d00-d6000d7f memory:d6000c80-d6000cff memory:d6000c00-d6000c7f
[/code]


He seguido el tutorial para instalar FFADO y JACK al dedillo: http://subversion.ffado.org/wiki/Dependencies/Ubuntu y parece que se han instalado correctamente.

Después de reiniciar pruebo el comando:

[code]$ ffado-dbus-server &[/code]
para chequear que detecte la tarjeta y me dice:
[code]$ -----------------------------------------------
FFADO Control DBUS service
Part of the FFADO project -- http://www.ffado.org
Version: 2.0.0
(C) 2008, Pieter Palmers
This program comes with ABSOLUTELY NO WARRANTY.
-----------------------------------------------

Library version mismatch. (required: libffado 2.0.0, present: libffado 2.999.0-1845)
Please run this application against the exact corresponding library
it was compiled for. The most common cause for this is having more
than one version of libffado installed.

no message buffer overruns[/code]

no aparecen mensajes asi que asumo que no detecta nada, aun asi inicio ffado y me aparece este mensaje:
Somehow the connectio to the dbus-service of FFADO couldn't be established.

Y jack consigo iniciarlo en modo ALSA pero en firewire ocurre esto:
[code]00:02:50.621 No puede conectarse al servidor JACK como cliente. - La operación global falló. - No puede conectarse al servidor. Por favor revise la ventana de mensajes para mas información.[/code]

He seguido tambien el tutorial (supongo que en vano) de como hacer funcionar FFADO con JACK:
http://subversion.ffado.org/wiki/UsingJackWithFFADO

pero nada cuando ejecuto jack en modo firewire con ffado abierto aparece el error
firewire ERR: Error creating FFADO streaming device
cannot load driver module firewire
no message buffer overruns

No se si estoy obviando algun paso o algo que se me escapa, pero me mosquea que sea algo del puerto Firewire, que no sea compatible o no funcione bien en ubuntu. La documentación de FFADO.org viene bastante confusa (y en ingles :oops: ) y no veo cual es el origen problema.

¿Alguien sabe que estoy haciendo mal o que me esoy saltndo?

Muchas gracias.
Subir
#2 por Pablo_F el 04/06/2010
Pues lo que no es correcto es que tienes instaladas dos versiones de jack y dos versiones de ffado, las oficiales de ubuntu (las empaquetadas de los repos que se habrán instalado al instalar los metapaquetes de ubuntustudio) y las que has compilado tú.

Yo diría que no necesitas compilar nada a no ser que tu tarjeta no esté soportada por la versión de ffado que trae ubuntu que no creo que sea el caso para tu modelo. La versión de jack de lucid es buena, tampoco es necesario compilar la versión de desarrollo.

Yo intentaría desinstalar lo que has compilado e instalado con "sudo scons uninstall" o "sudo make uninstall" en cada caso. No te preocupes por los paquetes que hayas instalado para compilar (build-essential, etc), no hacen ningún daño. También puedes instalar ffado-tools de los repos (synaptic o sudo apt-get install) y prueba en terminal con

ffado-test ListDevices
y
ffado-test Discover

Ante la duda y si no ves nada claro y te decides por empezar desde cero (bueno, en cualquier caso está bien que le eches un vistazo) sigue mejor las instrucciones en:
https://help.ubuntu.com/community/FireWire
que se supone que son para el usuario final, no para un músico-hacker (aunque a veces venga bien hackear un poco de todas formas).

Es que hay tanta formas de llegar a lo mismo y la documentación está tan dispersa... pero en general, da preferencia a la documentación oficial de tu distro que se supone que son los que se pelean para compilar los programas y hacer que las cosas funcionen a la primera en lo posible.

Saludos, Pablo
Subir
#3 por yose85 el 04/06/2010
Gracias Pablo

Realmente lo que hice mal fue, primero instalar FFADO y JACK manualmente, y luego el paquete de software de ubuntu studio.

He decidido quitarme de lios y empezar de nuevo, sobre una instalación fresca de ubuntu 10.04 he instalado el software de ubuntu studio y he seguido la configuración de Firewire que me comentabas de la información de la distro, aun así, siguen saliendo los mismos mensajes de error en FFADO mixer y en JACK.

He probado los test que me comentabas:
con el comando ffado-test ListDevices no aparecen mensajes ni dispositivos.
con ffado-test Discover con el saffire desconectado de la red electrica no aparecen mensajes, sin embargo al conectarlo a la corriente:

[code]
00538890083: Warning (ieee1394service.cpp)[ 328] initialize: Could not set SPLIT_TIMEOUT to min requested (1000000)
00538890120: Warning (ieee1394service.cpp)[ 332] initialize: Set SPLIT_TIMEOUT to min requested (1000000) did not succeed
no message buffer overruns[/code]

parece que "algo" detecta con esas 2 señales de "warning" (aparecen en rojo en la consola) que no se que significan.

He estado investigando y visto en la web de ffado que parece que la nueva implementación de Firewire de linux esta dando problemas:

http://www.ffado.org/?q=node/1316

también he visto esto:

https://ieee1394.wiki.kernel.org/index. ... _Migration

parece ser que para que funcione medianamente bien se ha de tener el tal libraw1394 en versión 2.0.5, he mirado en el synaptic y la versión que tengo es 2.0.4, no se si hay una forma mas precisa de ver la ultima versión instalada.

Otra alternativa que tengo es probar con una versión anterior de linux, la 9.10 por ejemplo:

comentario en FFADO.org escribió:
Old stack is still alive!
Submitted by ondatejp on Mon, 02/08/2010 - 16:29.

Thanks to FFADO Development Site and Josep V's "My Procedure", after fresh install of Ubuntu Studio 9.10 64bit,I downloaded from SVN and compiled FFADO(2.0 RC2) and Jack(0.118) as explained in the tutorial.

As a conclusion, it works very very well and good sounding! I'm absolutely pleased at it. Thank you distinguished developers for your excellent works. FFADO website is fruitful and enlightening very much.
Subir
#4 por yose85 el 04/06/2010
Hola.

Acabo de probar con una instalación nueva de ubuntu 9.10 los mismos pasos.

Cuando miro los dispositivos con ffado-test ListDevices ya me detecta la tarjeta:

[code]-----------------------------------------------
FFADO test and diagnostic utility
Part of the FFADO project -- http://www.ffado.org
Version: 1.999.43
(C) 2008, Daniel Wagner, Pieter Palmers
This program comes with ABSOLUTELY NO WARRANTY.
-----------------------------------------------

=== 1394 PORT 0 ===
Node id GUID VendorId ModelId Vendor - Model
0 0x00130e0100013673 0x0000130E 0x00000000 Focusrite - Saffire
1 0x00241b007e8bac01 0x0000241B 0x00000000 Linux - ohci1394 -
no message buffer overruns
[/code]

sin embargo en FFADO mixer me dice que no encuentra dispositivos soportados, en su web pone que tiene soporte completo.

Cuando pongo el comando ffado-test Discover
aparecen un monton de errores referidos al ieee1394, intuyo que algo no va bien en el puerto firewire.

[code]-----------------------------------------------
FFADO test and diagnostic utility
Part of the FFADO project -- http://www.ffado.org
Version: 1.999.43
(C) 2008, Daniel Wagner, Pieter Palmers
This program comes with ABSOLUTELY NO WARRANTY.
-----------------------------------------------

00784990797: Debug (devicemanager.cpp)[ 332] discover: Starting discovery...
00785160626: Debug (Configuration.cpp)[ 163] showSetting: Group: (null)
00785160691: Debug (Configuration.cpp)[ 185] showSetting: vendorid = 4878 (0x0000130E)
00785160704: Debug (Configuration.cpp)[ 185] showSetting: modelid = 0 (0x00000000)
00785160725: Debug (Configuration.cpp)[ 209] showSetting: vendorname = Focusrite
00785160737: Debug (Configuration.cpp)[ 209] showSetting: modelname = Saffire (LE)
00785160752: Debug (Configuration.cpp)[ 185] showSetting: driver = 1 (0x00000001)
00785160766: Debug (Configuration.cpp)[ 209] showSetting: mixer = SaffireMixer
00785160782: Debug (Configuration.cpp)[ 185] showSetting: cmd_interval_time = 10000 (0x00002710)
00785160795: Debug (Configuration.cpp)[ 185] showSetting: xmit_max_cycles_early_transmit = 4 (0x00000004)
00785161049: Debug (Configuration.cpp)[ 163] showSetting: Group: (null)
00785161066: Debug (Configuration.cpp)[ 185] showSetting: vendorid = 4878 (0x0000130E)
00785161084: Debug (Configuration.cpp)[ 185] showSetting: modelid = 0 (0x00000000)
00785161095: Debug (Configuration.cpp)[ 209] showSetting: vendorname = Focusrite
00785161114: Debug (Configuration.cpp)[ 209] showSetting: modelname = Saffire (LE)
00785161124: Debug (Configuration.cpp)[ 185] showSetting: driver = 1 (0x00000001)
00785161140: Debug (Configuration.cpp)[ 209] showSetting: mixer = SaffireMixer
00785161153: Debug (Configuration.cpp)[ 185] showSetting: cmd_interval_time = 10000 (0x00002710)
00785161168: Debug (Configuration.cpp)[ 185] showSetting: xmit_max_cycles_early_transmit = 4 (0x00000004)
00785161204: Debug (devicemanager.cpp)[ 594] discover: driver found for device 0
00786190222: Error (ieee1394service.cpp)[ 702] doFcpTransaction: FCP transaction didn't succeed in 20 tries
00786190252: Warning (ieee1394service.cpp)[ 677] transactionBlock: FCP transaction failed
00786190275: Error (bebob_avdevice.cpp)[ 560] getConfigurationIdSampleRate: Stream format command failed
00786212498: Error (ieee1394service.cpp)[ 702] doFcpTransaction: FCP transaction didn't succeed in 20 tries
00786212539: Warning (ieee1394service.cpp)[ 677] transactionBlock: FCP transaction failed
00786212551: Error (bebob_avdevice.cpp)[ 597] getConfigurationIdNumberOfChannel: Number of channels command failed
00786234692: Error (ieee1394service.cpp)[ 702] doFcpTransaction: FCP transaction didn't succeed in 20 tries
00786234720: Warning (ieee1394service.cpp)[ 677] transactionBlock: FCP transaction failed
00786234749: Error (bebob_avdevice.cpp)[ 597] getConfigurationIdNumberOfChannel: Number of channels command failed
00786257041: Error (ieee1394service.cpp)[ 702] doFcpTransaction: FCP transaction didn't succeed in 20 tries
00786257077: Warning (ieee1394service.cpp)[ 677] transactionBlock: FCP transaction failed
00786257090: Error (bebob_avdevice.cpp)[ 629] getConfigurationIdSyncMode: Signal source command failed
00786257124: Debug (bebob_avdevice.cpp)[ 734] loadFromCache: filename /home/jose/.ffado/cache/00130e0100013673/0000000000000000.xml
00786257161: Debug (bebob_avdevice.cpp)[ 738] loadFromCache: "/home/jose/.ffado/cache/00130e0100013673/0000000000000000.xml" does not exist
00786257244: Debug (Configuration.cpp)[ 163] showSetting: Group: (null)
00786257260: Debug (Configuration.cpp)[ 185] showSetting: vendorid = 4878 (0x0000130E)
00786257278: Debug (Configuration.cpp)[ 185] showSetting: modelid = 0 (0x00000000)
00786257291: Debug (Configuration.cpp)[ 209] showSetting: vendorname = Focusrite
00786257309: Debug (Configuration.cpp)[ 209] showSetting: modelname = Saffire (LE)
00786257320: Debug (Configuration.cpp)[ 185] showSetting: driver = 1 (0x00000001)
00786257335: Debug (Configuration.cpp)[ 209] showSetting: mixer = SaffireMixer
00786257348: Debug (Configuration.cpp)[ 185] showSetting: cmd_interval_time = 10000 (0x00002710)
00786257365: Debug (Configuration.cpp)[ 185] showSetting: xmit_max_cycles_early_transmit = 4 (0x00000004)
00786279546: Error (ieee1394service.cpp)[ 702] doFcpTransaction: FCP transaction didn't succeed in 20 tries
00786279583: Warning (ieee1394service.cpp)[ 677] transactionBlock: FCP transaction failed
00786279595: Error (avc_unit.cpp)[ 250] enumerateSubUnits: Subunit info command failed
00786279616: Error (avc_unit.cpp)[ 177] discover: Could not enumarate sub units
00786279625: Error (bebob_avdevice.cpp)[ 192] discover: Could not discover unit
00786279651: Error (devicemanager.cpp)[ 606] discover: could not discover device
00786279717: Debug (devicemanager.cpp)[ 639] discover: Discovery finished...
00786279736: Debug (devicemanager.cpp)[1184] showDeviceInfo: ===== Device Manager =====
00786279747: Debug (Element.cpp)[ 121] show: Element DeviceManager
00786279760: Debug (devicemanager.cpp)[1192] showDeviceInfo: --- IEEE1394 Service 0 ---
Iso handler info:
Dumping IsoHandlerManager Stream handler information...
State: 2
no message buffer overruns
[/code]
Subir
#5 por Pablo_F el 05/06/2010
Hola,
Estoy un poco perdido pero puedes dar la salida de:

$lsmod | grep 1394

Debería aparecer al menos el módulo ohci1394
Si no, cárgalo con:

$sudo modprobe ohci1394

Echa un vistazo a:
$cat /etc/modprobe.d/blacklist-firewire.conf

También a ver que controlador firewire tienes. Creo que lo podrás ver con:

$ lspci |grep 1394

A ver si monon o alguien con una tarjeta firewire puede ayudar mejor.

Saludos, Pablo
Subir
#6 por yose85 el 05/06/2010
hola pablo

con:
$lsmod | grep 1394

[code]raw1394 25308 0
ohci1394 30220 0
ieee1394 86628 2 raw1394,ohci1394
[/code]

el modulo ohci1394 aparece.

con $cat /etc/modprobe.d/blacklist-firewire.conf :

[code]# Select the legacy firewire stack over the new CONFIG_FIREWIRE one.

#blacklist ohci1394
#blacklist sbp2
#blacklist dv1394
#blacklist raw1394
#blacklist video1394

blacklist firewire-ohci
blacklist firewire-sbp2
[/code]

el host firewire es este:
[code]06:00.0 FireWire (IEEE 1394): JMicron Technology Corp. IEEE 1394 Host Controller
[/code]
Subir
#8 por yose85 el 05/06/2010
Asi que lo que necesito un puerto con chip Texas Instruments....

Mi portatil tiene entrada para Expresscard, intentaré hacerme con una con puertos FW y chip TI, aunque ahora creo que el problema va a ser instalar la tarjeta esta. :lol:


Muchas gracias Pablo.
Subir
#9 por Pablo_F el 05/06/2010
Alguien escribió:
Asi que lo que necesito un puerto con chip Texas Instruments....

No creo que sólo funcione con los TI. No controlo mucho de firewire, sólo he puesto una vez una edirol fa66 en el portátil de un amigo. Funcionó en karmic siguiendo instrucciones sencillas (paquetes de ubuntu, etcétera) y no me suena que el controlador tuviera chip de TI. Parece que sería una buena compra pero aquí hay personas que pueden aconsejar mejor. Yo en tu lugar esperaría un poco antes de tomar una decisión. También puedes preguntar en ffado.
Saludos, Pablo
Subir
Respuesta rápida

Regístrate o para poder postear en este hilo