Hans - As suspected, the "temporary" fix is questionable.  I rebooted 4 or 5
times this afternoon, and the driver crashed about half the time. I've since
increased the msleep delay to 500ms.  I've rebooted once (successfully)
since then, but didn't want to tempt fate and try again just yet.  The
longer delay may work, but I agree with you this needs to be fixed
correctly.  Unfortunately, I no longer have a machine to mess around with.

Rich

--

Rich Kadel
Know'bout, Inc.
(858) 433-1747
www.knowbout.com

Do you know about Know'bout?


-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Rich Kadel
Sent: Tuesday, June 27, 2006 2:59 PM
To: 'Discussion list for development of the IVTV driver'
Subject: Re: [ivtv-devel] System hangs loading driver modules for PVR-500

Hans - Unfortunately I don't have anymore time.  The server gets deployed in
about an hour from now.  An #ifdef would be OK.

Thanks,
Rich

--

Rich Kadel
Know'bout, Inc.
(858) 433-1747
www.knowbout.com

Do you know about Know'bout?


-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Hans Verkuil
Sent: Tuesday, June 27, 2006 2:50 PM
To: Discussion list for development of the IVTV driver
Subject: Re: [ivtv-devel] System hangs loading driver modules for PVR-500

On Tuesday 27 June 2006 09:18, Rich Kadel wrote:
> It is working with 3 PVR-500 cards.  I'm capturing vbi data into all
> 6 tuners simultaneously!
>
> Hans - I have been working with the ivtv-0.4.6 source download, not
> with subversion.  Will you accept and apply this change into the
> baseline, or do I need to maintain it as a one-off?

If you have time in the future for more testing, then I prefer to keep 
it a one-off. I don't like adding hacks like this. It works, yes, but 
why? If not, then I might add it under an #ifdef which by default is 
not set.

        Hans

>
> Thanks,
> Rich
>
> --
>
> Rich Kadel
> Know'bout, Inc.
> (858) 433-1747
> www.knowbout.com
>
> Do you know about Know'bout?
>
>
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of Hans Verkuil
> Sent: Monday, June 26, 2006 11:05 PM
> To: Discussion list for development of the IVTV driver
> Subject: Re: [ivtv-devel] System hangs loading driver modules for
> PVR-500
>
> On Tuesday 27 June 2006 07:42, Rich Kadel wrote:
> > Qualified success!!
> >
> > Even better solution...
> >
> > I was able to take the sleep out of ivtv-i2c.c and put it in
> > ivtv-driver.c in just one place in the initialization. So it does
> > not get called while generally using the driver.  Much better.
> >
> > However, msleep(10) was not enough.  Msleep(100) was necessary or
> > else it crashed.  On or about line 1355 of ivtv-driver.c:
> >
> >         /* Digitizer */
> >         msleep(100);
> >         itv->card->video_dec_func(itv, VIDIOC_S_STD, &itv->std);
> >
> > "modprobe ivtv" will now load the driver cleanly from the command
> > line.
> >
> > AND IT EVEN BOOTED CLEANLY!
> >
> > AND IT STILL WORKS (can change the channel and see the closed
> > caption data!)
> >
> > So, adding this one msleep line works in my Dell 2850 with a
> > PVR-500 card in a PCI-X slot.
> >
> > But since msleep(10) does not work, I'm concerned that a different
> > machine configuration may still break even with msleep(100),
> > depending on the timing.  It would be much better if someone could
> > help figure out what the real problem was, so we can solve it
> > properly.
>
> I agree. Unfortunately, I don't have time for further debugging. What
> I would like to see is a test with a newer kernel to be sure it is
> not a kernel issue. I still see no reason why a msleep at that place
> would work.
>
> But at least you have a workaround!
>
>       Hans
>
> > Thanks to Hans for putting me on the right track.  Please keep me
> > informed if someone else has a better solution or idea.
> >
> > Now I'm going to try 3 PVR-500 cards simultaneously.  If it raises
> > any new issues, I'll let you know.
> >
> > Rich
> >
> > --
> >
> > Rich Kadel
> > Know'bout, Inc.
> > (858) 433-1747
> > www.knowbout.com
> >
> > Do you know about Know'bout?
> >
> >
> > -----Original Message-----
> > From: [EMAIL PROTECTED]
> > [mailto:[EMAIL PROTECTED] On Behalf Of Rich Kadel
> > Sent: Monday, June 26, 2006 10:04 PM
> > To: 'Discussion list for development of the IVTV driver'
> > Subject: Re: [ivtv-devel] System hangs loading driver modules for
> > PVR-500
> >
> > In case anyone is interested, I have some small proof that a
> > PVR-500 can work in a PCI-X slot.
> >
> > Hans and I worked on this most of the day until he had to go.  I
> > was able to get a little further and found a small, temporary
> > workaround.
> >
> > I don't know the real cause, or the best fix yet, but by putting
> >
> > msleep(10);
> >
> > right before
> >
> > retval = client->driver->command(client, cmd, arg);
> >
> > in ivtv-i2c.c
> >
> > I was able to get the driver to load without crashing the system
> > (something I was not able to do heretofore) and I was able to use
> > the driver successfully to change the channel (ivtv-tune), and to
> > capture closed captioning data using zvbi's capture and decode
> > programs.  The closed captioning comes out clean.
> >
> > Note that this sleep gets called a lot, so it may not be acceptable
> > for actual video capture, and I'm not testing that right now.  My
> > main goal was to get the driver to load, but of course, I hope
> > someone can figure out what the right solution is.
> >
> > I think I'm having one other problem.  I will need to try it again
> > to be sure.  But I believe the driver won't load at boot time.  It
> > crashes the system during initialization at boot.  That's bad
> > because if I have to reboot, I have to take all of the PVR-500
> > cards out to get it to boot up, then remove the drivers, then put
> > the cards back in, boot up, and load the drivers from the command
> > line (which does work).
> >
> > Does anyone know the difference between loading drivers during boot
> > vs. loading them from the command line?  I'm using CentOS 4.3
> > (basically RHEL 4.3).
> >
> > Also, does anyone know where the kernel logs get written during the
> > early boot stage?
> >
> > --
> >
> > Rich Kadel
> > Know'bout, Inc.
> > (858) 433-1747
> > www.knowbout.com
> >
> > Do you know about Know'bout?
> >
> >
> > -----Original Message-----
> > From: [EMAIL PROTECTED]
> > [mailto:[EMAIL PROTECTED] On Behalf Of Hans
> > Verkuil Sent: Monday, June 26, 2006 1:48 AM
> > To: Discussion list for development of the IVTV driver
> > Subject: Re: [ivtv-devel] System hangs loading driver modules for
> > PVR-500
> >
> > Hi Rich,
> >
> > Try adding 'ivtv_debug=511' to the ivtv module options. This should
> > provide (much) more debug info and hopefully help in giving me a
> > better idea where the problem is.
> >
> > Thanks,
> >
> >        Hans
> >
> > > Hans,
> > >
> > > I messed around with this a little more.  I've run out of time
> > > now and unless someone has a quick fix (I realize that's not
> > > likely), I'm going to have to stick with the PVR-250 cards and be
> > > limited to 3 tuners on this server.
> > >
> > > But here's a little bit more information...
> > >
> > > FIRST:  I realized why it was hanging during the boot phase, and
> > > it was the
> > > ivtv driver after all.  Once I removed the driver and all of the
> > > files, it booted up fine WITH the PVR-500 (but with no drivers).
> > >
> > > Here is part of lspci -v showing the 250 and the 500 (2 units):
> > >
> > > 09:04.0 Multimedia video controller: Internext Compression Inc
> > > iTVC16 (CX23416) MPEG-2 Encoder (rev 01)
> > >         Subsystem: Hauppauge computer works Inc. WinTV PVR 250
> > >         Flags: bus master, medium devsel, latency 32, IRQ 225
> > >         Memory at d8000000 (32-bit, prefetchable) [size=64M]
> > >         Capabilities: [44] Power Management version 2
> > >
> > > 0a:02.0 PCI bridge: Hint Corp HB6 Universal PCI-PCI bridge
> > > (non-transparent
> > > mode) (rev 11) (prog-if 00 [Normal decode])
> > >         Flags: bus master, medium devsel, latency 32
> > >         Bus: primary=0a, secondary=0b, subordinate=0b,
> > > sec-latency=32 Memory behind bridge: fe100000-fe1fffff
> > >         Prefetchable memory behind bridge: d0000000-d7ffffff
> > >         Capabilities: [80] Power Management version 2
> > >         Capabilities: [90] #06 [0000]
> > >
> > > 0b:08.0 Multimedia video controller: Internext Compression Inc
> > > iTVC16 (CX23416) MPEG-2 Encoder (rev 01)
> > >         Subsystem: Hauppauge computer works Inc. WinTV PVR 500
> > > (1st unit) Flags: bus master, medium devsel, latency 32, IRQ 233
> > > Memory at d4000000 (32-bit, prefetchable) [size=64M]
> > > Capabilities: [44] Power Management version 2
> > >
> > > 0b:09.0 Multimedia video controller: Internext Compression Inc
> > > iTVC16 (CX23416) MPEG-2 Encoder (rev 01)
> > >         Subsystem: Hauppauge computer works Inc. WinTV PVR 500
> > > (2nd unit) Flags: bus master, medium devsel, latency 32, IRQ 50
> > > Memory at d0000000 (32-bit, prefetchable) [size=64M]
> > > Capabilities: [44] Power Management version 2
> > >
> > > SECOND: I put some debug lines in the driver to see how far it
> > > gets after loading the firmware.  If you see my earlier message
> > > (6/23/06, 10:39PM US Pacific Time), the driver dies sometime
> > > after loading the firmware:
> > >
> > > Jun 23 21:32:20 server1 kernel: ivtv1: loaded v4l-cx2341x-enc.fw
> > > firmware (262144 bytes)
> > >
> > > Now, however, with the debug lines in, it gets a little further.
> > > I'm denoting my additional lines with ">" here:
> > >
> > > Jun 25 23:06:18 server1 kernel: ivtv1: 2. loaded
> > > v4l-cx2341x-enc.fw firmware
> > > (262144 bytes)
> > >
> > >> Jun 25 23:06:18 server1 kernel: ivtv1: Done with
> > >> ivtv_firmware_copy Jun 25 23:06:18 server1 kernel: ivtv1: Out of
> > >> ivtv_firmware_init Jun 25 23:06:18 server1 kernel: ivtv1: Out of
> > >> find_firmware_mailbox Jun 25 23:06:18 server1 kernel: ivtv1: Out
> > >> of check_firmware
> > >
> > > Jun 25 23:06:18 server1 kernel: ivtv1: Encoder revision:
> > > 0x02050032 Jun 25 23:06:18 server1 kernel: ivtv1: Allocate DMA
> > > encoder MPEG stream: 128
> > > x 32768 buffers (4096KB total)
> > > Jun 25 23:12:21 server1 syslogd 1.4.1: restart.
> > >
> > > So it appears to me that the server death is not directly related
> > > to executing a specific line of code in the main thread of the
> > > driver initialization, which means I've exhausted my ability to
> > > provide useful information to you.  I don't know how to debug
> > > write or drivers.
> > >
> > > Hopefully this is of some help to you, and if you have a chance
> > > to fix this
> > > someday, please let me know.  I appreciate the help.
> > >
> > > If there's anything else you want me to check, I have about 24
> > > hours before
> > > this server is a going to be closed up and deployed.  I can't do
> > > much after
> > > that.
> > >
> > > Thanks,
> > > Rich
> > >
> > > --
> > >
> > > Rich Kadel
> > > Know'bout, Inc.
> > > (858) 433-1747
> > > www.knowbout.com
> > >
> > > Do you know about Know'bout?
> > >
> > >
> > > -----Original Message-----
> > > From: [EMAIL PROTECTED]
> > > [mailto:[EMAIL PROTECTED] On Behalf Of Hans
> > > Verkuil Sent: Sunday, June 25, 2006 9:16 AM
> > > To: Discussion list for development of the IVTV driver
> > > Subject: Re: [ivtv-devel] System hangs loading driver modules for
> > > PVR-500
> > >
> > > On Sunday 25 June 2006 18:00, Tyler Trafford wrote:
> > >> On Jun 25, 2006, at 10:13 AM, Hans Verkuil wrote:
> > >> > I really first need proof that it works under Windows before
> > >> > I'm going to spend time on this. And the first step would be
> > >> > to put printk's in the driver (ivtv-driver.c) and see where it
> > >> > breaks down. Also note that
> > >> > I expect to have little time for this anyway in the next two
> > >> > weeks.
> > >>
> > >> A thread from last year suggests that this does work under
> > >> Windows.
> > >>
> > >> http://www.gossamer-threads.com/lists/ivtv/devel/18662#18662
> > >
> > > Interesting. Although the code location mentioned in this thread
> > > is with 99.99% certainty not the place where it is hanging.
> > >
> > >   Hans
> > >
> > > _______________________________________________
> > > ivtv-devel mailing list
> > > [email protected]
> > > http://ivtvdriver.org/mailman/listinfo/ivtv-devel
> > >
> > >
> > >
> > > _______________________________________________
> > > ivtv-devel mailing list
> > > [email protected]
> > > http://ivtvdriver.org/mailman/listinfo/ivtv-devel
> >
> > _______________________________________________
> > ivtv-devel mailing list
> > [email protected]
> > http://ivtvdriver.org/mailman/listinfo/ivtv-devel
> >
> >
> >
> > _______________________________________________
> > ivtv-devel mailing list
> > [email protected]
> > http://ivtvdriver.org/mailman/listinfo/ivtv-devel
> >
> >
> >
> > _______________________________________________
> > ivtv-devel mailing list
> > [email protected]
> > http://ivtvdriver.org/mailman/listinfo/ivtv-devel
>
> _______________________________________________
> ivtv-devel mailing list
> [email protected]
> http://ivtvdriver.org/mailman/listinfo/ivtv-devel
>
>
>
> _______________________________________________
> ivtv-devel mailing list
> [email protected]
> http://ivtvdriver.org/mailman/listinfo/ivtv-devel

_______________________________________________
ivtv-devel mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-devel



_______________________________________________
ivtv-devel mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-devel



_______________________________________________
ivtv-devel mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-devel

Reply via email to