Skip site navigation (1)Skip section navigation (2)
Date:      17 Jan 2004 12:24:39 +0100
From:      Christian Laursen <xi@borderworlds.dk>
To:        freebsd-firewire@freebsd.org
Subject:   NEC uPD72873
Message-ID:  <86isja24y0.fsf@borg.borderworlds.dk>

next in thread | raw e-mail | index | archive | help
It seems we managed to buy a presently unsupported firewire pci card.

I upgraded to the latest -CURRENT and hoped to be lucky, but it seems
that it didn't have to be that easy. :)

This is the dmesg output of the card getting probed:

fwohci0: vendor=1033, dev=e7
fwohci0: <1394 Open Host Controller Interface> mem 0xe0800000-0xe0800fff irq 11 at device 11.0 on pci0
fwohci0: OHCI version 1.10 (ROM=1)
fwohci0: No. of Isochronous channel is 4.
fwohci0: EUI64 00:00:4c:01:07:00:2a:01
fwohci0: Phy 1394a available S400, 2 ports.
fwohci0: Link S400, max_rec 2048 bytes.
fwohci0: FireWire init failed with err=6
device_probe_and_attach: fwohci0 attach returned 5

And this is the information from pciconf -lv:

none2@pci0:11:0:        class=0x0c0010 card=0x00ce1033 chip=0x00e71033 rev=0x01 hdr=0x00
    vendor   = 'NEC Electronics Hong Kong'
    device   = 'uPD72873 IEEE1394 OHCI 1.1 2-port PHY-Link Ctrlr'
    class    = serial bus
    subclass = FireWire

Based on that, I tried to make the following change:

--- fwohcireg.h.orig	Sat Jan 17 12:15:36 2004
+++ fwohcireg.h	Sat Jan 17 12:17:18 2004
@@ -47,6 +47,7 @@
 #define		FW_DEVICE_UPD861	(0x0063 << 16)
 #define		FW_DEVICE_UPD871	(0x00ce << 16)
 #define		FW_DEVICE_UPD72870	(0x00cd << 16)
+#define		FW_DEVICE_UPD72873	(0x00e7 << 16)
 #define		FW_DEVICE_UPD72874	(0x00f2 << 16)
 #define		FW_DEVICE_TITSB22	(0x8009 << 16)
 #define		FW_DEVICE_TITSB23	(0x8019 << 16)
--- fwohci_pci.c.orig	Sat Jan 17 12:17:32 2004
+++ fwohci_pci.c	Sat Jan 17 12:18:39 2004
@@ -95,6 +95,10 @@
 		device_set_desc(dev, "NEC uPD72870");
 		return 0;
 	}
+	if (id == (FW_VENDORID_NEC | FW_DEVICE_UPD72873)) {
+		device_set_desc(dev, "NEC uPD72873");
+		return 0;
+	}
 	if (id == (FW_VENDORID_NEC | FW_DEVICE_UPD72874)) {
 		device_set_desc(dev, "NEC uPD72874");
 		return 0;


The dmesg output then changes to this:

fwohci0: <NEC uPD72873> mem 0xe0800000-0xe0800fff irq 11 at device 11.0 on pci0
fwohci0: OHCI version 1.10 (ROM=1)
fwohci0: No. of Isochronous channel is 4.
fwohci0: EUI64 00:00:4c:01:07:00:2a:01
fwohci0: Phy 1394a available S400, 2 ports.
fwohci0: Link S400, max_rec 2048 bytes.
fwohci0: FireWire init failed with err=6
device_probe_and_attach: fwohci0 attach returned 5

As I do not know much about firewire internals I'm not sure how to proceed from
here.

Are there any hopes of getting this card working?

Thanks in advance.

-- 
Best regards
    Christian Laursen



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?86isja24y0.fsf>