kernels mkiss bug

From: ittuoeuv.gfkutj@rnetinc.net
Date: Sat Jul 08 2000 - 05:24:53 EEST

  • Next message: Erik Jakobsen: "Re: KCT Rotorcontrole."

    Hello linux-hams !

    It seems to me that there is bug in kernels mkiss module,
    at least in kernel 2.2.15.

    In /usr/src/linux/drivers/drivers/net/hamradio/mkiss.c
    line 350, there is:

                    } else if (ax->rbuff[0] & 0x20) {
                            ax->crcmode = CRC_MODE_FLEX;

    and there is no any other changes to ax->crcmode in code.

    PROBLEM #1:
    So, if it once detect flexnet crc frame, there is no way back
    to get/send non-crc frame.

    Usualy there are errors on wire kiss links and such errors can
    produce frame that can look like it is flexnet crc, but it is not.
    After that it will continue to send flexnet crc frames (with added
    two bytes of CRC) and it will make 2 bytes garbage per frame.

    On my kiss link (which is not CRC) it switched to flexnet crc after 10min
    to 10hours, and after there are garbage. Then I commented
    / ax->crcmode = CRC_MODE_FLEX;
    and everything works perfectly.

    PROBLEM #2:
    Another interesting thing is that after switching to CRC_MODE_FLEX
    it contiunue to accept frames from other side that have no CRC bytes,
    shouldn't they be ignored ? Is that the idea of CRC ?

    There should be a way to go back from flexnet crc mode, shouldn't it ?

    Excuse me if I am wrong in something I wrote.

    73 de Tihomir, terhi.victor@logonet.com



    This archive was generated by hypermail 2b29 : Sat Jul 08 2000 - 05:47:00 EEST