I found that actually things are different from what I’ve described above.
On power on my external compass is detected by firmware but it stop working after a seconds.
And on reboot the external compass is not detected at all. So internal compass becomes #1 in Mission Planner; that’s why I mistakenly thought reboot does fix the external compass, but it doesn’t.
So… still have no clue what’s wrong.