Depends on what code you're running. In ArduPiratesNG, LED C only comes on when position hold is selected. I spent hours on Friday troubleshooting what I thought was a comm problem between the GPS and the APM that didn't actually exist. When I finally flipped into position hold, LED C worked correctly.
ABC: Fast flashing while calibrating gyros, then pause, then rotation flashing (about 45 seconds total). After that, B is solid on and C blinks while waiting for GPS lock; When GPS lock is achieved C will go solid on, too, and you are ready to fly
Note: in the 1.0 Beta code there is a slight bug in the MediaTek setup routine, which requires you to reset your board after a cold start before the GPS lock will be registered. So if you're using the MediaTek GPS, wait until the blue lock LED on that module goes solid, then press the reset button on your APM board or shield. This will do a warm start of the board, and the LED behavior should be as shown in the table above.
Replies
The GPS knows where it is. (blue LED on)
The APM does not know where it is. (LED C off).
"What we have here, ladies and gentlemen, is a failure to communicate."
Check the GPS selection. As Chris says, MTEK is not MTEK16.
From the manual:
http://code.google.com/p/ardupilot-mega/wiki/LED
ABC: Fast flashing while calibrating gyros, then pause, then rotation flashing (about 45 seconds total). After that, B is solid on and C blinks while waiting for GPS lock; When GPS lock is achieved C will go solid on, too, and you are ready to fly
Note: in the 1.0 Beta code there is a slight bug in the MediaTek setup routine, which requires you to reset your board after a cold start before the GPS lock will be registered. So if you're using the MediaTek GPS, wait until the blue lock LED on that module goes solid, then press the reset button on your APM board or shield. This will do a warm start of the board, and the LED behavior should be as shown in the table above.