Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Jan 2006 16:08:19 +0200
From:      Vitaliy Skakun <vit.ska@gmail.com>
To:        hackers@freebsd.org
Subject:   Comtrol Rocketport UNIVERSAL PCI 32-port
Message-ID:  <806128ad0601250608u67aae744u@mail.gmail.com>

index | next in thread | raw e-mail

[-- Attachment #1 --]
Hi everybody!

Due to http://www.freebsd.org/releases/6.0R/hardware-i386.html , tried to
set up the following device
with driver rp(4):
http://www.shopcomtrol.com/product.asp?sku=2338510

root@pl2:/<3>dev/rp [0]# uname -a
FreeBSD pl2.xxx.yyy 6.0-STABLE FreeBSD 6.0-STABLE #7: Wed Jan 25 10:49:28
UTC 2006     root@pl2.xxx.yyy:/usr/obj/usr/src/sys/JBOSS-4BSD i386

( RELENG_6  dating about middle of December, 2005 )

I got the following message from kernel:
rp0: <RocketPort PCI> port 0x9c80-0x9cff,0x9800-0x98ff mem
0xfdcffc00-0xfdcffc7f irq 16 at device 1.0 on pci16
rp0: ioaddr mapping failed for RocketPort(PCI).
device_attach: rp0 attach returned 6

After quick investigation discovered that rp(4) doesn't have support for
this device's PCI id ( correct me pls if my understanding is wrong),
so I added it.

root@pl2:/<3>dev/rp [0]# pciconf -lv

#...output skipped

rp0@pci16:1:0:  class=0x078000 card=0x080111fe chip=0x080111fe rev=0x01
hdr=0x00
    vendor   = 'Comtrol Corp'
    device   = 'RocketPort UPCI 32 port w/external I/F'
    class    = simple comms

device id = 0x0801

As the current RELENG_6 rp_pci.c revision is the same as I have on server (=
1.11), I attached the patch.
Pls check.

P.S. After this applying patch the device seem to be working ok:
root@pl2:/<3>dev/rp [0]# grep -i rocketport /var/run/dmesg.boot
rp0: <RocketPort PCI> port 0x9c80-0x9cff,0x9800-0x98ff mem
0xfdcffc00-0xfdcffc7f irq 16 at device 1.0 on pci16
RocketPort0 (Version 3.02) 32 ports.

Lots of serial devices appeared in /dev/ , and simple testing show them
working.

Cheers,
Vit

[-- Attachment #2 --]
--- rp_pci.c.orig	Wed Jan 25 11:21:42 2006
+++ rp_pci.c	Wed Jan 25 11:19:52 2006
@@ -68,6 +68,7 @@
 #define RP_DEVICE_ID_6M		0x000C
 #define RP_DEVICE_ID_4M		0x000D
 #define RP_DEVICE_ID_UPCI_8O	0x0805
+#define RP_DEVICE_ID_UPCI_32	0x0801
 
 /**************************************************************************
   MUDBAC remapped for PCI
@@ -180,6 +181,7 @@
 
 	switch (pci_get_device(dev)) {
 	case RP_DEVICE_ID_UPCI_8O:
+	case RP_DEVICE_ID_UPCI_32:
 		ctlp->io_rid[0] = PCIR_BAR(2);
 		break;
 	default:
help

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