And I can't buy a phone with the contract terms I want, they simply don't exist and can't exist unless the government forces companies to offer such terms. (They exist if you're buying thousands, maybe, but I just want one for personal use.)
Contract law can't force companies (nor consumers) to enter into contracts they don't want to be in. That's the whole point.
Have a look at eg https://www.apple.com/sg/support/professional/enterprise/ or the equivalent for Dell or Microsoft etc. All those companies already have programs where you can give them money in return for long term support and contractually guaranteed updates etc. I'm sure you can find similar programs for IoT suppliers.
Some people decide to pay for those programmes, many people don't. I don't see why we should force everyone into buying the equivalent of extended warranties, that they evidently don't want. This kind of stuff isn't free for companies to provide, you know.
Give it a try and report back.
If customers want it, there is a way: use contract law to commit the manufacturer.
That's already the norm for enterprise grade equipment. Companies often pay more for their hardware to get guaranteed long term support.
So the market is willing and able to provide this kind of service, when people vote with their wallets.
> The free market hasn’t figured it out, as evidenced by the decade of half-working devices consumers are left with.
The free market hasn't provided me with a flying car either. But that doesn't mean the market has failed. And I don't think using bureaucracy to ban any company that doesn't want to sell me a flying car would be an improvement on the status quo.
(To be more explicit: many people, including me, think a flying car would be fun. But we don't want it badly enough to be willing to pay what it would take. And that's why suppliers only offer normal cars, not the flying kind.)