Date: Mon, 21 Sep 2009 20:15:19 +0000 From: Alexey Dokuchaev <danfe@FreeBSD.org> To: firewire@freebsd.org Subject: FA-101 audio interface support Message-ID: <20090921201518.GA10574@FreeBSD.org>
next in thread | raw e-mail | index | archive | help
Hi there, I've just bought Roland FA-101 external firewire audio interface box to start experimenting with multichannel sound processing on my FreeBSD laptop (NEC Versa S950). 7.2-STABLE runs quite nicely on it, and sees FW host controller (per pciconf -lv): fwohci0@pci0:6:7:2: class=0x0c0010 card=0x83191033 chip=0x8032104c rev=0x00 hdr=0x00 vendor = 'Texas Instruments (TI)' device = 'OHCI Compliant IEEE-1394 FireWire Controller' class = serial bus subclass = FireWire My intention (and ultimate goal for now) is to port ffado.org project code to our beloved FreeBSD. However, after I kldload firewire.ko and connect FA-101, I see the following in dmesg: fwohci0: <1394 Open Host Controller Interface> mem 0xb0117000-0xb01177ff,0xb0110000-0xb0113fff irq 18 at device 7.2 on pci6 fwohci0: [FILTER] fwohci0: OHCI version 1.0 (ROM=1) fwohci0: No. of Isochronous channels is 4. fwohci0: EUI64 00:c0:9f:00:00:d5:f6:a1 fwohci0: Phy 1394a available S400, 2 ports. fwohci0: Link S400, max_rec 2048 bytes. firewire0: <IEEE1394(FireWire) bus> on fwohci0 fwohci0: Initiate bus reset fwohci0: BUS reset fwohci0: node_id=0xc000ffc0, gen=1, CYCLEMASTER mode firewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me) firewire0: bus manager 0 (me) fwohci0: BUS reset fwohci0: node_id=0x8000ffc0, gen=3, non CYCLEMASTER mode firewire0: 2 nodes, maxhop <= 1, cable IRM = 0 (me) firewire0: root node is not cycle master capable firewire0: bus manager 0 (me) fwohci0: too many cycle lost, no cycle master presents? fwohci0: txd err= 3 miss Ack err fwohci0: txd err= 3 miss Ack err fwohci0: txd err= 3 miss Ack err These messages do not look very exciting, and apparently my box does not see the device afterwards: # fwcontrol -t crc_len: 3 generation:14 node_count:1 sid_count:1 id link gap_cnt speed delay cIRM power port0 port1 port2 ini more 00 1 5 S400 0 1 0W - - 1 0 I've tried several things; e.g. setting gapcount to 8, but fwcontrol -t shows the following lines for couple of seconds, and than it disappears (rapid repeat of fwcontrol -t command output below): # fwcontrol -t crc_len: 4 generation:19 node_count:2 sid_count:2 id link gap_cnt speed delay cIRM power port0 port1 port2 ini more 00 1 63 S400 0 0 -9W - P 1 0 01 1 8 S400 0 1 0W C - 0 0 # fwcontrol -t crc_len: 4 generation:19 node_count:2 sid_count:2 id link gap_cnt speed delay cIRM power port0 port1 port2 ini more 00 1 63 S400 0 0 -9W - P 1 0 01 1 8 S400 0 1 0W C - 0 0 # fwcontrol -t crc_len: 4 generation:20 node_count:2 sid_count:2 id link gap_cnt speed delay cIRM power port0 port1 port2 ini more 00 1 63 S400 0 1 15W - P 1 0 01 1 5 S400 0 1 0W C - 0 0 # fwcontrol -t crc_len: 4 generation:20 node_count:2 sid_count:2 id link gap_cnt speed delay cIRM power port0 port1 port2 ini more 00 1 63 S400 0 1 15W - P 1 0 01 1 5 S400 0 1 0W C - 0 0 # fwcontrol -t crc_len: 3 generation:22 node_count:1 sid_count:1 id link gap_cnt speed delay cIRM power port0 port1 port2 ini more 00 1 5 S400 0 1 0W - - 1 along with the following dmesg output that might be relevant: fw_rcv: unknown response RRESQ(6) src=0x3f tl=0x19 rt=1 data=0x6ed42504 firewire0: split transaction timeout: tl=0x19 flag=0x04 send: dst=0x00 tl=0x19 rt=0 tcode=0x4 pri=0x0 src=0x000 fw_rcv: unknown response RRESQ(6) src=0x3f tl=0x1a rt=1 data=0x6ed42504 firewire0: split transaction timeout: tl=0x1a flag=0x04 send: dst=0x00 tl=0x1a rt=0 tcode=0x4 pri=0x0 src=0x000 fw_rcv: unknown response RRESQ(6) src=0x3f tl=0x1b rt=1 data=0x6ed42504 firewire0: split transaction timeout: tl=0x1b flag=0x04 send: dst=0x00 tl=0x1b rt=0 tcode=0x4 pri=0x0 src=0x000 fwohci0: BUS reset fwohci0: node_id=0xc000ffc1, gen=22, CYCLEMASTER mode firewire0: 2 nodes, maxhop <= 1, cable IRM = 1 (me) firewire0: bus manager 1 (me) fwohci0: BUS reset fwohci0: node_id=0xc000ffc0, gen=23, CYCLEMASTER mode firewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me) firewire0: bus manager 0 (me) fwohci0: txd err= 3 miss Ack err fwohci0: txd err= 3 miss Ack err I've been browsing through fbsd-fw@ archives tonight and discovered several patches by sbruno@ that might address [some of the] issues I'm seeing. Sean (and anyone else, of course), can you give me some hand on the subject? I'm happy to provide any debug info, glad to test patches, etc. Root access to my laptop is also quite possible, shall it be needed. Thanks. ./danfe
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090921201518.GA10574>