can only upload sketches using arduino as isp

So the problem started when I burned the bootloader onto an arduino mega2560 clone with a ch340g. Before this I could still program it using a usb cable, for some reason I thought it might be a good idea to see if I could burn a bootloader onto a chip because I wanted to eventually make a breadboard setup with blank 328p's. I installed the ch340g drivers, I made sure the correct board and com port was selected, and tested the usb cable by programming an identical board with the blink sketch.

Now it seems I can only upload sketches while using another arduino as an isp. Whenever I try to upload a sketch I get this error

avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer

avrdude done. Thank you.

I'm using windows 10, and arduino IDE 1.6.6.

When you Upload Using Programmer the bootloader is erased so you need to Burn Bootloader to be able to upload using USB.

So after burning the bootloader, before I tried uploading a sketch, I disconnected the arduino as isp and connected the board through usb. It seems i can only upload a sketch exactly 1 time before it gives me the "avrdude: stk500v2_ReceiveMessage(): timeout" error again.

Have you made any changes to boards.txt? My experience with Arduino as ISP and mega2560 is that the sketch never runs when I do Upload Using Programmer unless I change the value of bootloader.high_fuses from 0xD8 to 0xD9 but after doing that I have to change back to 0xD8 for Burn Bootloader to work properly.

I burned the bootloader with mega.menu.cpu.atmega2560.bootloader.high_fuses=0xD8, when I try to burn the bootloader with the fuse set to 0xD9, it appears the bootloader was burned successfully but the blink sketch wasn't initially loaded and i cant program any sketches.

0xD8 is the correct hfuse setting for use with the bootloader. I was just checking that you hadn't changed it.

yeah it seems like after I burn the bootloader I can only ever upload 1 sketch. I've been reading about similar problems but cant seem to find a solution.

What programmer did you use for burning the bootloader? Many can't properly burn a 2560 bootloader.

I was using another arduino mega2560 as an isp to burn the bootloader.

UPDATE:

So ive decided to come back to this problem after a couple weeks from a fresh angle. It looks like I can only upload 1 sketch after bootloading. After that, anytime I want to upload a sketch I have to strategically hit the reset button while the sketch is being uploaded. So it looks like there's a problem with the auto reset, maybe it got disabled somehow. Hopefully there is a software fix for this, I read about re-soldering a 100nf cap on the one labled c7 in the schematic which seemed to work for some people. I have a Chinese clone though with a ch340g so I'm not sure if c7 is the same capacitor going to reset. I'm going to investigate a little and re-post anything I find out.