From owner-freebsd-firewire@FreeBSD.ORG Mon Mar 9 17:15:03 2009 Return-Path: Delivered-To: freebsd-firewire@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 382211065692 for ; Mon, 9 Mar 2009 17:15:03 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 2462C8FC0C for ; Mon, 9 Mar 2009 17:15:03 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n29HF3Ib045219 for ; Mon, 9 Mar 2009 17:15:03 GMT (envelope-from owner-bugmaster@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n29HF2JW045215 for freebsd-firewire@FreeBSD.org; Mon, 9 Mar 2009 17:15:02 GMT (envelope-from owner-bugmaster@FreeBSD.org) Date: Mon, 9 Mar 2009 17:15:02 GMT Message-Id: <200903091715.n29HF2JW045215@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: gnats set sender to owner-bugmaster@FreeBSD.org using -f From: FreeBSD bugmaster To: freebsd-firewire@FreeBSD.org Cc: Subject: Current problem reports assigned to freebsd-firewire@FreeBSD.org X-BeenThere: freebsd-firewire@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Firewire support in FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Mar 2009 17:15:03 -0000 Note: to view an individual PR, use: http://www.freebsd.org/cgi/query-pr.cgi?pr=(number). The following is a listing of current problems submitted by FreeBSD users. These represent problem reports covering all versions including experimental development code and obsolete releases. S Tracker Resp. Description -------------------------------------------------------------------------------- p kern/125673 firewire [firewire] [panic] FreeBSD7 panics when kldunloading f o kern/122951 firewire [firewire] video-transfer via fwcontrol triggers a pan o kern/118093 firewire [firewire] firewire bus reset hogs CPU, causing data t p kern/114646 firewire [firewire] [patch] firewire fails after suspend/resume o kern/113785 firewire [firewire] dropouts when playing DV on firewire o kern/97208 firewire [firewire] System hangs / locks up when a firewire dis o kern/74238 firewire [firewire] fw_rcv: unknown response; firewire ad-hoc w 7 problems total. From owner-freebsd-firewire@FreeBSD.ORG Fri Mar 13 06:05:42 2009 Return-Path: Delivered-To: firewire@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B65391065678 for ; Fri, 13 Mar 2009 06:05:42 +0000 (UTC) (envelope-from freebsd@gm.nunu.org) Received: from wf-out-1314.google.com (wf-out-1314.google.com [209.85.200.171]) by mx1.freebsd.org (Postfix) with ESMTP id 99AC58FC12 for ; Fri, 13 Mar 2009 06:05:42 +0000 (UTC) (envelope-from freebsd@gm.nunu.org) Received: by wf-out-1314.google.com with SMTP id 27so1511637wfd.7 for ; Thu, 12 Mar 2009 23:05:42 -0700 (PDT) MIME-Version: 1.0 Sender: freebsd@gm.nunu.org Received: by 10.142.105.10 with SMTP id d10mr374663wfc.71.1236922942209; Thu, 12 Mar 2009 22:42:22 -0700 (PDT) Date: Fri, 13 Mar 2009 14:42:22 +0900 X-Google-Sender-Auth: 90c4c3bacaf906c0 Message-ID: <626eb4530903122242y4202739cg70d69aba84197107@mail.gmail.com> From: Hidetoshi Shimokawa To: Sean Bruno Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: nork@freebsd.org, firewire@freebsd.org Subject: Configuration ROM in firewire stack X-BeenThere: freebsd-firewire@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Firewire support in FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Mar 2009 06:05:43 -0000 Hi Sean, It looks like you broke Configuration ROM build procedure in firewire stack in http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/firewire/firewire.c.diff?r1=1.104;r2=1.105 In this change, you just copy "src" to "fc->config_rom" but it's wrong. You have to call crom_load() to get CROM built correctly. It is a critical problem for SCSI and dcons(4) target that highly depend on CROM. I think you can easily check this problem by 'fwcontrol -c [your own node_id]', you'll get broken CROM and CRC. If there are anything I can help you to fix this bug, let me know. Thanks, Hidetoshi@AsiaBSDCon2009 @@ -739,19 +758,19 @@ fw_busreset(struct firewire_comm *fc, ui free(devlistp, M_TEMP); } - newrom = malloc(CROMSIZE, M_FW, M_NOWAIT | M_ZERO); src = &fc->crom_src_buf->src; - crom_load(src, (uint32_t *)newrom, CROMSIZE); - if (bcmp(newrom, fc->config_rom, CROMSIZE) != 0) { - /* bump generation and reload */ - src->businfo.generation ++; - /* generation must be between 0x2 and 0xF */ - if (src->businfo.generation < 2) - src->businfo.generation ++; - crom_load(src, (uint32_t *)newrom, CROMSIZE); - bcopy(newrom, (void *)fc->config_rom, CROMSIZE); - } - free(newrom, M_FW); + /* + * If the old config rom needs to be overwritten, + * bump the businfo.generation indicator to + * indicate that we need to be reprobed + */ + if (bcmp(src, fc->config_rom, CROMSIZE) != 0) { + /* generation is a 2 bit field */ + /* valid values are only from 0 - 3 */ + src->businfo.generation = 1; + bcopy(src, (void *)fc->config_rom, CROMSIZE); + } else + src->businfo.generation = 0; } /* Call once after reboot */ @@ -807,13 +826,7 @@ void fw_init(struct firewire_comm *fc) -- /\ Hidetoshi Shimokawa \/ simokawa@FreeBSD.ORG From owner-freebsd-firewire@FreeBSD.ORG Fri Mar 13 14:32:48 2009 Return-Path: Delivered-To: firewire@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F3BE41065678 for ; Fri, 13 Mar 2009 14:32:47 +0000 (UTC) (envelope-from sean.bruno@dsl-only.net) Received: from iron2.pdx.net (iron2.pdx.net [69.64.224.71]) by mx1.freebsd.org (Postfix) with ESMTP id CAE408FC0A for ; Fri, 13 Mar 2009 14:32:47 +0000 (UTC) (envelope-from sean.bruno@dsl-only.net) Received: (qmail 6169 invoked from network); 13 Mar 2009 07:03:34 -0700 Received: from 069-064-235-060.pdx.net (HELO ?192.168.1.51?) (69.64.235.60) by iron2.pdx.net with SMTP; 13 Mar 2009 07:03:34 -0700 From: Sean Bruno To: Hidetoshi Shimokawa In-Reply-To: <626eb4530903122242y4202739cg70d69aba84197107@mail.gmail.com> References: <626eb4530903122242y4202739cg70d69aba84197107@mail.gmail.com> Content-Type: multipart/mixed; boundary="=-CczHWYOqikLGlnKBCib0" Date: Fri, 13 Mar 2009 07:06:05 -0700 Message-Id: <1236953165.28926.10.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Evolution 2.24.5 (2.24.5-1.fc10) Cc: Nathan Whitehorn , firewire@freebsd.org, nork@freebsd.org Subject: Re: Configuration ROM in firewire stack X-BeenThere: freebsd-firewire@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Firewire support in FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Mar 2009 14:32:48 -0000 --=-CczHWYOqikLGlnKBCib0 Content-Type: text/plain Content-Transfer-Encoding: 7bit On Fri, 2009-03-13 at 14:42 +0900, Hidetoshi Shimokawa wrote: > Hi Sean, > > It looks like you broke Configuration ROM build procedure in firewire stack in > http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/firewire/firewire.c.diff?r1=1.104;r2=1.105 > > In this change, you just copy "src" to "fc->config_rom" but it's wrong. > You have to call crom_load() to get CROM built correctly. > It is a critical problem for SCSI and dcons(4) target that highly > depend on CROM. > I think you can easily check this problem by 'fwcontrol -c [your own node_id]', > you'll get broken CROM and CRC. If there are anything I can help you to fix this > bug, let me know. > > Thanks, > > Hidetoshi@AsiaBSDCon2009 > > @@ -739,19 +758,19 @@ fw_busreset(struct firewire_comm *fc, ui > free(devlistp, M_TEMP); > } > > - newrom = malloc(CROMSIZE, M_FW, M_NOWAIT | M_ZERO); > src = &fc->crom_src_buf->src; > - crom_load(src, (uint32_t *)newrom, CROMSIZE); > - if (bcmp(newrom, fc->config_rom, CROMSIZE) != 0) { > - /* bump generation and reload */ > - src->businfo.generation ++; > - /* generation must be between 0x2 and 0xF */ > - if (src->businfo.generation < 2) > - src->businfo.generation ++; > - crom_load(src, (uint32_t *)newrom, CROMSIZE); > - bcopy(newrom, (void *)fc->config_rom, CROMSIZE); > - } > - free(newrom, M_FW); > + /* > + * If the old config rom needs to be overwritten, > + * bump the businfo.generation indicator to > + * indicate that we need to be reprobed > + */ > + if (bcmp(src, fc->config_rom, CROMSIZE) != 0) { > + /* generation is a 2 bit field */ > + /* valid values are only from 0 - 3 */ > + src->businfo.generation = 1; > + bcopy(src, (void *)fc->config_rom, CROMSIZE); > + } else > + src->businfo.generation = 0; > } > > /* Call once after reboot */ > @@ -807,13 +826,7 @@ void fw_init(struct firewire_comm *fc) > > Please give this patch at try. I think this should work. Sean --=-CczHWYOqikLGlnKBCib0 Content-Disposition: attachment; filename="firewire.c.diff" Content-Type: text/x-patch; name="firewire.c.diff"; charset="UTF-8" Content-Transfer-Encoding: 7bit Index: firewire.c =================================================================== --- firewire.c (revision 189646) +++ firewire.c (working copy) @@ -685,7 +685,8 @@ src->businfo.cyc_clk_acc = 100; src->businfo.max_rec = fc->maxrec; src->businfo.max_rom = MAXROM_4; - src->businfo.generation = 0; +#define FW_GENERATION_CHANGEABLE 2 + src->businfo.generation = FW_GENERATION_CHANGEABLE; src->businfo.link_spd = fc->speed; src->businfo.eui64.hi = fc->eui.hi; @@ -734,6 +735,7 @@ struct firewire_dev_comm *fdc; struct crom_src *src; device_t *devlistp; + uint32_t *newrom; int i, devcnt; FW_GLOCK_ASSERT(fc); @@ -759,18 +761,31 @@ } src = &fc->crom_src_buf->src; - /* - * If the old config rom needs to be overwritten, - * bump the businfo.generation indicator to - * indicate that we need to be reprobed - */ - if (bcmp(src, fc->config_rom, CROMSIZE) != 0) { - /* generation is a 2 bit field */ - /* valid values are only from 0 - 3 */ - src->businfo.generation = 1; - bcopy(src, (void *)fc->config_rom, CROMSIZE); - } else - src->businfo.generation = 0; + /* + * If the old config rom needs to be overwritten, + * bump the businfo.generation indicator to + * indicate that we need to be reprobed + * See 1394a-2000 8.3.2.5.4 for more details. + * generation starts at 2 and rolls over at 0xF + * back to 2. + * + * A generation of 0 indicates a device + * that is not 1394a-2000 compliant. + * A generation of 1 indicates a device that + * does not change it's Bus Info Block or + * Configuration ROM. + */ +#define FW_MAX_GENERATION 0xF + newrom = malloc(CROMSIZE, M_FW, M_NOWAIT | M_ZERO); + src = &fc->crom_src_buf->src; + crom_load(src, newrom, CROMSIZE); + if (bcmp(newrom, fc->config_rom, CROMSIZE) != 0) { + if ( src->businfo.generation++ > FW_MAX_GENERATION ) + src->businfo.generation = FW_GENERATION_CHANGEABLE; + bcopy(newrom, (void *)fc->config_rom, CROMSIZE); + } + free(newrom, M_FW); + } /* Call once after reboot */ @@ -1590,6 +1605,10 @@ } fwdev->fc = fc; fwdev->eui = binfo->eui64; + fwdev->dst = dfwdev->dst; + fwdev->maxrec = dfwdev->maxrec; + fwdev->status = dfwdev->status; + /* * Pre-1394a-2000 didn't have link_spd in * the Bus Info block, so try and use the @@ -1599,7 +1618,7 @@ * ignore the speed map alltogether. SWB */ if ( binfo->link_spd == FWSPD_S100 /* 0 */) { - device_printf(fc->bdev, "%s" + device_printf(fc->bdev, "%s: " "Pre 1394a-2000 detected\n", __func__); fwdev->speed = fc->speed_map->speed[fc->nodeid][node]; @@ -1609,21 +1628,19 @@ * Test this speed with a read to the CSRROM. * If it fails, slow down the speed and retry. */ - while (fwdev->speed > 0) { + while (fwdev->speed > FWSPD_S100 /* 0 */) { err = fw_explore_read_quads(fwdev, CSRROMOFF, &speed_test, 1); - if (err) + if (err) { + device_printf(fc->bdev, "%s: fwdev->speed(%s)" + " decremented due to negotiation\n", + __func__, + linkspeed[fwdev->speed]); fwdev->speed--; - else + } else break; } - if (fwdev->speed != binfo->link_spd) - device_printf(fc->bdev, "%s: fwdev->speed(%s)" - " set lower than binfo->link_spd(%s)\n", - __func__, - linkspeed[fwdev->speed], - linkspeed[binfo->link_spd]); /* inesrt into sorted fwdev list */ pfwdev = NULL; STAILQ_FOREACH(tfwdev, &fc->devices, link) { @@ -1641,17 +1658,17 @@ device_printf(fc->bdev, "New %s device ID:%08x%08x\n", linkspeed[fwdev->speed], fwdev->eui.hi, fwdev->eui.lo); + } else { + fwdev->dst = node; + fwdev->status = FWDEVINIT; + /* unchanged ? */ + if (bcmp(&csr[0], &fwdev->csrrom[0], sizeof(uint32_t) * 5) == 0) { + if (firewire_debug) + device_printf(fc->dev, "node%d: crom unchanged\n", node); + return (0); + } } - fwdev->dst = node; - fwdev->status = FWDEVINIT; - /* unchanged ? */ - if (bcmp(&csr[0], &fwdev->csrrom[0], sizeof(uint32_t) * 5) == 0) { - if (firewire_debug) - device_printf(fc->dev, "node%d: crom unchanged\n", node); - return (0); - } - bzero(&fwdev->csrrom[0], CROMSIZE); /* copy first quad and bus info block */ @@ -1661,6 +1678,9 @@ err = fw_explore_csrblock(fwdev, 0x14, 1); /* root directory */ if (err) { + if (firewire_debug) + device_printf(fc->dev, "%s: explore csrblock failed err(%d)\n", + __func__, err); fwdev->status = FWDEVINVAL; fwdev->csrrom[0] = 0; } --=-CczHWYOqikLGlnKBCib0-- From owner-freebsd-firewire@FreeBSD.ORG Fri Mar 13 22:59:53 2009 Return-Path: Delivered-To: freebsd-firewire@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 07C0E106566C for ; Fri, 13 Mar 2009 22:59:53 +0000 (UTC) (envelope-from dthiele@gmx.net) Received: from mail.gmx.net (mail.gmx.net [213.165.64.20]) by mx1.freebsd.org (Postfix) with SMTP id 3A4948FC14 for ; Fri, 13 Mar 2009 22:59:52 +0000 (UTC) (envelope-from dthiele@gmx.net) Received: (qmail invoked by alias); 13 Mar 2009 22:59:50 -0000 Received: from p54863F2A.dip.t-dialin.net (EHLO impala.vnws.lan) [84.134.63.42] by mail.gmx.net (mp021) with SMTP; 13 Mar 2009 23:59:50 +0100 X-Authenticated: #19302822 X-Provags-ID: V01U2FsdGVkX19tP8gV/UBtCwwfTyXx0QCWMt2MKROS4d6Z/RWmqT kDn5jZLo/VySrK Message-ID: <49BAE57E.7020907@gmx.net> Date: Sat, 14 Mar 2009 00:00:14 +0100 From: Daniel Thiele User-Agent: Thunderbird 2.0.0.19 (X11/20090124) MIME-Version: 1.0 To: freebsd-firewire@freebsd.org References: <200902150012.49329.boris.kotzev@gmail.com> <49A9B245.8030804@gmx.net> <1236056380.11182.5.camel@localhost.localdomain> <200903031052.31368.boris.kotzev@gmail.com> <1236105014.7868.18.camel@localhost.localdomain> <49ADD096.1050801@gmx.net> In-Reply-To: <49ADD096.1050801@gmx.net> X-Enigmail-Version: 0.95.6 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Y-GMX-Trusted: 0 X-FuHaFi: 0.5 Subject: Re: firewire disk stopped working X-BeenThere: freebsd-firewire@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Firewire support in FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Mar 2009 22:59:53 -0000 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Daniel Thiele wrote: | Sean Bruno wrote: |> Ok, so let's try this a different way. |> |> This patch should be applied against HEAD. This reverts every change I |> have made in the last month. |> |> Once we confirm that this works, I'll start moving forward until we find |> the broken change. |> |> Sean | | Even though the patch applied cleanly, the disk sill does not show up. | Only /dev/pass0 is being created. I also tried different disks | (enclosures to be precise) and different cables without any success. | | The logs (all with debug.firewire_debug=3 and debug.sbp_debug=3) after | applying firewire_revert.diff can be found at: | | http://www-public.tu-bs.de:8080/~y0023183/FreeBSD/Firewire/reverted_patch_20090303 | | | where: | | sysctl.txt | is simply the output of 'sysctl -a | grep "firewire\|sbp"'. For both of | the following files. | | dmesg_reverted_oxfordsemi_debug3.txt | is the dmesg with verbose debug messages (debug.{firewire,sbp}_debug=3) | with my enclosure using the Oxford (911?) chip set. | This dmesg also includes the complete dmesg of my machine and covers | attachment and detachment of the disk. | | dmesg_reverted_wdmybook_debug3.txt | is the dmesg with verbose debug messages (debug.{firewire,sbp}_debug=3) | with a Western Digital My Book enclosure. Unfortunately I don't know the | chip set WD used in this one. | This dmesg just covers the attachment and detachment of the disk. | | | What I did next was trying to find out what versions of the files in | src/sys/dev/firewire caused the disk to stop working. I started with the | versions that work in 7.1-Stable (as of Feb 9). And updated them until | the disk did not get recognized anymore. | | Here is what I tried so far: | | File 7.1 8.0 200812 Feb 1 | 02/09 02/24 snap. commit | (guess) | 0000 0001 0002 | ------------------------------------------------------ | firewire.c 1.100 1.108 1.104 1.104 1.105 | firewire.h 1.21 1.25 1.22 1.25 1.25 | fwdev.c 1.52 1.53 1.53 1.53 1.53 | fwohci.c 1.93 1.98 1.95 1.95 1.96 | fwohci_pci.c 1.60 1.61 1.60 1.60 1.61 | fwohcireg.h 1.23 1.24 1.23 1.24 1.24 | fwohcivar.h 1.16 1.18 1.16 1.16 1.17 | fwphyreg.h 1.3 1.4 1.3 1.4 1.4 | if_fwe.c 1.44 1.46 - - - | if_fwip.c 1.16 1.18 - - - | sbp.c 1.97 1.100 1.97 1.97 1.98 | ------------------------------------------------------ | working: yes no yes yes no | | So, on my machine (still 8.0-CURRENT as of around Feb 24) the versions | of the files mentioned that are used in 7.1-STABLE work. The ones used | in the 200812-CURRENT snapshot also seem to work. Note that I guessed | the the versions in this case (basically I used the versions that, at | most, include changes from November 2008), since I only use that | snapshot as it is on a bootable USB-stick (0000 in the table above). | Next, I tried to update all mentioned files either to their current | version or the version just before the Feb 1 commit (0001 in the table | above). I used the current version whenever the file was not affected by | the Feb 1 commit. This also seems to work. After updating the rest of | the files to the version that contains the Feb 1 commit things stopped | working (0002). Note that I did not touch the if_* sources, as these are | network interfaces. | | At | http://www-public.tu-bs.de:8080/~y0023183/FreeBSD/Firewire/Tests_20090304/ | you can find the following: | | results.txt | the table above in a plain text file. | | Sources/versions | the versions of the files in src/sys/dev/firewire I used. I removed the | leading '1.' from the version and put the remainder in front of the file. | | Sources/working_0000 | Sources/working_0001 | the files in src/sys/dev/firewire used in the corresponding table | columns. | | Sources/broken_0002 | the files that broke firewire disk support in the versions mentioned in | the table. | | | I hope that somehow helps to narrow down the problem. If there is | anything else that I could or should try just let me know. | | | Best regards, | | Daniel | _______________________________________________ | freebsd-firewire@freebsd.org mailing list | http://lists.freebsd.org/mailman/listinfo/freebsd-firewire | To unsubscribe, send any mail to "freebsd-firewire-unsubscribe@freebsd.org" | Hi Sean, I updated my CURRENT today and also applied the patch to firewire.c you included in your reply to the "Configuration ROM in firewire stack" thread here on firewire@, since Hidetoshi Shimokawa also mentioned that the the issue he was addressing also affects SCSI. This patch seems to also fix the issues with my external firewire disk. I did not do much testing yet, but the disk shows up in /dev and dmesg reports: fwohci0: fwohci_intr_core: BUS reset fwohci0: fwohci_intr_core: node_id=0x00000000, SelfID Count=2, non CYCLEMASTER mode firewire0: 2 nodes, maxhop <= 1 cable IRM irm(0) (me) firewire0: root node is not cycle master capable firewire0: bus manager 0 fwohci0: too many cycle lost, no cycle master presents? firewire0: New S800 device ID:0090a9cad5a4d545 sbp0: sbp_show_sdev_info: sbp0:0:0: ordered:1 type:0 EUI:0090a9cad5a4d545 node:1 speed:3 maxrec:8 sbp0: sbp_show_sdev_info: sbp0:0:0 'WD' 'My Book' '000200' da0 at sbp0 bus 0 target 0 lun 0 da0: Fixed Direct Access SCSI-4 device da0: 50.000MB/s transfers da0: 476940MB (976773168 512 byte sectors: 255H 63S/T 60801C) At http://www-public.tu-bs.de:8080/~y0023183/FreeBSD/Firewire/usr_src_sys_dev_firewire_versions_20090313.txt you can find the exact versions of the files in /usr/src/sys/dev/firewire that I am using. Note that firewire.c has been patched with your firewire.c.diff patch I from the "Configuration ROM in firewire stack" thread. So, thanks for the patches to you both. Best regards, Daniel -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (FreeBSD) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAkm65XsACgkQCOZKcWNoXg7pyQCgozSG0CcaG9dV27wA62gDZ6vl s7kAoJPvmBAg1hxF2GXfCNXrA/wfaE2J =m9/8 -----END PGP SIGNATURE-----