Hi, we are having a problem with the serial device driver. Neal and I think we tracked it down to the interrupt handling.
The setup consists of a machine running GNU/Hurd and a machine running GNU/Linux or GNU/Hurd, both machines running minicom. As long as characters come slow, just a few at a time, everything works as expected. As soon as we try to sent a file, only the first few characters are received. The line is still operational, but the bunch of the file is lost. For example, sending a file from GNU/Linux with 300 baud did result in 16 characters coming through. Sending the same file from GNU/Hurd did result in many more characters coming through, but eventually the same problem occurs. To track it down, we first investigated term and then the device/chario.c code, all of which apparently worked correctly. Then we set debug printk's into the interrut handler i386/i386at/com.c (comintr), and noticed that for key strokes etc, a character timeout indication (CTIi) occured, and for large transfer (> 14 characters), a RECi interrupt occurs (REC==record? We believe there is a hardware buffer that holds 14 characters within the timeout, and the 15th character triggers the RECi interrupt to flush the record). We observed that the subsequent event is, even for data larger than 28 bytes, not another RECi, but a CTi with up to two of the following characters. So, sending "0123456789ABCDEF" will result in RECi => 0123456789ABCD CTIi => EF while sending more data will produce the _same_ result (everything after the 16th character is dropped). Notably, there are no interrupts. For example, sending several hundred bytes will result in the first 14 bytes being received with a RECi, two bytes being received with a CTIi, and then nothing more. No interrupt, no data, nothing. We set the baud rate to different values, 38400 and 300 baud, or sending from the Hurd, but it doesn't differ a lot. Only the amount of records passed does change with different configurations. Eventually, it will cut off the data. Anybody has an idea how to proceed with this problem? Has anybody gotten serial line communication to work reliably? BTW, we have tested PPP and the tunnel device without using the serial connection (Neal set it up to send the packets over ethernet), and it works just fine. So, after fixing the com device, we will have PPP working flawlessly. ;) Thanks, Neal & Marcus -- `Rhubarb is no Egyptian god.' Debian http://www.debian.org [EMAIL PROTECTED] Marcus Brinkmann GNU http://www.gnu.org [EMAIL PROTECTED] [EMAIL PROTECTED] http://www.marcus-brinkmann.de _______________________________________________ Bug-hurd mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-hurd