Well I'm guessing it's the same as Heartgold so first you must have beaten all the jhoto gym leaders but Clair. Then Defeat Team rocket at the goldenrod radio tower. Then the director will give you the rainbow feather. Same thing in Soulsilver but a silver wing.
Chat with our AI personalities
in mahogany town beat team rocket then go to goldenrod city and beat team rocket there too then you get the silver feather or if heart gold you get the rainbow feather see i know this because i beat the game already
In navel Rock
You receive it after rescuing the Radio President
a man in pewter city gives it to you
You get the rainbow wing from the radio tower director after you get rid of team rocket. (Same thing in soul silver).