M2RET with GPS receiver (26 pin connector)

I am trying to connect a GPS sensor in M2 and read the CAN data using M2RET and SavvyCan. I have added the GPS module into M2RET and successfully compiled and uploaded the modified M2RET to M2.

Then, no COM port showing for M2 and it cannot connect with SavvyCan anymore. It says USB devise not recognized.

I have used the following code for the Adafruite GPS receiver (Serial3 is used):

Could you also post the modified M2RET code?

Here is the link of my code:
https://drive.google.com/file/d/0B3tdiSZ9hBj4RmpQTFF3Q2lkTEU/view?usp=sharing

Additional lines are enclosed between “//GPS signal” marks. I mostly change four parts: initialize several stuffs (setup() function), update and print GPS signal into the serial monitor (loop() function), planning to write GPS signal values into a file (sendFrameToFile() function), and define a serial port and a user-defined interrupt (outside).

I am wondering if it has something wrong with Serial or Serial3. My guess is USB port stops working after uploading my code to M2.