Rpi4B needs power off reboot for TV hat

Jun 10, 2025 Last reply: 1 year ago 6 Replies

Finally identified something I had been suspecting for some time. Issuing a 'reboot' command results in tvheadend unable to find the DVB adapter, but a power off reset finds it.



Anyone got half a clue as to why?


-- "The most difficult subjects can be explained to the most slow witted man if he has not formed any idea of them already; but the simplest thing cannot be made clear to the most intelligent man if he is firmly persuaded that he knows already, without a shadow of doubt, what is laid before him."



- Leo Tolstoy


I had similar behaviour with a network card some while ago. Apparently the reboot leaves the device in a state which makes it impossible for the OS to detect it after the reboot. This actually is a bug in the driver for the adapter, which you could report to the maintainer. When you switch if off completely, "something" is set to standard values, thus making the DVB adapter again available for the OS.

-jw-

Mmm. Yes. Recognising the device is down at kernelish level...

IICBA (If i can be arsed) I'll file a report... ...its probably a single line of code. A power off reset will put the device in a known state and a reboot needs to find it there and its probably a question of writing sonmething to it that puts it there...as a firstt attempt to find it

That sounds more like a bug in the device? i.e. not honoring the reset signal from the host after reboot.

Well hardware and software always blame each other :-)

In the end though, its the software's job to sort it out.

Wouldn't be the first time I've seen software engaging in some complex shenanigans to overcome a hardware default. A unix that wouldn't boot untril I phoned the company themselves in the USA who listened patently while I read out the onscreen information.

"Ah., Its hung checking for the maths co processor" "What maths co processor?" "the one that should have a jumper saying if its not there" "Are you sure, how do you know" "I know because I wrote the boot script"

Windows booted perfectly on the unit. Irrespective of jumper setting.

Doesn't it suggest that the driver, when run from a reboot, assumes that the device has had a hardware reset, which won't have happened on a reboot without power cycle?

It's common for devices to have a method to software reset them, though the results may not be identical to a hardware reset.

David

I would agree. On a reboot, the driver should be able to initialize the device to the same condition it would be after a power cycle.

There may be some exceptions, I dunno: maybe avoid reloading large firmware blobs, that kind of thing. But it would be good to have options for overriding all of these. Treat them only as optimizations.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required