libftdi Archives

Subject: Trouble setting baud rate on FT2232D device

From: Markus Svilans <msvilans@xxxxxxxxx>
To: libftdi@xxxxxxxxxxxxxxxxxxxxxxx
Date: Tue, 24 Sep 2013 17:07:09 -0400
Dear list,

I am new to libftdi, and I am having trouble with an FT2232D device. The 2232D device is part of a custom board, for a product in development.

I am using Angstrom embedded Linux with kernel 3.5, on a Gumstix Overo Water SBC. Library versions are libusb1 1.0 and libftdi1 1.0. These are the latest source codes available from the respective web sites. Using various command line tools (e.g. lsusb) and various test codes (e.g. listing all FTDI devices connected) yield the expected results.

I am trying to send and receive bytes via RS-232 on Interface B of the 2232D.

Here are the symptoms I am getting:
  • For a while, the 2232D appeared to be stuck in 300 baud mode. No matter what I set the baud rate to using libftdi commands, the baud rate would stay stuck at 300. I was able to verify this by connecting the 2232D output to another USB serial dongle to view the received bytes -- trying to receive at baud rates other than 300 either produced garbage or nothing. Power cycling the 2232D repeatedly did not remedy this.
  • Then, the 2232D changed to a very high baud rate, by itself. Viewing the pulse output on an oscilloscope, it seemed to be somewhere around 1.2 megabaud. I was not able to receive any data from it in this mode.
  • I had this behaviour occur with my own test code, and with the examples/serial_test.c program that comes with libftdi. (Note, in order to get serial_test.c to work, I had to remove the ability to manually set the bit pattern, instead I hard coded it to 0x55.)
  • Using an external FT2232H Mini Module, I can change the baud rate and send data, no problem.
  • Using the native Linux driver (ftdi_sio) I can set the baud rate and communicate using the 2232D, no problem.

I have been over my code backwards and forwards, and cannot think of anything that would cause the 2232D to misbehave, while the 2232H running the same code works as expected. To top it off, the Linux ftdi_sio driver works on both modules. I think I might be losing my mind!

Has anybody seen something like this? Hints on things to try, or troubleshooting ideas?

Any help would be appreciated.

Best regards,
Markus



libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+unsubscribe@xxxxxxxxxxxxxxxxxxxxxxx


Current Thread
  • Trouble setting baud rate on FT2232D device, Markus Svilans <=