Hi all, Finally I committed your patch, sorry for the delay and thanks. It is in my repository http://linuxtv.org/hg/~pb/v4l-dvb . regards, Patrick. -- Mail: patrick.boettcher@xxxxxxx WWW: http://www.wi-bw.tfh-wildau.de/~pboettch/ On Fri, 30 Jun 2006, Klaus Frahm wrote: > >> > *cold=!(udev->descriptor.iManufacturer == 1); > > > > I would prefer udev->descriptor.iManufacturer != 1 . > > > >> very interesting your observation. Obviously, my assumption about the > >> signification of the variable idProduct was wrong. Probably it is > >> modified (to 0xa801) in one of the other dvb-modules (dvb_usb, > >> dvb_usb_dibusb_common, ...) and that only after the initialization and > >> therefore it cannot be used to distinguish the two devices (maybe the > >> modification happens when loading the firmware). > > > > Exactly that is the case. > > > > Can you prepare a patch like the one above - I will commit as fast as > > possible. > > > Okay. I have put signed off by me and Martin if that is okay. > > > > #### beginning of patch > #Applies against: 2.6.17 > #Signed-off-by: Klaus Frahm <frahm at irsamc.ups-tlse.fr> and Martin Habbecke <M.Habbecke at gmx.de> > #Changes: fixes initialization problem with new model of AVerTV DVB-T USB2.0, A800, by correctly identifying warm or cold state according to iManufacturer > --- a/drivers/media/dvb/dvb-usb/a800.c 2006-06-22 21:24:51.000000000 +0200 > +++ b/drivers/media/dvb/dvb-usb/a800.c 2006-06-29 18:55:14.000000000 +0200 > @@ -26,6 +26,14 @@ > return 0; > } > > +/* assure to put cold to 0 for iManufacturer == 1 */ > +static int a800_identify_state(struct usb_device *udev, struct dvb_usb_properties *props,struct dvb_usb_device_description **desc, int *cold) > +{ > + *cold=(udev->descriptor.iManufacturer != 1); > + > + return 0; > +} > + > static struct dvb_usb_rc_key a800_rc_keys[] = { > { 0x02, 0x01, KEY_PROG1 }, /* SOURCE */ > { 0x02, 0x00, KEY_POWER }, /* POWER */ > @@ -113,6 +121,7 @@ > .power_ctrl = a800_power_ctrl, > .frontend_attach = dibusb_dib3000mc_frontend_attach, > .tuner_attach = dibusb_dib3000mc_tuner_attach, > + .identify_state = a800_identify_state, > > .rc_interval = DEFAULT_RC_INTERVAL, > .rc_key_map = a800_rc_keys, > > #### end of patch > _______________________________________________ linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb