According to my book, 2 is a primitive root of 11 because:

phi(11) = 10. 2^2 = 4 mod 11. 2^5 = -1 mod 11. 2^10 = 1 mod 11

That's the whole explanation.

I used to same logic to find a primitive root of 17.

phi(17) = 16. 2^2 = 4 mod 17. 2^4 = -1 mod 17. 2^8 = 1 mod 17. 2^16 = 1 mod 16.

But 2 is NOT a primitive root of 17???

Whats going on here?