www.a00.de > tcpgroup > 1992 > msg00215
 

TCP-group 1992


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

Problem in pi-card driver (+ fix!)



I found (and fixed) a small problem in the PI-card driver built in in NOS.
At this moment, I'm using port B of the PI-card (which behaves just like
a normal SCC-port; it's the A-side that's special).
Unfortunately, I still need to use the built-in driver because the PI
packet driver doesn't support port B (yet?). I'm using port B for a
HAPN modem to the local IP node PI8EHV.

The symptom of the problem is that when a packet is sent which has a
byte in it with the value 0xff, that byte (and the bytes after that
which belong to the same packet) are not transmitted, i.e. the packet
is chopped off at that point. HDLC CRC is, as one might expect, OK.
Finding what was going on was more than half of the effort: trace
shows packets unaffected, but other stations drop these incomplete
packets and cause your TCP connections to die.

The fix is simple:

----------------
OLD:
b_txint(hp)
register struct pichan *hp;
{
        register int16 cmd;
        char i_state,c;

[some code..]

        case ACTIVE:
                /* Here we are actively sending a frame */
                if((c = PULLCHAR(&hp->sndbuf)) != -1){
                        /* next char is gone */

----------------
NEW:
b_txint(hp)
register struct pichan *hp;
{
        register int16 cmd;
        char i_state;
        int c;  <------------------------------------

[some code..]

        case ACTIVE:
                /* Here we are actively sending a frame */
                if((c = PULLCHAR(&hp->sndbuf)) != -1){
                        /* next char is gone */


The PI card now seems to work OK. Has anybody else found another improvement?
Does anybody have a PI-card packet driver that does support port B?


73, Geert Jan PE1HZG

Geert Jan de Groot, Philips CE-ADC, Building SFJ-2,
P.O. box 80002, 5600 JB Eindhoven, The Netherlands.
Email: geertj@ica.philips.nl or ..!sun4nl!philica!geertj
Phone: +31 40 797408    FAX: +31 40 732340





Document URL : http://www.a00.de/tcpgroup/1992/msg00215.php
Ralf D. Kloth, Ludwigsburg, DE (QRQ.software). < hostmaster at a00.de > [don't send spam]
Created 2004-11-12. Last modified 2004-11-12. Your visit 2020-10-28 16:33.17. Page created in 0.0508 sec.
 
[Go to the top of this page]   [... to the index page]