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

Reply via email to