From owner-freebsd-firewire Sun Feb 16 10:55:56 2003 Delivered-To: freebsd-firewire@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4C82B37B40D for ; Sun, 16 Feb 2003 10:55:53 -0800 (PST) Received: from rhymer.cogsci.ed.ac.uk (rhymer.cogsci.ed.ac.uk [129.215.144.8]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8E7A843FCB for ; Sun, 16 Feb 2003 10:55:52 -0800 (PST) (envelope-from richard@cogsci.ed.ac.uk) Received: from sorley.cogsci.ed.ac.uk (sorley [129.215.144.53]) by rhymer.cogsci.ed.ac.uk (8.9.3/8.9.3) with ESMTP id SAA20669; Sun, 16 Feb 2003 18:55:50 GMT Received: (from richard@localhost) by sorley.cogsci.ed.ac.uk (8.9.3+Sun/8.9.3) id SAA09274; Sun, 16 Feb 2003 18:56:09 GMT Date: Sun, 16 Feb 2003 18:56:09 GMT Message-Id: <200302161856.SAA09274@sorley.cogsci.ed.ac.uk> From: Richard Tobin Subject: PAL DV, doesn't quite work To: freebsd-firewire@freebsd.org Organization: just say no Sender: owner-freebsd-firewire@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG I just tried capturing a PAL DV stream. Summary: it thought it was NTSC; hacking fwdv.c to force it to PAL worked. The long version: I'm running 4.7-RELEASE, not STABLE, so I used CVS to download /usr/src/dev/firewire and /usr/src/usr.sbin/fwcontrol. Boot messages were: /kernel: fwohci0: mem 0xdf008000-0xdf00bfff,0xdf00d000-0xdf00d7ff irq 11 at device 13.0 on pci0 /kernel: fwohci0: PCI bus latency was changing to 250. /kernel: fwohci0: OHCI version 1.0 (ROM=1) /kernel: fwohci0: No. of Isochronous channel is 4. /kernel: fwohci0: EUI64 01:00:50:c5:00:00:06:02 /kernel: fwohci0: Phy 1394a available S400, 3 ports. /kernel: fwohci0: Link S400, max_rec 2048 bytes. /kernel: firewire0: on fwohci0 /kernel: if_fwe0: on firewire0 /kernel: if_fwe0: Fake Ethernet address: 02:00:50:00:06:02 /kernel: sbp0: on firewire0 /kernel: fwohci0: Initiate bus reset /kernel: fwohci0: BUS reset /kernel: fwohci0: node_id = 0xc800ffc0, CYCLEMASTER mode /kernel: firewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me) I plugged in and switched on my Panasonic NV-DS1 DV camcorder. This produced: /kernel: fwohci0: BUS reset /kernel: fwohci0: node_id = 0x0800ffc0, Bus reset failure /kernel: fwohci0: BUS reset last message repeated 12 times Switching it off produced: /kernel: fwohci0: node_id = 0xc800ffc0, CYCLEMASTER mode /kernel: firewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me) However running fwcontrol -r did cause it to detect the camcorder: /kernel: fwohci0: txd err=14 ack busy_X /kernel: fw_asybusy [lots of those two, followed by:] /kernel: firewire0: Device AV/C I then used "fwcontrol -R" to capture some video. I used "playdv" to look at it, and both audio and video were scrambled. I added a printf to fwdv.c, and found that the test pal = ((dv->payload[0] & DV_DSF_12) != 0); was returning 0 because dv->payload[0] is 63 (DV_DSF_12 is 128). I added pal = 1; to force it to PAL, and this produced a recording that playdv displayed perfectly. -- Richard To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-firewire" in the body of the message