I like the answer of tarapitha because it has an explanation.
The TV switches back to the active source if there is no other device that reports activity (in response to the [Request active source] message, so this is the reason the [Inactive source] message works.
The only problem is that the [Inactive Source] message must be directly addressed to the TV, so the correct frame will be 40 9d 10 00 if the physical address of the active source is 1.0.0.0
Eman's answer probably worked because the TV forgives the wrong physical address, it just executes an active source request and does not find an active source, so it becomes active.
I recommend this page to understand CEC framing.
source share