Hi.
This time I present you an ipk package for usbtuner. Last time (usbTuner for all new images) I gave you tar.gz with a little bit of instructions - all manual to get the external tuner working with your dm800. Now it's all automated in a form of ipk package.
If you don't know what usbtuner can do for you here's a little bit of explanation:
Say you know what dm800 can do for you and how dm8000 or any other enigma2 based boxes with multiple tuners can do more...You're thinking to yourself: I wish I had more money to get dm8000 or VU+ or anything else which has multiple tuners. But hey! - since you have dm800 which has USB ports and recent images run on linux kernel 2.6.18 you have the base to run additional tuners on your box. All you need is:
dm800, USB DVB-T/DVB-C or DVB-S/S2 device, drivers, usbtuner program and skills to make it happen.
The thing is that it's not just a matter of connecting your USB tuner to your box and loading the required modules/drivers. In order to get your USB tuner recognized in enigma2 as additional tuner it needs to be presented to it by the OS in a special form and here usbtuner comes into place. usbtuner binary makes a dvb device (your usb connected tuner) seen by enigma2 for the cost of about 10-20% of CPU power.
The package contains a hacked version of usbtuner binary (v0.1.9.2) and a set of scripts to configure and enable a supported, usb connected tuner device on dreambox (dm800, dm800se and dm500se).
Originally these scripts were based on dremelite's scripts but since then they have been heavily reworked, new functionality has been added and recently - renamed.
From version 0.6.2 scripts are no longer named like the ones from DE, some of them have been removed as there was no longer need for them and some completely rewritten.
*Installation
At the moment it is still required to upload the ipk file to your dreambox (eg, using FTP) and run it on the box using eg. SSH so:
Once you have the ipk in eg. /tmp do:
1. In order to avoid running the installation of usbtuner package twice (cuz the first one will probably fail on a freshly installed image) install the required package (module-init-tools) first:
2. Install the usbtuner package:
The above will automagically install and setup the usbtuner and it's scripts. If your tuner is recognized/supported it will be found and it's module/driver name will be put to the config file (/etc/usbtuner.conf).
At this stage, assuming that your usb connected device has been recognized it should be in the config file but will not yet work. This is due to the fact that you probably don't have it's drivers installed. The package doesn't provide them anymore so you have to download them.
Thankfully there is a /usr/script/usbtnrsetup.sh script and a GUI frontend for it which will help you download either just the required or all dvb drivers.
BIG thanks to helour who contributed lists of modules and device USBIDS for automatic installation of only required modules rather than all of them.
So if you're lucky enough to have a device that it's module set is known to this script, when you choose to download drivers using the GUI plugin or run (from the shell):
it will download only the drivers that are needed for your device, otherwise you can:
and the script will download ALL v4l drivers available in your image's ipkg repo. Please bear in mind that your device's driver may not be available there and I cannot help here. Thankfully some users will be able to provide them in this or other threads.
Please be aware of the fact that most of the drivers downloaded and installed automatically will require firmware file present in /lib/firmware and they ARE NOT in opkg repositories. But don't worry I've attached ipk with all firmware files I had access to so install it before installing usbtuner and all should be fine.
By now you probably wonder what other switches does the script support - worry no more. You can do:
which will show u a brief help message explaining the usage of it and available switches.
*How this whole thing works
The package installs:
- /etc/init.d/usbtuner.sh - usbtuner service script for starting usbtuner for connected devices during boot and when enigma2 restarts
- /etc/usbtuner.conf - config file to hold configured devices' module names for /etc/init.d/usbtuner.sh service.
- /usr/script/usbtnrsetup.sh - the main setup script for automatic configuration and setup of usbtuner.
- /usr/bin/usbtuner - a binary for creating nim_socket for usb tuners in order for enigma2 to recognize it.
- /usr/bin/lsusb - a bash script emulating lsusb program for listing devices connected to the USB bus.
- /usr/lib/enigma2/python/Plugins/Extensions/DVBUsbTunerSetup - an Enigma2 plugin which is a frontend to the usbtnrsetup script. It will help you configure your device without needing to touch the shell. This goodie has been brought to you by no one else but helour - thanks dude.
1. usbtnrsetup.sh auto_setup checks your environment:
runs automatic setup (check for required toolset, search for tuners, if found adds it to config, patches enigma2.sh and modutils.sh if required, blacklists the found module in /etc/modprobe.conf and checks if it can be successfully loaded)
2. Device is added to the config file /etc/usbtuner.conf so it will be used by the service script (/etc/init.d/usbtuner.sh). The service will be started every time you boot your dreambox and restarted every time you restart enigma2.
3. The service script (/etc/init.d/usbtuner.sh) using modprobe loads modules from /etc/usbtuner.conf and for every successfully loaded module it will start usbtuner program (/usr/bin/usbtuner). This populates /proc/bus/nim_sockets with the new tuner which will make it recognized by enigma2.
Please first uninstall previous versions of usbtuner package.