Skip to contentSkip to conversation

em28xx: fix for Dikom DK300 hybrid USB tuner (aka Kworld VS-DVB-T 323UR ) (digital mode)

PATCH In review [email protected] 3 participants 19 messages Nov 14, 2009 – Feb 10, 2010 7 messages not in the archive Media (V4L/DVB)

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 em28xx: fix for Dikom DK300 hybrid USB tuner (aka Kworld VS-DVB-T 323UR ) (digital mode)

This patch fix the Dikom DK300 hybrid usb card which is recognized as a Kworld VS-DVB-T 323UR (card=54) by the main driver, but with no tv available in Kaffeine.
The patch solves the problem for the digital part of the tuner. Analog tv has no audio (both video e audio devices are created but mplayer complains with the following message:
Error reading audio: Input/output error).
Moreover the /dev/video sometime is not deleted when the device is unplugged.

diff -r aba823ecaea6 linux/drivers/media/video/em28xx/em28xx-cards.c
--- a/linux/drivers/media/video/em28xx/em28xx-cards.c Thu Nov 12
12:21:05 2009 -0200
+++ b/linux/drivers/media/video/em28xx/em28xx-cards.c Sat Nov 14
00:33:49 2009 +0100
@@ -1422,6 +1422,9 @@

 		.tuner_type   = TUNER_XC2028,
 		.tuner_gpio   = default_tuner_gpio,
 		.decoder      = EM28XX_TVP5150,
+                .mts_firmware = 1,
+                .has_dvb      = 1,
+                .dvb_gpio     = kworld_330u_digital,

.input = { {
.type = EM28XX_VMUX_TELEVISION,
.vmux = TVP5150_COMPOSITE0,
@@ -2143,6 +2146,7 @@
ctl->demod = XC3028_FE_DEFAULT;
break;
case EM2883_BOARD_KWORLD_HYBRID_330U:
+ case EM2882_BOARD_KWORLD_VS_DVBT:
ctl->demod = XC3028_FE_CHINA;
ctl->fname = XC2028_DEFAULT_FIRMWARE;
break;
diff -r aba823ecaea6 linux/drivers/media/video/em28xx/em28xx-dvb.c
--- a/linux/drivers/media/video/em28xx/em28xx-dvb.c Thu Nov 12 12:21:05
2009 -0200
+++ b/linux/drivers/media/video/em28xx/em28xx-dvb.c Sat Nov 14 00:33:49
2009 +0100
@@ -504,6 +504,7 @@
break;
case EM2880_BOARD_TERRATEC_HYBRID_XS:
case EM2881_BOARD_PINNACLE_HYBRID_PRO:
+ case EM2882_BOARD_KWORLD_VS_DVBT:
dvb->frontend = dvb_attach(zl10353_attach,
&em28xx_zl10353_xc3028_no_i2c_gate, &dev->i2c_adap);

#1 lore raw

Continuing the testing for the analog part of the device, I've discovered that the main kernel driver (the one without the proposed patch) works better, even if not perfectly, as far as analog tv is concerned. In detail analog sound is present but is very low and noisy (it seems to be listening to a very distant radio station).
So there is something in the patch that breaks the analog tv sound (which however is not very usable in the main driver being so noisy).
Which one of the modified setting can interfer with the analog tv sound?
Thank you,
Andrea

[email protected] ha scritto:

Quoted 61 lines

This patch fix the Dikom DK300 hybrid usb card which is recognized as a Kworld VS-DVB-T 323UR (card=54) by the main driver, but with no tv available in Kaffeine.
The patch solves the problem for the digital part of the tuner. Analog tv has no audio (both video e audio devices are created but mplayer complains with the following message:
Error reading audio: Input/output error).
Moreover the /dev/video sometime is not deleted when the device is unplugged.

diff -r aba823ecaea6 linux/drivers/media/video/em28xx/em28xx-cards.c
--- a/linux/drivers/media/video/em28xx/em28xx-cards.c Thu Nov 12
12:21:05 2009 -0200
+++ b/linux/drivers/media/video/em28xx/em28xx-cards.c Sat Nov 14
00:33:49 2009 +0100

(quoted diff) +3 -0
@@ -1422,6 +1422,9 @@
         .tuner_type   = TUNER_XC2028,
         .tuner_gpio   = default_tuner_gpio,
         .decoder      = EM28XX_TVP5150,
+                .mts_firmware = 1,
+                .has_dvb      = 1,
+                .dvb_gpio     = kworld_330u_digital,
 
 
         .input        = { {

.type = EM28XX_VMUX_TELEVISION,
.vmux = TVP5150_COMPOSITE0,

(quoted diff) +1 -0
@@ -2143,6 +2146,7 @@
         ctl->demod = XC3028_FE_DEFAULT;
         break;
     case EM2883_BOARD_KWORLD_HYBRID_330U:
+    case EM2882_BOARD_KWORLD_VS_DVBT:
         ctl->demod = XC3028_FE_CHINA;
         ctl->fname = XC2028_DEFAULT_FIRMWARE;
         break;

diff -r aba823ecaea6 linux/drivers/media/video/em28xx/em28xx-dvb.c
--- a/linux/drivers/media/video/em28xx/em28xx-dvb.c Thu Nov 12
12:21:05
2009 -0200
+++ b/linux/drivers/media/video/em28xx/em28xx-dvb.c Sat Nov 14
00:33:49
2009 +0100

(quoted diff) +1 -0
@@ -504,6 +504,7 @@
         break;
     case EM2880_BOARD_TERRATEC_HYBRID_XS:
     case EM2881_BOARD_PINNACLE_HYBRID_PRO:
+    case EM2882_BOARD_KWORLD_VS_DVBT:
         dvb->frontend = dvb_attach(zl10353_attach,
                        &em28xx_zl10353_xc3028_no_i2c_gate,
                        &dev->i2c_adap);
Signature · 4 lines
-- 
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#2 lore raw
Quoted 10 lines · On Sat, Nov 14, 2009 at 8:05 AM, [email protected]…

Continuing the testing for the analog part of the device, I've discovered that the main kernel driver (the one without the proposed patch)  works better,  even if not perfectly, as far as analog tv is concerned. In detail analog sound is present but is very low and noisy  (it seems to be listening to a very  distant radio station).
So there is something in the patch that breaks the analog tv sound (which however is not very usable in the main driver being so noisy). Which one of the modified setting can interfer with the analog tv sound? Thank you,
Andrea

Did you define an analog_gpio? Or did you only define the digital gpio? The enabling of digital mode may be turning off the audio encoder.

Devin

Signature · 2 lines
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com
#3 lore raw

PATCH 1/1 em28xx: fix for Dikom DK300 hybrid USB tuner (aka Kworld VS-DVB-T 323UR )

This patch fix the Dikom DK300 hybrid usb card which is recognized as a Kworld VS-DVB-T 323UR (card=54).

The patch adds digital tv and solves analog tv audio bad quality issue.

linux/drivers/media/video/em28xx/em28xx-cards.c Sat Nov 14 23:10:47 2009 +0100 renamed from linux/drivers/media/video/em28xx/em28xx-cards.c Thu Nov 12 12:21:05 2009 -0200 +6 -0
diff -r aba823ecaea6 linux/drivers/media/video/em28xx/em28xx-cards.c
@@ -1422,18 +1422,24 @@
        .tuner_type   = TUNER_XC2028,
        .tuner_gpio   = default_tuner_gpio,
        .decoder      = EM28XX_TVP5150,
+                .mts_firmware = 1,
+                .has_dvb      = 1,
+                .dvb_gpio     = kworld_330u_digital,                                                                                                                                                         
 
        .input        = { {
            .type     = EM28XX_VMUX_TELEVISION,
            .vmux     = TVP5150_COMPOSITE0,
            .amux     = EM28XX_AMUX_VIDEO,
+            .gpio     = default_analog,
        }, {
            .type     = EM28XX_VMUX_COMPOSITE1,
            .vmux     = TVP5150_COMPOSITE1,
            .amux     = EM28XX_AMUX_LINE_IN,
+            .gpio     = default_analog,
        }, {
            .type     = EM28XX_VMUX_SVIDEO,
            .vmux     = TVP5150_SVIDEO,
            .amux     = EM28XX_AMUX_LINE_IN,
+            .gpio     = default_analog,
        } },
    },
    [EM2882_BOARD_TERRATEC_HYBRID_XS] = {
@@ -2143,6 +2149,7 @@
        ctl->demod = XC3028_FE_DEFAULT;
        break;
    case EM2883_BOARD_KWORLD_HYBRID_330U:
+    case EM2882_BOARD_KWORLD_VS_DVBT:
        ctl->demod = XC3028_FE_CHINA;
        ctl->fname = XC2028_DEFAULT_FIRMWARE;
        break;
linux/drivers/media/video/em28xx/em28xx-dvb.c Sat Nov 14 23:10:47 2009 +0100 renamed from linux/drivers/media/video/em28xx/em28xx-dvb.c Thu Nov 12 12:21:05 2009 -0200 +1 -0
diff -r aba823ecaea6 linux/drivers/media/video/em28xx/em28xx-dvb.c
@@ -504,6 +504,7 @@
        break;
    case EM2880_BOARD_TERRATEC_HYBRID_XS:
    case EM2881_BOARD_PINNACLE_HYBRID_PRO:
+    case EM2882_BOARD_KWORLD_VS_DVBT:
        dvb->frontend = dvb_attach(zl10353_attach,
                       &em28xx_zl10353_xc3028_no_i2c_gate,
                       &dev->i2c_adap);
#4 lore raw

Re: [PATCH] em28xx: fix for Dikom DK300 hybrid USB tuner (aka Kworld VS-DVB-T 323UR )

Quoted 55 lines · [email protected] wrote:

This patch fix the Dikom DK300 hybrid usb card which is recognized as a Kworld VS-DVB-T 323UR (card=54).

The patch adds digital tv and solves analog tv audio bad quality issue.

diff -r aba823ecaea6 linux/drivers/media/video/em28xx/em28xx-cards.c
--- a/linux/drivers/media/video/em28xx/em28xx-cards.c Thu Nov 12
12:21:05 2009 -0200
+++ b/linux/drivers/media/video/em28xx/em28xx-cards.c Sat Nov 14
23:10:47 2009 +0100

linux/drivers/media/video/em28xx/em28xx-cards.c Sat Nov 14 23:10:47 2009 +0100 renamed from linux/drivers/media/video/em28xx/em28xx-cards.c Thu Nov 12 12:21:05 2009 -0200 +6 -0
@@ -1422,18 +1422,24 @@
        .tuner_type   = TUNER_XC2028,
        .tuner_gpio   = default_tuner_gpio,
        .decoder      = EM28XX_TVP5150,
+                .mts_firmware = 1,
+                .has_dvb      = 1,
+                .dvb_gpio     = 
 kworld_330u_digital,                                                                                                                                                         
 
        .input        = { {
            .type     = EM28XX_VMUX_TELEVISION,
            .vmux     = TVP5150_COMPOSITE0,
            .amux     = EM28XX_AMUX_VIDEO,
+            .gpio     = default_analog,
        }, {
            .type     = EM28XX_VMUX_COMPOSITE1,
            .vmux     = TVP5150_COMPOSITE1,
            .amux     = EM28XX_AMUX_LINE_IN,
+            .gpio     = default_analog,
        }, {
            .type     = EM28XX_VMUX_SVIDEO,
            .vmux     = TVP5150_SVIDEO,
            .amux     = EM28XX_AMUX_LINE_IN,
+            .gpio     = default_analog,
        } },
    },
    [EM2882_BOARD_TERRATEC_HYBRID_XS] = {
(quoted diff) +1 -0
@@ -2143,6 +2149,7 @@
        ctl->demod = XC3028_FE_DEFAULT;
        break;
    case EM2883_BOARD_KWORLD_HYBRID_330U:
+    case EM2882_BOARD_KWORLD_VS_DVBT:
        ctl->demod = XC3028_FE_CHINA;
        ctl->fname = XC2028_DEFAULT_FIRMWARE;
        break;

diff -r aba823ecaea6 linux/drivers/media/video/em28xx/em28xx-dvb.c
--- a/linux/drivers/media/video/em28xx/em28xx-dvb.c Thu Nov 12
12:21:05 2009 -0200
+++ b/linux/drivers/media/video/em28xx/em28xx-dvb.c Sat Nov 14
23:10:47 2009 +0100

linux/drivers/media/video/em28xx/em28xx-dvb.c Sat Nov 14 23:10:47 2009 +0100 line 510

Quoted 7 lines
linux/drivers/media/video/em28xx/em28xx-dvb.c Sat Nov 14 23:10:47 2009 +0100 renamed from linux/drivers/media/video/em28xx/em28xx-dvb.c Thu Nov 12 12:21:05 2009 -0200 +1 -0
@@ -504,6 +504,7 @@
        break;
    case EM2880_BOARD_TERRATEC_HYBRID_XS:
    case EM2881_BOARD_PINNACLE_HYBRID_PRO:
+    case EM2882_BOARD_KWORLD_VS_DVBT:
        dvb->frontend = dvb_attach(zl10353_attach,
                       &em28xx_zl10353_xc3028_no_i2c_gate,
                       &dev->i2c_adap);

Should I remove the " .valid = EM28XX_BOARD_NOT_VALIDATED," line from the device, since I have successfully tested it or the maintainer will remove it after having received positive feedbacks from other users/developers?

For the sake of completeness, the device has a strange behaviour of its two blue LEDs (whose light is visible because the upper part of the device is semi transparent):
when the device is connected they turn on and then turn off after less than a second;
if I see analogue TV with Mplayer, one of them turn on and remain in such a state till Mplayer is closed.
if I see digital TV with Kaffeine, the other led remains off till I select digital TV and a channel, but then it turns on and remain active even if I close Kaffeine and open Mplayer to see analogue tv. In such a case both the LEDs are turned on and the analogue one continue to behave correctly because if I close mplayer it turns off. The digital led turns off only if I reopen Kaffeine without selecting the digital TV. May this strange behaviour be the symptom of an incorrect switch off of the digital part of the tuner when it is not used any more by some programs?
Even my previous device (Empire dual pen) had such a strange behaviour as far as the light is concerned, so I don't think it is a real problem.
However if someone knows how to solve this, it is better.

Best regards,
Andrea

A message that is not in the archive (sent off-list or not yet received): [email protected]

A message that is not in the archive (sent off-list or not yet received): [email protected]

A message that is not in the archive (sent off-list or not yet received): [email protected]

A message that is not in the archive (sent off-list or not yet received): [email protected]

A message that is not in the archive (sent off-list or not yet received): [email protected]

#10 lore raw

On Mon, Nov 16, 2009 at 3:09 PM, [email protected]

Quoted 15 lines

Hi Devin,
I think I've done a big mistake.
I've wrongly inserted digital_default in the analog tuner section and I've compiled and tested the device.
It hasn't worked and so I've realized the mistake and the fact that the device eprom was changed.
So I've tried with the rewrite eprom script to correct the problem, but now the device doesn't work any more.
When I plug it in this is the dmesg message:

[  919.319963] usb 2-2: USB disconnect, address 10
[  921.520069] usb 2-2: new high speed USB device using ehci_hcd and address 11
[  921.656306] usb 2-2: configuration #1 chosen from 1 choice

Quoted 8 lines

And if I try to rewrite the eprom it says a lot of messages like this:

Error: Could not open file /dev/i2c-6' or /dev/i2c/6': No such file or directory

I've loaded  the i2c_dev and the em28xx manually but nothing has changed. Please don't tell me that I've destroyed my device :-(
Andrea

What does "lsusb" report as the USB ID of the device? If that value is wrong, then you indeed did trash your eeprom and would need to manually reprogram it.

Did you put the driver back to the state where the analog_gpio no longer points to default_digital? Or is the driver code still in the wrong state?

Devin

Signature · 2 lines
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com

A message that is not in the archive (sent off-list or not yet received): [email protected]

#12 lore raw
Quoted 8 lines · On Mon, Nov 16, 2009 at 3:38 PM, [email protected]…

The usb is the following:
Bus 002 Device 010: ID eb1a:e312 eMPIA Technology, Inc.
(I don't remember what it was previously, but it seems wrong how can I be sure about that?).
I have put back the driver to the original state, but still it doesn't work. Did I have to reprogram the eprom? If so, it is possible via usb? Thank you,
Andrea

Well, according to em28xx-cards.c, the EM2882_BOARD_KWORLD_VS_DVBT is eb1a:e323. You can probably just the USB_DEVICE() entry to say e312, and that will allow the driver to load (at which point you can then reprogram the eeprom back to its previous state).

I assume that when you used the eeprom rewrite script, that you used a copy of *YOUR* dmesg output from before the problem? You cannot use someone else's dmesg output, as that may not actually match your device.

Devin

Signature · 2 lines
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com

A message that is not in the archive (sent off-list or not yet received): [email protected]

#14 lore raw
Quoted 11 lines · On Mon, Nov 16, 2009 at 3:49 PM, [email protected]…

The usb is the following:
Bus 002 Device 010: ID eb1a:e312 eMPIA Technology, Inc.
(I don't remember what it was previously, but it seems wrong how can I be sure about that?).
I have put back the driver to the original state, but still it doesn't work. Did I have to reprogram the eprom? If so, it is possible via usb? Thank you,
Andrea

PS I've found an old dmesg.
The USB ID is wrong! The old one was eb1a:e323

Ok, so that confirms that indeed the eeprom was corrupted. I would suggest you hack the USB_DEVICE() entry in em28xx-cards.c to be eb1a:e312. This will allow the driver to load and the i2c device to be setup. Then use the eeprom repair script to rewrite the eeprom. At that point you should be able to remove the hack, because the USB ID will be back to eb1a:e323.

Devin

Signature · 2 lines
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com
#15 lore raw

Devin Heitmueller ha scritto:

Quoted 16 lines
Quoted 9 lines · On Mon, Nov 16, 2009 at 3:49 PM, [email protected]…

The usb is the following:
Bus 002 Device 010: ID eb1a:e312 eMPIA Technology, Inc.
(I don't remember what it was previously, but it seems wrong how can I be sure about that?).
I have put back the driver to the original state, but still it doesn't work. Did I have to reprogram the eprom? If so, it is possible via usb? Thank you,
Andrea

Quoted 3 lines

PS I've found an old dmesg.
The USB ID is wrong! The old one was eb1a:e323

Quoted 10 lines

Ok, so that confirms that indeed the eeprom was corrupted. I would suggest you hack the USB_DEVICE() entry in em28xx-cards.c to be eb1a:e312. This will allow the driver to load and the i2c device to be setup. Then use the eeprom repair script to rewrite the eeprom. At that point you should be able to remove the hack, because the USB ID will be back to eb1a:e323.

Devin

Ok Devin!
It works again!!!
If you come in Trieste, let me know and I'll pay you a beer :-)
I can also confirm that the digital_defaul gpio does not work so the kworld_330u_digital gpio is needed.
In any case I've an usbsnoop of this device but I don't know what I've to search in that 125Mb log text file. I've parsed it with the parse _snifusb2.pl tool and the result is the attached files.
Still I don't know what to search to extract the gpio for analog and digital tv.
If someone can explain me some basis, maybe I can validate the actual assumptions made in the driver as far as the gpio is concerned. In particular I suspect that the digital demodulator remains active when switching from digital to analog tv.

Andrea

#16 lore raw

PATCH 1/1 em28xx: fix for Dikom DK300 hybrid USB tuner (aka Kworld VS-DVB-T 323UR )

In reply to Devin Heitmueller

This patch fix the Dikom DK300 hybrid usb card which is recognized as a Kworld VS-DVB-T 323UR (card=54).

The patch adds digital tv and solves analogue tv audio bad quality issue. Moreover it removes the composite and s-video analogue inputs which are not present on the board.

Not tested: remote controller
To be done: I attach the usbsnoop obtained some month ago using windows xp.
It seems that with the proposed patch the digital demodulator remains activated if the tuner is switched from digital to analogue mode. Workaorund is to unplug and replug the device when switching from digital to analogue.
If someone can explain how to verify the gpio settings using the usbsnoop, the above issue perhaps can be resolved.

linux/drivers/media/video/em28xx/em28xx-cards.c +8 -2
diff -r aba823ecaea6 linux/drivers/media/video/em28xx/em28xx-cards.c
@@ -1422,19 +1422,25 @@
 		.tuner_type   = TUNER_XC2028,
 		.tuner_gpio   = default_tuner_gpio,
 		.decoder      = EM28XX_TVP5150,
+                .mts_firmware = 1,
+                .has_dvb      = 1,
+                .dvb_gpio     = kworld_330u_digital, 
 
 
 		.input        = { {
 			.type     = EM28XX_VMUX_TELEVISION,
 			.vmux     = TVP5150_COMPOSITE0,
 			.amux     = EM28XX_AMUX_VIDEO,
-		}, {
+			.gpio     = default_analog,
+		},/* {
 			.type     = EM28XX_VMUX_COMPOSITE1,
 			.vmux     = TVP5150_COMPOSITE1,
 			.amux     = EM28XX_AMUX_LINE_IN,
+			.gpio     = kworld_330u_analog,
 		}, {
 			.type     = EM28XX_VMUX_SVIDEO,
 			.vmux     = TVP5150_SVIDEO,
 			.amux     = EM28XX_AMUX_LINE_IN,
-		} },
+			.gpio     = kworld_330u_analog,
+		} */},
 	},

[EM2882_BOARD_TERRATEC_HYBRID_XS] = {
.name = "Terratec Hybrid XS (em2882)",
@@ -2143,6 +2149,7 @@
ctl->demod = XC3028_FE_DEFAULT; break;
case EM2883_BOARD_KWORLD_HYBRID_330U:
+ case EM2882_BOARD_KWORLD_VS_DVBT:
ctl->demod = XC3028_FE_CHINA; ctl->fname = XC2028_DEFAULT_FIRMWARE; break;

linux/drivers/media/video/em28xx/em28xx-dvb.c +1 -0
diff -r aba823ecaea6 linux/drivers/media/video/em28xx/em28xx-dvb.c
@@ -504,6 +504,7 @@
 		break;
 	case EM2880_BOARD_TERRATEC_HYBRID_XS:
 	case EM2881_BOARD_PINNACLE_HYBRID_PRO:
+	case EM2882_BOARD_KWORLD_VS_DVBT:
 		dvb->frontend = dvb_attach(zl10353_attach,
 					   &em28xx_zl10353_xc3028_no_i2c_gate,
 					   &dev->i2c_adap);
#17 lore raw

PATCH 1/1 em28xx: add Dikom DK300 hybrid USB tuner

In reply to Devin Heitmueller

This patch add the Dikom DK300 hybrid usb card.

The patch adds digital and analogue tv support.

Not tested: remote controller

To be done: it seems that with the proposed patch the digital demodulator remains activated if the tuner is switched from digital to analogue mode. Workaorund is to unplug and replug the device when switching from
digital to analogue.
If someone can explain how to verify the gpio settings using the
usbsnoop, the above issue perhaps can be resolved.
I attach the usbsnoop obtained some month ago using windows xp.

linux/drivers/media/video/em28xx/em28xx-cards.c +49 -0
diff -r d6520e486ee6 linux/drivers/media/video/em28xx/em28xx-cards.c
@@ -245,6 +245,12 @@
 	{	-1,		-1,	-1,		-1},
 };
 
+static struct em28xx_reg_seq dikom_dk300_digital[] = {
+	{EM28XX_R08_GPIO,	0x6e,	~EM_GPIO_4,	10},
+	{EM2880_R04_GPO,	0x08,	0xff,		10},
+	{ -1,			-1,	-1,		-1},
+};
+
 
 /*
  *  Board definitions
@@ -1673,6 +1679,22 @@
 		.tuner_gpio    = reddo_dvb_c_usb_box,
 		.has_dvb       = 1,
 	},
+	[EM2882_BOARD_DIKOM_DK300] = {
+		.name         = "Dikom DK300",
+		.valid        = EM28XX_BOARD_NOT_VALIDATED,
+		.tuner_type   = TUNER_XC2028,
+		.tuner_gpio   = default_tuner_gpio,
+		.decoder      = EM28XX_TVP5150,
+		.mts_firmware = 1,
+		.has_dvb      = 1,
+		.dvb_gpio     = dikom_dk300_digital,
+		.input        = { {
+			.type     = EM28XX_VMUX_TELEVISION,
+			.vmux     = TVP5150_COMPOSITE0,
+			.amux     = EM28XX_AMUX_VIDEO,
+			.gpio     = default_analog,
+		} },
+	},
 };
 const unsigned int em28xx_bcount = ARRAY_SIZE(em28xx_boards);
 
@@ -1812,6 +1834,7 @@
 	{0xcee44a99, EM2882_BOARD_EVGA_INDTUBE, TUNER_XC2028},
 	{0xb8846b20, EM2881_BOARD_PINNACLE_HYBRID_PRO, TUNER_XC2028},
 	{0x63f653bd, EM2870_BOARD_REDDO_DVB_C_USB_BOX, TUNER_ABSENT},
+	{0x4e913442, EM2882_BOARD_DIKOM_DK300, TUNER_XC2028},
 };
 
 /* I2C devicelist hash table for devices with generic USB IDs */
@@ -2168,6 +2191,7 @@
 		ctl->demod = XC3028_FE_DEFAULT;
 		break;
 	case EM2883_BOARD_KWORLD_HYBRID_330U:
+	case EM2882_BOARD_DIKOM_DK300:
 		ctl->demod = XC3028_FE_CHINA;
 		ctl->fname = XC2028_DEFAULT_FIRMWARE;
 		break;
@@ -2480,6 +2504,31 @@
 		em28xx_gpio_set(dev, dev->board.tuner_gpio);
 		em28xx_set_mode(dev, EM28XX_ANALOG_MODE);
 		break;
+
+/*
+		 * The Dikom DK300 is detected as an Kworld VS-DVB-T 323UR.
+		 *
+		 * This occurs because they share identical USB vendor and
+		 * product IDs.
+		 *
+		 * What we do here is look up the EEPROM hash of the Dikom
+		 * and if it is found then we decide that we do not have
+		 * a Kworld and reset the device to the Dikom instead.
+		 *
+		 * This solution is only valid if they do not share eeprom
+		 * hash identities which has not been determined as yet.
+		 */
+	case EM2882_BOARD_KWORLD_VS_DVBT:
+		if (!em28xx_hint_board(dev))
+			em28xx_set_model(dev);
+
+		/* In cases where we had to use a board hint, the call to
+		   em28xx_set_mode() in em28xx_pre_card_setup() was a no-op,
+		   so make the call now so the analog GPIOs are set properly
+		   before probing the i2c bus. */
+		em28xx_gpio_set(dev, dev->board.tuner_gpio);
+		em28xx_set_mode(dev, EM28XX_ANALOG_MODE);
+		break;
 	}
 
 #if defined(CONFIG_MODULES) && defined(MODULE)
linux/drivers/media/video/em28xx/em28xx-dvb.c +1 -0
diff -r d6520e486ee6 linux/drivers/media/video/em28xx/em28xx-dvb.c
@@ -504,6 +504,7 @@
 		break;
 	case EM2880_BOARD_TERRATEC_HYBRID_XS:
 	case EM2881_BOARD_PINNACLE_HYBRID_PRO:
+	case EM2882_BOARD_DIKOM_DK300:
 		dvb->frontend = dvb_attach(zl10353_attach,
 					   &em28xx_zl10353_xc3028_no_i2c_gate,
 					   &dev->i2c_adap);
linux/drivers/media/video/em28xx/em28xx.h +1 -0
diff -r d6520e486ee6 linux/drivers/media/video/em28xx/em28xx.h
@@ -112,6 +112,7 @@
 #define EM2861_BOARD_GADMEI_UTV330PLUS           72
 #define EM2870_BOARD_REDDO_DVB_C_USB_BOX          73
 #define EM2800_BOARD_VC211A			  74
+#define EM2882_BOARD_DIKOM_DK300		75
 
 /* Limits minimum and default number of buffers */
 #define EM28XX_MIN_BUF 4
#18 lore raw

PATCH 1/1 em28xx: add Dikom DK300 hybrid USB tuner

In reply to Devin Heitmueller

This patch add the Dikom DK300 hybrid usb card.

The patch adds digital and analogue tv support.

Not tested: remote controller

To be done: it seems that with the proposed patch the digital demodulator remains activated if the tuner is switched from digital to analogue mode.
Workaorund is to unplug and replug the device when switching from digital to analogue.
If someone can explain how to verify the gpio settings using the usbsnoop, the above issue perhaps can be resolved.
I attach the usbsnoop obtained some month ago using windows xp.

diff -r d6520e486ee6 linux/drivers/media/video/em28xx/em28xx-cards.c
--- a/linux/drivers/media/video/em28xx/em28xx-cards.c Sat Jan 30
01:27:34 2010 -0200
+++ b/linux/drivers/media/video/em28xx/em28xx-cards.c Sat Jan 30
18:04:13 2010 +0100
@@ -245,6 +245,12 @@
{ -1, -1, -1, -1},
};

+static struct em28xx_reg_seq dikom_dk300_digital[] = {
+ {EM28XX_R08_GPIO, 0x6e, ~EM_GPIO_4, 10},
+ {EM2880_R04_GPO, 0x08, 0xff, 10},
+ { -1, -1, -1, -1},
+};
+

/*
* Board definitions
@@ -1673,6 +1679,22 @@
.tuner_gpio = reddo_dvb_c_usb_box,
.has_dvb = 1,
},
+ [EM2882_BOARD_DIKOM_DK300] = {

+		.name         = "Dikom DK300",
+		.valid        = EM28XX_BOARD_NOT_VALIDATED,
+		.tuner_type   = TUNER_XC2028,
+		.tuner_gpio   = default_tuner_gpio,
+		.decoder      = EM28XX_TVP5150,
+		.mts_firmware = 1,
+		.has_dvb      = 1,
+		.dvb_gpio     = dikom_dk300_digital,
+		.input        = { {
+			.type     = EM28XX_VMUX_TELEVISION,
+			.vmux     = TVP5150_COMPOSITE0,
+			.amux     = EM28XX_AMUX_VIDEO,
+			.gpio     = default_analog,

+ } },
+ },
};
const unsigned int em28xx_bcount = ARRAY_SIZE(em28xx_boards);

@@ -1812,6 +1834,7 @@
{0xcee44a99, EM2882_BOARD_EVGA_INDTUBE, TUNER_XC2028}, {0xb8846b20, EM2881_BOARD_PINNACLE_HYBRID_PRO, TUNER_XC2028}, {0x63f653bd, EM2870_BOARD_REDDO_DVB_C_USB_BOX, TUNER_ABSENT},
+ {0x4e913442, EM2882_BOARD_DIKOM_DK300, TUNER_XC2028},
};

/* I2C devicelist hash table for devices with generic USB IDs */
@@ -2168,6 +2191,7 @@
ctl->demod = XC3028_FE_DEFAULT;
break;
case EM2883_BOARD_KWORLD_HYBRID_330U:
+ case EM2882_BOARD_DIKOM_DK300:
ctl->demod = XC3028_FE_CHINA; ctl->fname = XC2028_DEFAULT_FIRMWARE; break;
@@ -2480,6 +2504,31 @@
em28xx_gpio_set(dev, dev->board.tuner_gpio); em28xx_set_mode(dev, EM28XX_ANALOG_MODE); break;
+
+/*
+ * The Dikom DK300 is detected as an Kworld VS-DVB-T 323UR.
+ *
+ * This occurs because they share identical USB vendor and
+ * product IDs.
+ *
+ * What we do here is look up the EEPROM hash of the Dikom
+ * and if it is found then we decide that we do not have
+ * a Kworld and reset the device to the Dikom instead.
+ *
+ * This solution is only valid if they do not share eeprom
+ * hash identities which has not been determined as yet.
+ */
+ case EM2882_BOARD_KWORLD_VS_DVBT:
+ if (!em28xx_hint_board(dev))
+ em28xx_set_model(dev);
+
+ /* In cases where we had to use a board hint, the call to

+		   em28xx_set_mode() in em28xx_pre_card_setup() was a no-op,
+		   so make the call now so the analog GPIOs are set properly
+		   before probing the i2c bus. */

+ em28xx_gpio_set(dev, dev->board.tuner_gpio);
+ em28xx_set_mode(dev, EM28XX_ANALOG_MODE);
+ break;
}

#if defined(CONFIG_MODULES) && defined(MODULE)
diff -r d6520e486ee6 linux/drivers/media/video/em28xx/em28xx-dvb.c
--- a/linux/drivers/media/video/em28xx/em28xx-dvb.c Sat Jan 30 01:27:34
2010 -0200
+++ b/linux/drivers/media/video/em28xx/em28xx-dvb.c Sat Jan 30 18:04:13
2010 +0100
@@ -504,6 +504,7 @@
break;
case EM2880_BOARD_TERRATEC_HYBRID_XS:
case EM2881_BOARD_PINNACLE_HYBRID_PRO:
+ case EM2882_BOARD_DIKOM_DK300:
dvb->frontend = dvb_attach(zl10353_attach,
&em28xx_zl10353_xc3028_no_i2c_gate, &dev->i2c_adap);
diff -r d6520e486ee6 linux/drivers/media/video/em28xx/em28xx.h
--- a/linux/drivers/media/video/em28xx/em28xx.h Sat Jan 30 01:27:34 2010
-0200
+++ b/linux/drivers/media/video/em28xx/em28xx.h Sat Jan 30 18:04:13 2010
+0100
@@ -112,6 +112,7 @@
#define EM2861_BOARD_GADMEI_UTV330PLUS 72
#define EM2870_BOARD_REDDO_DVB_C_USB_BOX 73
#define EM2800_BOARD_VC211A 74
+#define EM2882_BOARD_DIKOM_DK300 75

/* Limits minimum and default number of buffers */ #define EM28XX_MIN_BUF 4

#19 lore raw

PATCH 1/1 em28xx: add Dikom DK300 hybrid USB tuner

In reply to Devin Heitmueller

This patch add the Dikom DK300 hybrid usb card.

The patch adds digital and analogue tv support.

Not working: remote controller

To be done: it seems that with the proposed patch the digital demodulator remains activated if the tuner is switched from digital to analogue mode.
Workaorund is to unplug and replug the device when switching from digital to analogue.
If someone can explain how to verify the gpio settings using the usbsnoop, the above issue perhaps can be resolved.

diff -r d6520e486ee6 linux/drivers/media/video/em28xx/em28xx-cards.c
--- a/linux/drivers/media/video/em28xx/em28xx-cards.c Sat Jan 30
01:27:34 2010 -0200
+++ b/linux/drivers/media/video/em28xx/em28xx-cards.c Sat Jan 30
18:04:13 2010 +0100
@@ -245,6 +245,12 @@
{ -1, -1, -1, -1},
};

+static struct em28xx_reg_seq dikom_dk300_digital[] = {
+ {EM28XX_R08_GPIO, 0x6e, ~EM_GPIO_4, 10},
+ {EM2880_R04_GPO, 0x08, 0xff, 10},
+ { -1, -1, -1, -1},
+};
+

/*
* Board definitions
@@ -1673,6 +1679,22 @@
.tuner_gpio = reddo_dvb_c_usb_box,
.has_dvb = 1,
},
+ [EM2882_BOARD_DIKOM_DK300] = {

+		.name         = "Dikom DK300",
+		.valid        = EM28XX_BOARD_NOT_VALIDATED,
+		.tuner_type   = TUNER_XC2028,
+		.tuner_gpio   = default_tuner_gpio,
+		.decoder      = EM28XX_TVP5150,
+		.mts_firmware = 1,
+		.has_dvb      = 1,
+		.dvb_gpio     = dikom_dk300_digital,
+		.input        = { {
+			.type     = EM28XX_VMUX_TELEVISION,
+			.vmux     = TVP5150_COMPOSITE0,
+			.amux     = EM28XX_AMUX_VIDEO,
+			.gpio     = default_analog,

+ } },
+ },
};
const unsigned int em28xx_bcount = ARRAY_SIZE(em28xx_boards);

@@ -1812,6 +1834,7 @@
{0xcee44a99, EM2882_BOARD_EVGA_INDTUBE, TUNER_XC2028}, {0xb8846b20, EM2881_BOARD_PINNACLE_HYBRID_PRO, TUNER_XC2028}, {0x63f653bd, EM2870_BOARD_REDDO_DVB_C_USB_BOX, TUNER_ABSENT},
+ {0x4e913442, EM2882_BOARD_DIKOM_DK300, TUNER_XC2028},
};

/* I2C devicelist hash table for devices with generic USB IDs */
@@ -2168,6 +2191,7 @@
ctl->demod = XC3028_FE_DEFAULT;
break;
case EM2883_BOARD_KWORLD_HYBRID_330U:
+ case EM2882_BOARD_DIKOM_DK300:
ctl->demod = XC3028_FE_CHINA; ctl->fname = XC2028_DEFAULT_FIRMWARE; break;
@@ -2480,6 +2504,31 @@
em28xx_gpio_set(dev, dev->board.tuner_gpio); em28xx_set_mode(dev, EM28XX_ANALOG_MODE); break;
+
+/*
+ * The Dikom DK300 is detected as an Kworld VS-DVB-T 323UR.
+ *
+ * This occurs because they share identical USB vendor and
+ * product IDs.
+ *
+ * What we do here is look up the EEPROM hash of the Dikom
+ * and if it is found then we decide that we do not have
+ * a Kworld and reset the device to the Dikom instead.
+ *
+ * This solution is only valid if they do not share eeprom
+ * hash identities which has not been determined as yet.
+ */
+ case EM2882_BOARD_KWORLD_VS_DVBT:
+ if (!em28xx_hint_board(dev))
+ em28xx_set_model(dev);
+
+ /* In cases where we had to use a board hint, the call to

+		   em28xx_set_mode() in em28xx_pre_card_setup() was a no-op,
+		   so make the call now so the analog GPIOs are set properly
+		   before probing the i2c bus. */

+ em28xx_gpio_set(dev, dev->board.tuner_gpio);
+ em28xx_set_mode(dev, EM28XX_ANALOG_MODE);
+ break;
}

#if defined(CONFIG_MODULES) && defined(MODULE)
diff -r d6520e486ee6 linux/drivers/media/video/em28xx/em28xx-dvb.c
--- a/linux/drivers/media/video/em28xx/em28xx-dvb.c Sat Jan 30 01:27:34
2010 -0200
+++ b/linux/drivers/media/video/em28xx/em28xx-dvb.c Sat Jan 30 18:04:13
2010 +0100
@@ -504,6 +504,7 @@
break;
case EM2880_BOARD_TERRATEC_HYBRID_XS:
case EM2881_BOARD_PINNACLE_HYBRID_PRO:
+ case EM2882_BOARD_DIKOM_DK300:
dvb->frontend = dvb_attach(zl10353_attach,
&em28xx_zl10353_xc3028_no_i2c_gate, &dev->i2c_adap);
diff -r d6520e486ee6 linux/drivers/media/video/em28xx/em28xx.h
--- a/linux/drivers/media/video/em28xx/em28xx.h Sat Jan 30 01:27:34 2010
-0200
+++ b/linux/drivers/media/video/em28xx/em28xx.h Sat Jan 30 18:04:13 2010
+0100
@@ -112,6 +112,7 @@
#define EM2861_BOARD_GADMEI_UTV330PLUS 72
#define EM2870_BOARD_REDDO_DVB_C_USB_BOX 73
#define EM2800_BOARD_VC211A 74
+#define EM2882_BOARD_DIKOM_DK300 75

/* Limits minimum and default number of buffers */ #define EM28XX_MIN_BUF 4

#20 lore raw

Re: [PATCH] em28xx: add Dikom DK300 hybrid USB tuner

Quoted 11 lines · [email protected] wrote:

This patch add the Dikom DK300 hybrid usb card.

The patch adds digital and analogue tv support.

Not working: remote controller

diff -r d6520e486ee6 linux/drivers/media/video/em28xx/em28xx-cards.c
--- a/linux/drivers/media/video/em28xx/em28xx-cards.c Sat Jan 30
01:27:34 2010 -0200
+++ b/linux/drivers/media/video/em28xx/em28xx-cards.c Sat Jan 30
18:04:13 2010 +0100

Your patch got mangled by Thunderbird. You should or use Asalted Patches plugin:
https://hg.mozilla.org/users/clarkbw_gnome.org/asalted-patches/

or use another emailer. Without the above plugin, long lines are broken, damaging your patch.

Cheers,
Mauro

#21 lore raw

Re: [PATCH] em28xx: add Dikom DK300 hybrid USB tuner

Mauro Carvalho Chehab ha scritto:

Quoted 21 lines
Quoted 8 lines · [email protected] wrote:

This patch add the Dikom DK300 hybrid usb card.

The patch adds digital and analogue tv support.

Not working: remote controller

Quoted 6 lines

diff -r d6520e486ee6 linux/drivers/media/video/em28xx/em28xx-cards.c
--- a/linux/drivers/media/video/em28xx/em28xx-cards.c Sat Jan 30
01:27:34 2010 -0200
+++ b/linux/drivers/media/video/em28xx/em28xx-cards.c Sat Jan 30
18:04:13 2010 +0100

Your patch got mangled by Thunderbird. You should or use Asalted Patches plugin:
https://hg.mozilla.org/users/clarkbw_gnome.org/asalted-patches/

Quoted 7 lines

or use another emailer. Without the above plugin, long lines are broken, damaging your patch.

Cheers,
Mauro

Hi Mauro,
I've tried to install the extension, but it is not compatible with mine tb version (which is the one from kubuntu repositories 2.0.0.23).
Do you know if there is any tb config that can be manually changed to solve the problem. If not, do you know if seamonkey has the same issue (in case I have to chenge to another mail program this is my first choose)? Thank you,
Xwang

#22 lore raw

Re: [PATCH] em28xx: add Dikom DK300 hybrid USB tuner

Quoted 25 lines · [email protected] wrote:

Mauro Carvalho Chehab ha scritto:

Quoted 24 lines
Quoted 8 lines · [email protected] wrote:

This patch add the Dikom DK300 hybrid usb card.

The patch adds digital and analogue tv support.

Not working: remote controller

Quoted 6 lines

diff -r d6520e486ee6 linux/drivers/media/video/em28xx/em28xx-cards.c
--- a/linux/drivers/media/video/em28xx/em28xx-cards.c Sat Jan 30
01:27:34 2010 -0200
+++ b/linux/drivers/media/video/em28xx/em28xx-cards.c Sat Jan 30
18:04:13 2010 +0100

Your patch got mangled by Thunderbird. You should or use Asalted Patches plugin:
https://hg.mozilla.org/users/clarkbw_gnome.org/asalted-patches/

or use another emailer. Without the above plugin, long lines are broken, damaging your patch.

Quoted 7 lines
Quoted 4 lines

Cheers,
Mauro

Hi Mauro,
I've tried to install the extension, but it is not compatible with mine tb version (which is the one from kubuntu repositories 2.0.0.23).

I'm using it here with Thunderbird 2.0.0.22.

There's a patch on that tree that worked to me:

https://hg.mozilla.org/users/clarkbw_gnome.org/asalted-patches/rev/49d587f60371

You may try to play with that file.

Quoted 3 lines

Do you know if there is any tb config that can be manually changed to solve the problem. If not, do you know if seamonkey has the same issue (in case I have to chenge to another mail program this is my first choose)?

Seamonkey likely has the same problem. Evolution and claws-mail work, but you need to disable the line wrapping on them. I've used both in the past, but they are very slow (Evolution eats too much memory - so you need to close it from time to time - and claws-mail is monothread: when it fetches email, the edit window process seems to stop). The text mode emailers (mutt and alpine) also work, if properly configured.

Quoted 6 lines

Thank you,
Xwang

Signature · 3 lines
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Signature · 2 lines
Cheers,
Mauro
#23 lore raw

Re: [PATCH] em28xx: add Dikom DK300 hybrid USB tuner

In reply to Mauro Carvalho Chehab

Mauro Carvalho Chehab ha scritto:

Quoted 17 lines
Quoted 11 lines · [email protected] wrote:

This patch add the Dikom DK300 hybrid usb card.

The patch adds digital and analogue tv support.

Not working: remote controller

diff -r d6520e486ee6 linux/drivers/media/video/em28xx/em28xx-cards.c
--- a/linux/drivers/media/video/em28xx/em28xx-cards.c Sat Jan 30
01:27:34 2010 -0200
+++ b/linux/drivers/media/video/em28xx/em28xx-cards.c Sat Jan 30
18:04:13 2010 +0100

Your patch got mangled by Thunderbird. You should or use Asalted Patches plugin:
https://hg.mozilla.org/users/clarkbw_gnome.org/asalted-patches/

Quoted 6 lines

or use another emailer. Without the above plugin, long lines are broken, damaging your patch.

Cheers,
Mauro

Is it ok now?
Andrea

This patch add the Dikom DK300 hybrid usb card.

The patch adds digital and analogue tv support.

Not working: remote controller

To be done: it seems that with the proposed patch the digital demodulator remains activated if the tuner is switched from digital to analogue mode.
Workaorund is to unplug and replug the device when switching from digital to analogue.
If someone can explain how to verify the gpio settings using the usbsnoop, the above issue perhaps can be resolved.

linux/drivers/media/video/em28xx/em28xx-cards.c +49 -0
diff -r d6520e486ee6 linux/drivers/media/video/em28xx/em28xx-cards.c
@@ -245,6 +245,12 @@
 	{	-1,		-1,	-1,		-1},
 };
 
+static struct em28xx_reg_seq dikom_dk300_digital[] = {
+	{EM28XX_R08_GPIO,	0x6e,	~EM_GPIO_4,	10},
+	{EM2880_R04_GPO,	0x08,	0xff,		10},
+	{ -1,			-1,	-1,		-1},
+};
+
 
 /*
  *  Board definitions
@@ -1673,6 +1679,22 @@
 		.tuner_gpio    = reddo_dvb_c_usb_box,
 		.has_dvb       = 1,
 	},
+	[EM2882_BOARD_DIKOM_DK300] = {
+		.name         = "Dikom DK300",
+		.valid        = EM28XX_BOARD_NOT_VALIDATED,
+		.tuner_type   = TUNER_XC2028,
+		.tuner_gpio   = default_tuner_gpio,
+		.decoder      = EM28XX_TVP5150,
+		.mts_firmware = 1,
+		.has_dvb      = 1,
+		.dvb_gpio     = dikom_dk300_digital,
+		.input        = { {
+			.type     = EM28XX_VMUX_TELEVISION,
+			.vmux     = TVP5150_COMPOSITE0,
+			.amux     = EM28XX_AMUX_VIDEO,
+			.gpio     = default_analog,
+		} },
+	},
 };
 const unsigned int em28xx_bcount = ARRAY_SIZE(em28xx_boards);
 
@@ -1812,6 +1834,7 @@
 	{0xcee44a99, EM2882_BOARD_EVGA_INDTUBE, TUNER_XC2028},
 	{0xb8846b20, EM2881_BOARD_PINNACLE_HYBRID_PRO, TUNER_XC2028},
 	{0x63f653bd, EM2870_BOARD_REDDO_DVB_C_USB_BOX, TUNER_ABSENT},
+	{0x4e913442, EM2882_BOARD_DIKOM_DK300, TUNER_XC2028},
 };
 
 /* I2C devicelist hash table for devices with generic USB IDs */
@@ -2168,6 +2191,7 @@
 		ctl->demod = XC3028_FE_DEFAULT;
 		break;
 	case EM2883_BOARD_KWORLD_HYBRID_330U:
+	case EM2882_BOARD_DIKOM_DK300:
 		ctl->demod = XC3028_FE_CHINA;
 		ctl->fname = XC2028_DEFAULT_FIRMWARE;
 		break;
@@ -2480,6 +2504,31 @@
 		em28xx_gpio_set(dev, dev->board.tuner_gpio);
 		em28xx_set_mode(dev, EM28XX_ANALOG_MODE);
 		break;
+
+/*
+		 * The Dikom DK300 is detected as an Kworld VS-DVB-T 323UR.
+		 *
+		 * This occurs because they share identical USB vendor and
+		 * product IDs.
+		 *
+		 * What we do here is look up the EEPROM hash of the Dikom
+		 * and if it is found then we decide that we do not have
+		 * a Kworld and reset the device to the Dikom instead.
+		 *
+		 * This solution is only valid if they do not share eeprom
+		 * hash identities which has not been determined as yet.
+		 */
+	case EM2882_BOARD_KWORLD_VS_DVBT:
+		if (!em28xx_hint_board(dev))
+			em28xx_set_model(dev);
+
+		/* In cases where we had to use a board hint, the call to
+		   em28xx_set_mode() in em28xx_pre_card_setup() was a no-op,
+		   so make the call now so the analog GPIOs are set properly
+		   before probing the i2c bus. */
+		em28xx_gpio_set(dev, dev->board.tuner_gpio);
+		em28xx_set_mode(dev, EM28XX_ANALOG_MODE);
+		break;
 	}
 
 #if defined(CONFIG_MODULES) && defined(MODULE)
linux/drivers/media/video/em28xx/em28xx-dvb.c +1 -0
diff -r d6520e486ee6 linux/drivers/media/video/em28xx/em28xx-dvb.c
@@ -504,6 +504,7 @@
 		break;
 	case EM2880_BOARD_TERRATEC_HYBRID_XS:
 	case EM2881_BOARD_PINNACLE_HYBRID_PRO:
+	case EM2882_BOARD_DIKOM_DK300:
 		dvb->frontend = dvb_attach(zl10353_attach,
 					   &em28xx_zl10353_xc3028_no_i2c_gate,
 					   &dev->i2c_adap);
linux/drivers/media/video/em28xx/em28xx.h +1 -0
diff -r d6520e486ee6 linux/drivers/media/video/em28xx/em28xx.h
@@ -112,6 +112,7 @@
 #define EM2861_BOARD_GADMEI_UTV330PLUS           72
 #define EM2870_BOARD_REDDO_DVB_C_USB_BOX          73
 #define EM2800_BOARD_VC211A			  74
+#define EM2882_BOARD_DIKOM_DK300		75
 
 /* Limits minimum and default number of buffers */
 #define EM28XX_MIN_BUF 4
#24 lore raw

Re: [PATCH] em28xx: add Dikom DK300 hybrid USB tuner

Quoted 18 lines · [email protected] wrote:

Mauro Carvalho Chehab ha scritto:

Quoted 17 lines
Quoted 11 lines · [email protected] wrote:

This patch add the Dikom DK300 hybrid usb card.

The patch adds digital and analogue tv support.

Not working: remote controller

diff -r d6520e486ee6 linux/drivers/media/video/em28xx/em28xx-cards.c
--- a/linux/drivers/media/video/em28xx/em28xx-cards.c Sat Jan 30
01:27:34 2010 -0200
+++ b/linux/drivers/media/video/em28xx/em28xx-cards.c Sat Jan 30
18:04:13 2010 +0100

Your patch got mangled by Thunderbird. You should or use Asalted Patches plugin:
https://hg.mozilla.org/users/clarkbw_gnome.org/asalted-patches/

Quoted 7 lines
Quoted 6 lines

or use another emailer. Without the above plugin, long lines are broken, damaging your patch.

Cheers,
Mauro

Is it ok now?

Yes. Patchwork got it properly:

	http://patchwork.kernel.org/patch/78193/

So, the patch is now on my queue ;)

Signature · 2 lines
Cheers,
Mauro