Arduino + GSM SIM900 returns ÿ (0xFF) char

So, when I send any char via Serial, GSM responds only on CR and NL giving ÿ (0xFF) of each. Where is the problem? Maybe connection is wrong? GSM module has low voltage ttl -3.3V. I've tried other baud rates, but with no results.

#include <SoftwareSerial.h>

#define rx 10
#define tx 11
SoftwareSerial gsm(rx, tx);

void setup()  
{
   Serial.begin(9600);
   gsm.begin(9600);
}

void loop()
{ 
    if(gsm.available())
       Serial.write(gsm.read());

    if(Serial.available())
       gsm.write(Serial.read());
}

Interfacing:

The SIM900 module will draw over 2A in peaks - Nowhere enough for the Arduino to power. You need an external Voltage regulator and power supply, or you can use an 1S Lithium battery (Cellphone battery)

// Per.