<div dir="ltr"><div dir="ltr"><div></div><div><br></div><div>After power on, about 1 in 20 mythbackend startups are failing for me.</div><div><br></div><div>Symptoms are that the backend is running, as reported by <i>systemctl status,</i> but is unresponsive. The mythbackend logfile starts normally but stops after about 10 seconds with no error</div><div><br></div><div>Recordings and frontend connections fail and manual intervention is required to recover.</div><div><br></div><div><i>systemctl restart mythbackend</i> succeeds after a long delay (more than a minute) and the backend then starts normally.</div><div><br></div><div><br></div><div>The best clue I have is this, from the system journal</div><div><br></div><div>...</div><div>Nov 16 21:09:57 localhost.localdomain kernel: si2168 4-0064: downloading firmware from file 'dvb-demod-si2168-b40-01.fw'</div><div>Nov 16 21:09:58 localhost.localdomain kernel: si2168 4-0064: firmware version: B 4.0.11</div><div>Nov 16 21:09:58 localhost.localdomain kernel: si2157 5-0060: firmware version: 3.0.5</div><div>...</div><div><br></div><div>is happening at the same time as this, in the mythbackend log</div><div>...</div><div>2020-11-16 21:09:58.235627 I [2496/2496] CoreContext cardutil.cpp:1189 (SetDeliverySystem) - CardUtil[2]: Set delivery system: DVB-T2</div><div>2020-11-16 21:09:58.296591 D [2496/2496] CoreContext recorders/dtvchannel.cpp:295 (SetChannelByString) - DTVChan[2](/dev/dvb/adapter292e/frontend0): SetChannelByString(1): Initialize multiplex options m_tunerType:34 mplexid:8</div><div>2020-11-16 21:09:58.321345 D [2496/2558] TVRecEvent portchecker.cpp:75 (checkPort) - PortChecker::checkPort(): host 127.0.0.1 port 3306 timeLimit 30000 linkLocalOnly 1</div><div><br></div><div>...which is where the backend log stops.</div><div><br></div><div>On successful startups the firmware load appears to complete during the second before the mythbacked access.</div><div><br></div><div>I have a udev rule on the usb DVB capture device to create a meaningful name as below.</div><div><br></div><div>SUBSYSTEM=="dvb", ATTRS{idProduct}=="025f", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; printf dvb/adapter292e/%%s $${K#*.}'", SYMLINK+="%c", TAG+="systemd"</div><div><br></div><div>and the following wait commands in /etc/systemd/system/mythbackend.service</div><div><br></div><div>Wants=dev-dvb-adapter292e-frontend0.device</div><div>After=dev-dvb-adapter292e-frontend0.device</div><div><br></div><div>As far as I can tell this is not a problem.  journalctl reports</div><div><br></div><div>Nov 16 21:09:12 localhost.localdomain systemd[1]: Found device /dev/dvb/adapter292e/frontend0.</div><div><br></div><div>Which is 45s before mythbackend log starts and 55s before it stops (so the udev wait is probably unnecessary and may not work if required?)</div><div><br></div><div>Assuming that this is the problem, how do I delay starting mythbackend until the dvb device firmware has loaded?</div><div><br></div><div><br></div><div>I'm running Fedora FC32 with MythTV 32 on a Zotac Ion.</div><div><br></div><div>I have two usb dvb-t capture devices, a nanostick 290 and a nanostick 292e.  The 290 does not appear to require a firmware download.  It is the 292e which is apparently causing the trouble.</div><div><br></div><div>Thanks in advance,</div><div><br></div><div>D</div><div><br></div></div></div>