I have made more tests between a Libretto 100
(toshoboe or danauboe) and a Libretto 50 (irtty),
both running with kernel 2.4.0-test12-pre3.
I have always ": rx fifo overflow" when the other side is started
I have a problem that I cannot explain:
with 1.91 I can start the passive ppp on either side
and then start the point-to-point ppp on the other side;
with 2.12 the passive ppp must be started on the irtty side
and then the point-to-point ppp on the toshoboe side.
1) I have renamed 2.12 driver "donauboe"
So, I have the 2 drivers:
toshoboe = version 1.91
which is always the reference for ONETASK mode
donauboe = version 2.12
And I think it would be easier to put a new driver in "Linus"
kernel tree than to submit a patch bigger than the source.
2) self->ring->tx[self->txs].len = len & 0x0fff;
Is it correct to manage length modulo 4k?
Or to return an error if length>4k
Or to return an error if length>TX_LEN
The length is checked by an assert in async_wrap_skb
3) Standard RX/TX_LEN was 8k in 1.91
now 512 bytes. It is too short for nfs,
that uses generally 1k.
4) self->ring->rx[self->rxs].len = 0x0;
= re-init rx-ring after rx interrupt.
self->ring->rx[i].len = TX_LEN; (it is not RX_LEN)
init rx-ring in toshoboe_initring
I have updated, but do not see any change
What is the correct init or re-init ?
5) mtt block is not the last. Don't put OBOE_CTL_TX_RTCENTX
that is a beginning for optimization.
mtt block makes tx busy, so cannot sent if ONETASK
6) I want to submit you my patches.
donau.diff.gz