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

Re: hdparm and old system




On Thu, 10 Jan 2002, Adam Majer wrote:

> On Thu, Jan 10, 2002 at 10:56:59PM +1100, Matt Chipman wrote:
> > 
> > 
> > > Hi all,
> > > 
> > > I have a 486 with 1 byte serial FIFO. This means if I transfer stuff
> > > through my modem, I get a bunch of bits lost when HD trasnfer any
> > > data. To fix the problem I unmasked IRQs on the HD controller.
> > > 
> > 
> > 
> > I could be way off the mark here but when your system boots, does it 
> > say 2 x serial ports 16550 UART ?
> > 
> > If not replace your serial/hd controller with a 16550 uart model
> > 
> > -Matt
> 
> It's a 16450 UART [or something like that]. Hence 1 byte FIFO instead of 
> 16 byte FIFO.
> 
> If the interrupts were unmasked properly then I wouldn't need to get new 
> hardware... As I said, it works in 2.2.x series...
> 
> - Adam

That, even if you think of replacing the io card, its very likely that you
dont find 16550A UART's available. I have several, all of diferent
manufacturers, and none is a 16550; instead they r 16450. 
Did you check if the interrupts are correctly assigned to the serial
ports? with irq=0, the serial ports will be pooled instead of relying on
their irq lines. If you pool with a eavy processor load, characters will
be lost. I dont know if this can help you, but i hope so. Maybe you can
give us some more information. I remember reading somewhere that the
serial
driver does not assign irq lines to serial ports, it only identifies
hardware. To do that ( assign irqs ) you must configure /etc/serial.conf
and run setserial. Its up to with setserial to assign each device (
/dev/ttySx ) to each hardware physical port. Usualy setserial will be run
 at start up, thus configuring the irq lines; but for testing do the
following:

$setserial /dev/ttySx 
will give you the status of the device.

an example is:
$setserial /dev/ttyS0 irq 4 



J.A.Serralheiro



Reply to: