Serial problems at 115200 baud

Having some strange issues with the serial connection to an Arduino Fio using the FTDI breakout. I'm using Mac OSX 10.6.4 and Arduino IDE 0019.

The sketch I'm testing with is:

void setup() {
 Serial.begin(115200); 
}

char c;
void loop() {

 boolean printed = false;

 while (Serial.available()) {
   c = Serial.read();
    Serial.print(c);
    printed = true;
 } 

 if (printed)
   Serial.println();
 
 Serial.println("hello");
 delay(1000);
}

Now, here is the problem: when I use the Arduino IDE serial monitor, those 'hello' messages come through perfectly. However, when I send some characters to be echoed by the arduino they come back gibberish (except the first character). If I lower the baud rate, the characters come through clean in both directions.

However, if I connect to the arduino using 'screen /dev/usbserialdevice 115200', the communication works fine in both directions! What am I missing?

The main problem is that I want to communicate with the arduino using pySerial, but pySerial seems to suffer from the same problem as the arduino IDE.

What is screen doing differently that makes it work?

However, when I send some characters to be echoed by the arduino they come back gibberish (except the first character)

You're using the Serial Monitor for this case?

Yes. The same effect when using pySerial too.

The same effect when using pySerial too.

That was my follow-up question. And, with your answer, I'm stumped.

[edit]...Actually, I may not be. Can you try a different computer for the echo test?[/edit]

But, again, using screen presents no problems at all...

I've tried it with a Linux machine as well, same problem (Ubuntu 10.04.1).

Any chance the Ubuntu or MacOS FTDI driver is out-of-date?

Any chance the Ubuntu or MacOS FTDI driver is out-of-date?

Yup, using the most up-to-date.

So I tried the same code on a Duemilanove and it works just fine with all of the serial monitor, pyserial, and screen (at 115200).

Could this be a problem specific to the Fio? That wouldn't explain why things work fine with screen, but not with the serial monitor and pyserial.

This problem is driving me crazy!

The FIO is an 8MHz processor. I suspect that 115200 may be beyond it's capabilities.