bf cant stay hard advice pls???

I love my bf he's so sweet and sexy as well but damn he can't keep it up :(( he is 18. here's how it goes. I give him a bj or hand job and he can keep it hard! usually cums quick. but when we have sex he cannot keep it up. stays hard then goes soft randomly. he has a million excuses. says it's cause he ate a lot, cause he is getting tired, all this stuff. I usually have to do all the work so he can stay hard which I don't lil doing all the time. we bought cock rings cause it said it helps with staying hard longer and it didn't work. even the vibrating ones. please help. are there natural pills he can take?