kern/128219: puc driver can not handle parallel port card with SUN1888 chip.

Thinker K.F. Li thinker at branda.to
Sun Oct 19 04:50:02 UTC 2008


>Number:         128219
>Category:       kern
>Synopsis:       puc driver can not handle parallel port card with SUN1888 chip.
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Sun Oct 19 04:50:01 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     Thinker K.F. Li
>Release:        FreeBSD 8.0-CURRENT i386
>Organization:
allwitz.com
>Environment:
System: FreeBSD cowboy.branda.to 8.0-CURRENT FreeBSD 8.0-CURRENT #7: Fri Oct 17 22:32:29 CST 2008 thinker at cowboy.branda.to:/usr/src/sys/i386/compile/cowboy i386


	
>Description:
	puc(4) is a Universal driver for serial & parallel ports.  It supports
	variaous chips & boards except the one I bought from market, SUnix's
	daul ports parallel card with SUN1888 chip.
	
>How-To-Repeat:
	Plug a parallel port card with SUN1888 to your FreeBSD box and try to
	drive it with puc driver module.  Nothing is happening.
	puc(4) can not even recoganize the card.
	
>Fix:

	apply following small patch on src/sys/dev/puc/, and rebuild the
	module in src/sys/modules/puc/.
	

--- patch-freebsd-puc.diff begins here ---
--- puc.c.orig	2008-10-17 23:55:22.000000000 +0800
+++ puc.c	2008-10-18 15:50:10.000000000 +0800
@@ -606,7 +606,7 @@
 	if (cookiep == NULL || res != port->p_ires)
 		return (EINVAL);
 	/* We demand that serdev devices use filter_only interrupts. */
-	if (ihand != NULL)
+	if (ihand != NULL && port->p_type == PUC_TYPE_SERIAL)
 		return (ENXIO);
 	if (rman_get_device(port->p_ires) != originator)
 		return (ENXIO);
--- pucdata.c.orig	2008-10-17 15:50:37.000000000 +0800
+++ pucdata.c	2008-10-18 03:01:56.000000000 +0800
@@ -586,6 +586,12 @@
 	    .config_function = puc_config_timedia
 	},
 
+	{   0x1409, 0x7268, 0xffff, 0,
+	    "Sunix SUN1888 2 Port Parallel",
+	    DEFAULT_RCLK * 8,
+	    PUC_PORT_2P, 0x10, 8, 0,
+	},
+
 	/*
 	 * Boards with an Oxford Semiconductor chip.
 	 *
--- patch-freebsd-puc.diff ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list