Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 Oct 2002 10:04:28 -0700 (PDT)
From:      Daniel Lang <dl@leo.org>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   kern/44215: PUC driver support for Moxa C320 Intellio/PCI
Message-ID:  <200210181704.g9IH4Si0062650@www.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         44215
>Category:       kern
>Synopsis:       PUC driver support for Moxa C320 Intellio/PCI
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          wish
>Submitter-Id:   current-users
>Arrival-Date:   Fri Oct 18 10:10:01 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Daniel Lang
>Release:        FreeBSD 4.7-STABLE
>Organization:
LEO
>Environment:
FreeBSD atleo8.leo.org 4.7-STABLE FreeBSD 4.7-STABLE #1: Fri Oct 18 18:43:16 CEST 2002     root@atleo8.leo.org:/usr/obj/usr/src/sys/ATLEO8  i386
    
>Description:
We have a Moxa C320 Intellio/PCI Multiport serial card and would like
to add support to the driver. The puc(4) manpage says to enter new 
devices into the pucdata.c file, which is what I tried.

However the card does not work, and probe results in lots of "cannot get resource"
messages on the console.

My Kernel config contains the lines
device puc
device sio
along the the device sio-lines for the standard serial ports
(maybe this is a problem?)
my pucdata.c-diff looks like this:

--- pucdata.c   Thu Aug 22 12:50:58 2002
+++ pucdata.c.my        Fri Oct 18 18:38:31 2002
@@ -877,6 +877,46 @@
            },
        },
 
+       /* Moxa Technologies Co., Ltd. PCI I/O Card 8S RS232 */
+       {   "Moxa Technologies, C320 Intellio Turbo/PCI",
+           {   0x1393, 0x3200, 0,      0       },
+           {   0xffff, 0xffff, 0,      0,      },
+           {
+               { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
+               { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
+               { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
+               { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
+               { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 8 },
+               { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 8 },
+               { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 8 },
+               { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 8 },
+               { PUC_PORT_TYPE_COM, 0x18, 0x40, COM_FREQ * 8 },
+               { PUC_PORT_TYPE_COM, 0x18, 0x48, COM_FREQ * 8 },
+               { PUC_PORT_TYPE_COM, 0x18, 0x50, COM_FREQ * 8 },
+               { PUC_PORT_TYPE_COM, 0x18, 0x58, COM_FREQ * 8 },
+               { PUC_PORT_TYPE_COM, 0x18, 0x60, COM_FREQ * 8 },
+               { PUC_PORT_TYPE_COM, 0x18, 0x68, COM_FREQ * 8 },
+               { PUC_PORT_TYPE_COM, 0x18, 0x70, COM_FREQ * 8 },
+               { PUC_PORT_TYPE_COM, 0x18, 0x78, COM_FREQ * 8 },
+               { PUC_PORT_TYPE_COM, 0x18, 0x80, COM_FREQ * 8 },
+               { PUC_PORT_TYPE_COM, 0x18, 0x88, COM_FREQ * 8 },
+               { PUC_PORT_TYPE_COM, 0x18, 0x90, COM_FREQ * 8 },
+               { PUC_PORT_TYPE_COM, 0x18, 0x98, COM_FREQ * 8 },
+               { PUC_PORT_TYPE_COM, 0x18, 0xa0, COM_FREQ * 8 },
+               { PUC_PORT_TYPE_COM, 0x18, 0xa8, COM_FREQ * 8 },
+               { PUC_PORT_TYPE_COM, 0x18, 0xb0, COM_FREQ * 8 },
+               { PUC_PORT_TYPE_COM, 0x18, 0xb8, COM_FREQ * 8 },
+               { PUC_PORT_TYPE_COM, 0x18, 0xe0, COM_FREQ * 8 },
+               { PUC_PORT_TYPE_COM, 0x18, 0xe8, COM_FREQ * 8 },
+               { PUC_PORT_TYPE_COM, 0x18, 0xf0, COM_FREQ * 8 },
+               { PUC_PORT_TYPE_COM, 0x18, 0xf8, COM_FREQ * 8 },
+               { PUC_PORT_TYPE_COM, 0x18, 0x100, COM_FREQ * 8 },
+               { PUC_PORT_TYPE_COM, 0x18, 0x108, COM_FREQ * 8 },
+               { PUC_PORT_TYPE_COM, 0x18, 0x110, COM_FREQ * 8 },
+               { PUC_PORT_TYPE_COM, 0x18, 0x118, COM_FREQ * 8 },
+           },
+       },
+

I've just guessed the COM_FREQ, I don't know if this card could be supported
anyway, but we it would be very helpful, I am willing to do the driver
development with some support, since I have no experience.

My dmesg output regarding this card is:

puc0: <Moxa Technologies, C320 Intellio Turbo/PCI> port 0xe000-0xe07f mem 0xe700
0000-0xe7003fff irq 9 at device 9.0 on pci0
could not get resource
could not get resource
could not get resource
could not get resource
could not get resource
could not get resource
could not get resource
could not get resource
could not get resource
could not get resource
could not get resource
could not get resource
puc1: <Moxa Technologies, C320 Intellio Turbo/PCI> port 0xd800-0xd87f mem 0xe680
0000-0xe6803fff irq 12 at device 10.0 on pci0
could not get resource
could not get resource
could not get resource
could not get resource
could not get resource
could not get resource
could not get resource
could not get resource
could not get resource
could not get resource
could not get resource
could not get resource

(two cards in the machine)

The cards can have 16 or 32 ports attached to them.
A Linux driver supplied by Moxa exists.

Here is pciconf -l -v output:

puc0@pci0:9:0:  class=0x070080 card=0x00000000 chip=0x32001393 rev=0x02 hdr=0x00
    vendor   = 'Moxa Technologies Co Ltd'
    device   = 'C320 Intellio Turbo PCI'
    class    = simple comms
    subclass = UART
puc1@pci0:10:0: class=0x070080 card=0x00000000 chip=0x32001393 rev=0x02 hdr=0x00
    vendor   = 'Moxa Technologies Co Ltd'
    device   = 'C320 Intellio Turbo PCI'
    class    = simple comms
    subclass = UART

If there is anything else required, please tell me.



>How-To-Repeat:
      
>Fix:
      
>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




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