Ok, so the problem lies in your kernel. Since you seem to be having issues getting the modules correct, I would use a live cd to start the computer, then check if it can read the drives. If it can, then the modules it is using has to be correct. Issue the command
and see what modules it used. Then build your kernel with those modules enabled, and you should be set.