Hope you don't mind me chipping in as my daughter is a lot, lot younger, but I'm a secondary school teacher so used to dealing with teens that don't want to talk or cooperate much!
Some general suggestions:
No, you're not going mad. Those are very reasonable expectations on him. He absolutely can and should be doing those. We notice a huge difference in attitude at school between those that have a good relationship with parents with very open communication, and those where it is getting a little strained as communication is breaking down, parents don't know where they are etc. It's crucial to sort.
Luckily, most teens are actually quite open to changing if you can elicit an emotional response to their behaviour. For example, if you can sit him down you can talk to him like he's an adult and explain which behaviours you like and dislike and how they make you feel. You could say something like "It's important to me that you understand I feel very worried for your safety when you don't tell me where you're going. Sometimes I stay up for hours worrying about where you are.". The point is not to direct blame of fingers, but focus on the emotional impact it has on you. You then would usually follow up with a question to check if there are any barriers you're not aware of, such as "What's stopping you telling me at the moment, is there anything I can do to make that easier"? You can then discuss solutions to any barriers.
Once you reach the compromise you then repeat what you've agreed and write it down together if necessary. It could look like "Thank you for agreeing to text me when you leave the house. I need you to tell me where you're going, who you'll be with, what time you'll be back. We can write those three things down on your phone as a reminder so they're there when you need to remember quickly if you like". The point is to remove as many barriers as possible between them and doing what you've asked.
Thirdly you need a consequence if not followed. Some people enforce a consequence of their teens and it can work to an extent, but a lot or actually very good at setting their own consequences. If they feel it's been thrust upon them they tend to dig heals in more which isn't helpful. If you say something like "Great, I'm glad we're on the same page. It's important to me we keep up these changes. What do you think would motivate you to keep them up? What do you think would be a fair consequence if you forget to tell me?". Usually then they accept the consequence more gracefully as they've put it upon themselves. I've had students put themselves on litterpicking, staying after school to sharpen my pencils etc. this week if they haven't done what we agreed.
The final (very important) step is rock solid predictability. Once you've agreed a consequence you stick to it like glue and don't budge, no exceptions. Don't accept a "I couldn't, my phone was flat" or "I didn't text because I was in rush". Follow up with something like "It's hard when we're in a rush, but it's still important to let me know. Next time you need to make more time before you leave. Let's [whatever consequence is]. If you stick to it like glue then you'll likely see an improvement in a few days.
Final pro-tip I was going to give is that if you're struggling to get them to talk, don't ask many questions. Just repeat whatever they say with an upward inflection at the end and they'll almost always start chatting.
Example:
Parent: How was school today?
Teen: Eh, fine.
Parent: Fine? (Upward inflection as if asking a question, make eye contact and pause until they respond to you)
Teen: Yeh, fine. Just same old history, maths yadaa yadaa
Parent: History? (Upward inflection again)
Teen: Just learning about the Tudors
Parent: Tudors? (Upward inflection again)
Teen: We learnt xyz ...
Then you're in and they're likely to lead the conversation from there on.
Make household rules of downstairs by 6pm for dinner with no phones, screens or headphones. Agree a consequence and stick to it like glue.
Good luck!