Last Friday, I replaced the "broken" switch with a new one, reconnect all the wire. The switch did power all the APs one the initial boot. Then I pasted the configure to the switch, reloaded it and left.
This afternoon, I came back and found that the new switch didn't power the APs either.
This time I have plenty of time, so I did some more test.
1. boot from another partition with older firmware. (Not help, I finally succeeded with the "original" newer image)
2. write erase all, then reload. (Seems not help)
3. In initial setup, change the country code to US instead of CN (Seems not help)
4. There is one port connected to an old switch owned by customer, but I don't know it's brand and type. After reload, waiting for a while, with all copper wire unplugged except the one connected to the customer's switch, I unplugged the last one and then plugged the wire which connected to an AP on my hand, the red led flashed on the AP immediately, the led on switch port began to blink. I plugged another wire which connected to an AP on site, waiting a little longer, the switch port led blinked too. I connected all the wire, all aps were powered. I reloaded the switch, all aps were powered soon after the user prompt appeared.
I can not repeat the problem again, at least in this afternoon. No matter whether I plug the wire connecting to the old switch or not, all aps can be powered after reload.
I clean the configure file a little after all this
1. I erased the configuration and restore the configure with necessary command only, not just paste all stuff in the backup configure file
2. Execute "Poe-profile "default"" in "interface-group gigabitethernet "default""
3. In "interface-group gigabitethernet "Access"", excluded the port connected to the old switch. So it is admin disabled on Poe.
I'm not sure that it's me who make the switch work again, or the switch just recovery by itself. I will update this post if I run into this problem again.