Project

General

Profile

TBS Q-Box Firmware

Added by Prof Yaffle over 11 years ago

Forum -

Not a tvheadend-specific issue, but I thought I'd share it here because

(a) it may be useful to someone else,
(b) someone might come in and be able to tell me that I've done something really stupid, and
(c) I'm a tvheadend user, so where else would I post it?

I've been having hell and all trouble with my TBS Qbox II for longer than I remember. It's always caused some degree of grief because of the need to recompile the kernel modules, and I've had issues with half-recordings which always cast a shadow of suspicion, but in the past few weeks I've been having a constantly-hanging system, overnight failures, my kittens have shrivelled, who knows what else.

Anyway, I had some time tonight to look into it and found a series of 'firmware not responding' errors in the log:

Mar  1 06:54:38 revo kernel: [36849.508226] cx24116_load_firmware: FW version 161.161.161.161
Mar  1 06:54:38 revo kernel: [36849.508270] cx24116_firmware_ondemand: Firmware upload complete
Mar  1 07:01:07 revo kernel: [37238.796073] cx24116_cmd_execute() Firmware not responding
Mar  1 07:04:08 revo tvheadend[1022]: dvb: diseqc setup failed -1
Mar  1 07:04:20 revo kernel: [37431.420244] cx24116_firmware_ondemand: Waiting for firmware upload (dvb-fe-cx24116.fw)...
Mar  1 07:04:20 revo kernel: [37431.425104] cx24116_firmware_ondemand: Waiting for firmware upload(2)..

... cycling all day. A reboot clears it and it all works well - but only a reboot.

Symptoms are that the whole system slows to a crawl but without anything significant in top. XBMC chews more processor than normal, but killing it doesn't speed things up. The tvh web interface becomes unresponsive, either drawing nothing or only part of the screens. ssh login has a long pause between login and password.

Restarting tvh doesn't fix it - indeed, tvh never fully restarts because the adapter never initialises properly - if I look in syslog, I can see my other adapter starting up, but then everything just p-a-u-s-e-s... it's then time for a reboot.

It seems that I have either a corrupted firmware (unlikely, since a reboot fixes it), a dying unit, or just old software that can't cope with some change or other. I've updated the driver for this box very many times - the last only a couple of weeks ago - but it seems that TBS doesn't ship firmware updates as part of this, so I guess I have whatever version originally came with this Ubuntu version (10.10).

Taking a look:

-rw-rw-r-- 1 xbmc xbmc 32674 2009-09-05 15:13 dvb-fe-cx24116.fw

... which used to be reported as one version on loading, but something's changed...

A good boot:

syslog.1:Feb 28 20:40:50 revo kernel: [   20.852830] cx24116_load_firmware: FW version 1.23.86.1

A couple of bad ones:

syslog.1:Feb 28 20:08:56 revo kernel: [28833.740176] cx24116_load_firmware: FW version 249.249.249.249
syslog:Mar  1 17:45:27 revo kernel: [75898.496063] cx24116_load_firmware: FW version 161.161.161.161

The version numbers are clearly bolloxed - presumably, they're simply defaulting to something-or-other when it all goes horribly wrong.

Now, this doesn't mean that my unit isn't failing (I'd be glad to see the back of it, to be honest). However, I found some instructions to upgrade the firmware file on the LinuxTV site for something that shares the same chipset: http://www.linuxtv.org/wiki/index.php/Hauppauge_WinTV-HVR-4000

wget http://www.wintvcd.co.uk/drivers/88x_2_126_28225_WHQL.zip
unzip -jo 88x_2_126_28225_WHQL.zip Driver88/hcw88bda.sys
sudo dd if=hcw88bda.sys of=/lib/firmware/dvb-fe-cx24116-1.26.90.0.fw bs=1 skip=105768 count=32290
sudo mv /lib/firmware/dvb-fe-cx24116.fw /lib/firmware/dvb-fe-cx24116.old.fw
sudo ln -s /lib/firmware/dvb-fe-cx24116-1.26.90.0.fw /lib/firmware/dvb-fe-cx24116.fw

(Isn't that just an awful way of extracting a file? I mean, just how hard can you make it??)

And a new firmware is born that's clearly different because of the file size:

-rw-r--r-- 1 root root 32290 2013-03-01 18:04 dvb-fe-cx24116-1.26.90.0.fw
lrwxrwxrwx 1 root root    41 2013-03-01 18:05 dvb-fe-cx24116.fw -> /lib/firmware/dvb-fe-cx24116-1.26.90.0.fw
-rw-rw-r-- 1 xbmc xbmc 32674 2009-09-05 15:13 dvb-fe-cx24116.old.fw

Stopping tvheadend, power-cycling the unit, restarting tvheadend - and the system is purring along, no lag, and everything working as expected.

For the moment, I'm working again, and with a later firmware than I had before:

syslog:Mar  1 18:08:36 revo kernel: [77287.593293] cx24116_load_firmware: FW version 1.26.90.0

Let's see if it survives the night. Even if I have got a dodgy unit, the upgrade instructions might be relevant to someone else. In the meantime, I'm off to ship another PCTV 460e in from Germany anyway...

Oh, and I think I've just used up my annual quota of formatting tags in this post. Can I have some more, please? :-)


Replies (1)

RE: TBS Q-Box Firmware - Added by Prof Yaffle over 11 years ago

Ah, well, it didn't last long - it still ended up dying with the same symptoms. However, at least other folks know how to upgrade the firmware if they need to.

Hurry up with that delivery, will you...

    (1-1/1)