Have you tried something like napisan to soak them in? I used to do the boys babyclothes in them and they came up white again (it managed to get away the food and puke that often stains

) I used to leave them overnight in a bucket and then washed them and they came up a treat, it might work the same on his socks, worth a try