NewSoftSerial tx(30,3);// tx on 14
NewSoftSerial rx(2,30);// rx on 12
If you can't get the comments right in the first 4 lines of code, why should I, or anyone else, read beyond that?
Useless comments are just that. Keep them correct or exercise the delete key.
Only one instance of NewSoftSerial/SoftwareSerial can be active at once. Since rx was just started, tx is not active. Printing to, or reading from, the non-active version is rather useless.
Why have you not upgraded to a more recent vintage version of the IDE?