Solo was showing 6 and 7 and even once 10 satellites but was still saying waiting or GPS.
Finally after several minutes it allows me to fly.
What is the cause of that?
You did not have an accurate enough fix just having six or seven satellites in view does not mean you have a great fix.
It stops you rushing off with a poor home location and perhaps a fly away
I'm not a solo expert (solo-master has hundreds of changes vs ardupilot-master) but I believe the reason is that the EKF does additional checks including checking the GPS velocities agree with the other sensors (accelerometers). It's these additional checks that are stopping arming.
On my Solo, at the house I get a fix in about 2 minutes, around 9 sat's. Just down the street I see on the controller I'm getting 8 to 9 sat's, however Solo would not 'lock' for about 10 minutes. Why, I'm not sure.
Also, do not understand why when you pick up Solo AFTER it has locked on GPS, say to check GoPro settings/record button, it has to search all over again. I understand sensor calibration, but GPS lock lost? Does not make sense.