Thread (5 messages) 5 messages, 4 authors, 2008-07-29

Re: baycom_ser_fdx - fixed under 2.6

From: Pidoux <hidden>
Date: 2008-07-22 09:31:35
Also in: linux-hams

Hi,

This is a trivial but very important bug fix. Thanks David.
It was probably not submitted to the right destination and thus never applied.

This bug may have discouraged more than one radioamateur wishing to experiment baycom style modems under Linux.
Fortunately you have done a very good historical search.

I rebuilt the patch against 2.6.26 kernel (the only source I have here on my laptop at my remote location during vacation).

I Cc: to David Miller and Ralf Baechle DL5RB maintainers of Linux net devices drivers and Linux AX25 drivers, respectively.

73 de Bernard, f6bvp

--- a/drivers/net/hamradio/hdlcdrv.c	2008-07-22 10:40:20.000000000 +0200
+++ b/drivers/net/hamradio/hdlcdrv.c	2008-07-22 10:42:13.000000000 +0200
@@ -88,6 +88,7 @@
  static inline void append_crc_ccitt(unsigned char *buffer, int len)
  {
   	unsigned int crc = crc_ccitt(0xffff, buffer, len) ^ 0xffff;
+	buffer += len;
  	*buffer++ = crc;
  	*buffer++ = crc >> 8;
  }


David Robb wrote :
So it seems that I might be the only person in the world who's still 
attempting to use a Baycom bp-1 pocket modem under Linux, but oh well..

As a number of people noticed back in about 2005 (and some even 
earlier), the baycom_ser_fdx driver hasn't worked under Linux 2.6 for a 
few years (possibly ever).

Various people poked around 
(http://osdir.com/ml/hams/2005-05/msg00022.html) and determined that 
there was some kind of packet corruption going on, and that the CRC was 
mangled.

Well, after bashing my head against it a few times over the last few 
months (I guess I was bored), and finally thinking that it mightn't be 
in the baycom_ser_fdx driver that the problem actually was, I tracked it 
down to the hdlcdrv code instead...

Someone called Micah actually figured this out in 2004, and submitted a 
patch, but it never made it into the kernel (at least in my 2.6.25.7 
it's still broken):

http://linux.derkeiler.com/Mailing-Lists/Kernel/2004-11/2929.html

The CRC's overwriting some of the packet...

So anyway, applying the patch listed at that URL (1 line! Just one 
little line!) my BP-1 now works again under 2.6.25.

Perhaps I'm strange for wanting this working in these days of high speed 
links, but hey... it seems sad to have broken code and no support where 
there used to be a functional device.

Anyway, share and enjoy.

--David ZL3UDR
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help