[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: serial port not working correctly (you better read it if you want PP
From: |
Diego Roversi |
Subject: |
Re: serial port not working correctly (you better read it if you want PPP) |
Date: |
Thu, 3 Jan 2002 10:33:33 +0100 |
User-agent: |
Mutt/1.2.5i |
On Wed, Jan 02, 2002 at 10:58:18PM +0100, Marcus Brinkmann wrote:
> Hi,
>
> we are having a problem with the serial device driver. Neal and I think we
> tracked it down to the interrupt handling.
>
Some month ago, I'd also a problem with the serial line, and I post some
patch for gnumach. Some of them was never included in the gnumach afaik... It
solved
the problem for me, I hope the same were for you...
diff -ur gnumach-20010918/device/chario.c gnumach-20010918.new/device/chario.c
--- gnumach-20010918/device/chario.c Sun Apr 29 22:26:01 2001
+++ gnumach-20010918.new/device/chario.c Tue Oct 9 22:45:58 2001
@@ -122,8 +122,8 @@
pdma_timeouts[B2400] = _PR(240);
pdma_timeouts[B4800] = _PR(480);
pdma_timeouts[B9600] = _PR(960);
- pdma_timeouts[EXTA] = _PR(1440); /* >14400 baud */
- pdma_timeouts[EXTB] = _PR(1920); /* >19200 baud */
+ pdma_timeouts[B19200] = _PR(1920); /* >14400 baud */
+ pdma_timeouts[B38400] = _PR(3840); /* >19200 baud */
pdma_timeouts[B57600] = _PR(5760);
pdma_timeouts[B115200] = _PR(11520);
@@ -143,13 +143,23 @@
pdma_water_mark[B1800] = _PR(180);
pdma_water_mark[B2400] = _PR(240);
pdma_water_mark[B4800] = _PR(480);
+ pdma_water_mark[B9600] = _PR(960);
+ pdma_water_mark[B19200] = _PR(1920);
+#undef _PR
+#define _PR(X) (0.10 * X)
+ pdma_water_mark[B38400] = 192;
+ pdma_water_mark[B57600] = 96;
+ pdma_water_mark[B115200] = 64;
+
+#if 0
i = tty_inq_size/2;
pdma_water_mark[B9600] = i;
pdma_water_mark[EXTA] = i; /* >14400 baud */
pdma_water_mark[EXTB] = i; /* >19200 baud */
pdma_water_mark[B57600] = i;
pdma_water_mark[B115200] = i;
-
+#endif
+
return;
}
--
Saluti / Regards
Diego Roversi | diegor at maganet.net
| diegor at tiscalinet.it