Re: [PATCH] EMI_X25 smsc module support for high speed modems
"Nikos Balkanas" <[email protected]>
| Newsgroups | gmane.comp.mobile.kannel.devel |
|---|---|
| Message-ID | <002701c99031$f7c8f7b0$02b2a8c0@tardis> |
Not exactly the same. In the default case you are supposed to set it to the actual bps requested, not to 9600. Could you update? BR, Nikos ----- Original Message ----- From: "Vincent CHAVANIS" <[email protected]> To: <[email protected]> Sent: Monday, February 16, 2009 12:31 PM Subject: [PATCH] EMI_X25 smsc module support for high speed modems Adapted paul's patch for EMI_X25 SMSC Vincent. P. A. Bagyenda a ΞΉcrit : > Thanks. > > On the issue of non-standard speeds, I've tested this on Mac OS X > (which uses bps value as actual speed value) with a 460800 (i.e. > non-standard) modem, and it works just fine. Said modem also works well > under Linux. I believe no issue arises since it is the user > responsibility to provide the correct speed -- and also buy a supported > modem :) > -------------------------------------------------------------------------------- > diff -rauw /gateway-cvs/gw/smsc/smsc_emi_x25.c > /gateway/gw/smsc/smsc_emi_x25.c > --- /gateway-cvs/gw/smsc/smsc_emi_x25.c 2009-01-14 10:24:05.000000000 > +0100 > +++ /gateway/gw/smsc/smsc_emi_x25.c 2009-02-16 11:20:55.000000000 > +0100 > @@ -496,7 +496,23 @@ > > /* The speed initialisation is pretty important. */ > tcgetattr(fd, &tios); > -#if defined(B115200) > + > +#if defined(B921600) > + cfsetospeed(&tios, B921600); > + cfsetispeed(&tios, B921600); > +#elif defined(B576000) > + cfsetospeed(&tios, B576000); > + cfsetispeed(&tios, B576000); > +#elif defined(B500000) > + cfsetospeed(&tios, B500000); > + cfsetispeed(&tios, B500000); > +#elif defined(B460800) > + cfsetospeed(&tios, B460800); > + cfsetispeed(&tios, B460800); > +#elif defined(B230400) > + cfsetospeed(&tios, B230400); > + cfsetispeed(&tios, B230400); > +#elif defined(B115200) > cfsetospeed(&tios, B115200); > cfsetispeed(&tios, B115200); > #elif defined(B76800) > @@ -512,9 +528,14 @@ > cfsetospeed(&tios, B19200); > cfsetispeed(&tios, B19200); > #elif defined(B9600) > + #if B9600 == 9600 > + cfsetospeed(&tios, 9600); > + cfsetispeed(&tios, 9600); > + #else > cfsetospeed(&tios, B9600); > cfsetispeed(&tios, B9600); > #endif > +#endif > kannel_cfmakeraw(&tios); > tios.c_cflag |= (HUPCL | CREAD | CRTSCTS); > ret = tcsetattr(fd, TCSANOW, &tios); >