I've got a project where one of my submodules has got submodules again. The latter are not checked out.
To check out submodules of submodules correctly, the following command should work:
git submodule update --init --recursive
Got it, there is a (pretty hidden) option to turn that behavior on.