Moderator Control Panel ]

How to get TBS QBOX (ID 2601) to work?

How to get TBS QBOX (ID 2601) to work?

Postby eltron » Tue Jul 03, 2012 4:42 am

Hi,

I'm having trouble getting the TBS QBOX with the ID 734c:2601 to work under Ubuntu 10.04.
I've downloaded the TBS QBOX Linux Driver V120617 and followed the instructions in READMEs/README_TBS_QBOX_UBUNTU but dmesg only shows the following:

$ dmesg | grep -i -e box -e tbs -e dvb
[ 3.682211] usbcore: registered new interface driver tbsqbox2
[ 3.683599] usbcore: registered new interface driver tbsqboxs1


lsmod shows:
$ lsmod | grep -i -e box -e tbs -e dvb
dvb_usb_tbsqbox 17672 0
dvb_usb_tbsqbox2 18040 0
dvb_usb 28132 2 dvb_usb_tbsqbox,dvb_usb_tbsqbox2
dvb_core 109565 1 dvb_usb
rc_core 26840 8 ir_lirc_codec,ir_mce_kbd_decoder,ir_sony_decoder,ir_jvc_decoder,ir_rc6_decoder,ir_rc5_decoder,dvb_usb,ir_nec_decoder


lsusb didn't change after the driver installation, it still just shows the ID but no device name:
Bus 002 Device 004: ID 734c:2601


As I mentioned already my system is Ubuntu 10.04, but with a backported kernel:
$ uname -a
Linux eltron 3.0.0-22-generic #36~lucid1-Ubuntu SMP Wed Jun 13 15:41:18 UTC 2012 x86_64 GNU/Linux


After taking a look at the source code I've extracted the dvb-usb-tbsqbox-id2601.fw (attached to this post) from Q-BoxDVBS.sys that came with the driver-CD that was shipped with the QBOX and copied it to /lib/firmware/dvb-usb-tbsqbox-id2601.fw but nothing changed.

PS: The S/N of the QBOX (written on the side of the device, above the MAC-address) is TBQB80500174


Can someone help me, please?
Attachments
dvb-usb-tbsqbox-id2601.fw.tar.gz
Extracted with a hex-editor from Q-BoxDVBS.sys
(4.13 KiB) Downloaded 476 times
eltron
 
Posts: 4
Joined: Sat Mar 24, 2012 9:29 pm

Re: How to get TBS QBOX (ID 2601) to work?

Postby SergioDanielG » Tue Jul 03, 2012 5:43 am

What about unplug usb device, run "sudo tail -f /var/log/syslog" in a terminal un plug usb device again?
Can you post this log?

Best regards
SergioDanielG
 
Posts: 356
Joined: Tue May 31, 2011 3:53 am
Location: Tostado (SF) Argentina

Re: How to get TBS QBOX (ID 2601) to work?

Postby eltron » Tue Jul 03, 2012 7:53 am

SergioDanielG Wrote:What about unplug usb device, run "sudo tail -f /var/log/syslog" in a terminal un plug usb device again?

It shows nothing special:
Jul 3 01:21:38 eltron kernel: [ 91.573524] usb 2-2: USB disconnect, device number 3
Jul 3 01:21:43 eltron kernel: [ 95.904089] usb 2-2: new high speed USB device number 4 using ehci_hcd



Well, inspired by this page I tried some things (trial and error) with /root/tbs/linux-tbs-sources/linux/drivers/media/dvb/dvb-usb/tbs-qbox.c and got the driver working, more or less. I changed the demodulator from stv0288 to stv0299, changed the firmware filename and made it use the right(?) device ID.

Here's the patch I created (or alternatively on pastebin):
Code: Select All Code
*** tbs-qbox.c   2012-06-02 19:11:20.000000000 +0200
--- tbs-qbox.c.patched   2012-07-03 01:28:08.602477000 +0200
***************
*** 229,239 ****
     u8 buf[20];
 
     if (tbsqboxs1_properties.adapter->tuner_attach == &tbsqboxs1_earda_tuner_attach) {
!       d->fe[0] = dvb_attach(stv0288_attach, &earda_config,
                 &d->dev->i2c_adap);
        if (d->fe[0] != NULL) {
           d->fe[0]->ops.set_voltage = tbsqboxs1_set_voltage;
!          info("Attached stv0288!\n");
 
           buf[0] = 7;
           buf[1] = 1;
--- 229,239 ----
     u8 buf[20];
 
     if (tbsqboxs1_properties.adapter->tuner_attach == &tbsqboxs1_earda_tuner_attach) {
!       d->fe[0] = dvb_attach(stv0299_attach, &earda_config,
                 &d->dev->i2c_adap);
        if (d->fe[0] != NULL) {
           d->fe[0]->ops.set_voltage = tbsqboxs1_set_voltage;
!          info("Attached stv0299!\n");
 
           buf[0] = 7;
           buf[1] = 1;
***************
*** 409,415 ****
  static struct dvb_usb_device_properties tbsqboxs1_properties = {
     .caps = DVB_USB_IS_AN_I2C_ADAPTER,
     .usb_ctrl = DEVICE_SPECIFIC,
!    .firmware = "dvb-usb-tbsqbox-id5910.fw",
     .size_of_priv = sizeof(struct tbsqboxs1_state),
     .no_reconnect = 1,
 
--- 409,415 ----
  static struct dvb_usb_device_properties tbsqboxs1_properties = {
     .caps = DVB_USB_IS_AN_I2C_ADAPTER,
     .usb_ctrl = DEVICE_SPECIFIC,
!    .firmware = "dvb-usb-tbsqbox-id2601.fw",
     .size_of_priv = sizeof(struct tbsqboxs1_state),
     .no_reconnect = 1,
 
***************
*** 446,452 ****
     .num_device_descs = 1,
     .devices = {
        {"TBS QBOX DVBS USB2.0",
!          {&tbsqboxs1_table[1], NULL},
           {NULL},
        }
     }
--- 446,452 ----
     .num_device_descs = 1,
     .devices = {
        {"TBS QBOX DVBS USB2.0",
!          {&tbsqboxs1_table[0], NULL},
           {NULL},
        }
     }


Using the patch, after a reboot of the system the green LED of the QBOX starts blinking and I get the following dmesg output:
[ 3.909582] usbcore: registered new interface driver tbsqbox2
[ 3.910357] dvb-usb: found a 'TBS QBOX DVBS USB2.0' in cold state, will try to load a firmware
[ 3.919030] dvb-usb: downloading firmware from file 'dvb-usb-tbsqbox-id2601.fw'
[ 3.922865] tbsqboxs1: start downloading TBSQBOX firmware
[ 3.939664] usb 2-2: USB disconnect, device number 3
[ 4.040072] dvb-usb: found a 'TBS QBOX DVBS USB2.0' in warm state.
[ 4.040114] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[ 4.040129] DVB: registering new adapter (TBS QBOX DVBS USB2.0)
[ 4.040131] tbsqboxs1: read eeprom failed.
[ 4.040148] dvb-usb: MAC address reading failed.
[ 4.404035] dvb-usb: no frontend was attached by 'TBS QBOX DVBS USB2.0'
[ 4.404102] input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:13.2/usb2/2-2/input/input5
[ 4.404146] dvb-usb: schedule remote query interval to 150 msecs.
[ 4.404149] dvb-usb: TBS QBOX DVBS USB2.0 successfully initialized and connected.
[ 4.404165] usbcore: registered new interface driver tbsqboxs1
[ 4.444306] dvb-usb: TBS QBOX DVBS USB2.0 successfully deinitialized and disconnected.
[ 5.692113] usb 2-2: new high speed USB device number 4 using ehci_hcd
[ 5.825147] usb 2-2: config 1 interface 0 altsetting 0 bulk endpoint 0x81 has invalid maxpacket 64
[ 5.825804] dvb-usb: found a 'TBS QBOX DVBS USB2.0' in cold state, will try to load a firmware
[ 5.826928] dvb-usb: downloading firmware from file 'dvb-usb-tbsqbox-id2601.fw'
[ 5.828110] tbsqboxs1: start downloading TBSQBOX firmware
[ 5.952110] dvb-usb: found a 'TBS QBOX DVBS USB2.0' in warm state.
[ 5.952143] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[ 5.952264] DVB: registering new adapter (TBS QBOX DVBS USB2.0)
[ 6.238215] dvb-usb: MAC address: 00:c1:d2:b0:00:ae
[ 6.462341] tbsqboxs1: Attached stv0299!
[ 6.462560] DVB: registering adapter 0 frontend 0 (ST STV0299 DVB-S)...
[ 6.496601] input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:13.2/usb2/2-2/input/input6
[ 6.496632] dvb-usb: schedule remote query interval to 150 msecs.
[ 6.496633] dvb-usb: TBS QBOX DVBS USB2.0 successfully initialized and connected.


It now also creates some devices in /dev/dvb/:
$ find /dev/dvb/
/dev/dvb/
/dev/dvb/adapter0
/dev/dvb/adapter0/frontend0
/dev/dvb/adapter0/net0
/dev/dvb/adapter0/dvr0
/dev/dvb/adapter0/demux0


But unfortunately all GUI programs which try to interact with the QBOX stop reacting.

I tried the szap-s2 and scan-s2 tools but I think they don't work either...
eltron
 
Posts: 4
Joined: Sat Mar 24, 2012 9:29 pm

Re: How to get TBS QBOX (ID 2601) to work?

Postby cody » Tue Jul 03, 2012 7:58 pm

Hi, that device is not supported in Linux by the drivers - it's very old model, actually the first Qbox model and it's out of production for many years. however, there is way to make it work in Linux, but with a little manual work:

- open 'linux-tbs-drivers/linux/drivers/media/dvb/dvb-usb/tbs-qbox.c'
and change every appearance of "5910" to "2601"

- install the following USB firmware file:

http://www.sendspace.com/file/hm418j
cody
 
Posts: 627
Joined: Tue Apr 13, 2010 11:20 pm

Re: How to get TBS QBOX (ID 2601) to work?

Postby eltron » Tue Jul 03, 2012 11:19 pm

Done that (pastebin).

That's basically what I did with the patch I wrote yesterday (the firmware you posted and the one I extracted are the same, verified by sha1sum).

But the method you mentioned works even less because the demodulator is not the right one. My QBOX has a stv0299 instead of stv0288? So no frontend is registered:
[ 3.894147] usbcore: registered new interface driver tbsqbox2
[ 3.894956] dvb-usb: found a 'TBS QBOX DVBS USB2.0' in cold state, will try to load a firmware
[ 3.981049] dvb-usb: downloading firmware from file 'dvb-usb-tbsqbox-id2601.fw'
[ 3.982358] tbsqboxs1: start downloading TBSQBOX firmware
[ 4.008283] usb 2-2: USB disconnect, device number 3
[ 4.112041] dvb-usb: found a 'TBS QBOX DVBS USB2.0' in warm state.
[ 4.112085] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[ 4.112100] DVB: registering new adapter (TBS QBOX DVBS USB2.0)
[ 4.112102] tbsqboxs1: read eeprom failed.
[ 4.112111] dvb-usb: MAC address reading failed.
[ 4.372044] dvb-usb: no frontend was attached by 'TBS QBOX DVBS USB2.0'
[ 4.372126] input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:13.2/usb2/2-2/input/input5
[ 4.372172] dvb-usb: schedule remote query interval to 150 msecs.
[ 4.372174] dvb-usb: TBS QBOX DVBS USB2.0 successfully initialized and connected.
[ 4.372196] usbcore: registered new interface driver tbsqboxs1
[ 4.400240] dvb-usb: TBS QBOX DVBS USB2.0 successfully deinitialized and disconnected.
[ 5.764059] usb 2-2: new high speed USB device number 4 using ehci_hcd
[ 5.901011] usb 2-2: config 1 interface 0 altsetting 0 bulk endpoint 0x81 has invalid maxpacket 64
[ 5.901673] dvb-usb: found a 'TBS QBOX DVBS USB2.0' in cold state, will try to load a firmware
[ 5.902736] dvb-usb: downloading firmware from file 'dvb-usb-tbsqbox-id2601.fw'
[ 5.904125] tbsqboxs1: start downloading TBSQBOX firmware
[ 6.028110] dvb-usb: found a 'TBS QBOX DVBS USB2.0' in warm state.
[ 6.028144] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[ 6.028255] DVB: registering new adapter (TBS QBOX DVBS USB2.0)
[ 6.313578] dvb-usb: MAC address: 00:c1:d2:b0:00:ae
[ 6.538333] dvb-usb: no frontend was attached by 'TBS QBOX DVBS USB2.0'
[ 6.538722] input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:13.2/usb2/2-2/input/input6
[ 6.538756] dvb-usb: schedule remote query interval to 150 msecs.
[ 6.538758] dvb-usb: TBS QBOX DVBS USB2.0 successfully initialized and connected.


# find /dev/dvb
/dev/dvb
/dev/dvb/adapter0
/dev/dvb/adapter0/net0
/dev/dvb/adapter0/dvr0
/dev/dvb/adapter0/demux0


scan-s2 complains about a missing frontend:
# ./scan-s2 ../astra_scan-s2.conf -v -v -v -v -v -v -v -v -v
API major 5, minor 3
scanning ../astra_scan-s2.conf
using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
main:3021: FATAL: failed to open '/dev/dvb/adapter0/frontend0': 2 No such file or directory


Is there anything else I could try?
eltron
 
Posts: 4
Joined: Sat Mar 24, 2012 9:29 pm


Return to Linux

Who is online

Users browsing this forum: No registered users and 1 guest