Re: A serial port conundrum

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, 1 Mar 2003, Roger Butenuth wrote:

> [...]
> c) Can you activate DMA for the cdrom? This reduces the cpu load. Most
> modern cdroms support DMA.

It turned out that DMA was already in use, but thanks - you set me on the
right track.  I found a reference in one of the HOWTOs when I searched for
DMA information, suggesting either 
   hdparm -d0 -c1 /dev/hdd
or
   hdparm -d1 -X34 /dev/hdd
neither of which helped.  However, the -u option of hdparm can be used to
turn on interrupt unmasking:
   hdparm -u1 /dev/hdd
fixed the problem (with FIFO off, so the speech works properly).

On Fri, 28 Feb 2003, Nicolas Pitre wrote:

> [...]
> You can't enable transmit and receive fifoes independently on the 16550.

What I have now is two hacks (turning the FIFO off and turning on
interrupt unmasking), but it works, so I'm unlikely to press this further.

However, I'm curious: what would happen if I hacked the serial driver to
just send one byte at a time when transmitting (i.e. to pretend that there
isn't an output FIFO)?

> [...]
> There is no irq priority in standard Linux.

Strangely enough, it did turn out to be something vaguely related: from
what I can gather, the IDE driver was masking other interrupts while it
was processing its own, so some serial interrupts were being ignored and
overruns were occurring.  There's even a mention of serial overruns in the
HDPARM(8) manpage...

Of course, the underlying problem remains: the CombiBraille's speech
malfunctions badly when used with a FIFO-enabled serial UART.  I've no
idea why: it could be flow control (there was no information about that in
the protocol document from Tieman), but I don't understand why this should
be such a big issue with the FIFO on, and no issue at all with it off; but
there you go.

Thanks, everyone, for your help!

Cheers,

Nikhil.




_______________________________________________

Blinux-list@redhat.com
https://listman.redhat.com/mailman/listinfo/blinux-list

[Index of Archives]     [Linux Speakup]     [Fedora]     [Linux Kernel]     [Yosemite News]     [Big List of Linux Books]