On 4/4/08, Another Sillyname <anothersname@xxxxxxxxxxxxxx> wrote: > Aidan > > Just to let you know that after tweaking around I've managed to get it > working stable. I had to add a sleep in modprobe.conf else the > em2880-dvb module was trying to load before em28xx had 'settled'. > > Just in case you see the problem in the future I added this to my > modprobe.conf file to fix the problem..... > > install em28xx /sbin/modprobe --ignore-install em28xx; /bin/sleep 2; > /sbin/modprobe em2880-dvb That really shouldn't happen. What problems were you seeing, exactly? > I've been reading that once 2.6.25 kernel is released there will be a > lot more support for the em28 products....hopefully it'll reduce some > of these issues going forward. The 2.6.25 code is basically just a slightly older version of v4l-dvb upstream - it adds (analog only) support for a few devices. While hopefully analog support for this device should at least make 2.6.26 as long as I get a patch tested and submitted on time, I don't expect DVB-T support for any em28xx-based device will. Perhaps for 2.6.27, perhaps not. (By the way, if it's not too much hassle, could you check if the attached patch against http://linuxtv.org/hg/v4l-dvb works for analog, especially that the device works correctly after being freshly plugged in and that sound works? It shouldn't need the card= option, and neither should the latest http://www.makomk.com/hg/v4l-dvb-em28xx. If you do test the patch, be careful not to load em2880-dvb - it's not compatible and you won't be able to unload it short of rebooting.) > Best Regards and once again thanks for your help. > > J
diff -r 37d5a01a14ca linux/Documentation/video4linux/CARDLIST.em28xx --- a/linux/Documentation/video4linux/CARDLIST.em28xx Wed Apr 02 11:10:59 2008 -0700 +++ b/linux/Documentation/video4linux/CARDLIST.em28xx Fri Apr 04 17:04:07 2008 +0100 @@ -15,3 +15,4 @@ 14 -> Pixelview Prolink PlayTV USB 2.0 (em2820/em2840) 15 -> V-Gear PocketTV (em2800) 16 -> Hauppauge WinTV HVR 950 (em2880) [2040:6513] + 17 -> Pinnacle Hybrid Pro (EM2881) (em2881) diff -r 37d5a01a14ca linux/drivers/media/video/em28xx/em28xx-cards.c --- a/linux/drivers/media/video/em28xx/em28xx-cards.c Wed Apr 02 11:10:59 2008 -0700 +++ b/linux/drivers/media/video/em28xx/em28xx-cards.c Fri Apr 04 17:04:07 2008 +0100 @@ -72,6 +72,7 @@ #define EM2820_BOARD_PROLINK_PLAYTV_USB2 14 #define EM2800_BOARD_VGEAR_POCKETTV 15 #define EM2880_BOARD_HAUPPAUGE_WINTV_HVR_950 16 +#define EM2881_BOARD_PINNACLE_HYBRID_PRO 17 struct em28xx_board em28xx_boards[] = { [EM2800_BOARD_UNKNOWN] = { @@ -405,6 +406,27 @@ .amux = EM28XX_AMUX_LINE_IN, } }, }, + [EM2881_BOARD_PINNACLE_HYBRID_PRO] = { + .name = "Pinnacle Hybrid Pro (EM2881)", + .vchannels = 3, + .tuner_type = TUNER_XC2028, + .mts_firmware = 1, + .decoder = EM28XX_TVP5150, + .input = { { + .type = EM28XX_VMUX_TELEVISION, + .vmux = TVP5150_COMPOSITE0, + .amux = 0, + }, { + .type = EM28XX_VMUX_COMPOSITE1, + .vmux = TVP5150_COMPOSITE1, + .amux = 1, + }, { + .type = EM28XX_VMUX_SVIDEO, + .vmux = TVP5150_SVIDEO, + .amux = 1, + } }, + .analog_gpio = 0x08007d6d, + }, }; const unsigned int em28xx_bcount = ARRAY_SIZE(em28xx_boards); @@ -458,6 +480,7 @@ static struct em28xx_hash_table em28xx_eeprom_hash [] = { /* P/N: SA 60002070465 Tuner: TVF7533-MF */ {0x6ce05a8f, EM2820_BOARD_PROLINK_PLAYTV_USB2, TUNER_YMEC_TVF_5533MF}, + {0xb8846b20, EM2881_BOARD_PINNACLE_HYBRID_PRO, TUNER_XC2028}, }; /* I2C devicelist hash table for devices with generic USB IDs */ @@ -743,6 +766,30 @@ #endif break; } + case EM2881_BOARD_PINNACLE_HYBRID_PRO: + { + em28xx_write_regs(dev, I2C_CLK_REG, "\x4c", 1); + msleep(10); + em28xx_write_regs(dev, 0x04, "\x08", 1); + msleep(100); + em28xx_write_regs(dev, 0x08, "\xfd", 1); + msleep(100); + em28xx_write_regs(dev, 0x08, "\xfd", 1); + msleep(100); + em28xx_write_regs(dev, 0x08, "\xff", 1); + msleep(5); + em28xx_write_regs(dev, XCLK_REG, "\x27", 1); /* switch em2880 rc protocol */ +#if 0 + em2880_ir_attach(dev,ir_codes_pinnacle2,ARRAY_SIZE(ir_codes_pinnacle2), em2880_get_key_pinnacle); +#endif + + em28xx_write_regs(dev, 0x08, "\x6d", 1); + msleep(10); + em28xx_write_regs(dev, 0x08, "\x7d", 1); + msleep(10); + break; + } + case EM2820_BOARD_KWORLD_PVRTV2800RF: /* GPIO enables sound on KWORLD PVR TV 2800RF */ em28xx_write_regs_req(dev, 0x00, 0x08, "\xf9", 1);
_______________________________________________ linux-dvb mailing list linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb