* Help needed for zolid usb dvb-t stick
@ 2014-01-19 10:20 mjs
2018-04-26 19:53 ` [Solved] " mjs
0 siblings, 1 reply; 2+ messages in thread
From: mjs @ 2014-01-19 10:20 UTC (permalink / raw)
To: linux-media
(a better request)
Hallo,
I'm new to linux and step by step learning by working with debian.
I'm using the 2.6.32-5-686 kernel and i have no knowledge about c+ other
then common sense and copy-paste.
(upgrading to the latest kernel will be a project in the future).
I've mechanical opened a :ZOLID Hybrid TV Stick, a usb dvb-t analog and
digital receiver (the : in front of the name is no typo mistake).
Next hardware was found, EM2882 - XC3028L (needs XC3028L-v36.fw) -
WJCE6353 (equal to ZL10353) - TVP5150 - EM202 - T24LC02.
I believe every component is known by the EM28xx driver but not in this
specific configuration and therefore no card in the EM28xx driver was
found as a direct (or induced) match.
I've made some modifications in the source code em28xx.h, em28xx-dvb.c
and em28xx-cards.c (see below).
Successfully compiled the driver, made progress but sadly no victory.
After a "scan /usr/share/dvb/dvb-t/nl-all" and at each frequentie tuning
failed, the following lines were added to the dmesg.
[ 2876.028035] xc2028 3-0061: Loading firmware for type=BASE F8MHZ MTS
(7), id 0000000000000000.
[ 2876.949274] xc2028 3-0061: Loading firmware for type=D2633 DTV8
(210), id 0000000000000000.
[ 2876.961893] xc2028 3-0061: Loading SCODE for type=DTV6 QAM DTV7
ZARLINK456 SCODE HAS_IF_4760 (620000e0),
id 0000000000000000.
At this point i think i have two problems which i cannot solve.
* gpio values em2882.
* dmesg informed me the stick uses a IF=4500 which isn't listed
in tuner_xc2028.h (XC3028L-v36.fw ??).
I'm stuck and i hope some one can help me to take the next step.
Thanks.
Marcel Stork (Netherlands).
Modifications:
________________________________________________________________________
em28xx.h
------------------------------------------------------------------------
+ #define EM2882_BOARD_ZOLID_HYBRID_TV_STICK 74
________________________________________________________________________
em28xx-dvb.c
------------------------------------------------------------------------
+ static struct zl10353_config em28xx_zl10353_with_xc3028_zolid = {
+ .demod_address = (0x1e >> 1),
+ .no_tuner = 1,
+ .parallel_ts = 1,
+ .if2 = 45000,
+ };
------------------------------------------------------------------------
static int dvb_init(struct em28xx *dev)
+ case EM2882_BOARD_ZOLID_HYBRID_TV_STICK:
+ dvb->frontend = dvb_attach(zl10353_attach,
+ &em28xx_zl10353_with_xc3028_zolid,
+ &dev->i2c_adap);
+ if (attach_xc3028(0x61, dev) < 0) {
+ result = -EINVAL;
+ goto out_free;
+ }
+ break;
________________________________________________________________________
em28xx-cards.c
------------------------------------------------------------------------
+ static struct em28xx_reg_seq zolid_tuner_gpio[] = { /* [FIXME-MJS] */
+ {EM28XX_R08_GPIO, EM_GPIO_4, EM_GPIO_4, 10},
+ {EM28XX_R08_GPIO, 0 , EM_GPIO_4, 10},
+ {EM28XX_R08_GPIO, EM_GPIO_4, EM_GPIO_4, 10},
+ { -1 , -1 , -1 , -1},
+ };
+ static struct em28xx_reg_seq zolid_digital[] = { /* [FIXME-MJS] */
+ {EM28XX_R08_GPIO, 0x6e, ~EM_GPIO_4, 10},
+ {EM2880_R04_GPO , 0x04, 0xff , 100}, /* zl10353 reset */
+ {EM2880_R04_GPO , 0x0c, 0xff , 1},
+ { -1 , -1 , -1 , -1},
+ };
+ static struct em28xx_reg_seq zolid_analog[] = { /* [FIXME-MJS] */
+ {EM28XX_R08_GPIO, 0x6d, ~EM_GPIO_4, 10},
+ { -1 , -1 , -1 , -1},
+ };
------------------------------------------------------------------------
struct em28xx_board em28xx_boards[] = {
+ [EM2882_BOARD_ZOLID_HYBRID_TV_STICK] = {
+ .name = ":ZOLID Hybrid TV Stick",
+ .tuner_type = TUNER_XC2028,
+ .tuner_gpio = zolid_tuner_gpio,
+ .decoder = EM28XX_TVP5150,
+ .xclk = EM28XX_XCLK_FREQUENCY_12MHZ,
+ .mts_firmware = 1,
+ .has_dvb = 1,
+ .dvb_gpio = zolid_digital,
+ /* .ir_codes = &ir_codes_evga_indtube_table, [FIXME-MJS] */
+ .input = { {
+ .type = EM28XX_VMUX_TELEVISION,
+ .vmux = TVP5150_COMPOSITE0,
+ .amux = EM28XX_AMUX_VIDEO,
+ .gpio = zolid_analog,
+ }, {
+ .type = EM28XX_VMUX_COMPOSITE1,
+ .vmux = TVP5150_COMPOSITE1,
+ .amux = EM28XX_AMUX_LINE_IN,
+ .gpio = zolid_analog,
+ }, {
+ .type = EM28XX_VMUX_SVIDEO,
+ .vmux = TVP5150_SVIDEO,
+ .amux = EM28XX_AMUX_LINE_IN,
+ .gpio = zolid_analog,
+ } },
+ },
------------------------------------------------------------------------
struct usb_device_id em28xx_id_table[] = {
- { USB_DEVICE(0xeb1a, 0x2883), /* Delete cause */
- .driver_info = EM2880_BOARD_UNKNOWN }, /* same vid/pid */
+ { USB_DEVICE(0xeb1a, 0x2883),
+ .driver_info = EM2882_BOARD_ZOLID_HYBRID_TV_STICK },
------------------------------------------------------------------------
static struct em28xx_hash_table em28xx_eeprom_hash[] = {
+ {0x85dd871e, EM2882_BOARD_ZOLID_HYBRID_TV_STICK, TUNER_XC2028},
------------------------------------------------------------------------
static struct em28xx_hash_table em28xx_i2c_hash[] = {
+ {0xb06a32c3, EM2882_BOARD_ZOLID_HYBRID_TV_STICK, TUNER_XC2028},
------------------------------------------------------------------------
static void em28xx_setup_xc3028(struct em28xx *dev, struct xc2028_
ctrl *ctl)
+ case EM2882_BOARD_ZOLID_HYBRID_TV_STICK: /* [FIXME-MJS] */
+ ctl->demod = XC3028_FE_ZARLINK456; /* according dmesg */
+ ctl->fname = XC3028L_DEFAULT_FIRMWARE; /* if = 45000 */
+ break;
Lsmod:
Module Size Used by
zl10353 4961 1
em28xx_dvb 5609 0
dvb_core 62606 1 em28xx_dvb
em28xx_alsa 4831 0
tuner_xc2028 14609 2
tuner 14428 1
tvp5150 9262 1
em28xx 63029 2 em28xx_dvb,em28xx_alsa
v4l2_common 9776 3 tuner,tvp5150,em28xx
ir_common 22187 1 em28xx
videobuf_vmalloc 3860 1 em28xx
videobuf_core 10452 2 em28xx,videobuf_vmalloc
tveeprom 9393 1 em28xx
aes_i586 6816 2
aes_generic 25738 1 aes_i586
lib80211_crypt_ccmp 3643 2
cpufreq_powersave 602 0
cpufreq_stats 1997 0
cpufreq_conservative 4018 0
cpufreq_userspace 1456 0
parport_pc 15799 0
ppdev 4058 0
lp 5570 0
parport 22554 3 parport_pc,ppdev,lp
sco 5885 2
bridge 32943 0
stp 996 1 bridge
bnep 7408 2
rfcomm 25147 0
l2cap 21745 4 bnep,rfcomm
crc16 1027 1 l2cap
bluetooth 36287 6 sco,bnep,rfcomm,l2cap
rfkill 10220 3 bluetooth
binfmt_misc 4879 1
uinput 4796 1
fuse 44196 1
gspca_sunplus 11210 0
gspca_main 15775 1 gspca_sunplus
videodev 25573 5 tuner,tvp5150,em28xx,v4l2_common,
gspca_main
v4l1_compat 10250 1 videodev
loop 9745 0
firewire_sbp2 9603 0
snd_hda_codec_realtek 163390 1
snd_hda_codec_si3054 2410 1
snd_hda_intel 16635 1
snd_hda_codec 46066 3 snd_hda_codec_realtek,
snd_hda_codec_si3054,snd_hda_intel
snd_hwdep 4054 1 snd_hda_codec
snd_pcm 47226 4 em28xx_alsa,snd_hda_codec_si3054,
snd_hda_intel,snd_hda_codec
snd_seq 35375 0
joydev 6739 0
snd_timer 12270 2 snd_pcm,snd_seq
ipw2200 108300 0
snd_seq_device 3673 1 snd_seq
i915 223838 2
libipw 18415 1 ipw2200
drm_kms_helper 18545 1 i915
drm 112489 3 i915,drm_kms_helper
i2c_algo_bit 3493 1 i915
i2c_i801 6462 0
psmouse 44817 0
snd 34399 12 em28xx_alsa,snd_hda_codec_realtek,
snd_hda_codec_si3054,snd_hda_intel,
snd_hda_codec,snd_hwdep,snd_pcm,
snd_seq,snd_timer,snd_seq_device
pcspkr 1207 0
evdev 5609 15
serio_raw 2916 0
ac 1636 0
battery 3782 0
video 14605 1 i915
processor 26283 1
button 3598 1 i915
i2c_core 12763 13 zl10353,tuner_xc2028,tuner,tvp5150,
em28xx,v4l2_common,tveeprom,videodev,
i915,drm_kms_helper,drm,i2c_algo_bit,
i2c_i801
rng_core 2178 0
lib80211 2846 3 lib80211_crypt_ccmp,ipw2200,libipw
soundcore 3450 1 snd
output 1204 1 video
snd_page_alloc 5001 2 snd_hda_intel,snd_pcm
ext3 94204 5
jbd 32269 1 ext3
mbcache 3762 1 ext3
sg 19917 0
sr_mod 10770 0
sd_mod 25969 7
crc_t10dif 1012 1 sd_mod
cdrom 26435 1 sr_mod
ata_generic 2247 0
8139too 14885 0
ata_piix 17716 6
ahci 27786 0
8139cp 13333 0
firewire_ohci 16705 0
libata 115713 3 ata_generic,ata_piix,ahci
uhci_hcd 16013 0
thermal 9206 0
mii 2714 2 8139too,8139cp
firewire_core 31155 2 firewire_sbp2,firewire_ohci
crc_itu_t 1035 1 firewire_core
ehci_hcd 28533 0
scsi_mod 104949 5 firewire_sbp2,sg,sr_mod,sd_mod,libata
usbcore 99350 8 em28xx_dvb,em28xx_alsa,em28xx,ehci_hcd,
gspca_sunplus,gspca_main,uhci_hcd
nls_base 4727 1 usbcore
thermal_sys 9378 3 video,processor,thermal
Dmesg:
[ 2530.756044] usb 1-3: new high speed USB device using ehci_hcd and
address 2
[ 2530.893179] usb 1-3: New USB device found, idVendor=eb1a,
idProduct=2883
[ 2530.893190] usb 1-3: New USB device strings: Mfr=0, Product=1,
SerialNumber=2
[ 2530.893200] usb 1-3: Product: USB 2883 Device
[ 2530.893207] usb 1-3: SerialNumber: 200804
[ 2530.895014] usb 1-3: configuration #1 chosen from 1 choice
[ 2531.425003] em28xx: New device USB 2883 Device @ 480 Mbps (eb1a:2883,
interface 0, class 0)
[ 2531.425200] em28xx #0: chip ID is em2882/em2883
[ 2531.581575] em28xx #0: i2c eeprom 00: 1a eb 67 95 1a eb 83 28 d0 12
65 00 6a 22 8c 10
[ 2531.581608] em28xx #0: i2c eeprom 10: 00 00 24 57 4e 37 01 00 60 00
00 00 02 00 00 00
[ 2531.581639] em28xx #0: i2c eeprom 20: 5e 00 01 00 f0 10 01 00 b8 00
00 00 5b 1e 00 00
[ 2531.581669] em28xx #0: i2c eeprom 30: 00 00 20 40 20 6e 04 20 01 01
00 00 00 00 00 00
[ 2531.581699] em28xx #0: i2c eeprom 40: 00 00 00 00 00 00 00 00 00 00
00 00 d3 c4 00 00
[ 2531.581729] em28xx #0: i2c eeprom 50: 00 a2 b2 87 81 80 00 00 00 00
00 00 00 00 00 00
[ 2531.581758] em28xx #0: i2c eeprom 60: 00 00 00 00 00 00 00 00 00 00
22 03 55 00 53 00
[ 2531.581788] em28xx #0: i2c eeprom 70: 42 00 20 00 32 00 38 00 38 00
33 00 20 00 44 00
[ 2531.581818] em28xx #0: i2c eeprom 80: 65 00 76 00 69 00 63 00 65 00
00 00 10 03 32 00
[ 2531.581848] em28xx #0: i2c eeprom 90: 30 00 30 00 38 00 30 00 34 00
00 00 00 00 00 00
[ 2531.581878] em28xx #0: i2c eeprom a0: 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
[ 2531.581907] em28xx #0: i2c eeprom b0: 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
[ 2531.581937] em28xx #0: i2c eeprom c0: 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
[ 2531.581966] em28xx #0: i2c eeprom d0: 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
[ 2531.581996] em28xx #0: i2c eeprom e0: 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
[ 2531.582025] em28xx #0: i2c eeprom f0: 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
[ 2531.582060] em28xx #0: EEPROM ID= 0x9567eb1a, EEPROM hash =
0x85dd871e
[ 2531.582067] em28xx #0: EEPROM info:
[ 2531.582073] em28xx #0: AC97 audio (5 sample rates)
[ 2531.582079] em28xx #0: 500mA max power
[ 2531.582087] em28xx #0: Table at 0x24, strings=0x226a, 0x108c, 0x0000
[ 2531.582819] em28xx #0: Identified as :ZOLID Hybrid TV Stick (card=74)
[ 2531.616392] tvp5150 3-005c: chip found @ 0xb8 (em28xx #0)
[ 2531.645143] tuner 3-0061: chip found @ 0xc2 (em28xx #0)
[ 2531.691798] xc2028 3-0061: creating new instance
[ 2531.691809] xc2028 3-0061: type set to XCeive xc2028/xc3028 tuner
[ 2531.691826] usb 1-3: firmware: requesting xc3028L-v36.fw
[ 2531.709045] xc2028 3-0061: Loading 81 firmware images from
xc3028L-v36.fw, type: xc2028 firmware, ver 3.6
[ 2531.756034] xc2028 3-0061: Loading firmware for type=BASE MTS (5), id
0000000000000000.
[ 2532.661365] xc2028 3-0061: Loading firmware for type=MTS (4), id
000000000000b700.
[ 2532.675734] xc2028 3-0061: Loading SCODE for type=MTS LCD NOGD MONO
IF SCODE HAS_IF_4500 (6002b004), id 000000000000b700.
[ 2532.860114] em28xx #0: Config register raw data: 0xd0
[ 2532.860857] em28xx #0: AC97 vendor ID = 0xffffffff
[ 2532.861233] em28xx #0: AC97 features = 0x6a90
[ 2532.861239] em28xx #0: Empia 202 AC97 audio processor detected
[ 2532.972493] tvp5150 3-005c: tvp5150am1 detected.
[ 2533.068873] em28xx #0: v4l2 driver version 0.1.2
[ 2533.139659] em28xx #0: V4L2 video device registered as /dev/video0
[ 2533.139668] em28xx #0: V4L2 VBI device registered as /dev/vbi0
[ 2533.156139] usbcore: registered new interface driver em28xx
[ 2533.156795] em28xx driver loaded
[ 2533.273556] em28xx-audio.c: probing for em28x1 non standard usbaudio
[ 2533.273566] em28xx-audio.c: Copyright (C) 2006 Markus Rechberger
[ 2533.276830] Em28xx: Initialized (Em28xx Audio Extension) extension
[ 2533.642770] xc2028 3-0061: attaching existing instance
[ 2533.642781] xc2028 3-0061: type set to XCeive xc2028/xc3028 tuner
[ 2533.642789] em28xx #0/2: xc3028 attached
[ 2533.642795] DVB: registering new adapter (em28xx #0)
[ 2533.642806] DVB: registering adapter 0 frontend 0 (Zarlink ZL10353
DVB-T)...
[ 2533.647152] Successfully loaded em28xx-dvb
[ 2533.647161] Em28xx: Initialized (Em28xx dvb Extension) extension
^ permalink raw reply [flat|nested] 2+ messages in thread
* [Solved] Help needed for zolid usb dvb-t stick
2014-01-19 10:20 Help needed for zolid usb dvb-t stick mjs
@ 2018-04-26 19:53 ` mjs
0 siblings, 0 replies; 2+ messages in thread
From: mjs @ 2018-04-26 19:53 UTC (permalink / raw)
To: mjstork, 3 linux-media@vger.kernel.org
Solved.
See msg130325.
Thanks,
Marcel
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2018-04-26 19:53 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-01-19 10:20 Help needed for zolid usb dvb-t stick mjs
2018-04-26 19:53 ` [Solved] " mjs
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).