今回はやってみて失敗したという報告です。後少しだと思うんだけどどこが悪いんだろう。。
1.ドライバを準備する。
$ git clone https://github.com/dtebbs/dvb-usb-mtvhd $ cd dvb-usb-mtvhd $ vi INSTALL
これを読むとカーネルソースが必要らしいのでインストールします。
まずは必要なモジュールを組み込みます。私の場合1行目だけでは足りませんでした。
$ cd $ sudo yum-builddep -y kernel $ sudo yum install rpm-build redhat-rpm-config asciidoc hmaccalc perl-ExtUtils-Embed pesign xmlto audit-libs-devel binutils-devel elfutils-devel elfutils-libelf-devel java-devel ncurses-devel newt-devel numactl-devel pciutils-devel python-devel zlib-devel net-tools bc pesign kernel-devel
カーネルソースをダウンロードします。
$ yumdownloader --source kernel
インストールします。
$ rpm -i kernel-*.src.rpm $ cd rpmbuild
ソースを展開します。
$ rpmbuild -bp SPECS/kernel.spec $ cd BUILD/kernel-*/linux-* $ pwd
展開されたソースパスのシンボリックリンクを設定します。
$ ln -s . ~/dvb-usb-mtvhd/linux-source
いよいよドライバをビルドします。
$ cd ~/dvb-usb-mtvhd $ make CONFIG_MODULE_SIG=n
この後ファームウェアをインストールします。ファームウェアはMTVHDU_080701_Drv.zipというファイルの中にあります。ちなみにMTVHDU_080701_Drv.zipはもう手に入りません。私は昔のHDDにバックアップしてあったのをサルベージしました。ちなみにMTVHDU_080701_Drv.zipはMD5が4F675BB7FC050E63E16916F7B7313572で中のSKNET_AS11Loader.sysがb4c3dd313f0577f4d4c8c709ed720d3cでした。頑張ってね。
$ sudo cp SKNET_AS11Loader.sys /lib/firmware/AS11Loader.sys
出来上がったドライバを一度読み込んでみます。
$ sudo modprobe dvb-core $ sudo modprobe dvb-usb $ sudo insmod dvb-usb-asv5211.ko
dmsegを見てみます。
$ dmesg | grep dvb [ 59.285966] dvb_usb_asv5211: loading out-of-tree module taints kernel. [ 59.286100] dvb_usb_asv5211: module verification failed: signature and/or required key missing - tainting kernel [ 59.286381] dvb-usb: found a 'ASICEN ASV5211 (cold state)' in cold state, will try to load a firmware [ 59.309051] dvb-usb: downloading firmware from file 'AS11Loader.sys' [ 59.399906] usbcore: registered new interface driver dvb_usb_asv5211 [ 59.432840] dvb-usb: generic DVB-USB module successfully deinitialized and disconnected. [ 61.285475] dvb-usb: found a 'Quixun QRS_UT100B ISDB-T USB2.0' in warm state. [ 61.285506] dvb_usb_mtvhd(OE+) dvb_usb_asv5211(OE) dvb_usb dvb_core rc_core iTCO_wdt iTCO_vendor_support snd_hda_codec_realtek coretemp snd_hda_codec_generic joydev snd_hda_intel snd_hda_codec pcspkr sg snd_hda_core snd_hwdep snd_seq snd_seq_device toshiba_acpi sparse_keymap snd_pcm r592 rfkill memstick wmi lpc_ich snd_timer snd soundcore toshiba_bluetooth tpm_infineon ip_tables xfs libcrc32c sd_mod sr_mod crc_t10dif cdrom crct10dif_generic crct10dif_common i915 ahci libahci sdhci_pci libata serio_raw cqhci sdhci mmc_core yenta_socket r8169 mii i2c_algo_bit iosf_mbi drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops drm video drm_panel_orientation_quirks dm_mirror dm_region_hash dm_log dm_mod [ 61.285622] [<ffffffffc06e5085>] mtvhd_ctrl_msg+0x85/0xb0 [dvb_usb_mtvhd] [ 61.285626] [<ffffffffc06e56e0>] mtvhd_asv5211_gpio+0x40/0x60 [dvb_usb_mtvhd] [ 61.285631] [<ffffffffc06e783f>] mtvhd_v2_power_ctrl+0xcf/0x140 [dvb_usb_mtvhd] [ 61.285645] [<ffffffffc06de831>] ? dvb_usb_device_init+0x261/0x780 [dvb_usb] [ 61.285649] [<ffffffffc06de5a2>] dvb_usb_device_power_ctrl+0x32/0x60 [dvb_usb] [ 61.285652] [<ffffffffc06de84e>] dvb_usb_device_init+0x27e/0x780 [dvb_usb] [ 61.285656] [<ffffffffc06e5284>] mtvhd_probe+0x94/0x1f0 [dvb_usb_mtvhd] [ 61.285692] [<ffffffffc00fe01f>] mtvhd_module_init+0x1f/0x1000 [dvb_usb_mtvhd] [ 61.790047] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer. [ 61.792450] dvb-usb: schedule remote query interval to 200 msecs. [ 61.843055] dvb-usb: Quixun QRS_UT100B ISDB-T USB2.0 successfully initialized and connected. [ 61.843111] usbcore: registered new interface driver dvb_usb_mtvhd
出来上がった.koをモジュールフォルダに突っ込みます。
$ sudo cp dvb-usb-asv5211.ko /usr/lib/modules/`uname -r`/extra $ sudo cp dvb-usb-mtvhd.ko /usr/lib/modules/`uname -r`/extra $ cd
一度再起動しておきます。
続いてBCASカードを読み込めるようセットアップします。
$ sudo yum -y install pcsc-lite pcsc-lite-devel pcsc-lite-libs ccid $ wget http://search.cpan.org/CPAN/authors/id/W/WH/WHOM/pcsc-perl-1.4.13.tar.bz2 $ tar xvjf pcsc-perl-1.4.13.tar.bz2 $ cd pcsc-perl-1.4.13 $ perl Makefile.PL $ make $ sudo make install $ cd ~/ $ wget https://launchpad.net/ubuntu/+archive/primary/+files/pcsc-tools_1.4.23.orig.tar.gz $ tar xvzf pcsc-tools_1.4.23.orig.tar.gz $ cd pcsc-tools-1.4.23 $ make $ sudo make install
BCASカードが読めているか確認します。
# systemctl enable pcscd # systemctl start pcscd # pcsc_scan : : Japanese Chijou Digital B-CAS Card (pay TV) ^C
arib25ライブラリを導入します。
$ cd ~/ $ git clone https://github.com/stz2012/libarib25.git $ cd libarib25/ $ cmake . $ make $ sudo make install $ sudo echo /usr/local/lib64 > /etc/ld.so.conf.d/usr-local-lib.conf $ sudo ldconfig $ ldconfig -p | grep arib libarib25.so.0 (libc6,x86-64) => /usr/local/lib64/libarib25.so.0 libarib25.so (libc6,x86-64) => /usr/local/lib64/libarib25.so
ここまでは問題ないんですがここからです。
例えば
$ dvbv5-zap -a 0 -c /usr/local/etc/dvbconf-for-isdb/conf/dvbv5_channels_isdbt.conf -r -P 24
として録画を試みるものの
using demux '/dev/dvb/adapter0/demux0' reading channels from file '/usr/local/etc/dvbconf-for-isdb/conf/dvbv5_channels_isdbt.conf' ERROR driver returned 0 supported delivery systems!
となりdmesgは
[ 281.993094] usb 1-1: dvb_frontend_ioctl_legacy: doesn't know how to handle a DVBv3 call to delivery system 0
つまりDVBv3仕様の部分がすっぽり抜けているということなのかなぁ。
どなたか成功してる事例があれば教えて下さい。
ここから先はまた後日。
コメント