When starting without an almanac, the program will go
to almanac based channel allocation before a full
almanac is available.
If you achieve a four satellite solution before you've
gotten the almanac information for any of the
satellites in view, then you'll jump out of cold start
and drop all the satellites you are currently tracking.
All channels with be shut off and you'll have to wait
until the few satellites you actually got the almanac
for rise so you can track them to start recording the
rest of the almanac.
The catch-22 is that the almanac valid flag is set
inside the almanac based channel allocation routine.
So logic needs to be re-thought out and re-worked.