Can't upload to Arduino when using external power

Hi, I'm relatively new to Arduino, and here are what I was trying to do.

I have this DFRobot GPS/GPRS/GSM Shield V3.0 and mount it to my Arduino Uno R3 as it is Arduino compatible. So when I was trying to drive the GSM Mode via USB Port as it stated , I only got to see the GPS Ready in my coolterm monitor, as it should get to the GSM to be ready.

Here is the code I tried to upload

    // Driving the gsm mode via the USB interface
     
    // # Steps:
    // #        1. Turn the S1 switch to the Prog(right side)
    // #        2. Turn the S2 switch to the USB side(left side)
    // #        3. Set the UART select switch to middle one.
    // #        4. Upload the sketch to the Arduino board(Make sure turn off other Serial monitor )
    // #        5. Turn the S1 switch to the comm(left side)       
    // #        6. RST the board 
     
    void setup()
     {
       //Init the driver pins for GSM function
        pinMode(3,OUTPUT);
        pinMode(4,OUTPUT);
        pinMode(5,OUTPUT);
       //Output GSM Timing 
        digitalWrite(5,HIGH);
        delay(1500);
        digitalWrite(5,LOW); 
     }
     void loop()    
     {    
        // Use these commands instead of the hardware switch 'UART select' in order to enable each mode
        // If you want to use both GSM and GPS. enable the required one in your code and disable the other one for each access.
        digitalWrite(3,LOW);//enable GSM TX、RX
        digitalWrite(4,HIGH);//disable GPS TX、RX
     }

Then, since in its wiki page stated that the GSM module may need external power (ranged to 7-12V) to power up as it needs 200mA@7v, when calling, I tried to use 9V/1A external power via the power jack. But then it won't allow me to upload the program to the board.. as it said:

avrdude: stk500_getsync(): not in sync: resp=0x43

I tried to unplug the external power and upload the program again then it works, to the point where only GPS module that was ready again..
So, was using the 9V/1A DC Power Adapter Supply to power up the GSM is the one causing this problem? I've checked my USB cable and the COM port to make sure that everything is fine. Is there any suggestion how to make this works?
Is 9V too high or is it even not enough power?

I'm new to Arduino so. any help would really be appreciated, thank you!

In this page:

you may have the answer. I'm looking to the cause "Cause #0: Wire coming out of pin 0, (RX)". What is the pin (communication pin) that the GPS module is connected to the Arduino board? May be the pin 0?

Hi luisilva, thank you so much for responding!

Later I tried to upload the code first, then turned the power adapter on and it worked like a charm. There is no error, I can upload the code and the program works like it should have. But however, when I tried to do it from the beginning with the power adapter on, it gave me this error again.

avrdude: Version 6.0.1, compiled on Mar 30 2015 at 14:56:06

         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/

         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"

         Using Port                    : COM19

         Using Programmer              : arduino

         Overriding Baud Rate          : 115200

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x8e

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x8e

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x8e

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x8e

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x8e

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x8e

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x8e

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x8e

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x8e

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x8e

avrdude done.  Thank you.

I'm still not sure, is it normal to do that? Upload first then give the external power?
Because I have checked the solutions from the link you gave

#1 Bootloader is missing: the LED from pin-13 is turned on, so I assume it's there?
#2 Wrong COM/Port: I think I used the right Port and board
#3 Drivers are not installed: I checked again and it's already installed
#4 Wire coming out of pin 0, (RX): Now this, I haven't connect any wire to the pin, since this GSM/GPRS/GPS Shield is Arduino compatible, so it's stacked on top of the Arduino..

Do you have any other ide what other possibilities that might cause this?

ajprameswari:
(...)
#4 Wire coming out of pin 0, (RX): Now this, I haven't connect any wire to the pin, since this GSM/GPRS/GPS Shield is Arduino compatible, so it's stacked on top of the Arduino..
(...)

When they talk about "Wire coming out of pin 0" this is any connection to the pin 0, not "a real wire". If you have the GPS module connected to the Arduino you have a connection between pin 0 and the GPS module. If it works without external supply do it like that.