Re: [PATCH] Add support for Asus Europa Hybrid DVB-T card (SAA7134 SubVendor ID: 0x1043 Device ID: 0x4847)
Hi, Danny Please add an entry in: linux/Documentation/video4linux/CARDLIST.saa7134 Regards. Vào CN, ngày 20, 09 năm 2009 lúc 16:14 +0100, Danny Wood viết: > Adds the device IDs and driver linking to allow the Asus Europa DVB-T > card to operate with these drivers. > The device has a SAA7134 chipset with a TD1316 Hybrid Tuner. > All inputs work on the card including switching between DVB-T and > Analogue TV, there is also no IR with this card. > > (Resent with fixed email formatting) > > Signed-off-by: Danny Wood > diff -ruN a/linux/drivers/media/video/saa7134/saa7134-cards.c > b/linux/drivers/media/video/saa7134/saa7134-cards.c > --- a/linux/drivers/media/video/saa7134/saa7134-cards.c 2009-09-20 > 09:10:03.0 +0100 > +++ b/linux/drivers/media/video/saa7134/saa7134-cards.c 2009-09-20 > 09:07:21.0 +0100 > @@ -5317,6 +5317,30 @@ > .amux = TV, > }, > }, > + [SAA7134_BOARD_ASUS_EUROPA_HYBRID] = { > + .name = "Asus Europa Hybrid OEM", > + .audio_clock= 0x00187de7, > + .tuner_type = TUNER_PHILIPS_TD1316, > + .radio_type = UNSET, > + .tuner_addr = 0x61, > + .radio_addr = ADDR_UNSET, > + .tda9887_conf = TDA9887_PRESENT | TDA9887_PORT1_ACTIVE, > + .mpeg = SAA7134_MPEG_DVB, > + .inputs = {{ > + .name = name_tv, > + .vmux = 3, > + .amux = TV, > + .tv = 1, > + },{ > + .name = name_comp1, > + .vmux = 4, > + .amux = LINE2, > + },{ > + .name = name_svideo, > + .vmux = 8, > + .amux = LINE2, > + }}, > + }, > > }; > > @@ -6455,6 +6479,12 @@ > .subvendor= PCI_VENDOR_ID_PHILIPS, > .subdevice= 0x2004, > .driver_data = SAA7134_BOARD_ZOLID_HYBRID_PCI, > + },{ > + .vendor = PCI_VENDOR_ID_PHILIPS, > + .device = PCI_DEVICE_ID_PHILIPS_SAA7134, > + .subvendor= 0x1043, > + .subdevice= 0x4847, > + .driver_data = SAA7134_BOARD_ASUS_EUROPA_HYBRID, > }, { > /* --- boards without eeprom + subsystem ID --- */ > .vendor = PCI_VENDOR_ID_PHILIPS, > @@ -7162,6 +7192,7 @@ > /* break intentionally omitted */ > case SAA7134_BOARD_VIDEOMATE_DVBT_300: > case SAA7134_BOARD_ASUS_EUROPA2_HYBRID: > + case SAA7134_BOARD_ASUS_EUROPA_HYBRID: > { > > /* The Philips EUROPA based hybrid boards have the tuner > diff -ruN a/linux/drivers/media/video/saa7134/saa7134-dvb.c > b/linux/drivers/media/video/saa7134/saa7134-dvb.c > --- a/linux/drivers/media/video/saa7134/saa7134-dvb.c 2009-09-20 > 09:10:03.0 +0100 > +++ b/linux/drivers/media/video/saa7134/saa7134-dvb.c 2009-09-20 > 08:58:51.0 +0100 > @@ -1116,6 +1116,7 @@ > break; > case SAA7134_BOARD_PHILIPS_EUROPA: > case SAA7134_BOARD_VIDEOMATE_DVBT_300: > + case SAA7134_BOARD_ASUS_EUROPA_HYBRID: > fe0->dvb.frontend = dvb_attach(tda10046_attach, > &philips_europa_config, > &dev->i2c_adap); > diff -ruN a/linux/drivers/media/video/saa7134/saa7134.h > b/linux/drivers/media/video/saa7134/saa7134.h > --- a/linux/drivers/media/video/saa7134/saa7134.h 2009-09-20 > 09:10:03.0 +0100 > +++ b/linux/drivers/media/video/saa7134/saa7134.h 2009-09-20 > 09:08:15.0 +0100 > @@ -298,6 +298,7 @@ > #define SAA7134_BOARD_BEHOLD_X7 171 > #define SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM 172 > #define SAA7134_BOARD_ZOLID_HYBRID_PCI 173 > +#define SAA7134_BOARD_ASUS_EUROPA_HYBRID 174 > > #define SAA7134_MAXBOARDS 32 > #define SAA7134_INPUT_MAX 8 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-media" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] dibusb-mc: New USB ID for Humax/Coex DVB-T USB Stick 2.0 High Speed
Signed-off-by: Pham Thanh Nam Add new USB ID for Humax/Coex DVB-T USB Stick 2.0 High Speed diff -ur a/linux/drivers/media/dvb/dvb-usb/dibusb-mc.c b/linux/drivers/media/dvb/dvb-usb/dibusb-mc.c --- a/linux/drivers/media/dvb/dvb-usb/dibusb-mc.c 2009-07-12 20:52:32.0 +0700 +++ b/linux/drivers/media/dvb/dvb-usb/dibusb-mc.c 2009-07-12 20:12:56.0 +0700 @@ -42,6 +42,8 @@ /* 11 */ { USB_DEVICE(USB_VID_ULTIMA_ELECTRONIC, USB_PID_ARTEC_T14_WARM) }, /* 12 */ { USB_DEVICE(USB_VID_LEADTEK, USB_PID_WINFAST_DTV_DONGLE_COLD) }, /* 13 */ { USB_DEVICE(USB_VID_LEADTEK, USB_PID_WINFAST_DTV_DONGLE_WARM) }, +/* 14 */ { USB_DEVICE(USB_VID_HUMAX_COEX, USB_PID_DVB_T_USB_STICK_HIGH_SPEED_COLD) }, +/* 15 */ { USB_DEVICE(USB_VID_HUMAX_COEX, USB_PID_DVB_T_USB_STICK_HIGH_SPEED_WARM) }, { } /* Terminating entry */ }; MODULE_DEVICE_TABLE (usb, dibusb_dib3000mc_table); @@ -66,7 +68,7 @@ /* parameter for the MPEG2-data transfer */ .stream = { .type = USB_BULK, - .count = 7, + .count = 8, .endpoint = 0x06, .u = { .bulk = { @@ -88,7 +90,7 @@ .generic_bulk_ctrl_endpoint = 0x01, - .num_device_descs = 7, + .num_device_descs = 8, .devices = { { "DiBcom USB2.0 DVB-T reference design (MOD3000P)", { &dibusb_dib3000mc_table[0], NULL }, @@ -119,6 +121,10 @@ { &dibusb_dib3000mc_table[12], NULL }, { &dibusb_dib3000mc_table[13], NULL }, }, + { "Humax/Coex DVB-T USB Stick 2.0 High Speed", + { &dibusb_dib3000mc_table[14], NULL }, + { &dibusb_dib3000mc_table[15], NULL }, + }, { NULL }, } }; diff -ur a/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h b/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h --- a/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h 2009-07-12 20:52:32.0 +0700 +++ b/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h 2009-07-12 21:23:29.0 +0700 @@ -58,6 +58,7 @@ #define USB_VID_GIGABYTE 0x1044 #define USB_VID_YUAN 0x1164 #define USB_VID_XTENSIONS 0x1ae7 +#define USB_VID_HUMAX_COEX 0x10b9 /* Product IDs */ #define USB_PID_ADSTECH_USB2_COLD 0xa333 @@ -259,5 +260,7 @@ #define USB_PID_SONY_PLAYTV0x0003 #define USB_PID_ELGATO_EYETV_DTT 0x0021 #define USB_PID_ELGATO_EYETV_DTT_Dlx 0x0020 +#define USB_PID_DVB_T_USB_STICK_HIGH_SPEED_COLD0x5000 +#define USB_PID_DVB_T_USB_STICK_HIGH_SPEED_WARM0x5001 #endif -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: AVerMedia AVerTV GO 007 FM, no radio sound (with routing enabled)
Hi So, should we add an option for this card? For example: modprobe saa7134 card=57 radioontv Regards -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: AVerMedia AVerTV GO 007 FM, no radio sound (with routing enabled)
I read somewhere that the radio had ever worked for this card but has stopped working with newer kernels. I had the same problem when I used my card (AverMedia AverTV GO 007 FM Plus) with card=57 before. Radio had worked with old kernel versions. Try this: hg clone http://linuxtv.org/hg/v4l-dvb Edit v4l-dvb/linux/drivers/media/video/saa7134/saa7134-cards.c, go to entry [SAA7134_BOARD_AVERMEDIA_GO_007_FM], in .radio = { ... }, change .amux = LINE1 to .amux = TV make then sudo make install and reboot. I don't know why someone has changed it to LINE1. But if the modification works for you, I think we need to modify a bit. Please let us know if it works. -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] Add support for Humax/Coex DVB-T USB Stick 2.0 High Speed
This patch adds support for Humax/Coex DVB-T USB Stick 2.0 High Speed which is a very popular tuner sold in Vietnam. Tested with at least 3 tuners. It's very likely that this patch will not cause any regression. Thanks Signed-off-by: Pham Thanh Nam diff -ur a/linux/drivers/media/dvb/dvb-usb/dibusb-mc.c b/linux/drivers/media/dvb/dvb-usb/dibusb-mc.c --- a/linux/drivers/media/dvb/dvb-usb/dibusb-mc.c 2009-07-12 20:52:32.0 +0700 +++ b/linux/drivers/media/dvb/dvb-usb/dibusb-mc.c 2009-07-12 20:12:56.0 +0700 @@ -42,6 +42,8 @@ /* 11 */ { USB_DEVICE(USB_VID_ULTIMA_ELECTRONIC, USB_PID_ARTEC_T14_WARM) }, /* 12 */ { USB_DEVICE(USB_VID_LEADTEK, USB_PID_WINFAST_DTV_DONGLE_COLD) }, /* 13 */ { USB_DEVICE(USB_VID_LEADTEK, USB_PID_WINFAST_DTV_DONGLE_WARM) }, +/* 14 */ { USB_DEVICE(USB_VID_HUMAX_COEX, USB_PID_DVB_T_USB_STICK_HIGH_SPEED_COLD) }, +/* 15 */ { USB_DEVICE(USB_VID_HUMAX_COEX, USB_PID_DVB_T_USB_STICK_HIGH_SPEED_WARM) }, { } /* Terminating entry */ }; MODULE_DEVICE_TABLE (usb, dibusb_dib3000mc_table); @@ -66,7 +68,7 @@ /* parameter for the MPEG2-data transfer */ .stream = { .type = USB_BULK, - .count = 7, + .count = 8, .endpoint = 0x06, .u = { .bulk = { @@ -88,7 +90,7 @@ .generic_bulk_ctrl_endpoint = 0x01, - .num_device_descs = 7, + .num_device_descs = 8, .devices = { { "DiBcom USB2.0 DVB-T reference design (MOD3000P)", { &dibusb_dib3000mc_table[0], NULL }, @@ -119,6 +121,10 @@ { &dibusb_dib3000mc_table[12], NULL }, { &dibusb_dib3000mc_table[13], NULL }, }, + { "Humax/Coex DVB-T USB Stick 2.0 High Speed", + { &dibusb_dib3000mc_table[14], NULL }, + { &dibusb_dib3000mc_table[15], NULL }, + }, { NULL }, } }; diff -ur a/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h b/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h --- a/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h 2009-07-12 20:52:32.0 +0700 +++ b/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h 2009-07-12 21:23:29.0 +0700 @@ -58,6 +58,7 @@ #define USB_VID_GIGABYTE 0x1044 #define USB_VID_YUAN 0x1164 #define USB_VID_XTENSIONS 0x1ae7 +#define USB_VID_HUMAX_COEX 0x10b9 /* Product IDs */ #define USB_PID_ADSTECH_USB2_COLD 0xa333 @@ -259,5 +260,7 @@ #define USB_PID_SONY_PLAYTV0x0003 #define USB_PID_ELGATO_EYETV_DTT 0x0021 #define USB_PID_ELGATO_EYETV_DTT_Dlx 0x0020 +#define USB_PID_DVB_T_USB_STICK_HIGH_SPEED_COLD0x5000 +#define USB_PID_DVB_T_USB_STICK_HIGH_SPEED_WARM 0x5001 #endif Signed-off-by: Pham Thanh Nam Add support for Humax/Coex DVB-T USB Stick 2.0 High Speed (popular in Vietnam) diff -ur a/linux/drivers/media/dvb/dvb-usb/dibusb-mc.c b/linux/drivers/media/dvb/dvb-usb/dibusb-mc.c --- a/linux/drivers/media/dvb/dvb-usb/dibusb-mc.c 2009-07-12 20:52:32.0 +0700 +++ b/linux/drivers/media/dvb/dvb-usb/dibusb-mc.c 2009-07-12 20:12:56.0 +0700 @@ -42,6 +42,8 @@ /* 11 */ { USB_DEVICE(USB_VID_ULTIMA_ELECTRONIC, USB_PID_ARTEC_T14_WARM) }, /* 12 */ { USB_DEVICE(USB_VID_LEADTEK, USB_PID_WINFAST_DTV_DONGLE_COLD) }, /* 13 */ { USB_DEVICE(USB_VID_LEADTEK, USB_PID_WINFAST_DTV_DONGLE_WARM) }, +/* 14 */ { USB_DEVICE(USB_VID_HUMAX_COEX, USB_PID_DVB_T_USB_STICK_HIGH_SPEED_COLD) }, +/* 15 */ { USB_DEVICE(USB_VID_HUMAX_COEX, USB_PID_DVB_T_USB_STICK_HIGH_SPEED_WARM) }, { } /* Terminating entry */ }; MODULE_DEVICE_TABLE (usb, dibusb_dib3000mc_table); @@ -66,7 +68,7 @@ /* parameter for the MPEG2-data transfer */ .stream = { .type = USB_BULK, -.count = 7, +.count = 8, .endpoint = 0x06, .u = { .bulk = { @@ -88,7 +90,7 @@ .generic_bulk_ctrl_endpoint = 0x01, - .num_device_descs = 7, + .num_device_descs = 8, .devices = { { "DiBcom USB2.0 DVB-T reference design (MOD3000P)", { &dibusb_dib3000mc_table[0], NULL }, @@ -119,6 +121,10 @@ { &dibusb_dib3000mc_table[12], NULL }, { &dibusb_dib3000mc_table[13], NULL }, }, + { "Humax/Coex DVB-T USB Stick 2.0 High Speed", + { &dibusb_dib3000mc_table[14], NULL }, + { &dibusb_dib3000mc_table[15], NULL }, + }, { NULL }, } }; diff -ur a/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h b/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h --- a/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h 2009-07
Re: [PATCH] pwc: add support for webcam snapshot button (2)
Hi all Maybe Linux Media team has not received my patch. I also CC'ed my former email to linux-media mailing list, but it has been filtered out by Linux Media mail server's policy for some reason, so I resend the patch. *** PATCH BEGINS FROM HERE *** This patch adds support for Philips webcam snapshot button as an event input device, for consistency with other webcam drivers. Signed-off-by: Pham Thanh Nam diff -uNr a/linux/drivers/media/video/pwc/Kconfig b/linux/drivers/media/video/pwc/Kconfig --- a/linux/drivers/media/video/pwc/Kconfig 2009-01-03 20:03:43.0 +0700 +++ b/linux/drivers/media/video/pwc/Kconfig 2009-01-09 16:09:45.0 +0700 @@ -35,3 +35,13 @@ Say Y here in order to have the pwc driver generate verbose debugging messages. A special module options 'trace' is used to control the verbosity. + +config USB_PWC_INPUT_EVDEV + bool "USB Philips Cameras input events device support" + default y + depends on USB_PWC && INPUT + ---help--- + This option makes USB Philips cameras register the snapshot button as + an input device to report button events. + + If you are in doubt, say Y. diff -uNr a/linux/drivers/media/video/pwc/pwc.h b/linux/drivers/media/video/pwc/pwc.h --- a/linux/drivers/media/video/pwc/pwc.h 2009-01-03 20:03:43.0 +0700 +++ b/linux/drivers/media/video/pwc/pwc.h 2009-01-09 17:06:04.0 +0700 @@ -38,6 +38,9 @@ #include #include #include +#ifdef CONFIG_USB_PWC_INPUT_EVDEV +#include +#endif #include "pwc-uncompress.h" #include @@ -256,6 +259,9 @@ int pan_angle; /* in degrees * 100 */ int tilt_angle; /* absolute angle; 0,0 is home position */ int snapshot_button_status; /* set to 1 when the user push the button, reset to 0 when this value is read */ +#ifdef CONFIG_USB_PWC_INPUT_EVDEV + struct input_dev *button_dev; /* webcam snapshot button input */ +#endif /*** Misc. data ***/ wait_queue_head_t frameq; /* When waiting for a frame to finish... */ diff -uNr a/linux/drivers/media/video/pwc/pwc-if.c b/linux/drivers/media/video/pwc/pwc-if.c --- a/linux/drivers/media/video/pwc/pwc-if.c2009-01-03 20:03:43.0 +0700 +++ b/linux/drivers/media/video/pwc/pwc-if.c2009-01-10 11:26:44.0 +0700 @@ -53,6 +53,7 @@ - Xavier Roche: QuickCam Pro 4000 ID - Jens Knudsen: QuickCam Zoom ID - J. Debert: QuickCam for Notebooks ID + - Pham Thanh Nam: webcam snapshot button as an event input device */ #include @@ -61,6 +62,13 @@ #include #include #include +#ifdef CONFIG_USB_PWC_INPUT_EVDEV +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 18) +#include +#else +#include +#endif +#endif #include #include #include @@ -587,6 +595,23 @@ pdev->vframe_count); } +static void pwc_snapshot_button(struct pwc_device *pdev, int down) +{ + if (down) { + PWC_TRACE("Snapshot button pressed.\n"); + pdev->snapshot_button_status = 1; + } else { + PWC_TRACE("Snapshot button released.\n"); + } + +#ifdef CONFIG_USB_PWC_INPUT_EVDEV + if (pdev->button_dev) { + input_report_key(pdev->button_dev, BTN_0, down); + input_sync(pdev->button_dev); + } +#endif +} + static int pwc_rcv_short_packet(struct pwc_device *pdev, const struct pwc_frame_buf *fbuf) { int awake = 0; @@ -604,13 +629,7 @@ pdev->vframes_error++; } if ((ptr[0] ^ pdev->vmirror) & 0x01) { - if (ptr[0] & 0x01) { - pdev->snapshot_button_status = 1; - PWC_TRACE("Snapshot button pressed.\n"); - } - else { - PWC_TRACE("Snapshot button released.\n"); - } + pwc_snapshot_button(pdev, ptr[0] & 0x01); } if ((ptr[0] ^ pdev->vmirror) & 0x02) { if (ptr[0] & 0x02) @@ -634,12 +653,7 @@ else if (pdev->type == 740 || pdev->type == 720) { unsigned char *ptr = (unsigned char *)fbuf->data; if ((ptr[0] ^ pdev->vmirror) & 0x01) { - if (ptr[0] & 0x01) { - pdev->snapshot_button_status = 1; - PWC_TRACE("Snapshot button pressed.\n"); - } - else - PWC_TRACE("Snapshot button released.\n"); + pwc_snapshot_button(pdev, ptr[0] & 0x01); } pdev->vmirror = ptr[0
Re: [PATCH] pwc: add support for webcam snapshot button (2)
Hi, Please review and consider to apply my patch, for following reasons: 1. Nobody complains anymore about it :) 2. Tested to guarantee working with 2 kinds of Logitech webcam. 3. It's quite clearly to see that event input support won't break anything existing (and you still have option to disable it in kernel configuration if you don't like). 4. Consistency of webcam snapshot button support as an event input device with other webcam drivers. 5. Nowadays, many manufacturers are making webcams with a button on it to use in their Windows software (e.g. the software Logitech's Quickcam for Logitech webcams). The webcam snapshot button is very convenient when you want to take an interesting moment on someone or something by one hand (like a digital camera). I've asked a question about this problem and it seems that solutions are still null for Linux. But now I'm happy because I've found the way to use webcam snapshot button with webcam applications (like Cheese) provided that my webcam button is supported as an input device. -- Sharing my experience on Ubuntu 8.10 1. Install gizmod (http://gizmod.sourceforge.net) sudo apt-get install gizmod 2. Connect webcam and run gizmod at debug mode as superuser: sudo gizmod -g 3. Open webcam with Cheese and press the snapshot button (button of pwc webcam is only usable when webcam is being open) When button is pressed, gizmod shows: onEvent: Standard -- /dev/input/event12 | [EV_KEY] c: 0x100 v: 0x1 and when button is released, gizmod shows: onEvent: Standard -- /dev/input/event12 | [EV_KEY] c: 0x100 v: 0x0 Pay attention to "c: 0x100 v:0x0" in the above line, we'll use these numbers to configure gizmod. 4. Create /etc/gizmod/modules.d/010-Snapshot-Cheese.py with the following content (the numbers 0x100 and 0x0 are used): #*** #* #* #*** #*** GizmoDaemon Config Script #*** Snapshot Cheese config #*** #* #********* #*** """ Written by Pham Thanh Nam (phamthanhnam@gmail.com) """ # Imports ## from GizmoDaemon import * from GizmoScriptRunningApplication import * import subprocess ENABLED = True VERSION_NEEDED = 3.2 INTERESTED_CLASSES = [GizmoEventClass.Standard] INTERESTED_APPLICATION = "cheese" # SnapshotCheese Class definition ## class SnapshotCheese(GizmoScriptRunningApplication): """ Snapshot Cheese Event Mapping """ # Public Functions ## def onDeviceEvent(self, Event, Gizmo = None): """ Called from Base Class' onEvent method. See GizmodDispatcher.onEvent documention for an explanation of this function """ # process the key if (Event.Code == 0x100) and (Event.Value == 0x0): Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_SPACE) return True else: # unmatched event, keep processing return False # Private Functions ## def __init__(self): """ Default Constructor """ GizmoScriptRunningApplication.__init__(self, ENABLED, VERSION_NEEDED, INTERESTED_CLASSES, INTERESTED_APPLICATION) # SnapshotCheese class end ## # register the user script SnapshotCheese() 5. Kill gizmod by Ctrl-C and run it again at normal mode: sudo gizmod 6. Focus to active Cheese window, uncheck countdown option in Cheese and try the snapshot button. Happy shots! -- -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html