Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Oct 2007 00:59:11 +0200
From:      Bernd Walter <ticso@cicely12.cicely.de>
To:        Brooks Talley <brooks@illuminati.org>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: Getting nonstandard serial baud rates w/FTDI
Message-ID:  <20071024225910.GU46533@cicely12.cicely.de>
In-Reply-To: <6511247.119521193244786830.JavaMail.root@zmail.illuminati.org>
References:  <6511247.119521193244786830.JavaMail.root@zmail.illuminati.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Oct 24, 2007 at 09:53:06AM -0700, Brooks Talley wrote:
> 
> Hi, everyone.  I'm pulling my hair out in great chunks.
> 
> I need to get Python 2.5, using pyserial 2.2, to open a FTDI-based usb to serial port at 250000 baud.  The FTDI chip definitely supports this rate.  The port mounts at /dev/cuaU0.
> 
> The problem is that /usr/local/lib/python2.5/site-packages/serial/serialposix.py fails on this line:
> ispeed = ospeed = getattr(TERMIOS,'B%s' % (self._baudrate))
> 
> So far, I have applied these patches to uftdi.c and uftdireg.h:
> http://tinyurl.com/2yye2l
> 
> Approaching this with a machete, I have also updated /usr/src/lib/libc/gen/termios.h to add B250000, and rebuilt world and the kernel, and confirmed that the updated termios.h made it to /usr/include and /usr/include/sys.

termios.h is not important - they are just constants, you should be able
to use raw values in software.

> Any ideas on how to get this to work?  It doesn't seem like it should be this difficult!

You need to add support in the uftdi driver itself.
There is an enum containing ftdi_8u232am_* fields and a switch/case in
the driver.

The hex value divides the 48MHz clock and leaves a factor 8.
So 0x0018 should be the right value for 250000bps.

There is an OpenBSD patch to calculate the rates dynamically:
http://archive.openbsd.nu/?ml=openbsd-tech&a=2006-06&m=2083975
Something similar (but in better style IMHO) is commited to OpenBSD,
which we should merge into our source.

-- 
B.Walter                http://www.bwct.de      http://www.fizon.de
bernd@bwct.de           info@bwct.de            support@fizon.de



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20071024225910.GU46533>