diff mbox

Kworld 330u broken

Message ID CAA9z4LYNHuORA+QnO_3NBj4mwBxSMFY8pXoF2y-iYjJD+Xqteg@mail.gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Chris Lee Jan. 10, 2014, 4:08 a.m. UTC
Im not sure exactly when it broke but alot of changes have happened in
em28xx lately and they've broken my Kworld 330u. The issue is that

ctl->demod = XC3028_FE_CHINA;
ctl->fname = XC2028_DEFAULT_FIRMWARE;
cfg.ctrl  = &ctl;

are no longer being set, this causes xc2028_attach

if (cfg->ctrl)
xc2028_set_config(fe, cfg->ctrl);

to never get called. Therefore never load the firmware. Ive attached
my logs to show you what I mean.

I quickly hacked up a patch, my tree is quite different from V4L's now
so the line numbers may not lineup anymore, and Im sure you guys wont
like it anyhow lol

Chris Lee
# Old v4l drivers

Jan  9 20:00:14 dvb kernel: [85237.940003] em28xx: unknown parameter 'adapter_nr' ignored
Jan  9 20:00:14 dvb kernel: [85237.940371] em28xx: New device  USB 2883 Device @ 480 Mbps (eb1a:a316, interface 0, class 0)
Jan  9 20:00:14 dvb kernel: [85237.940374] em28xx: Audio interface 0 found (Vendor Class)
Jan  9 20:00:14 dvb kernel: [85237.940375] em28xx: Video interface 0 found: isoc
Jan  9 20:00:14 dvb kernel: [85237.940377] em28xx: DVB interface 0 found: isoc
Jan  9 20:00:14 dvb kernel: [85237.940550] em28xx: chip ID is em2882/3
Jan  9 20:00:14 dvb kernel: [84925.745451] waiting module removal not supported: please upgrade
Jan  9 20:00:14 dvb kernel: [85238.107373] em2882/3 #0: i2c eeprom 00: 1a eb 67 95 1a eb 16 a3 d0 13 5c 03 6a 22 00 00
Jan  9 20:00:14 dvb kernel: [85238.107379] em2882/3 #0: i2c eeprom 10: 00 00 04 57 4e 07 01 00 00 00 00 00 00 00 00 00
Jan  9 20:00:14 dvb kernel: [85238.107383] em2882/3 #0: i2c eeprom 20: 4e 00 01 00 f0 10 01 00 b8 00 00 00 5b 32 00 00
Jan  9 20:00:14 dvb kernel: [85238.107387] em2882/3 #0: i2c eeprom 30: 00 00 20 40 20 80 02 20 01 01 00 00 00 00 00 00
Jan  9 20:00:14 dvb kernel: [85238.107391] em2882/3 #0: i2c eeprom 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Jan  9 20:00:14 dvb kernel: [85238.107395] em2882/3 #0: i2c eeprom 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Jan  9 20:00:14 dvb kernel: [85238.107399] em2882/3 #0: i2c eeprom 60: 00 00 00 00 00 00 00 00 00 00 22 03 55 00 53 00
Jan  9 20:00:14 dvb kernel: [85238.107403] em2882/3 #0: i2c eeprom 70: 42 00 20 00 32 00 38 00 38 00 33 00 20 00 44 00
Jan  9 20:00:14 dvb kernel: [85238.107407] em2882/3 #0: i2c eeprom 80: 65 00 76 00 69 00 63 00 65 00 00 00 00 00 00 00
Jan  9 20:00:14 dvb kernel: [85238.107411] em2882/3 #0: i2c eeprom 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Jan  9 20:00:14 dvb kernel: [85238.107415] em2882/3 #0: i2c eeprom a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Jan  9 20:00:14 dvb kernel: [85238.107419] em2882/3 #0: i2c eeprom b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Jan  9 20:00:14 dvb kernel: [85238.107422] em2882/3 #0: i2c eeprom c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Jan  9 20:00:14 dvb kernel: [85238.107426] em2882/3 #0: i2c eeprom d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Jan  9 20:00:14 dvb kernel: [85238.107430] em2882/3 #0: i2c eeprom e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Jan  9 20:00:14 dvb kernel: [85238.107434] em2882/3 #0: i2c eeprom f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Jan  9 20:00:14 dvb kernel: [85238.107439] em2882/3 #0: EEPROM ID = 1a eb 67 95, EEPROM hash = 0x02210101
Jan  9 20:00:14 dvb kernel: [85238.107440] em2882/3 #0: EEPROM info:
Jan  9 20:00:14 dvb kernel: [85238.107440] em2882/3 #0: 	AC97 audio (5 sample rates)
Jan  9 20:00:14 dvb kernel: [85238.107441] em2882/3 #0: 	500mA max power
Jan  9 20:00:14 dvb kernel: [85238.107442] em2882/3 #0: 	Table at offset 0x04, strings=0x226a, 0x0000, 0x0000
Jan  9 20:00:14 dvb kernel: [85238.107443] em2882/3 #0: Identified as Kworld PlusTV HD Hybrid 330 (card=57)
Jan  9 20:00:14 dvb kernel: [85238.173911] tvp5150 0-005c: chip found @ 0xb8 (em2882/3 #0)
Jan  9 20:00:14 dvb kernel: [85238.173915] tvp5150 0-005c: tvp5150am1 detected.
Jan  9 20:00:14 dvb kernel: [85238.193698] tuner 0-0061: Tuner -1 found with type(s) Radio TV.
Jan  9 20:00:14 dvb kernel: [85238.195799] xc2028 0-0061: creating new instance
Jan  9 20:00:14 dvb kernel: [85238.195804] xc2028 0-0061: type set to XCeive xc2028/xc3028 tuner
Jan  9 20:00:14 dvb kernel: [85238.195808] xc2028 0-0061: xc2028_set_config called
Jan  9 20:00:14 dvb kernel: [85238.195816] xc2028 0-0061: xc2028_set_analog_freq called
Jan  9 20:00:14 dvb kernel: [85238.195820] xc2028 0-0061: generic_set_freq called
Jan  9 20:00:14 dvb kernel: [85238.195823] xc2028 0-0061: should set frequency 567250 kHz
Jan  9 20:00:14 dvb kernel: [85238.195826] xc2028 0-0061: check_firmware called
Jan  9 20:00:14 dvb kernel: [85238.195918] em2882/3 #0: Config register raw data: 0xd0
Jan  9 20:00:14 dvb kernel: [85238.196636] em2882/3 #0: AC97 vendor ID = 0xffffffff
Jan  9 20:00:14 dvb kernel: [85238.197011] em2882/3 #0: AC97 features = 0x6a90
Jan  9 20:00:14 dvb kernel: [85238.197013] em2882/3 #0: Empia 202 AC97 audio processor detected
Jan  9 20:00:14 dvb kernel: [85238.197772] xc2028 0-0061: request_firmware_nowait(): OK
Jan  9 20:00:14 dvb kernel: [85238.197776] xc2028 0-0061: load_all_firmwares called
Jan  9 20:00:14 dvb kernel: [85238.197780] xc2028 0-0061: Loading 80 firmware images from xc3028-v27.fw, type: xc2028 firmware, ver 2.7
Jan  9 20:00:14 dvb kernel: [85238.197787] xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197791] xc2028 0-0061: Reading firmware type xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197800] xc2028 0-0061: Reading firmware type xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197808] xc2028 0-0061: Reading firmware type xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197811] xc2028 0-0061: Reading firmware type xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197814] xc2028 0-0061: Reading firmware type xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197817] xc2028 0-0061: Reading firmware type xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197820] xc2028 0-0061: Reading firmware type xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197823] xc2028 0-0061: Reading firmware type xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197826] xc2028 0-0061: Reading firmware type xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197828] xc2028 0-0061: Reading firmware type xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197831] xc2028 0-0061: Reading firmware type xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197833] xc2028 0-0061: Reading firmware type xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197836] xc2028 0-0061: Reading firmware type xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197839] xc2028 0-0061: Reading firmware type xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197842] xc2028 0-0061: Reading firmware type xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197844] xc2028 0-0061: Reading firmware type xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197847] xc2028 0-0061: Reading firmware type xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197849] xc2028 0-0061: Reading firmware type xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197852] xc2028 0-0061: Reading firmware type xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197854] xc2028 0-0061: Reading firmware type xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197857] xc2028 0-0061: Reading firmware type xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197860] xc2028 0-0061: Reading firmware type xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197863] xc2028 0-0061: Reading firmware type xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197866] xc2028 0-0061: Reading firmware type xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197868] xc2028 0-0061: Reading firmware type xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197871] xc2028 0-0061: Reading firmware type xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197874] xc2028 0-0061: Reading firmware type xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197876] xc2028 0-0061: Reading firmware type xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197880] xc2028 0-0061: Reading firmware type xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197884] xc2028 0-0061: Reading firmware type xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197889] xc2028 0-0061: Reading firmware type xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197893] xc2028 0-0061: Reading firmware type xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197897] xc2028 0-0061: Reading firmware type xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197901] xc2028 0-0061: Reading firmware type xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197904] xc2028 0-0061: Reading firmware type xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197907] xc2028 0-0061: Reading firmware type xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197910] xc2028 0-0061: Reading firmware type xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197913] xc2028 0-0061: Reading firmware type xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197916] xc2028 0-0061: Reading firmware type xc2028 0-0061: Reading firmware type 
Jan  9 20:00:14 dvb kernel: [85238.197918] xc2028 0-0061: Reading firmware type <7>[85238.197920] xc2028 0-0061: Firmware files loaded.
Jan  9 20:00:15 dvb kernel: [85238.382496] em2882/3 #0: v4l2 driver version 0.2.0
Jan  9 20:00:15 dvb kernel: [85238.382999] xc2028 0-0061: xc2028_set_analog_freq called
Jan  9 20:00:15 dvb kernel: [85238.383004] xc2028 0-0061: generic_set_freq called
Jan  9 20:00:15 dvb kernel: [85238.383006] xc2028 0-0061: should set frequency 567250 kHz
Jan  9 20:00:15 dvb kernel: [85238.383008] xc2028 0-0061: check_firmware called
Jan  9 20:00:15 dvb kernel: [85238.383010] xc2028 0-0061: checking firmware, user requested type=
Jan  9 20:00:15 dvb kernel: [85238.429568] xc2028 0-0061: load_firmware called
Jan  9 20:00:15 dvb kernel: [85238.429572] xc2028 0-0061: seek_firmware called, want type=
Jan  9 20:00:15 dvb kernel: [85238.429575] xc2028 0-0061: Found firmware for type=xc2028 0-0061: Loading firmware for type=BASE F8MHZ MTS (7), id 0000000000000000.
Jan  9 20:00:16 dvb kernel: [85239.445770] xc2028 0-0061: Load init1 firmware, if exists
Jan  9 20:00:16 dvb kernel: [85239.445774] xc2028 0-0061: load_firmware called
Jan  9 20:00:16 dvb kernel: [85239.445777] xc2028 0-0061: seek_firmware called, want type=
Jan  9 20:00:16 dvb kernel: [85239.445779] xc2028 0-0061: Can't find firmware for type=<7>[85239.445781] xc2028 0-0061: load_firmware called
Jan  9 20:00:16 dvb kernel: [85239.445783] xc2028 0-0061: seek_firmware called, want type=
Jan  9 20:00:16 dvb kernel: [85239.445785] xc2028 0-0061: Can't find firmware for type=<7>[85239.445787] xc2028 0-0061: load_firmware called
Jan  9 20:00:16 dvb kernel: [85239.445788] xc2028 0-0061: seek_firmware called, want type=
Jan  9 20:00:16 dvb kernel: [85239.445791] xc2028 0-0061: Selecting best matching firmware (3 bits) for type=MTS (4), id 00000000000000ff:
Jan  9 20:00:16 dvb kernel: [85239.445795] xc2028 0-0061: Found firmware for type=
Jan  9 20:00:16 dvb kernel: [85239.445796] xc2028 0-0061: Loading firmware for type=MTS (4), id 0000000100000007.
Jan  9 20:00:16 dvb kernel: [85239.463055] xc2028 0-0061: Trying to load scode 0
Jan  9 20:00:16 dvb kernel: [85239.463058] xc2028 0-0061: load_scode called
Jan  9 20:00:16 dvb kernel: [85239.463060] xc2028 0-0061: seek_firmware called, want type=
Jan  9 20:00:16 dvb kernel: [85239.463062] xc2028 0-0061: Can't find firmware for type=<7>[85239.463065] xc2028 0-0061: xc2028_get_reg 0004 called
Jan  9 20:00:16 dvb kernel: [85239.464023] xc2028 0-0061: xc2028_get_reg 0008 called
Jan  9 20:00:16 dvb kernel: [85239.465006] xc2028 0-0061: Device is Xceive 3028 version 1.0, firmware version 2.7
Jan  9 20:00:16 dvb kernel: [85239.586033] xc2028 0-0061: divisor= 00 00 8d d0 (freq=567.250)
Jan  9 20:00:16 dvb kernel: [85239.798822] em2882/3 #0: V4L2 video device registered as video0
Jan  9 20:00:16 dvb kernel: [85239.798826] em2882/3 #0: V4L2 VBI device registered as vbi0
Jan  9 20:00:16 dvb kernel: [85239.798830] xc2028 0-0061: Putting xc2028/3028 into poweroff mode.
Jan  9 20:00:16 dvb kernel: [85239.799518] em2882/3 #0: analog set to isoc mode.
Jan  9 20:00:16 dvb kernel: [85239.799522] em2882/3 #0: dvb set to isoc mode.
Jan  9 20:00:16 dvb kernel: [85239.799987] usbcore: registered new interface driver em28xx
Jan  9 20:00:16 dvb kernel: [85239.802358] em28xx-audio.c: probing for em28xx Audio Vendor Class
Jan  9 20:00:16 dvb kernel: [85239.802362] em28xx-audio.c: Copyright (C) 2006 Markus Rechberger
Jan  9 20:00:16 dvb kernel: [85239.802364] em28xx-audio.c: Copyright (C) 2007-2011 Mauro Carvalho Chehab
Jan  9 20:00:16 dvb kernel: [85239.802374] xc2028 0-0061: Putting xc2028/3028 into poweroff mode.
Jan  9 20:00:16 dvb kernel: [85239.802604] Em28xx: Initialized (Em28xx Audio Extension) extension
Jan  9 20:00:16 dvb kernel: [85240.017366] s5h1409_init()
Jan  9 20:00:16 dvb kernel: [85240.017372] s5h1409_sleep(0)
Jan  9 20:00:16 dvb kernel: [85240.018042] s5h1409_register_reset()
Jan  9 20:00:16 dvb kernel: [85240.044985] s5h1409_set_spectralinversion(0)
Jan  9 20:00:16 dvb kernel: [85240.045532] s5h1409_set_if_freq(5380 KHz)
Jan  9 20:00:16 dvb kernel: [85240.047154] s5h1409_set_gpio(0)
Jan  9 20:00:16 dvb kernel: [85240.048610] s5h1409_set_mpeg_timing(1)
Jan  9 20:00:16 dvb kernel: [85240.049520] s5h1409_set_mpeg_timing(1) Mode1 or Defaulting
Jan  9 20:00:16 dvb kernel: [85240.050111] s5h1409_softreset()
Jan  9 20:00:16 dvb kernel: [85240.052371] xc2028 0-0061: attaching existing instance
Jan  9 20:00:16 dvb kernel: [85240.052374] xc2028 0-0061: type set to XCeive xc2028/xc3028 tuner
Jan  9 20:00:16 dvb kernel: [85240.052376] em2882/3 #0: em2882/3 #0/2: xc3028 attached
Jan  9 20:00:16 dvb kernel: [85240.052378] DVB: registering new adapter (em2882/3 #0)
Jan  9 20:00:16 dvb kernel: [85240.052383] usb 2-1.8: DVB: registering adapter 0 frontend 0 (inDtube / Kworld 330U)...
Jan  9 20:00:16 dvb kernel: [85240.052829] em2882/3 #0: Successfully loaded em28xx-dvb
Jan  9 20:00:16 dvb kernel: [85240.052835] Em28xx: Initialized (Em28xx dvb Extension) extension
Jan  9 20:00:16 dvb kernel: [85240.053651] xc2028 0-0061: Putting xc2028/3028 into poweroff mode.
Jan  9 20:00:16 dvb kernel: [85240.053988] xc2028 0-0061: Error on line 1297: -19


# Latest v4l drivers

Jan  9 20:01:43 dvb kernel: [85290.472976] waiting module removal not supported: please upgrade<4>[85327.242555] em28xx: unknown parameter 'adapter_nr' ignored
Jan  9 20:01:43 dvb kernel: [85327.242980] em28xx: New device  USB 2883 Device @ 480 Mbps (eb1a:a316, interface 0, class 0)
Jan  9 20:01:43 dvb kernel: [85327.242983] em28xx: Audio interface 0 found (Vendor Class)
Jan  9 20:01:43 dvb kernel: [85327.242985] em28xx: Video interface 0 found: isoc
Jan  9 20:01:43 dvb kernel: [85327.242987] em28xx: DVB interface 0 found: isoc
Jan  9 20:01:43 dvb kernel: [85327.243088] em28xx: chip ID is em2882/3
Jan  9 20:01:44 dvb kernel: [85290.481200] waiting module removal not supported: please upgrade
Jan  9 20:01:44 dvb kernel: [85327.411425] em2882/3 #0: i2c eeprom 00: 1a eb 67 95 1a eb 16 a3 d0 13 5c 03 6a 22 00 00
Jan  9 20:01:44 dvb kernel: [85327.411438] em2882/3 #0: i2c eeprom 10: 00 00 04 57 4e 07 01 00 00 00 00 00 00 00 00 00
Jan  9 20:01:44 dvb kernel: [85327.411446] em2882/3 #0: i2c eeprom 20: 4e 00 01 00 f0 10 01 00 b8 00 00 00 5b 32 00 00
Jan  9 20:01:44 dvb kernel: [85327.411454] em2882/3 #0: i2c eeprom 30: 00 00 20 40 20 80 02 20 01 01 00 00 00 00 00 00
Jan  9 20:01:44 dvb kernel: [85327.411462] em2882/3 #0: i2c eeprom 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Jan  9 20:01:44 dvb kernel: [85327.411470] em2882/3 #0: i2c eeprom 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Jan  9 20:01:44 dvb kernel: [85327.411478] em2882/3 #0: i2c eeprom 60: 00 00 00 00 00 00 00 00 00 00 22 03 55 00 53 00
Jan  9 20:01:44 dvb kernel: [85327.411486] em2882/3 #0: i2c eeprom 70: 42 00 20 00 32 00 38 00 38 00 33 00 20 00 44 00
Jan  9 20:01:44 dvb kernel: [85327.411495] em2882/3 #0: i2c eeprom 80: 65 00 76 00 69 00 63 00 65 00 00 00 00 00 00 00
Jan  9 20:01:44 dvb kernel: [85327.411503] em2882/3 #0: i2c eeprom 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Jan  9 20:01:44 dvb kernel: [85327.411511] em2882/3 #0: i2c eeprom a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Jan  9 20:01:44 dvb kernel: [85327.411519] em2882/3 #0: i2c eeprom b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Jan  9 20:01:44 dvb kernel: [85327.411527] em2882/3 #0: i2c eeprom c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Jan  9 20:01:44 dvb kernel: [85327.411534] em2882/3 #0: i2c eeprom d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Jan  9 20:01:44 dvb kernel: [85327.411542] em2882/3 #0: i2c eeprom e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Jan  9 20:01:44 dvb kernel: [85327.411550] em2882/3 #0: i2c eeprom f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Jan  9 20:01:44 dvb kernel: [85327.411560] em2882/3 #0: EEPROM ID = 1a eb 67 95, EEPROM hash = 0x02210101
Jan  9 20:01:44 dvb kernel: [85327.411562] em2882/3 #0: EEPROM info:
Jan  9 20:01:44 dvb kernel: [85327.411563] em2882/3 #0: 	AC97 audio (5 sample rates)
Jan  9 20:01:44 dvb kernel: [85327.411565] em2882/3 #0: 	500mA max power
Jan  9 20:01:44 dvb kernel: [85327.411567] em2882/3 #0: 	Table at offset 0x04, strings=0x226a, 0x0000, 0x0000
Jan  9 20:01:44 dvb kernel: [85327.411569] em2882/3 #0: Identified as Kworld PlusTV HD Hybrid 330 (card=57)
Jan  9 20:01:44 dvb kernel: [85327.411571] em2882/3 #0: analog set to isoc mode.
Jan  9 20:01:44 dvb kernel: [85327.411573] em2882/3 #0: dvb set to isoc mode.
Jan  9 20:01:44 dvb kernel: [85327.411992] usbcore: registered new interface driver em28xx
Jan  9 20:01:44 dvb kernel: [85327.416170] em2882/3 #0: Binding audio extension
Jan  9 20:01:44 dvb kernel: [85327.416173] em28xx-audio.c: Copyright (C) 2006 Markus Rechberger
Jan  9 20:01:44 dvb kernel: [85327.416174] em28xx-audio.c: Copyright (C) 2007-2011 Mauro Carvalho Chehab
Jan  9 20:01:44 dvb kernel: [85327.416350] em2882/3 #0: Audio extension successfully initialized
Jan  9 20:01:44 dvb kernel: [85327.416354] em28xx: Registered (Em28xx Audio Extension) extension
Jan  9 20:01:44 dvb kernel: [85327.421550] em2882/3 #0: Binding DVB extension
Jan  9 20:01:44 dvb kernel: [85327.467050] s5h1409_init()
Jan  9 20:01:44 dvb kernel: [85327.467053] s5h1409_sleep(0)
Jan  9 20:01:44 dvb kernel: [85327.467667] s5h1409_register_reset()
Jan  9 20:01:44 dvb kernel: [85327.493035] s5h1409_set_spectralinversion(0)
Jan  9 20:01:44 dvb kernel: [85327.493533] s5h1409_set_if_freq(5380 KHz)
Jan  9 20:01:44 dvb kernel: [85327.495034] s5h1409_set_gpio(0)
Jan  9 20:01:44 dvb kernel: [85327.496426] s5h1409_set_mpeg_timing(1)
Jan  9 20:01:44 dvb kernel: [85327.497303] s5h1409_set_mpeg_timing(1) Mode1 or Defaulting
Jan  9 20:01:44 dvb kernel: [85327.497927] s5h1409_softreset()
Jan  9 20:01:44 dvb kernel: [85327.501485] xc2028: Xcv2028/3028 init called!
Jan  9 20:01:44 dvb kernel: [85327.501487] xc2028 0-0061: creating new instance
Jan  9 20:01:44 dvb kernel: [85327.501488] xc2028 0-0061: type set to XCeive xc2028/xc3028 tuner
Jan  9 20:01:44 dvb kernel: [85327.501489] em2882/3 #0: em2882/3 #0/2: xc3028 attached
Jan  9 20:01:44 dvb kernel: [85327.501490] DVB: registering new adapter (em2882/3 #0)
Jan  9 20:01:44 dvb kernel: [85327.501495] usb 2-1.8: DVB: registering adapter 0 frontend 0 (inDtube / Kworld 330U)...
Jan  9 20:01:44 dvb kernel: [85327.503443] em2882/3 #0: DVB extension successfully initialized
Jan  9 20:01:44 dvb kernel: [85327.503455] em28xx: Registered (Em28xx dvb Extension) extension
Jan  9 20:01:44 dvb kernel: [85328.049392] em2882/3 #0: submit of audio urb failed


# My changes

Jan  9 20:46:45 dvb kernel: [87993.910769] waiting module removal not supported: please upgrade<4>[88029.712438] em28xx: unknown parameter 'adapter_nr' ignored
Jan  9 20:46:45 dvb kernel: [88029.712784] em28xx: New device  USB 2883 Device @ 480 Mbps (eb1a:a316, interface 0, class 0)
Jan  9 20:46:45 dvb kernel: [88029.712787] em28xx: Audio interface 0 found (Vendor Class)
Jan  9 20:46:45 dvb kernel: [88029.712789] em28xx: Video interface 0 found: isoc
Jan  9 20:46:45 dvb kernel: [88029.712790] em28xx: DVB interface 0 found: isoc
Jan  9 20:46:45 dvb kernel: [88029.712857] em28xx: chip ID is em2882/3
Jan  9 20:46:45 dvb kernel: [87993.924305] waiting module removal not supported: please upgrade
Jan  9 20:46:45 dvb kernel: [88029.881550] em2882/3 #0: i2c eeprom 00: 1a eb 67 95 1a eb 16 a3 d0 13 5c 03 6a 22 00 00
Jan  9 20:46:45 dvb kernel: [88029.881557] em2882/3 #0: i2c eeprom 10: 00 00 04 57 4e 07 01 00 00 00 00 00 00 00 00 00
Jan  9 20:46:45 dvb kernel: [88029.881561] em2882/3 #0: i2c eeprom 20: 4e 00 01 00 f0 10 01 00 b8 00 00 00 5b 32 00 00
Jan  9 20:46:45 dvb kernel: [88029.881565] em2882/3 #0: i2c eeprom 30: 00 00 20 40 20 80 02 20 01 01 00 00 00 00 00 00
Jan  9 20:46:45 dvb kernel: [88029.881569] em2882/3 #0: i2c eeprom 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Jan  9 20:46:45 dvb kernel: [88029.881573] em2882/3 #0: i2c eeprom 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Jan  9 20:46:45 dvb kernel: [88029.881577] em2882/3 #0: i2c eeprom 60: 00 00 00 00 00 00 00 00 00 00 22 03 55 00 53 00
Jan  9 20:46:45 dvb kernel: [88029.881581] em2882/3 #0: i2c eeprom 70: 42 00 20 00 32 00 38 00 38 00 33 00 20 00 44 00
Jan  9 20:46:45 dvb kernel: [88029.881585] em2882/3 #0: i2c eeprom 80: 65 00 76 00 69 00 63 00 65 00 00 00 00 00 00 00
Jan  9 20:46:45 dvb kernel: [88029.881589] em2882/3 #0: i2c eeprom 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Jan  9 20:46:45 dvb kernel: [88029.881593] em2882/3 #0: i2c eeprom a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Jan  9 20:46:45 dvb kernel: [88029.881597] em2882/3 #0: i2c eeprom b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Jan  9 20:46:45 dvb kernel: [88029.881601] em2882/3 #0: i2c eeprom c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Jan  9 20:46:45 dvb kernel: [88029.881605] em2882/3 #0: i2c eeprom d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Jan  9 20:46:45 dvb kernel: [88029.881609] em2882/3 #0: i2c eeprom e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Jan  9 20:46:45 dvb kernel: [88029.881613] em2882/3 #0: i2c eeprom f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Jan  9 20:46:45 dvb kernel: [88029.881618] em2882/3 #0: EEPROM ID = 1a eb 67 95, EEPROM hash = 0x02210101
Jan  9 20:46:45 dvb kernel: [88029.881619] em2882/3 #0: EEPROM info:
Jan  9 20:46:45 dvb kernel: [88029.881620] em2882/3 #0: 	AC97 audio (5 sample rates)
Jan  9 20:46:45 dvb kernel: [88029.881621] em2882/3 #0: 	500mA max power
Jan  9 20:46:45 dvb kernel: [88029.881622] em2882/3 #0: 	Table at offset 0x04, strings=0x226a, 0x0000, 0x0000
Jan  9 20:46:45 dvb kernel: [88029.881623] em2882/3 #0: Identified as Kworld PlusTV HD Hybrid 330 (card=57)
Jan  9 20:46:45 dvb kernel: [88029.881624] em2882/3 #0: analog set to isoc mode.
Jan  9 20:46:45 dvb kernel: [88029.881625] em2882/3 #0: dvb set to isoc mode.
Jan  9 20:46:45 dvb kernel: [88029.882099] usbcore: registered new interface driver em28xx
Jan  9 20:46:45 dvb kernel: [88029.884412] em2882/3 #0: Binding audio extension
Jan  9 20:46:45 dvb kernel: [88029.884414] em28xx-audio.c: Copyright (C) 2006 Markus Rechberger
Jan  9 20:46:45 dvb kernel: [88029.884415] em28xx-audio.c: Copyright (C) 2007-2011 Mauro Carvalho Chehab
Jan  9 20:46:45 dvb kernel: [88029.884543] em2882/3 #0: Audio extension successfully initialized
Jan  9 20:46:45 dvb kernel: [88029.884546] em28xx: Registered (Em28xx Audio Extension) extension
Jan  9 20:46:45 dvb kernel: [88029.887339] em2882/3 #0: Binding DVB extension
Jan  9 20:46:45 dvb kernel: [88029.933694] s5h1409_init()
Jan  9 20:46:45 dvb kernel: [88029.933697] s5h1409_sleep(0)
Jan  9 20:46:45 dvb kernel: [88029.934311] s5h1409_register_reset()
Jan  9 20:46:45 dvb kernel: [88029.960055] s5h1409_set_spectralinversion(0)
Jan  9 20:46:45 dvb kernel: [88029.960553] s5h1409_set_if_freq(5380 KHz)
Jan  9 20:46:45 dvb kernel: [88029.962071] s5h1409_set_gpio(0)
Jan  9 20:46:45 dvb kernel: [88029.963430] s5h1409_set_mpeg_timing(1)
Jan  9 20:46:45 dvb kernel: [88029.964322] s5h1409_set_mpeg_timing(1) Mode1 or Defaulting
Jan  9 20:46:45 dvb kernel: [88029.964822] s5h1409_softreset()
Jan  9 20:46:45 dvb kernel: [88029.968094] xc2028: Xcv2028/3028 init called!
Jan  9 20:46:45 dvb kernel: [88029.968096] xc2028 0-0061: creating new instance
Jan  9 20:46:45 dvb kernel: [88029.968097] xc2028 0-0061: type set to XCeive xc2028/xc3028 tuner
Jan  9 20:46:45 dvb kernel: [88029.968098] xc2028 0-0061: xc2028_set_config called
Jan  9 20:46:45 dvb kernel: [88029.968102] em2882/3 #0: em2882/3 #0/2: xc3028 attached
Jan  9 20:46:45 dvb kernel: [88029.968153] DVB: registering new adapter (em2882/3 #0)
Jan  9 20:46:45 dvb kernel: [88029.968156] usb 2-1.8: DVB: registering adapter 0 frontend 0 (inDtube / Kworld 330U)...
Jan  9 20:46:45 dvb kernel: [88029.968361] em2882/3 #0: DVB extension successfully initialized
Jan  9 20:46:45 dvb kernel: [88029.968366] em28xx: Registered (Em28xx dvb Extension) extension
Jan  9 20:46:45 dvb kernel: [88029.970022] xc2028 0-0061: request_firmware_nowait(): OK
Jan  9 20:46:45 dvb kernel: [88029.970024] xc2028 0-0061: load_all_firmwares called
Jan  9 20:46:45 dvb kernel: [88029.970025] xc2028 0-0061: Loading 80 firmware images from xc3028-v27.fw, type: xc2028 firmware, ver 2.7
Jan  9 20:46:45 dvb kernel: [88029.970028] xc2028 0-0061: Reading firmware type BASE F8MHZ (3), id 0, size=8718.
Jan  9 20:46:45 dvb kernel: [88029.970031] xc2028 0-0061: Reading firmware type BASE F8MHZ MTS (7), id 0, size=8712.
Jan  9 20:46:45 dvb kernel: [88029.970034] xc2028 0-0061: Reading firmware type BASE FM (401), id 0, size=8562.
Jan  9 20:46:45 dvb kernel: [88029.970037] xc2028 0-0061: Reading firmware type BASE FM INPUT1 (c01), id 0, size=8576.
Jan  9 20:46:45 dvb kernel: [88029.970039] xc2028 0-0061: Reading firmware type BASE (1), id 0, size=8706.
Jan  9 20:46:45 dvb kernel: [88029.970042] xc2028 0-0061: Reading firmware type BASE MTS (5), id 0, size=8682.
Jan  9 20:46:45 dvb kernel: [88029.970043] xc2028 0-0061: Reading firmware type (0), id 100000007, size=161.
Jan  9 20:46:45 dvb kernel: [88029.970045] xc2028 0-0061: Reading firmware type MTS (4), id 100000007, size=169.
Jan  9 20:46:45 dvb kernel: [88029.970046] xc2028 0-0061: Reading firmware type (0), id 200000007, size=161.
Jan  9 20:46:45 dvb kernel: [88029.970047] xc2028 0-0061: Reading firmware type MTS (4), id 200000007, size=169.
Jan  9 20:46:45 dvb kernel: [88029.970048] xc2028 0-0061: Reading firmware type (0), id 400000007, size=161.
Jan  9 20:46:45 dvb kernel: [88029.970049] xc2028 0-0061: Reading firmware type MTS (4), id 400000007, size=169.
Jan  9 20:46:45 dvb kernel: [88029.970050] xc2028 0-0061: Reading firmware type (0), id 800000007, size=161.
Jan  9 20:46:45 dvb kernel: [88029.970051] xc2028 0-0061: Reading firmware type MTS (4), id 800000007, size=169.
Jan  9 20:46:45 dvb kernel: [88029.970052] xc2028 0-0061: Reading firmware type (0), id 3000000e0, size=161.
Jan  9 20:46:45 dvb kernel: [88029.970053] xc2028 0-0061: Reading firmware type MTS (4), id 3000000e0, size=169.
Jan  9 20:46:45 dvb kernel: [88029.970054] xc2028 0-0061: Reading firmware type (0), id c000000e0, size=161.
Jan  9 20:46:45 dvb kernel: [88029.970055] xc2028 0-0061: Reading firmware type MTS (4), id c000000e0, size=169.
Jan  9 20:46:45 dvb kernel: [88029.970056] xc2028 0-0061: Reading firmware type (0), id 200000, size=161.
Jan  9 20:46:45 dvb kernel: [88029.970057] xc2028 0-0061: Reading firmware type MTS (4), id 200000, size=169.
Jan  9 20:46:45 dvb kernel: [88029.970058] xc2028 0-0061: Reading firmware type (0), id 4000000, size=161.
Jan  9 20:46:45 dvb kernel: [88029.970059] xc2028 0-0061: Reading firmware type MTS (4), id 4000000, size=169.
Jan  9 20:46:45 dvb kernel: [88029.970060] xc2028 0-0061: Reading firmware type D2633 DTV6 ATSC (10030), id 0, size=149.
Jan  9 20:46:45 dvb kernel: [88029.970062] xc2028 0-0061: Reading firmware type D2620 DTV6 QAM (68), id 0, size=149.
Jan  9 20:46:45 dvb kernel: [88029.970064] xc2028 0-0061: Reading firmware type D2633 DTV6 QAM (70), id 0, size=149.
Jan  9 20:46:45 dvb kernel: [88029.970065] xc2028 0-0061: Reading firmware type D2620 DTV7 (88), id 0, size=149.
Jan  9 20:46:45 dvb kernel: [88029.970066] xc2028 0-0061: Reading firmware type D2633 DTV7 (90), id 0, size=149.
Jan  9 20:46:45 dvb kernel: [88029.970067] xc2028 0-0061: Reading firmware type D2620 DTV78 (108), id 0, size=149.
Jan  9 20:46:45 dvb kernel: [88029.970069] xc2028 0-0061: Reading firmware type D2633 DTV78 (110), id 0, size=149.
Jan  9 20:46:45 dvb kernel: [88029.970070] xc2028 0-0061: Reading firmware type D2620 DTV8 (208), id 0, size=149.
Jan  9 20:46:45 dvb kernel: [88029.970071] xc2028 0-0061: Reading firmware type D2633 DTV8 (210), id 0, size=149.
Jan  9 20:46:45 dvb kernel: [88029.970072] xc2028 0-0061: Reading firmware type FM (400), id 0, size=135.
Jan  9 20:46:45 dvb kernel: [88029.970073] xc2028 0-0061: Reading firmware type (0), id 10, size=161.
Jan  9 20:46:45 dvb kernel: [88029.970074] xc2028 0-0061: Reading firmware type MTS (4), id 10, size=169.
Jan  9 20:46:45 dvb kernel: [88029.970076] xc2028 0-0061: Reading firmware type (0), id 1000400000, size=169.
Jan  9 20:46:45 dvb kernel: [88029.970077] xc2028 0-0061: Reading firmware type (0), id c00400000, size=161.
Jan  9 20:46:45 dvb kernel: [88029.970078] xc2028 0-0061: Reading firmware type (0), id 800000, size=161.
Jan  9 20:46:45 dvb kernel: [88029.970078] xc2028 0-0061: Reading firmware type (0), id 8000, size=161.
Jan  9 20:46:45 dvb kernel: [88029.970079] xc2028 0-0061: Reading firmware type LCD (1000), id 8000, size=161.
Jan  9 20:46:45 dvb kernel: [88029.970081] xc2028 0-0061: Reading firmware type LCD NOGD (3000), id 8000, size=161.
Jan  9 20:46:45 dvb kernel: [88029.970082] xc2028 0-0061: Reading firmware type MTS (4), id 8000, size=169.
Jan  9 20:46:45 dvb kernel: [88029.970083] xc2028 0-0061: Reading firmware type (0), id b700, size=161.
Jan  9 20:46:45 dvb kernel: [88029.970084] xc2028 0-0061: Reading firmware type LCD (1000), id b700, size=161.
Jan  9 20:46:45 dvb kernel: [88029.970085] xc2028 0-0061: Reading firmware type LCD NOGD (3000), id b700, size=161.
Jan  9 20:46:45 dvb kernel: [88029.970086] xc2028 0-0061: Reading firmware type (0), id 2000, size=161.
Jan  9 20:46:45 dvb kernel: [88029.970087] xc2028 0-0061: Reading firmware type MTS (4), id b700, size=169.
Jan  9 20:46:45 dvb kernel: [88029.970089] xc2028 0-0061: Reading firmware type MTS LCD (1004), id b700, size=169.
Jan  9 20:46:45 dvb kernel: [88029.970090] xc2028 0-0061: Reading firmware type MTS LCD NOGD (3004), id b700, size=169.
Jan  9 20:46:45 dvb kernel: [88029.970091] xc2028 0-0061: Reading firmware type SCODE HAS_IF_3280 (60000000), id 0, size=192.
Jan  9 20:46:45 dvb kernel: [88029.970093] xc2028 0-0061: Reading firmware type SCODE HAS_IF_3300 (60000000), id 0, size=192.
Jan  9 20:46:45 dvb kernel: [88029.970094] xc2028 0-0061: Reading firmware type SCODE HAS_IF_3440 (60000000), id 0, size=192.
Jan  9 20:46:45 dvb kernel: [88029.970095] xc2028 0-0061: Reading firmware type SCODE HAS_IF_3460 (60000000), id 0, size=192.
Jan  9 20:46:45 dvb kernel: [88029.970097] xc2028 0-0061: Reading firmware type DTV6 ATSC OREN36 SCODE HAS_IF_3800 (60210020), id 0, size=192.
Jan  9 20:46:45 dvb kernel: [88029.970099] xc2028 0-0061: Reading firmware type SCODE HAS_IF_4000 (60000000), id 0, size=192.
Jan  9 20:46:45 dvb kernel: [88029.970100] xc2028 0-0061: Reading firmware type DTV6 ATSC TOYOTA388 SCODE HAS_IF_4080 (60410020), id 0, size=192.
Jan  9 20:46:45 dvb kernel: [88029.970102] xc2028 0-0061: Reading firmware type SCODE HAS_IF_4200 (60000000), id 0, size=192.
Jan  9 20:46:45 dvb kernel: [88029.970103] xc2028 0-0061: Reading firmware type MONO SCODE HAS_IF_4320 (60008000), id 8000, size=192.
Jan  9 20:46:45 dvb kernel: [88029.970104] xc2028 0-0061: Reading firmware type SCODE HAS_IF_4450 (60000000), id 0, size=192.
Jan  9 20:46:45 dvb kernel: [88029.970106] xc2028 0-0061: Reading firmware type MTS LCD NOGD MONO IF SCODE HAS_IF_4500 (6002b004), id b700, size=192.
Jan  9 20:46:45 dvb kernel: [88029.970108] xc2028 0-0061: Reading firmware type LCD NOGD IF SCODE HAS_IF_4600 (60023000), id 8000, size=192.
Jan  9 20:46:45 dvb kernel: [88029.970110] xc2028 0-0061: Reading firmware type DTV6 QAM DTV7 DTV78 DTV8 ZARLINK456 SCODE HAS_IF_4760 (620003e0), id 0, size=192.
Jan  9 20:46:45 dvb kernel: [88029.970112] xc2028 0-0061: Reading firmware type SCODE HAS_IF_4940 (60000000), id 0, size=192.
Jan  9 20:46:45 dvb kernel: [88029.970114] xc2028 0-0061: Reading firmware type SCODE HAS_IF_5260 (60000000), id 0, size=192.
Jan  9 20:46:45 dvb kernel: [88029.970115] xc2028 0-0061: Reading firmware type MONO SCODE HAS_IF_5320 (60008000), id f00000007, size=192.
Jan  9 20:46:45 dvb kernel: [88029.970116] xc2028 0-0061: Reading firmware type DTV7 DTV78 DTV8 DIBCOM52 CHINA SCODE HAS_IF_5400 (65000380), id 0, size=192.
Jan  9 20:46:45 dvb kernel: [88029.970118] xc2028 0-0061: Reading firmware type DTV6 ATSC OREN538 SCODE HAS_IF_5580 (60110020), id 0, size=192.
Jan  9 20:46:45 dvb kernel: [88029.970120] xc2028 0-0061: Reading firmware type SCODE HAS_IF_5640 (60000000), id 300000007, size=192.
Jan  9 20:46:45 dvb kernel: [88029.970122] xc2028 0-0061: Reading firmware type SCODE HAS_IF_5740 (60000000), id c00000007, size=192.
Jan  9 20:46:45 dvb kernel: [88029.970123] xc2028 0-0061: Reading firmware type SCODE HAS_IF_5900 (60000000), id 0, size=192.
Jan  9 20:46:45 dvb kernel: [88029.970124] xc2028 0-0061: Reading firmware type MONO SCODE HAS_IF_6000 (60008000), id c04c000f0, size=192.
Jan  9 20:46:45 dvb kernel: [88029.970126] xc2028 0-0061: Reading firmware type DTV6 QAM ATSC LG60 F6MHZ SCODE HAS_IF_6200 (68050060), id 0, size=192.
Jan  9 20:46:45 dvb kernel: [88029.970128] xc2028 0-0061: Reading firmware type SCODE HAS_IF_6240 (60000000), id 10, size=192.
Jan  9 20:46:45 dvb kernel: [88029.970129] xc2028 0-0061: Reading firmware type MONO SCODE HAS_IF_6320 (60008000), id 200000, size=192.
Jan  9 20:46:45 dvb kernel: [88029.970131] xc2028 0-0061: Reading firmware type SCODE HAS_IF_6340 (60000000), id 200000, size=192.
Jan  9 20:46:45 dvb kernel: [88029.970132] xc2028 0-0061: Reading firmware type MONO SCODE HAS_IF_6500 (60008000), id c044000e0, size=192.
Jan  9 20:46:45 dvb kernel: [88029.970133] xc2028 0-0061: Reading firmware type DTV6 ATSC ATI638 SCODE HAS_IF_6580 (60090020), id 0, size=192.
Jan  9 20:46:45 dvb kernel: [88029.970135] xc2028 0-0061: Reading firmware type SCODE HAS_IF_6600 (60000000), id 3000000e0, size=192.
Jan  9 20:46:45 dvb kernel: [88029.970137] xc2028 0-0061: Reading firmware type MONO SCODE HAS_IF_6680 (60008000), id 3000000e0, size=192.
Jan  9 20:46:45 dvb kernel: [88029.970138] xc2028 0-0061: Reading firmware type DTV6 ATSC TOYOTA794 SCODE HAS_IF_8140 (60810020), id 0, size=192.
Jan  9 20:46:45 dvb kernel: [88029.970140] xc2028 0-0061: Reading firmware type SCODE HAS_IF_8200 (60000000), id 0, size=192.
Jan  9 20:46:45 dvb kernel: [88029.970141] xc2028 0-0061: Firmware files loaded.
Jan  9 20:46:46 dvb kernel: [88030.516035] em2882/3 #0: submit of audio urb failed

Comments

Frank Schäfer Jan. 12, 2014, 4:43 p.m. UTC | #1
On 10.01.2014 05:08, Chris Lee wrote:
> Im not sure exactly when it broke but alot of changes have happened in
> em28xx lately and they've broken my Kworld 330u. The issue is that
>
> ctl->demod = XC3028_FE_CHINA;
> ctl->fname = XC2028_DEFAULT_FIRMWARE;
> cfg.ctrl  = &ctl;
>
> are no longer being set, this causes xc2028_attach
>
> if (cfg->ctrl)
> xc2028_set_config(fe, cfg->ctrl);
>
> to never get called. Therefore never load the firmware. Ive attached
> my logs to show you what I mean.
>
> I quickly hacked up a patch, my tree is quite different from V4L's now
> so the line numbers may not lineup anymore, and Im sure you guys wont
> like it anyhow lol
>
> Chris Lee

Hi Chris,

thank you for testing and the patch !
The suggested changes in em28xx_attach_xc3028() look good, but instead 
of introducing a second copy of em28xx_setup_xc3028() in em28xx-dvb,
we should just move this function from the v4l extension back to the core.

Mauro, I can create a patch, but I assume there is already enough 
pending em28xx stuff that requires rebasing, so I assume it's easier for 
you to do it yourself.
Let me know if I can assist you.

Regards,
Frank


--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Mauro Carvalho Chehab Jan. 12, 2014, 4:50 p.m. UTC | #2
Em Sun, 12 Jan 2014 17:43:28 +0100
Frank Schäfer <fschaefer.oss@googlemail.com> escreveu:

> On 10.01.2014 05:08, Chris Lee wrote:
> > Im not sure exactly when it broke but alot of changes have happened in
> > em28xx lately and they've broken my Kworld 330u. The issue is that
> >
> > ctl->demod = XC3028_FE_CHINA;
> > ctl->fname = XC2028_DEFAULT_FIRMWARE;
> > cfg.ctrl  = &ctl;
> >
> > are no longer being set, this causes xc2028_attach
> >
> > if (cfg->ctrl)
> > xc2028_set_config(fe, cfg->ctrl);
> >
> > to never get called. Therefore never load the firmware. Ive attached
> > my logs to show you what I mean.
> >
> > I quickly hacked up a patch, my tree is quite different from V4L's now
> > so the line numbers may not lineup anymore, and Im sure you guys wont
> > like it anyhow lol
> >
> > Chris Lee
> 
> Hi Chris,
> 
> thank you for testing and the patch !
> The suggested changes in em28xx_attach_xc3028() look good, but instead 
> of introducing a second copy of em28xx_setup_xc3028() in em28xx-dvb,
> we should just move this function from the v4l extension back to the core.
> 
> Mauro, I can create a patch, but I assume there is already enough 
> pending em28xx stuff that requires rebasing, so I assume it's easier for 
> you to do it yourself.
> Let me know if I can assist you.

Yes, I can handle it.

Regards,
Mauro
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

--- drivers/media/usb/em28xx/em28xx-dvb.c.old.c	2014-01-09 21:04:56.315258353 -0700
+++ drivers/media/usb/em28xx/em28xx-dvb.c	2014-01-09 20:42:27.631224930 -0700
@@ -829,12 +829,61 @@ 
 	.agc = 0x99,
 };
 
+static void em28xx_setup_xc3028(struct em28xx *dev, struct xc2028_ctrl *ctl)
+{
+	memset(ctl, 0, sizeof(*ctl));
+
+	ctl->fname   = XC2028_DEFAULT_FIRMWARE;
+	ctl->max_len = 64;
+	ctl->mts = em28xx_boards[dev->model].mts_firmware;
+
+	switch (dev->model) {
+	case EM2880_BOARD_EMPIRE_DUAL_TV:
+	case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900:
+	case EM2882_BOARD_TERRATEC_HYBRID_XS:
+		ctl->demod = XC3028_FE_ZARLINK456;
+		break;
+	case EM2880_BOARD_TERRATEC_HYBRID_XS:
+	case EM2880_BOARD_TERRATEC_HYBRID_XS_FR:
+	case EM2881_BOARD_PINNACLE_HYBRID_PRO:
+		ctl->demod = XC3028_FE_ZARLINK456;
+		break;
+	case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900_R2:
+	case EM2882_BOARD_PINNACLE_HYBRID_PRO_330E:
+		ctl->demod = XC3028_FE_DEFAULT;
+		break;
+	case EM2880_BOARD_AMD_ATI_TV_WONDER_HD_600:
+		ctl->demod = XC3028_FE_DEFAULT;
+		ctl->fname = XC3028L_DEFAULT_FIRMWARE;
+		break;
+	case EM2883_BOARD_HAUPPAUGE_WINTV_HVR_850:
+	case EM2883_BOARD_HAUPPAUGE_WINTV_HVR_950:
+	case EM2880_BOARD_PINNACLE_PCTV_HD_PRO:
+		/* FIXME: Better to specify the needed IF */
+		ctl->demod = XC3028_FE_DEFAULT;
+		break;
+	case EM2883_BOARD_KWORLD_HYBRID_330U:
+	case EM2882_BOARD_DIKOM_DK300:
+	case EM2882_BOARD_KWORLD_VS_DVBT:
+		ctl->demod = XC3028_FE_CHINA;
+		ctl->fname = XC2028_DEFAULT_FIRMWARE;
+		break;
+	case EM2882_BOARD_EVGA_INDTUBE:
+		ctl->demod = XC3028_FE_CHINA;
+		ctl->fname = XC3028L_DEFAULT_FIRMWARE;
+		break;
+	default:
+		ctl->demod = XC3028_FE_OREN538;
+	}
+}
+
 /* ------------------------------------------------------------------ */
 
 static int em28xx_attach_xc3028(u8 addr, struct em28xx *dev)
 {
 	struct dvb_frontend *fe;
 	struct xc2028_config cfg;
+	struct xc2028_ctrl ctl;
 
 	memset(&cfg, 0, sizeof(cfg));
 	cfg.i2c_adap  = &dev->i2c_adap[dev->def_i2c_bus];
@@ -846,6 +895,10 @@ 
 		return -EINVAL;
 	}
 
+	memset(&ctl, 0, sizeof(ctl));
+	em28xx_setup_xc3028(dev, &ctl);
+	cfg.ctrl  = &ctl;
+
 	fe = dvb_attach(xc2028_attach, dev->dvb->fe[0], &cfg);
 	if (!fe) {
 		em28xx_errdev("/2: xc3028 attach failed\n");