Date: Tue, 29 Nov 2011 16:26:56 +0000 From: Alexey Dokuchaev <danfe@FreeBSD.org> To: Sean Bruno <seanbru@yahoo-inc.com> Cc: firewire@FreeBSD.org Subject: Re: sys/dev/firewire Message-ID: <20111129162656.GA58831@FreeBSD.org> In-Reply-To: <1321648527.2670.18.camel@hitfishpass-lx.corp.yahoo.com> References: <1321648527.2670.18.camel@hitfishpass-lx.corp.yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Nov 18, 2011 at 12:35:27PM -0800, Sean Bruno wrote: > Its been a while since I've taken a deep dive into the 1394 pool, but > its time for me to start digging in this winter. > > If you have a firewire adapter around or you have disabled your > driver/hardware I'd like to know details about your hardware so I can > generate a compat/quirk list. Hi Sean (and everyone in firewire camp), I agree that our 1394 stack needs some love. When Linux folks are working on their new FireWire stack, Juju, we're quickly falling back behind with not even maintaining ours properly. This should change. My story: while trying to get my FA-101 external sound adapter to work, I've discovered that many folks on the Net observe similar message with their different hardware, like these: firewire0: fw_bus_probe:iterate and invalidate all nodes firewire0: fw_explore:node(0) fc->max_node(1) found firewire0: fw_explore:found myself node(1) fc->nodeid(1) fc->max_node(1) fwohci0: txd err= 3 miss Ack err firewire0: fw_explore_node: node0: explore_read_quads failure firewire0: fw_explore: node 2, err = -1 After googling a bit, it seems that these messages are somewhat specific to TI controllers. Moreover, back in 2008, a patch was worked out for Linux to address some of the issues with it: http://www.gossamer-threads.com/lists/linux/kernel/907097 Some technical background information is available at the above link. >From Linux 2.6.32.9, which basically carried only one quirk, namely bus_reset_packet_quirk applied to TI devices, in the current latest kernel, 3.1.4, their drivers/firewire/ohci.c carries several more quirks which starts to resemble what other OSes (inc. BSD) have for various peripheral stacks (e.g. USB). Apparently, since our 1394 implementation does not provide any quirks right now, number of problematic controllers do not work correctly. Sean, when you speak of generating a compat/quirk list, do you plan to take a look at what Linux already has, and perhaps porting them to our codebase? I would really want to get my TI XIO2200A thing working with FA-101 on FreeBSD, and will eagerly test any patches. Thanks! ./danfe P.S. Links which also might be interesting: http://thread.gmane.org/gmane.linux.kernel.firewire.user/4013 http://kerneltrap.org/mailarchive/git-commits-head/2010/3/26/31161
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20111129162656.GA58831>