[etxx00] Missing DVB modules in the new kernel 3.0.3
#1
Posted 18 October 2011 - 16:52
In particular, in the linux-etxx00-3.0.3/et9x00_defconfig (and also et5x00_defconfig and et6x00_defconfig) configuration file all the em28xx* modules are missing.
I suggest to add at least the following defines:
CONFIG_VIDEO_EM28XX=m
CONFIG_VIDEO_EM28XX_DVB=m
CONFIG_VIDEO_EM28XX_ALSA=m
CONFIG_VIDEO_EM28XX_RC=n
CONFIG_DVB_CXD2820R=m
The last one is the Sony DVB-T2 demodulator used in the PCTV 290e USB stick.
Since I own both an ET9000 and a PCTV 290e, I would be very happy to test how they work together.
DVB-T2 support would be a really nice feature of the new kernel :-)
Re: [etxx00] Missing DVB modules in the new kernel 3.0.3 #2
Posted 18 October 2011 - 16:58
DEBUG: Executing task do_compile NOTE: package linux-etxx00-3.0.3-r5.0: task do_compile: Started + do_compile + kernel_do_compile + unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE + oe_runmake include/linux/version.h 'CC=mipsel-oe-linux-gcc ' 'LD=mipsel-oe-linux-ld --sysroot=/home/jena/openpli/build-et9x00/tmp/sysroots/mipsel-oe-linux ' + oenote make -j4 include/linux/version.h 'CC=mipsel-oe-linux-gcc ' 'LD=mipsel-oe-linux-ld --sysroot=/home/jena/openpli/build-et9x00/tmp/sysroots/mipsel-oe-linux ' + echo NOTE: 'make -j4 include/linux/version.h CC=mipsel-oe-linux-gcc LD=mipsel-oe-linux-ld --sysroot=/hom e/jena/openpli/build-et9x00/tmp/sysroots/mipsel-oe-linux ' NOTE: make -j4 include/linux/version.h CC=mipsel-oe-linux-gcc LD=mipsel-oe-linux-ld --sysroot=/home/jena/openpli/build-et9x00/tmp/sysroots/mipsel-oe-linux + make -j4 include/linux/version.h 'CC=mipsel-oe-linux-gcc ' 'LD=mipsel-oe-linux-ld --sysroot=/home/jena/openpli/build-et9x00/tmp/sysroots/mipsel-oe-linux ' CHK include/linux/version.h + '[' 3.0 == 2.4 ']' + oe_runmake vmlinux 'CC=mipsel-oe-linux-gcc ' 'LD=mipsel-oe-linux-ld --sysroot=/hom e/jena/openpli/build-et9x00/tmp/sysroots/mipsel-oe-linux ' + oenote make -j4 vmlinux 'CC=mipsel-oe-linux-gcc ' 'LD=mipsel-oe-linux-ld --sysroot=/home/jena/openpli/build-et9x00/tmp/sysroots/mipsel-oe-linux ' + echo NOTE: 'make -j4 vmlinux CC=mipsel-oe-linux-gcc LD=mipsel-oe-linux-ld --sysroot=/home/jena/openpli/build-et9x00/tmp/sysroots/mipsel-oe-linux ' NOTE: make -j4 vmlinux CC=mipsel-oe-linux-gcc LD=mipsel-oe-linux-ld --sysroot=/home/jena/openpli/build-et9x00/tmp/sysroots/mipsel-oe-linux + make -j4 vml inux 'CC=mipsel-oe-linux-gcc ' 'LD=mipsel-oe-linux-ld --sysroot=/home/jena/openpli/build-et9x00/tmp/sysroots/mipsel-oe-linux ' scripts/kconfig/conf --silentoldconfig Kconfig # # configuration written to .config # CHK include/linux/version.h CHK include/generated/utsrelease.h CALL scripts/checksyscalls.sh CHK include/generated/compile.h NOTE: package linux-etxx00-3.0.3-r5.0: task do_compile: Succeeded
It seems like:
scripts/kconfig/conf --silentoldconfig Kconfig
is overwriting the .config file with the original file, so I cannot compile the new modules. What I'm doing wrong?
Re: [etxx00] Missing DVB modules in the new kernel 3.0.3 #3
Posted 18 October 2011 - 17:04
- Build package up to configure level: bitbake -b ../openembedded/recipes/blahblah/blahblah.bb -c configure
- Start devshell: tmp/deploy/addons/*devshell*
- Go to work dir: cd tmp/work/machine/blahblah/blahblah/
- Run menuconfig: make menuconfig
- Save config, copy new config file back into openembedded directory
- Exit devshell (ctrl-D) and build the package: bitbake -b ../openembedded/recipes/blahblah/blahblah.bb
- Install package (or build image and/or upgrade)
Re: [etxx00] Missing DVB modules in the new kernel 3.0.3 #4
Posted 18 October 2011 - 18:17
I had to compile the devshell manually, as there was no tmp/deploy/addons/ dir on my build environment.
After that, using make menuconfig I added the required defines in the kernel config.
By the way, the media/video drivers were disabled altogether, so I re-enabled them.
Finally, I was able to build the missing modules.
Enough for today. Tomorrow I will test if the PCTV 290e is working with this new kernel.
Re: [etxx00] Missing DVB modules in the new kernel 3.0.3 #5
Re: [etxx00] Missing DVB modules in the new kernel 3.0.3 #6
Re: [etxx00] Missing DVB modules in the new kernel 3.0.3 #7
Re: [etxx00] Missing DVB modules in the new kernel 3.0.3 #8
Posted 19 October 2011 - 15:06
I had to change a few more defines in the config file: the V4L modules must be built as modules as they were not enabled by default in the original kernel:
# # Multimedia core support # # CONFIG_MEDIA_CONTROLLER is not set CONFIG_VIDEO_DEV=m CONFIG_VIDEO_V4L2_COMMON=m CONFIG_DVB_CORE=y CONFIG_VIDEO_MEDIA=y
In attachment you can find the final config file for the kernel.
In the end, the new modules built with this config file are:
kernel-module-videodev kernel-module-v4l2-common kernel-module-v4l2-int-device kernel-module-videobuf-core kernel-module-videobuf-vmalloc kernel-module-videobuf-dvb kernel-module-tveeprom kernel-module-em28xx kernel-module-em28xx-alsa kernel-module-em28xx-dvb kernel-module-cxd2820r
All the new modules are included in the attached zip file, in case someone wants to experiment with them.
while some other module must be installed from the OpenPli feed:
kernel-module-tda18271 kernel-module-tuner kernel-module-tuner-simple kernel-module-tuner-types kernel-module-tuner-xc2028 kernel-module-zl10353
In the following posts I will report the tests done with my 2 em28xx USB sticks.
Attached Files
Re: [etxx00] Missing DVB modules in the new kernel 3.0.3 #9
Posted 19 October 2011 - 15:14
Matrix10 MH-HD2 skin modification by me: https://github.com/B...-MX-HD2-OpenPli
MetrixHD skin modification by me: https://github.com/T...xHD-WPstyle-mod
Slovenian translation for OpenPLi E2: https://github.com/T...ion-for-OpenPLi
Re: [etxx00] Missing DVB modules in the new kernel 3.0.3 #10
Posted 19 October 2011 - 15:20
I connected the stick through a powered USB hub, to make sure it receives enough power. The stick works perfectly under Ubuntu 10.04 (kernel 2.6.32 with up-to-date v4l-dvb drivers).
This is an lsmod of my system before adding the new modules (since I don't need wi-fi support, I removed all the Realtech/Atheros stuff, and I installed the NFS and the SMARGO modules):
Module Size Used by nfsd 106907 8 ipv6 340993 10 ftdi_sio 30022 1 usbserial 30999 3 ftdi_sio exportfs 4010 1 nfsd dvb 4709970 39 modloader2 33264 1 dvb modloader 22329 0 tpm 7873 3 dvb,modloader2,modloader
I connected the PCTV to the ET9000, installed all the new modules and then loaded them:
modprobe em28xx-dvb
After that, the situation is:
lsmod
Module Size Used by tda18271 51793 2 em28xx_dvb 9660 2 em28xx 84392 1 em28xx_dvb v4l2_common 5034 1 em28xx videodev 78816 2 em28xx,v4l2_common videobuf_vmalloc 4039 1 em28xx videobuf_core 15978 2 em28xx,videobuf_vmalloc tveeprom 12009 1 em28xx cxd2820r 22021 3 em28xx_dvb nfsd 106907 8 ipv6 340993 10 ftdi_sio 30022 1 usbserial 30999 3 ftdi_sio exportfs 4010 1 nfsd dvb 4709970 40 modloader2 33264 1 dvb modloader 22329 0 tpm 7873 3 dvb,modloader2,modloader
dmesg
Linux video capture interface: v2.00 em28xx: New device PCTV Systems PCTV 290e @ 480 Mbps (2013:024f, interface 0, class 0) em28xx #0: chip ID is em28174 em28xx #0: Identified as PCTV Systems nanoStick T2 290e (card=78) em28xx #0: v4l2 driver version 0.1.2 em28xx #0: V4L2 video device registered as video0 usbcore: registered new interface driver em28xx em28xx driver loaded tda18271 5-0060: creating new instance TDA18271HD/C2 detected @ 5-0060 tda18271 5-0060: attaching existing instance DVB: registering new adapter (em28xx #0) DVB: registering adapter 1 frontend 0 (Sony CXD2820R (DVB-T/T2))... DVB: registering adapter 1 frontend 1 (Sony CXD2820R (DVB-C))... em28xx #0: Successfully loaded em28xx-dvb Em28xx: Initialized (Em28xx dvb Extension) extension DVB: registering adapter 0 frontend 2 (vtuner)... tda18271: performing RF tracking filter calibration tda18271: RF tracking filter calibration complete
cat /proc/bus/nim_sockets
NIM Socket 0: Type: DVB-S2 Name: AVL2108 Has_Outputs: yes Frontend_Device: 0 I2C_Device: 2 NIM Socket 1: Type: DVB-S2 Name: AVL2108 Has_Outputs: yes Frontend_Device: 1 I2C_Device: 3 NIM Socket 2: Type: DVB-T Name: PCTV 290e Has_Outputs: no Frontend_Device: 2 I2C_Device: -1
After an enigma restart, I could select the PCTV as the third tuner.
Unfortunately, the good news ends here: I started a channel scan but no channel was found. Then I loaded a channel list made with my good old a867 stick (with the old kernel), but again no channel could be tuned (I always get a "tune failed" error).
This is consistent to the behaviour of my other em28xx stick with all kernels (2.6.18, 2.6.31 and 3.0.3).
Some errors were reported by dmesg:
tda18271_write_regs: [5-0060|M] ERROR: idx = 0x5, len = 1, i2c_transfer returned: -19 tda18271_init: [5-0060|M] error -19 on line 831 tda18271_tune: [5-0060|M] error -19 on line 909 tda18271_set_params: [5-0060|M] error -19 on line 994 cxd2820r: i2c wr failed ret:-19 reg:b6 len:3 cxd2820r: i2c rd failed ret:-19 reg:10 len:1 cxd2820r: i2c rd failed ret:-19 reg:10 len:1 tda18271_write_regs: [5-0060|M] ERROR: idx = 0x5, len = 1, i2c_transfer returned: -19 tda18271_init: [5-0060|M] error -19 on line 831 tda18271_tune: [5-0060|M] error -19 on line 909 tda18271_set_params: [5-0060|M] error -19 on line 994 cxd2820r: i2c wr failed ret:-19 reg:b6 len:3 cxd2820r: i2c rd failed ret:-19 reg:10 len:1 cxd2820r: i2c rd failed ret:-19 reg:10 len:1 tda18271_write_regs: [5-0060|M] ERROR: idx = 0x5, len = 1, i2c_transfer returned: -19 tda18271_init: [5-0060|M] error -19 on line 831 tda18271_tune: [5-0060|M] error -19 on line 909 tda18271_set_params: [5-0060|M] error -19 on line 994 cxd2820r: i2c wr failed ret:-19 reg:b6 len:3 cxd2820r: i2c rd failed ret:-19 reg:10 len:1
Re: [etxx00] Missing DVB modules in the new kernel 3.0.3 #11
Re: [etxx00] Missing DVB modules in the new kernel 3.0.3 #12
Posted 19 October 2011 - 15:32
I rebooted the ET9000 with the Terratec connected, and then loaded the drivers:
modprobe em28xx-dvb
After that:
lsmod
Module Size Used by zl10353 6461 1 em28xx_dvb 9660 2 em28xx 84392 1 em28xx_dvb videobuf_vmalloc 4039 1 em28xx videobuf_core 15978 2 em28xx,videobuf_vmalloc tveeprom 12009 1 em28xx cxd2820r 22021 1 em28xx_dvb tuner_xc2028 19986 2 tuner 15865 1 v4l2_common 5034 2 em28xx,tuner videodev 78816 3 em28xx,tuner,v4l2_common nfsd 106907 8 ipv6 340993 10 ftdi_sio 30022 1 usbserial 30999 3 ftdi_sio exportfs 4010 1 nfsd dvb 4709970 40 modloader2 33264 1 dvb modloader 22329 0 tpm 7873 3 dvb,modloader2,modloader
dmesg
em28xx: New device TerraTec Electronic GmbH Cinergy Hybrid T USB XS @ 480 Mbps (0ccd:0042, interface 0, class 0) em28xx #0: chip ID is em2882/em2883 em28xx #0: i2c eeprom 00: 1a eb 67 95 cd 0c 42 00 50 12 5c 03 6a 32 9c 34 em28xx #0: i2c eeprom 10: 00 00 06 57 46 07 00 00 00 00 00 00 00 00 00 00 em28xx #0: i2c eeprom 20: 46 00 01 00 f0 10 31 00 b8 00 14 00 5b 00 00 00 em28xx #0: i2c eeprom 30: 00 00 20 40 20 6e 02 20 10 01 00 00 00 00 00 00 em28xx #0: i2c eeprom 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 em28xx #0: i2c eeprom 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 em28xx #0: i2c eeprom 60: 00 00 00 00 00 00 00 00 00 00 32 03 43 00 69 00 em28xx #0: i2c eeprom 70: 6e 00 65 00 72 00 67 00 79 00 20 00 48 00 79 00 em28xx #0: i2c eeprom 80: 62 00 72 00 69 00 64 00 20 00 54 00 20 00 55 00 em28xx #0: i2c eeprom 90: 53 00 42 00 20 00 58 00 53 00 00 00 34 03 54 00 em28xx #0: i2c eeprom a0: 65 00 72 00 72 00 61 00 54 00 65 00 63 00 20 00 em28xx #0: i2c eeprom b0: 45 00 6c 00 65 00 63 00 74 00 72 00 6f 00 6e 00 em28xx #0: i2c eeprom c0: 69 00 63 00 20 00 47 00 6d 00 62 00 48 00 00 00 em28xx #0: i2c eeprom d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 em28xx #0: i2c eeprom e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 em28xx #0: i2c eeprom f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 em28xx #0: EEPROM ID= 0x9567eb1a, EEPROM hash = 0x41d0bf96 em28xx #0: EEPROM info: em28xx #0: AC97 audio (5 sample rates) em28xx #0: 500mA max power em28xx #0: Table at 0x06, strings=0x326a, 0x349c, 0x0000 em28xx #0: Identified as Terratec Cinnergy Hybrid T USB XS (em2882) (card=55) tuner 4-0061: Tuner -1 found with type(s) Radio TV. xc2028 4-0061: creating new instance xc2028 4-0061: type set to XCeive xc2028/xc3028 tuner xc2028 4-0061: Loading 80 firmware images from xc3028-v27.fw, type: xc2028 firmware, ver 2.7 xc2028 4-0061: Loading firmware for type=BASE MTS (5), id 0000000000000000. xc2028 4-0061: Loading firmware for type=MTS (4), id 000000000000b700. Registered IR keymap rc-terratec-cinergy-xs input: em28xx IR (em28xx #0) as /devices/platform/ehci-brcm.1/usb2/2-1/2-1.1/2-1.1.5/rc/rc1/input3 rc1: em28xx IR (em28xx #0) as /devices/platform/ehci-brcm.1/usb2/2-1/2-1.1/2-1.1.5/rc/rc1 em28xx #0: Config register raw data: 0x50 em28xx #0: AC97 vendor ID = 0xffffffff em28xx #0: AC97 features = 0x6a90 em28xx #0: Empia 202 AC97 audio processor detected em28xx #0: v4l2 driver version 0.1.2 xc2028 4-0061: Loading firmware for type=BASE F8MHZ MTS (7), id 0000000000000000. MTS (4), id 00000000000000ff: xc2028 4-0061: Loading firmware for type=MTS (4), id 0000000100000007. em28xx #0: V4L2 video device registered as video0 em28xx #0: V4L2 VBI device registered as vbi0 em28xx audio device (0ccd:0042): interface 1, class 1 em28xx audio device (0ccd:0042): interface 2, class 1 usbcore: registered new interface driver em28xx em28xx driver loaded xc2028 4-0061: attaching existing instance xc2028 4-0061: type set to XCeive xc2028/xc3028 tuner em28xx #0: em28xx #0/2: xc3028 attached DVB: registering new adapter (em28xx #0) DVB: registering adapter 1 frontend 0 (Zarlink ZL10353 DVB-T)... em28xx #0: Successfully loaded em28xx-dvb Em28xx: Initialized (Em28xx dvb Extension) extension DVB: registering adapter 0 frontend 2 (vtuner)...
cat /proc/bus/nim_sockets
NIM Socket 0: Type: DVB-S2 Name: AVL2108 Has_Outputs: yes Frontend_Device: 0 I2C_Device: 2 NIM Socket 1: Type: DVB-S2 Name: AVL2108 Has_Outputs: yes Frontend_Device: 1 I2C_Device: 3 NIM Socket 2: Type: DVB-T Name: Cinergy Hybrid T USB XS Has_Outputs: no Frontend_Device: 2 I2C_Device: -1
This stick needs a firmware, so I installed the v4l-dvb-firmware package.
After an enigma restart, I could select the Terratec as the third tuner. As in the previous case, the channel scan found nothing, and even installing the working channel list I could not tune anyting. This time, the dmesg did not report any error.
This behaviour is consistent with the previous kernels: I tested this stick with several images with the old drivers, on both the 2.6.18 and 2.6.31 kernels, and I've never been able to tune any channel.
If someone as an em28xx stick that was working with the old drivers, you're welcome to test the new drivers and report your experience.
Re: [etxx00] Missing DVB modules in the new kernel 3.0.3 #13
Re: [etxx00] Missing DVB modules in the new kernel 3.0.3 #14
Re: [etxx00] Missing DVB modules in the new kernel 3.0.3 #15
Posted 19 October 2011 - 20:10
I usually do this to change (non-trivial) defconfig stuff:
- Build package up to configure level: bitbake -b ../openembedded/recipes/blahblah/blahblah.bb -c configure
- Start devshell: tmp/deploy/addons/*devshell*
- Go to work dir: cd tmp/work/machine/blahblah/blahblah/
- Run menuconfig: make menuconfig
- Save config, copy new config file back into openembedded directory
- Exit devshell (ctrl-D) and build the package: bitbake -b ../openembedded/recipes/blahblah/blahblah.bb
- Install package (or build image and/or upgrade)
MMhhh I'm a newbie in OE and bitbake.
Can be another solution:
1) modify openpli/openembedded/recipes/linux/linux-etxx00-3.0.3/et9xx_defconfig
2) edit openpli/openembedded/recipes/linux/linux-etxx00_3.0.3.bb and put MACHINE_KERNEL_PR_append = ".1" to force a local fresh kernel recompiling
3) run again make -d Makefile-2.1
???
I've tried this but without success: in openpli/build-et9x00/tmp/sysroots/linux-etxx-3.0.3 I have the OLD et9xx_defconfig. It looks that my new et9xxx_defconfig wasn't copy as linux-etxx00_3.0.3.bb suggest ..
What's wrong ?
Mass storage: internal SATA-II HDD 1TB WD10EACS GreenPower 5400rpm
Mass storage: external USB pen drive 2GB
Firmware: OpenPLi kernel 3.x.x
Tuner A: AVL2108 (DVB-S2) HotBird 13E
Tuner B: AVL2108 (DVB-S2) HotBird 13E
Tuner C: AverMedia A867 (DVB-T HD) (AF9035 + MXL5007T)
TV: plasma PANASONIC GT30 fullHD
Audio: PCM through HDMI (no Dolby decoder)
Re: [etxx00] Missing DVB modules in the new kernel 3.0.3 #16
Posted 20 October 2011 - 11:19
My custom modules have been correctly replaced by the official one, just doing an "opkg update && opkg upgrade".
I did a quick test and they load fine, but again no channel can be tuned with my PCTV stick.
Re: [etxx00] Missing DVB modules in the new kernel 3.0.3 #17
Posted 23 October 2011 - 16:44
http://openpli.org/f...d-with-usb-dtt/
Those are the world first screenshots of an Enigma2 box decoding a DVB-T2 channel.
Here in my area (north-east of Italy) there is only a single DVB-T2 multiplex from Europa7 HD:
http://www.europa7.it/
Europa7 HD is not yet fully operational, so it is not encrypting the programs: everything is FTA, if you have a DVB-T2 receiver.
The patch need some work, then I will release both the patch and the kernel module, so everybody will be able to test it.
Re: [etxx00] Missing DVB modules in the new kernel 3.0.3 #18
Re: [etxx00] Missing DVB modules in the new kernel 3.0.3 #19
Posted 23 October 2011 - 20:51
Mass storage: internal SATA-II HDD 1TB WD10EACS GreenPower 5400rpm
Mass storage: external USB pen drive 2GB
Firmware: OpenPLi kernel 3.x.x
Tuner A: AVL2108 (DVB-S2) HotBird 13E
Tuner B: AVL2108 (DVB-S2) HotBird 13E
Tuner C: AverMedia A867 (DVB-T HD) (AF9035 + MXL5007T)
TV: plasma PANASONIC GT30 fullHD
Audio: PCM through HDMI (no Dolby decoder)
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users