QRS_UT100BをCentOS7で使う(失敗編)

スポンサーリンク
スポンサーリンク

今回はやってみて失敗したという報告です。後少しだと思うんだけどどこが悪いんだろう。。

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仕様の部分がすっぽり抜けているということなのかなぁ。

どなたか成功してる事例があれば教えて下さい。

ここから先はまた後日。

コメント

タイトルとURLをコピーしました