There is an updated SoftwareSerial included in the arduino library. Here's a cut-down version of some code that works for me; I can't seem to find the tutorial that I borrowed it from.
#include <SoftwareSerial.h>
#define rxPin 2
#define txPin 3
SoftwareSerial mySerial = SoftwareSerial(rxPin, txPin);
void setup()
{
Serial.begin(9600); // start hardware serial
// set up SoftwareSerial
pinMode(rxPin, INPUT);
pinMode(txPin, OUTPUT);
mySerial.begin(9600);
// print via SoftwareSerial
mySerial.print("software serial startup\n");
}
void loop()
{
}
See if using the SoftwareSerial library works any better.
-j