TBS5880 USB DVB-T2/T/C CI hybrid TV Box
TBS5880 is a hybrid digital TV external box with both DVB-T2/T tuner and DVB-C tuner. You can use it for watching or recording digital terrestrial or cable TV on PC. The integrated CI support makes it possible to watch Pay TV(By inserting the correct CAM and subscription smartcard into the CI slot, premium channels will be available). The manufacturer provides Linux driver up to the latest kernel.
Overview/Features
- Watch Digital TV & listen to Radio on PC
- DVB-T2/T/C SD or HD TV Receiving
- Real Time and Scheduled Program Recording(PVR)
- Time Shifting to Pause Live TV
- Common Interface Support
Components Used
- DNOT44QCH266A
- CY7C68013
Identification
Device Descriptor:
bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x734c TBS Technologies China idProduct 0x5880 bcdDevice 0.01 iManufacturer 1 iProduct 2 iSerial 0 bNumConfigurations 1
Configuration Descriptor: bLength 9
bDescriptorType 2 wTotalLength 32 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 100mA
Interface Descriptor:
bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 1
Endpoint Descriptor:
bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0
Making it work
- Download driver zip from the manufacturer and unpack the files
wget http://www.tbsdtv.com/download/document/common/tbs-linux-drivers_driverversion.zip mkdir tbs-linux-drivers_driverversion cd tbs-linux-drivers_driverversion unzip ../tbs-linux-drivers_driverversion.zip
- Extract linux-tbs-drivers.tar.bz2 archive:
tar xjvf linux-tbs-drivers.tar.bz2
- Go to driver package directory:
cd linux-tbs-drivers
- We need to choose 32bit or 64bit for our drivers. Run
- ./v4l/tbs-x86.sh for 32bit;
- ./v4l/tbs-x86_r3.sh for 32bit running kernel 3.x
- ./v4l/tbs-x86_64.sh for 64bit.
- We're ready to build; add -j3 for a faster build on a dual core machine, -j5 on a quad core machine, etc.
- Build and install the driver:
make && make install
Or for dual core machines
make -j3 && make install
- Reboot in order to load the newly installed driver:
shutdown -r now
Drivers
Available here. Look for the TBS5880 Latest driver.
Note (2 dec 2012): These proprietary drivers were forked from the standard Linux DVB drivers around August 2011. And as such contain only old drivers for hardware other than from TBS.
Re-installing after a kernel upgrade
- cd to the linux-tbs-drivers directory that was created in the Making it Work section above.
- Clean out the previously built objects
make clean
- Choose 32bit or 64bit for our drivers again.
- ./v4l/tbs-x86.sh for 32bit
- ./v4l/tbs-x86_r3.sh for 32bit running kernel 3.x
- ./v4l/tbs-x86_64.sh for 64bit.
- Remove (or rename if you're paranoid) the config file; it will be regenerated automatically.
rm v4l/.version
- Build and install the modules
make -j3 sudo make install
- Reboot your machine.
Sample Kernel Output
dvb-usb: no frontend was attached by 'TBS 5880 CI USB2.0'
- [ 160.019741] input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:1d.7/usb1/1-7/input/input4
- [ 160.019828] dvb-usb: schedule remote query interval to 150 msecs.
- [ 160.019834] dvb-usb: TBS 5880 CI USB2.0 successfully initialized and connected.
- [ 160.019868] usbcore: registered new interface driver tbs5880
- [ 160.044480] dvb-usb: TBS 5880 CI USB2.0 successfully deinitialized and disconnected.
- [ 161.660020] usb 1-7: new high speed USB device number 4 using ehci_hcd
- [ 161.793006] dvb-usb: found a 'TBS 5880 CI USB2.0' in cold state, will try to load a firmware
- [ 161.796028] dvb-usb: downloading firmware from file 'dvb-usb-tbsqbox-id5880.fw'
- [ 161.799293] tbs5880: start downloading TBS5880 CI firmware
- [ 161.916027] dvb-usb: found a 'TBS 5880 CI USB2.0' in warm state.
- [ 161.916106] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
- [ 161.916224] DVB: registering new adapter (TBS 5880 CI USB2.0)
- [ 162.140206] dvb-usb: MAC address: 00:22:ab:b1:00:0d
- [ 162.169705] tbs5880: Attached TBS5880FE!
- [ 162.169708]
- [ 162.169934] tbs5880: CI initialized.
- [ 162.170205] tbs5880: CI disabled.
- [ 162.170210] DVB: registering adapter 0 frontend 0 (TurboSight TBS 5880 DVBT/T2 frontend)...
- [ 162.170546] input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:1d.7/usb1/1-7/input/input5
- [ 162.170607] dvb-usb: schedule remote query interval to 150 msecs.
- [ 162.170612] dvb-usb: TBS 5880 CI USB2.0 successfully initialized and connected.