Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 3 Jun 2000 14:01:10 -0400 (EDT)
From:      Elliot Dierksen <ebd@oau.org>
To:        support@comtrol.com
Cc:        Tom.Hitchcock@comtrol.com, freebsd-bugs@freebsd.org
Subject:   RocketPort PCI/Octa/DB25 vs. FreeBSD 3.4-STABLE
Message-ID:  <200006031801.OAA00997@alfred.oau.org>

next in thread | raw e-mail | index | archive | help
The problem involves a Comtrol RocketPort PCI/Octa/DB25. The problem is
that you can not use the port at any baud rate other than 9600 baud. The
problem is two-fold. I have a fix for the first part. There is an
incorrect definition of the static struct speedtab baud_table array. This
should be an array of 2 element structures. As it is currently defined,
it is a single structure will more than 2 elements. I tested this by
breaking up the structure into multiple elements, and that works fine.

Incorrect definition is as follows:
static struct speedtab baud_table[] = {
	B0,	0,		B50,	BRD50,		B75,	BRD75,
	B110,	BRD110, 	B134,	BRD134, 	B150,	BRD150,
	B200,	BRD200, 	B300,	BRD300, 	B600,	BRD600,
	B1200,	BRD1200,	B1800,	BRD1800,	B2400,	BRD2400,
	B4800,	BRD4800,	B9600,	BRD9600,	B19200, BRD19200,
	B38400, BRD38400,	B7200,	BRD7200,	B14400, BRD14400,
				B57600, BRD57600,	B76800, BRD76800,
	B115200, BRD115200,	B230400, BRD230400,
	-1,	-1
};

Here is how this array should be defined:
static struct speedtab baud_table[] = {
	{ B0,	0 },
	{ B50,	BRD50 },
	{ B75,	BRD75 },
	{ B110,	BRD110 },
	{ B134,	BRD134 },
	{ B150,	BRD150 },
	{ B200,	BRD200 },
	{ B300,	BRD300 },
	{ B600,	BRD600 },
	{ B1200,	BRD1200 },
	{ B1800,	BRD1800 },
	{ B2400,	BRD2400 },
	{ B4800,	BRD4800 },
	{ B9600,	BRD9600 },
	{ B19200, BRD19200 },
	{ B38400, BRD38400 },
	{ B7200,	BRD7200 },
	{ B14400, BRD14400 },
	{ B57600, BRD57600 },
	{ B76800, BRD76800 },
	{ B115200, BRD115200 },
	{ B230400, BRD230400 },
	{ -1,	-1 }
};

I have isolated the second part, but have not yet come up with a
resolution. The setting lock devices are not working properly
(cualR0, ttylR0) with regards to the baud rate. If you set the lock device
to zero baud, it will only let you access the device at zero baud. The
same holds true for 1200, 2400, etc. The initial setting of this device
starts at 9600 baud. I have not been able to locate a value that allows
you to change the baud rate of the regular callout device (cuaR0) when
you access it. I don't know if this problem is in rp.c or tty.c. I will
keep trying to find it, but I would appreciate any assistance.

Thanx,

EBD
-- 
Elliot Dierksen              "There ain't nothing like regret
                              To remind you you're alive"
                              -- Sheryl Crow - The Difficult Kind

Home) ebd@oau.org  (407) 850-9760


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?200006031801.OAA00997>