The BlackGold 1.0.0.791 BGT36xx series drivers are compiled for the 3.0.0-12 kernel. They don't seem to load on anything later, even say 3.0.0-14. I've only used the 64bit dvb-t versions on a clean install of Mythbuntu 11.10. I have DVB-T2 Freeview hd from the UK Crystal Palace transmitter.
This is what worked for me (YMMV):
download the 1.0.0.791 64bit tarball from the BlackGold current drivers page. untar into your home directory.
Code:
tar -xvf BGT7231-1.0.0.791-64bit.tar.bz2
Also download the the instructions and readme from the earlier .790 which give some useful background but ignore the stuff about compiling utilities as there aren't any in the .791.
create a directory in /lib/modules
Code:
cd /lib/modules/3.0.0-12-generic/kernel
sudo mkdir BGTdrivers0.791
Drill right down to the lowest level directory of the tar and copy the modules to the new directory
Code:
cd BGT/0.0.79/dvb-tx/ubuntu/11.10/3.0.0-12/64bit
sudo cp *.ko /lib/modules/3.0.0-12-generic/kernel/BGTdrivers0.791
Create a file containing the following three lines
Code:
# DVB (video) BlackGold BGT3650 quad DVB-T2 tuner
#SUBSYSTEM=="dvb", GROUP="video"
SUBSYSTEM=="dvb", GROUP="video", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; printf dvb/adapter%%i/%%s $${K%%%%.*} $${K#*.}'", NAME="%c"
and save it as /etc/udev/rules.d/51-udev-default.rules
You can use a different name as long as it starts with '51' (or higher) and ends with '.rules' and note that line 3 includes 'GROUP=video' whereas the BlackGold offering does not. Without this, you (or Myth) can't open the adapters due to permissions.
I use /etc/rc.local to load the modules as follows:
Code:
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# EA load drivers for BlackGold BGT3650 quad DVB-T2 tuner
echo "begin loading BGT3650 driver modules"
insmod /lib/modules/3.0.0-12-generic/kernel/BGTdrivers0.791/dvb-core.ko
insmod /lib/modules/3.0.0-12-generic/kernel/BGTdrivers0.791/dvb_dummy_fe.ko
insmod /lib/modules/3.0.0-12-generic/kernel/BGTdrivers0.791/dvb-pll.ko
insmod /lib/modules/3.0.0-12-generic/kernel/BGTdrivers0.791/lnbp21.ko
insmod /lib/modules/3.0.0-12-generic/kernel/BGTdrivers0.791/stv6110x.ko
insmod /lib/modules/3.0.0-12-generic/kernel/BGTdrivers0.791/stv090x.ko
insmod /lib/modules/3.0.0-12-generic/kernel/BGTdrivers0.791/tda18271.ko
insmod /lib/modules/3.0.0-12-generic/kernel/BGTdrivers0.791/tda18272.ko
insmod /lib/modules/3.0.0-12-generic/kernel/BGTdrivers0.791/tda10048.ko
insmod /lib/modules/3.0.0-12-generic/kernel/BGTdrivers0.791/s5h1411.ko
insmod /lib/modules/3.0.0-12-generic/kernel/BGTdrivers0.791/cxd2820.ko
insmod /lib/modules/3.0.0-12-generic/kernel/BGTdrivers0.791/cxd2820r.ko
insmod /lib/modules/3.0.0-12-generic/kernel/BGTdrivers0.791/saa7231_core.ko
insmod /lib/modules/3.0.0-12-generic/kernel/BGTdrivers0.791/saa7231_drv.ko
insmod /lib/modules/3.0.0-12-generic/kernel/BGTdrivers0.791/tuner-types.ko
insmod /lib/modules/3.0.0-12-generic/kernel/BGTdrivers0.791/tuner-simple.ko
echo "finished loading BGT3650 driver modules"
# BGT3650 end
exit 0
Make sure it's executable. Note that there are no parameters for any of the modules. When I tried using the suggested parameters I just got 'invalid parameter' type messages.
I would be eager to learn of a better or more elegant way to load the modules.
Now you should be ready to go so reboot and, assuming your card is ok and installed correctly dmesg should show something like this
Code:
[ 15.120590] WARNING: You are using an experimental version of the media stack.
[ 15.120591] As the driver is backported to an older kernel, it doesn't offer
[ 15.120592] enough quality for its usage in production.
[ 15.120592] Use it with care.
[ 15.120593] Latest git patches (needed if you report a bug to linux-media@vger.kernel.org):
[ 15.120594] 7e58b3e9d49b9a447eba9d8ba6f1d40f002d53e7 Merge tag 'v3.1' into staging/for_v3.2
[ 15.120594] c3b92c8787367a8bb53d57d9789b558f1295cc96 Linux 3.1
[ 15.120595] 6a0596583fadd15dca293736114abdea306d3d7c Merge git://git.infradead.org/iommu-2.6
[ 16.120486] SAA7231 0000:05:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 16.120494] SAA7231 0000:05:00.0: setting latency timer to 64
[ 16.412011] DVB: registering new adapter (SAA7231 DVB External Adapter:1)
[ 16.762937] DVB: registering adapter 0 frontend 0 (Sony CXD2820R (DVB-T/T2))...
[ 16.776049] DVB: registering new adapter (SAA7231 DVB External Adapter:0)
[ 17.093791] DVB: registering adapter 1 frontend 0 (Sony CXD2820R (DVB-T/T2))...
[ 17.124994] SAA7231 0000:06:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[ 17.125002] SAA7231 0000:06:00.0: setting latency timer to 64
[ 17.416028] DVB: registering new adapter (SAA7231 DVB External Adapter:1)
[ 17.748625] DVB: registering adapter 2 frontend 0 (Sony CXD2820R (DVB-T/T2))...
[ 17.767690] DVB: registering new adapter (SAA7231 DVB External Adapter:0)
[ 18.129548] DVB: registering adapter 3 frontend 0 (Sony CXD2820R (DVB-T/T2))...
I don't know what the warning about experimental media stack and back-porting relates to, I've ignored it so far. (anybody know?)
Now if you go to /dev/dvb you should find adapter0, adapter1 and so on depending on which card you have, and within each device directory there should be a frontend0 file.
At this point the adapters could be added to Mythtv as a DVB capture cards in backend setup and a scan found over 100 channels. Tidying that up was a mission but not relevant here.
I also used successfully 'scan' and 'tzap' and 'mplayer'.
This thread should probably be tagged as BGT36xx but I don't know how to do that yet.
Bookmarks