Skip to contentSkip to conversation

dib0700 and analog broadcasting

linux-dvb gothic nafik 6 participants 26 messages Aug 21, 2008 – Aug 22, 2008 Media (V4L/DVB)

lore
Share & tools
lore
#0 lore raw

hi,

i have problems with my tv tuner. It is hybrid (analog receiver, digital receiver, radio fm reciver) tv tuner with chipset dib7700. I had to hack dib0700 module and update a line with my product id and vendor id (because my hardware was not there). It is tv tuner in notebook Asus M51SN.

nafik@dark:~$ lsusb -s 007:002 

Bus 007 Device 002: ID 1164:1f08 YUAN High-Tech Development Co., Ltd

nafik@dark:~$ sudo modprobe dvb-usb-dib0700
nafik@dark:~$ dmesg 
[   41.965881] dib0700: loaded with support for 6 different device-types
[   41.966089] dvb-usb: found a 'DiBcom STK7700D reference design' in
warm state.
[   41.966127] dvb-usb: will pass the complete MPEG2 transport stream to
the software demuxer.
[   41.966307] DVB: registering new adapter (DiBcom STK7700D reference
design)
[   42.000752] dvb-usb: no frontend was attached by 'DiBcom STK7700D
reference design'
[   42.000760] dvb-usb: will pass the complete MPEG2 transport stream to
the software demuxer.
[   42.000975] DVB: registering new adapter (DiBcom STK7700D reference
design)
[   42.152993] DVB: registering frontend 1 (DiBcom 7000PC)...
[   42.154697] MT2266 I2C read failed
[   42.154851] input: IR-receiver inside an USB DVB receiver
as /devices/pci0000:00/0000:00:1d.7/usb7/7-5/input/input9
[   42.207246] dvb-usb: schedule remote query interval to 150 msecs.
[   42.207253] dvb-usb: DiBcom STK7700D reference design successfully
initialized and connected.
[   42.207517] usbcore: registered new interface driver dvb_usb_dib0700
nafik@dark:~$ ls /dev/dvb/*
/dev/dvb/adapter0:
demux0  dvr0  net0

/dev/dvb/adapter1:
demux0 dvr0 frontend0 net0

Digital tv is maybe working, I do not know, becasue in my region is not digital broadcasting yet. But I want to watch analog tv or listen to radio. And I am not sure, but I need device /dev/video or /dev/video0 (/dev/radio is not created too) for watching analog broadcasting (module dib0700 did not create any /dev/video, just /dev/dvb/*)? Am I right?

Thanks for help

nafik

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

#1 lore raw
Quoted 9 lines · gothic nafik

hi,

i have problems with my tv tuner. It is hybrid (analog receiver, digital receiver, radio fm reciver) tv tuner with chipset dib7700. I had to hack dib0700 module and update a line with my product id and vendor id (because my hardware was not there). It is tv tuner in notebook Asus M51SN.

[snip]

Quoted 6 lines

Digital tv is maybe working, I do not know, becasue in my region is not digital broadcasting yet. But I want to watch analog tv or listen to radio. And I am not sure, but I need device /dev/video or /dev/video0 (/dev/radio is not created too) for watching analog broadcasting (module dib0700 did not create any /dev/video, just /dev/dvb/*)? Am I right?

The driver currently does not support analog video.

I am working on adding analog video support to the dvb-usb framework, but it is far from ready, and lowest on my priority list. The good news is that I made some very nice progress last month, but I wouldn't expect any kind of release for months.

Side note: I said something very similar to the above last year. I made a lot of good rpogress recently, but I wont have time to get back to it until a few weeks from now.

You should consider your device a digital-only tv stick for now, under Linux.

Regards,

Mike

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

#3 lore raw
Quoted 3 lines · gothic nafik

One more question - what about radio and remote control via lirc? Can i receive radio signal via antenna (for digital tv) i got in box with notebook? Is today's version of dib0700 module able to create /dev/radio?

The driver supports IR, but does not require LIRC, afaik -- try it yourself and find out if your device is supported.

Radio is analog, thus, not supported by this driver.

-Mike

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

#4 lore raw
Quoted 9 lines · Michael Krufky
Quoted 3 lines · gothic nafik

One more question - what about radio and remote control via lirc? Can i receive radio signal via antenna (for digital tv) i got in box with notebook? Is today's version of dib0700 module able to create /dev/radio?

The driver supports IR, but does not require LIRC, afaik -- try it yourself and find out if your device is supported.

Radio is analog, thus, not supported by this driver.

FWIW: Working on CX25843 analog support for the dib0700 based Pinnnacle PCTV HD Pro was next on my list once I get the ATSC support working.

Devin

Signature · 8 lines
Devin J. Heitmueller
http://www.devinheitmueller.com
AIM: devinheitmueller

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
#5 lore raw
Quoted 6 lines · Devin Heitmueller
Quoted 5 lines · Michael Krufky
Quoted 3 lines · gothic nafik

One more question - what about radio and remote control via lirc? Can i receive radio signal via antenna (for digital tv) i got in box with notebook? Is today's version of dib0700 module able to create /dev/radio?

Quoted 8 lines
Quoted 4 lines

The driver supports IR, but does not require LIRC, afaik -- try it yourself and find out if your device is supported.

Radio is analog, thus, not supported by this driver.

FWIW: Working on CX25843 analog support for the dib0700 based Pinnnacle PCTV HD Pro was next on my list once I get the ATSC support working.

Devin,

Lets sync up when you get to that point -- I have a good chunk of code written that will add analog support to the dvb-usb framework as an optional additional adapter type.

Hopefully I'll get more work done on it before then, but if not, this is at least a good starting point.

The idea is to add support to the framework so that the sub-drivers (such as dib0700, cxusb et al) can all use the common code.

CX25843 is already supported, just the dvb-usb framework currently lacks a v4l2 interface.

Regards,

Mike

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

#6 lore raw

I already discussed this dibcom + analog with Michael and Pattrick and I ended with the conclusion that was better to wait a little for Michael (or somebody) integrate the standard stuff with the dvb-usb api. Seeing there's more people interested that what we thought initialy I just send the answer from Pattrick which give good guides on the dibcom stuff. I'm not going to start anything, as I said I think is better to wait a little.

Albert

Here's Pattrick answer for the interested (again thanks for your kind help);

Analog and DiBCom, *sigh*, it works, but it is a baby nobody really wants. OK, let me tell you, what I had once in mind: The analog and DVB hardware abstraction in the driver is signifacantly different. That's why it was possible for me to create something like dvb-usb, but not so easy to have something like v4l-usb, which abstracts the streaming and other common things.
Mainly the frontend-architecture is it, which makes DVB more powerful that v4l hardware abstraction. But OK.
If there would be a generic streaming mechanism which works similar to the one in dvb-usb, I think it would be relatively easy to add analog-support for dvb-usb or to add a analog-support to a dvb-usb-based device (function pointer which is called each time a URB is returned instead of directly passing it to the dvb-demuxer).
For the dib0700-driver you need some things to set up in order to receive analog audio and video (see attached):
First you need to configure the streaming interface on the dib0700-usb-bridge. This is done with a USB request from the host and depends on the video format.
Then the streaming needs to be enabled in a different way then in DVB. That's it. If I understand everything correctly, there are no special settings for the cx2584x, but time will tell. Also it is important to know, that the audio is coming in on endpoint3 and the video on endpoint2, which might give some AV async.

Patrick.

2008/8/21 Michael Krufky <[email protected]>

Quoted 34 lines
Quoted 1 line · Devin Heitmueller

On Thu, Aug 21, 2008 at 4:21 PM, Michael Krufky <[email protected]>

Quoted 4 lines · wrote:
Quoted 4 lines · gothic nafik
Quoted 3 lines

One more question - what about radio and remote control via lirc? Can i receive radio signal via antenna (for digital tv) i got in box with notebook? Is today's version of dib0700 module able to create

/dev/radio?

Quoted 9 lines
Quoted 5 lines

The driver supports IR, but does not require LIRC, afaik -- try it yourself and find out if your device is supported.

Radio is analog, thus, not supported by this driver.

FWIW: Working on CX25843 analog support for the dib0700 based Pinnnacle PCTV HD Pro was next on my list once I get the ATSC support working.

Devin,

Lets sync up when you get to that point -- I have a good chunk of code written that will add analog support to the dvb-usb framework as an optional additional adapter type.

Hopefully I'll get more work done on it before then, but if not, this is at least a good starting point.

The idea is to add support to the framework so that the sub-drivers (such as dib0700, cxusb et al) can all use the common code.

CX25843 is already supported, just the dvb-usb framework currently lacks a v4l2 interface.

Quoted 9 lines

Regards,

Mike

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

// First byte data received on Endpoint 0 (control byte) enum TYPE_USB_REQUEST

{
	REQUEST_UNUSED_0 = 0,
	REQUEST_DOWNLOAD,
	REQUEST_I2C_READ,
	REQUEST_I2C_WRITE,
	REQUEST_POLL_RC,
	REQUEST_DISCONNECT,
	REQUEST_GET_GPIO,
	REQUEST_SET_IOCTL,
	REQUEST_JUMPRAM,
	REQUEST_AHB_READ,
	REQUEST_AHB_WRITE,
	REQUEST_SET_CLOCK,
	REQUEST_SET_GPIO,
	REQUEST_SET_PWM,
	REQUEST_SET_ANA_MODE,
	REQUEST_ENABLE_VIDEO,
	REQUEST_SET_I2C_PARAM,
	REQUEST_SET_RC,
	REQUEST_NEW_I2C_READ,
	REQUEST_NEW_I2C_WRITE,
	REQUEST_SET_SUSP_PARAM,
	REQUEST_GET_VERSION,
	REQUEST_SRAM_READ_SMALL,
	REQUEST_SRAM_READ_BIG,
	REQUEST_SRAM_WRITE,
	REQUEST_MAX
};

static int dib0700_set_streaming(struct dibBusAdapter *ctrl, struct dibStreamingRequest *request)

{
	struct dib0700_state *state = ctrl->priv;
	uint8_t mode = 0, sub_mode;
	uint8_t ch1_en;
	uint8_t ch2_en;

	if (state->sram_sdio_active) /* in case of SRAM enabled don't do any set_streaming request */
		return DIB_RETURN_SUCCESS;

	if (request->mode & MODE_DIGITAL)
		mode = 0;
	else if (request->mode & MODE_ANALOG)
		mode = 1;
	else if (request->mode & MODE_ANALOG_ADC)
		mode = 2;

	if (request->video_standard == AnalogVideo_None)
		request->video_standard = state->current_standard;
	else
		state->current_standard = request->video_standard;

	if ((mode == 1 && (request->video_standard & AnalogVideo_NTSC_Mask) != 0))
		sub_mode = 0x00;   // (0x01 << 4) == Ntsc mode, 0x01 == channel enabled
	else
		sub_mode = 0x01;   // (0x01 << 4) == Pal mode, 0x01 == channel enabled

	dbgpl(&dib0700_dbg, "modifying (%d) streaming state for %d", request->onoff, request->id);

	if (request->id == 0)
        ch1_en = request->onoff;
	else
        ch1_en = !request->onoff;
    ch2_en = !ch1_en;

	return dib0700_video_enable(state, request->onoff, mode, sub_mode, ch1_en, ch2_en);
}

static int dib0700_set_scaling(struct dibBusAdapter* ctrl, struct dibVideoConfig * video_config, struct dibVideoTransitions * video_transitions)

{
	struct dib0700_state *state = ctrl->priv;

	uint8_t b[21];

	//For now, we get the nb of the line in the SAV and always get VBI informations
	b[ 0] = (((video_config->Standard == 625)?1:0)<<7) | (1<<6) | (1<<5) | (1<<4);
	// bit shifted by 6 = SAV enable
	// bit shifted by 5 = VBI is present
	// bit shifted by 4 = insertion of line Number

	b[ 1] = (uint8_t)(video_config->HwVideoLineSize+4)&0xff;
	b[ 2] = (uint8_t)((video_config->HwVideoLineSize+4)>>8)&0xff;

	b[ 3] = (uint8_t)(video_config->HwVbiLineSize+4)&0xff;
	b[ 4] = (uint8_t)((video_config->HwVbiLineSize+4)>>8)&0xff;

	b[ 5] = (uint8_t)state->desc->urb_max_size&0xff;
	b[ 6] = (uint8_t)(state->desc->urb_max_size>>8)&0xff;

	b[ 7] = (uint8_t)video_transitions->StartOfOddField&0xff;
	b[ 8] = (uint8_t)(video_transitions->StartOfOddField>>8)&0xff;
	b[ 9] = (uint8_t)video_transitions->StartOfEvenField&0xff;
	b[10] = (uint8_t)(video_transitions->StartOfEvenField>>8)&0xff;

	b[11] = (uint8_t)video_transitions->StartOfActiveOdd&0xff;
	b[12] = (uint8_t)(video_transitions->StartOfActiveOdd>>8)&0xff;
	b[13] = (uint8_t)video_transitions->EndOfActiveOdd&0xff;
	b[14] = (uint8_t)(video_transitions->EndOfActiveOdd>>8)&0xff;

	b[15] = (uint8_t)video_transitions->StartOfActiveEven&0xff;
	b[16] = (uint8_t)(video_transitions->StartOfActiveEven>>8)&0xff;
	b[17] = (uint8_t)video_transitions->EndOfActiveEven&0xff;
	b[18] = (uint8_t)(video_transitions->EndOfActiveEven>>8)&0xff;


	b[19] = ((uint8_t)video_transitions->TotalNumberOfLines)&0xff;
	b[20] = ((uint8_t)(video_transitions->TotalNumberOfLines>>8))&0xff;

	dbgpl(&dib0700_dbg, "data for scaling: %2x %2x %2x %2x %2x %2x %2x %2x %2x %2x %2x %2x %2x %2x %2x %2x %2x %2x %2x %2x %2x",b[0],b[1], b[2], b[3], b[4], b[5], b[6], b[7], b[8], b[9], b[10], b[11], b[12], b[13], b[14], b[15], b[16], b[17], b[18], b[19], b[20]);

	return dib0700_ctrl_write(state, REQUEST_SET_ANA_MODE, b, 21);
}

/* and the calls to set_scaling */

static void setup_hook_analog_video_config(struct dibBoard *board, int num_of_lines, int use_hook_line_numbering)

{
	struct dibVideoConfig      cfg;
	struct dibVideoTransitions trans;
	struct dibVideoFraming     framing;
	uint16_t num_active_lines;

	if (num_of_lines != 525 && num_of_lines != 625)
		return;

	/* TODO correct for scaling */
	num_active_lines = num_of_lines == 525 ? 480 : 576;

	cfg.HwVideoLineSize = 1440;
	cfg.HwNbActiveLines = num_active_lines;
	cfg.HwVbiLineSize   = 1440;
	cfg.Standard        = num_of_lines;

	if (num_of_lines == 525) {
		uint32_t NbRealActiveLines;
		debug_printf("-D-  NTSC\n");
		if (cfg.HwNbActiveLines == 480)
			NbRealActiveLines = 487;
		else
			NbRealActiveLines = 243;

		trans.StartOfOddField    = 4;
		trans.StartOfActiveOdd   = 21;
		trans.EndOfActiveOdd     = trans.StartOfActiveOdd + NbRealActiveLines/2; //265
		trans.StartOfEvenField   = trans.EndOfActiveOdd + 2; //266
		trans.StartOfActiveEven  = trans.StartOfEvenField + 18; //283
		trans.EndOfActiveEven    = trans.StartOfActiveEven + NbRealActiveLines/2; //525
		trans.TotalNumberOfLines = trans.EndOfActiveEven; //525

		framing.VbiLines    = 12;
		framing.VbiF0Start  = 9;
		framing.VbiF0Stop   = 20;
		framing.VbiF1Start  = trans.StartOfEvenField + 5;//273;
		framing.VbiF1Stop   = framing.VbiF1Start +11;//284;

		framing.VideoF0Start= trans.StartOfActiveOdd;
		framing.VideoF0Stop = framing.VideoF0Start + num_active_lines/2-1; //261      // 240 lines (261 included)
		framing.VideoF1Start= trans.StartOfActiveEven;//285;
		framing.VideoF1Stop = framing.VideoF1Start + num_active_lines/2 -1 ;//524;

	} else {
		debug_printf("-D-  PAL/SECAM\n");
#if 01
		trans.StartOfOddField    = 1;
		trans.StartOfActiveOdd   = 23;
		trans.EndOfActiveOdd     = trans.StartOfActiveOdd + num_active_lines/2; //311
		trans.StartOfEvenField   = trans.EndOfActiveOdd + 2; //312
		trans.StartOfActiveEven  = trans.StartOfEvenField + 23; //335
		trans.EndOfActiveEven    = trans.StartOfActiveEven + num_active_lines/2; //623

trans.TotalNumberOfLines = trans.EndOfActiveEven + 2; //625

#else
		trans.StartOfOddField    = 1;
		trans.StartOfActiveOdd   = 100;
		trans.EndOfActiveOdd     = 400;//trans.StartOfActiveOdd + num_active_lines/2; //311
		trans.StartOfEvenField   = 500; //trans.EndOfActiveOdd + 2; //312
		trans.StartOfActiveEven  = 600; //trans.StartOfEvenField + 23; //335
		trans.EndOfActiveEven    = 900; //trans.StartOfActiveEven + num_active_lines/2; //623
		trans.TotalNumberOfLines = 1000; //625

#endif

		framing.VbiLines    = 17;
		framing.VbiF0Start  = 6;
		framing.VbiF0Stop   = 22;
		framing.VideoF0Start= trans.StartOfActiveOdd ;       // Clip first 1/2 line
		framing.VideoF0Stop = trans.EndOfActiveOdd -1; //310
		framing.VbiF1Start  = trans.StartOfEvenField + 6; //319
		framing.VbiF1Stop   = framing.VbiF1Start + 16; //335
		framing.VideoF1Start= trans.StartOfActiveEven; //336
		framing.VideoF1Stop = trans.EndOfActiveEven-1; //623
	}
	debug_printf("-D-  Framing:    %d, %d, %d, %d, %d, %d, %d, %d, %d\n", framing.VbiLines,framing.VbiF0Start ,framing.VbiF0Stop,
		framing.VideoF0Start,framing.VideoF0Stop ,framing.VbiF1Start  ,framing.VbiF1Stop ,framing.VideoF1Start,framing.VideoF1Stop);
	debug_printf("-D-  Transition: %d, %d, %d, %d, %d, %d, %d\n", trans.StartOfOddField, trans.StartOfEvenField, trans.StartOfActiveOdd,
		trans.EndOfActiveOdd, trans.StartOfActiveEven, trans.EndOfActiveEven, trans.TotalNumberOfLines);
	debug_printf("-D-  Config:     %d, %d, %d, %d\n", cfg.HwVbiLineSize, cfg.HwVideoLineSize, cfg.HwNbActiveLines, cfg.Standard);

	board_set_scaling(board, &cfg, &trans);
}

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

#7 lore raw
In reply to Michael Krufky

Hi,

Quoted 3 lines · Michael Krufky

Lets sync up when you get to that point -- I have a good chunk of code written that will add analog support to the dvb-usb framework as an optional additional adapter type.

Wow wow wow. That sounds like music in my ears. Great direction!!!

Patrick.

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

#8 lore raw
Quoted 8 lines · Patrick Boettcher
Quoted 1 line · Michael Krufky

Lets sync up when you get to that point -- I have a good chunk of

code

Quoted 2 lines

written that will add analog support to the dvb-usb framework as an optional additional adapter type.

Wow wow wow. That sounds like music in my ears. Great direction!!!

hmmm, Devin, Patrick, let me be selfish a little bit, that's what I do best most of the time, so you can beat me up for it.

Can the new i2c request code for the new firmware be done first?

Nico

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

#9 lore raw

Nicolas,

1) The firmware alone should fix the i2c problems, even with the currently used requests.
2) The new requests are necessary to have the xc5000 running correctly, if I understand everything correctly. So yes, it will be done first - I think.

Patrick.

Quoted 15 lines · Nicolas Will
Quoted 8 lines · Patrick Boettcher
Quoted 1 line · Michael Krufky

Lets sync up when you get to that point -- I have a good chunk of

code

Quoted 2 lines

written that will add analog support to the dvb-usb framework as an optional additional adapter type.

Wow wow wow. That sounds like music in my ears. Great direction!!!

hmmm, Devin, Patrick, let me be selfish a little bit, that's what I do best most of the time, so you can beat me up for it.

Can the new i2c request code for the new firmware be done first?

Quoted 8 lines

Nico

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

#10 lore raw

Yes, I am doing the i2c work before anything else (hopefully tonight).

Devin

Quoted 43 lines · Patrick Boettcher

Nicolas,

1) The firmware alone should fix the i2c problems, even with the currently used requests.
2) The new requests are necessary to have the xc5000 running correctly, if I understand everything correctly. So yes, it will be done first - I think.

Patrick.

Quoted 15 lines · Nicolas Will
Quoted 8 lines · Patrick Boettcher
Quoted 1 line · Michael Krufky

Lets sync up when you get to that point -- I have a good chunk of

code

Quoted 2 lines

written that will add analog support to the dvb-usb framework as an optional additional adapter type.

Wow wow wow. That sounds like music in my ears. Great direction!!!

hmmm, Devin, Patrick, let me be selfish a little bit, that's what I do best most of the time, so you can beat me up for it.

Can the new i2c request code for the new firmware be done first?

Quoted 8 lines

Nico

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

Signature · 8 lines
Devin J. Heitmueller
http://www.devinheitmueller.com
AIM: devinheitmueller

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
#12 lore raw
Quoted 5 lines · Nicolas Will
Quoted 1 line · Devin Heitmueller

Yes, I am doing the i2c work before anything else (hopefully tonight).

This is most excellent, better then understanding women and Emacs buffers, probably easier too.

Yeah, I made that list more than ten years ago. I should probably update it since I'm now quite proficient in the Emacs buffer routines (although my understanding of women has not progressed as far).

I started working on the code tonight and fed Patrick a bunch of additional questions about the new API. If I'm lucky I will get it locked down this weekend.

Signature · 8 lines
Devin J. Heitmueller
http://www.devinheitmueller.com
AIM: devinheitmueller

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
#14 lore raw
In reply to Patrick Boettcher
Quoted 11 lines · Patrick Boettcher

Hi,

Quoted 4 lines · Michael Krufky

Lets sync up when you get to that point -- I have a good chunk of code written that will add analog support to the dvb-usb framework as an optional additional adapter type.

Wow wow wow. That sounds like music in my ears. Great direction!!!

Patrick.

...just to clarify -- the "good chunk of code" is still just v4l2 API glue. I didnt do _any_ of the streaming stuff yet.

videobuf can work with usb devices now, but I'm not sure that its the best direction to take, within dvb-usb.

Like I said before -- what I have is worth keeping, but its extremely far from complete.

When I get into it next (probably next month -- its busy here now) then I will do my best to clean it up and post the work-in-progress to a mercurial repository.

I repeat -- this will just be for the sake of collaboration. I don't think this will be ready for users for a good long time :-/

-Mike

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

#15 lore raw
In reply to Michael Krufky

On Thu, Aug 21, 2008 at 4:29 PM, Michael Krufky

Quoted 4 lines

Lets sync up when you get to that point -- I have a good chunk of code written that will add analog support to the dvb-usb framework as an optional additional adapter type.

Quoted 8 lines

Hopefully I'll get more work done on it before then, but if not, this is at least a good starting point.

The idea is to add support to the framework so that the sub-drivers (such as dib0700, cxusb et al) can all use the common code.

CX25843 is already supported, just the dvb-usb framework currently lacks a v4l2 interface.

Will do. I'm going back and forth now with Patrick to get his new firmware and i2c interface integrated which will hopefully cause my xc5000 to start working.

Signature · 8 lines
Devin J. Heitmueller
http://www.devinheitmueller.com
AIM: devinheitmueller

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
#18 lore raw
Quoted 3 lines · gothic nafik

i have just tried to load that new firmware and i don't have any problems with that...
no unexpected reboot and it mounts devices into /dev/dvb/*

Chances are that I've done my testing a bit too late in the night considering the week I've had.

I've reverted to 1.10 and will redo the 1.20 from scratch tomorrow.

Off to bed now.

Nico

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

#19 lore raw
Quoted 10 lines · Nicolas Will
Quoted 3 lines · gothic nafik

i have just tried to load that new firmware and i don't have any problems with that...
no unexpected reboot and it mounts devices into /dev/dvb/*

Chances are that I've done my testing a bit too late in the night considering the week I've had.

I've reverted to 1.10 and will redo the 1.20 from scratch tomorrow.

I've tried again, fully awake. With full power downs, soft link or full rename, etc...

Same thing. Self-reboot, no device, no message.

I downloaded the firmware again, same thing.

The md5sum I have is the following for the firmware file:
f42f86e2971fd994003186a055813237 dvb-usb-dib0700-1.20.fw

Reverting to 1.10 fw makes it work again.

dmesg, lspci, lsusb, lsmod available here, more can be provided on demand:
http://www.youplala.net/~will/htpc/Hardware/lsmod.txt

Ubuntu 8.04 box with security, backports, updates, medibuntu and mythbuntu-fixes, 64-bit. 2.6.24 kernel. NVIDIA blob. Nova-T 500 and KWorld DVB-S100 cards.

Full description of the system here:
http://www.youplala.net/linux/home-theater-pc

Nico

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

#20 lore raw
Quoted 29 lines · Nicolas Will
Quoted 10 lines · Nicolas Will
Quoted 3 lines · gothic nafik

i have just tried to load that new firmware and i don't have any problems with that...
no unexpected reboot and it mounts devices into /dev/dvb/*

Chances are that I've done my testing a bit too late in the night considering the week I've had.

I've reverted to 1.10 and will redo the 1.20 from scratch tomorrow.

I've tried again, fully awake. With full power downs, soft link or full
rename, etc...

Same thing. Self-reboot, no device, no message.

I downloaded the firmware again, same thing.

The md5sum I have is the following for the firmware file:
f42f86e2971fd994003186a055813237 dvb-usb-dib0700-1.20.fw

Reverting to 1.10 fw makes it work again.

dmesg, lspci, lsusb, lsmod available here, more can be provided on demand:
http://www.youplala.net/~will/htpc/Hardware/lsmod.txt

Quoted 6 lines

Ubuntu 8.04 box with security, backports, updates, medibuntu and mythbuntu-fixes, 64-bit. 2.6.24 kernel. NVIDIA blob. Nova-T 500 and KWorld DVB-S100 cards.

Full description of the system here:
http://www.youplala.net/linux/home-theater-pc

In /etc/modprobe.d/options, I have:

# Load DVB-T before DVB-S
install cx88-dvb /sbin/modprobe dvb-usb-dib0700; /sbin/modprobe --ignore-install cx88-dvb

# Hauppauge WinTV NOVA-T-500
options dvb-usb-dib0700 force_lna_activation=1
options usbcore autosuspend=-1

Nico

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

#21 lore raw
Quoted 8 lines · Nicolas Will

In /etc/modprobe.d/options, I have:
# Load DVB-T before DVB-S
install cx88-dvb /sbin/modprobe dvb-usb-dib0700; /sbin/modprobe --ignore-install cx88-dvb

# Hauppauge WinTV NOVA-T-500
options dvb-usb-dib0700 force_lna_activation=1
options usbcore autosuspend=-1

Interesting. I installed the firmware, and although it hasn't helped my particular issue (and it's behaving identically to 1.10), it hasn't crashed my environment. On the other hand, my failures occur fairly early in the initialization so the problem may be further into startup than I have gotten with my device. I am running 8.04 with the latest kernel and v4l-dvb code.

Does it happen right after you plug the device in, or does it not occur until you start a video application?

If it occurs immediately on connect, perhaps you could jump out of X11 to the console before plugging it in, to see if there is any panic output prior to the reboot.

Also, I can't think of why this would happen, but could you send the md5sum of your firmware file so we can make sure it wasn't corrupted?

Signature · 8 lines
Devin J. Heitmueller
http://www.devinheitmueller.com
AIM: devinheitmueller

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
#22 lore raw
Quoted 18 lines · Devin Heitmueller
Quoted 8 lines · Nicolas Will

In /etc/modprobe.d/options, I have:
# Load DVB-T before DVB-S
install cx88-dvb /sbin/modprobe dvb-usb-dib0700; /sbin/modprobe --ignore-install cx88-dvb

# Hauppauge WinTV NOVA-T-500
options dvb-usb-dib0700 force_lna_activation=1
options usbcore autosuspend=-1

Interesting. I installed the firmware, and although it hasn't helped my particular issue (and it's behaving identically to 1.10), it hasn't crashed my environment. On the other hand, my failures occur fairly early in the initialization so the problem may be further into startup than I have gotten with my device. I am running 8.04 with the latest kernel and v4l-dvb code.

Quoted 2 lines

Does it happen right after you plug the device in, or does it not occur until you start a video application?

Difficult to say.

The Nova-T 500 is a PCI card. It has a Via usb controller and the USB dib0700 behing on the card.

As for the application, I do not think I have to enter X. I can check, though.

I have my MythTV setup so that it doesn't grab the cards for good from the get go. It will only get to them when it needs to record.

Quoted 4 lines

If it occurs immediately on connect, perhaps you could jump out of X11 to the console before plugging it in, to see if there is any panic output prior to the reboot.

As it is a PCI card, that will be difficult.

Quoted 3 lines

Also, I can't think of why this would happen, but could you send the md5sum of your firmware file so we can make sure it wasn't corrupted?

I have though of that, hence the new download and the already provided md5sum:

Quoted 2 lines

The md5sum I have is the following for the firmware file:
f42f86e2971fd994003186a055813237 dvb-usb-dib0700-1.20.fw

Nico

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

#23 lore raw
Quoted 11 lines · Nicolas Will
Quoted 2 lines

Does it happen right after you plug the device in, or does it not occur until you start a video application?

Difficult to say.

The Nova-T 500 is a PCI card. It has a Via usb controller and the USB dib0700 behing on the card.

As for the application, I do not think I have to enter X. I can check, though.

Sure, it happens when X starts. But it could also be bad timing. The MythTV backend, the app that really uses the DVB stuff, starts right before X.

I have asked for debug info from the dib0700 module.

Aug 22 18:05:23 favia kernel: [   33.238864] dib0700: loaded with support for 7 different device-types
Aug 22 18:05:23 favia kernel: [   33.239009] FW GET_VERSION length: -32
Aug 22 18:05:23 favia kernel: [   33.239011] cold: 1
Aug 22 18:05:23 favia kernel: [   33.239012] dvb-usb: found a 'Hauppauge Nova-T 500 Dual DVB-T' in cold state, will try to load a firmware

And then nothing with 1.20 fw.

What is interesting, is that at each self-reboot, that are warm reboots, the card is in cold state and needs a firmware. So can I conclude that it never got loaded? Or that the self reboot is a cold reboot?

I have tried to boot without a firmware file, and it goes all the way to MythTV without reboot.

Nico

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

#24 lore raw
Quoted 5 lines · Nicolas Will

What is interesting, is that at each self-reboot, that are warm reboots,
the card is in cold state and needs a firmware. So can I conclude that it never got loaded? Or that the self reboot is a cold reboot?

hmmm...

OK.

It works now.

A lot of noise about not much, and that makes me wonder how much of an idiot I am...

I did a

sudo find /lib/firmware/2.6.24-1* -name "dvb-usb-dib07*.fw" -exec rm {} \;

It did remove all the 1.10 firware files provided by the Ubuntu packaging.

I made sure that I had the 1.20 fw with the 1.10 name in /lib/firmware, and all is working.

Apparently the driver/kernel was confused about which file to pick-up.

Nico

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb