I know it doesn't seem it, but it's good that the EML is on, now you've got a code to read :)
Loose electrical connection is a really good idea.
As you've now got the EML on though, your first port of call is to get the code read, hopefully will give you the answer to your problem.