My DS has been waking up between 5 and 5:30am for the past month, regardless of whether I put him down at 6pm or 7pm (he'd always fall asleep pretty much right away regardless of what time). I tried different things with him, including dream meds as he's cutting his canines. But nothing seemed to be working. Finally I read on one of the boards a suggestion of moving their nap time further back. Because he was waking up SO early, I had been putting him down at 12/12:15, and would get about 1.5 hour nap out of him. The other day, by fluke, we were out and it was 12:30 and we were just heading home. We tried to keep him awake in the car but he fell asleep when we were 10 mins from home. He woke up when I transferred him to his crib, but ended up sleeping from about 12:45-2:45. I put him down at 6:45 that night, and he slept until 5:50. PROGRESS!
Then yesterday I put him down for his nap at 12:30 (he has a cold and was asking to go to bed). He woke up once but resettled and slept until 2:20. I put him to bed at 7pm, and he slept until 6am!
I was very doubtful that pushing his nap back would work, since he would wake up so early and always fall asleep if we were out in the car/stroller, even if it was just 9am. But by moving his nap back, it seems to be shifting his morning wake up time as well. Hopefully I'm not jinxing myself by posting this!