I skipped over 2.1.28 because PPP failed to work for me; I compiled
2.1.29 last night and ran it this morning. It had the same problem
2.1.28 had. I remembered the old thread about someone (I forgot who)
putting in UART detection code that broke a lot of machines (including
mine). It seems to be back, rearing it's ugly head:
ttyS00 at 0x03f8 (irq = 4) is a TI16750 <---
When in fact, it _should_ read (for me at least):
tty00 at 0x03f8 (irq = 4) is a 16550A <---
UART detection code is hard, because a lot of manufacturers who clone the
16650A don't do a competent job at it. In a genuine National
Semiconductor 16550A, but 5 of the IIR is a "must be zero", and your
cheap clone is violating this.
Sigh.... I will try to put in a more selective test. The problem of
course is that this may break somebody else's non-standard UART....
In drivers/char/serial.c, try removing the following line:
if (scratch == 7) {
serial_outp(info, UART_LCR, 0);
--> serial_outp(info, UART_FCR, UART_FCR_ENABLE_FIFO); <-- remove
scratch = serial_in(info, UART_IIR) >> 5;
if (scratch == 6)
state->type = PORT_16750
}
Please let me know if this solves your problem.....
- Ted