Re: kern/113785: [firewire] dropouts when playing DV on firewire

Dieter <[email protected]>
Newsgroups gmane.os.freebsd.devel.firewire
Message-ID <[email protected]>
In message <[email protected]>, [email protected] writes:
> Synopsis: [firewire] dropouts when playing DV on firewire
> 
> State-Changed-From-To: open->feedback
> State-Changed-By: simokawa
> State-Changed-When: Tue Oct 30 01:17:44 UTC 2007
> State-Changed-Why: 
> I increased tx/rx buffer size in rev. 1.7 and 1.5.12.2 of
> src/usr.sbin/fwcontrol/fwdv.c. I hope this fixes your problem.
> 
> http://www.freebsd.org/cgi/query-pr.cgi?pr=113785


-#define NCHUNK 8
+#define NCHUNK 64

I tried this, it didn't help.  I also tried cranking it up to 256,
which still didn't help.  :-(

Given that the NEC controller has the problem only when "hot powered-up",
I wonder if it is an initialization problem.  Is there a way to log
what FreeBSD sends to the camcorder, similar to tcpdump(1) ?  Comparing
what FreeBSD sends if it detects the camcorder at boot time with what
it sends when the camcorder is powered up later might allow fixing the
having-to-reboot problem.  Perhaps the VIA controller always sends
the bad initialization?



The compiler whined:

fwcontrol.c:611: warning: control reaches end of non-void function
fwdv.c:93: warning: no previous prototype for 'dvrecv'
fwdv.c:248: warning: no previous prototype for 'dvsend'

At least the compiler warnings are easily fixed:


diff -u -r1.1 fwcontrol.c
--- fwcontrol.c 2007/10/30 15:32:15     1.1
+++ fwcontrol.c 2007/10/30 15:33:10
@@ -58,7 +58,7 @@
 extern int dvrecv(int, char *, char, int);
 extern int dvsend(int, char *, char, int);
 
-int sysctl_set_int(const char *, int);
+void sysctl_set_int(const char *, int);
 
 static void
 usage(void)
@@ -603,7 +603,7 @@
        }
 }
 
-int
+void
 sysctl_set_int(const char *name, int val)
 {
        if (sysctlbyname(name, NULL, NULL, &val, sizeof(int)) < 0)



diff -u -r1.1 fwdv.c
--- fwdv.c      2007/10/30 02:50:42     1.1
+++ fwdv.c      2007/10/30 15:45:42
@@ -88,6 +88,10 @@
 #define MAXBLOCKS (300)
 #define CYCLE_FRAC 0xc00
 
+/* prototypes */
+int dvrecv(int, char *, char, int);
+int dvsend(int, char *, char, int);
+
 int
 dvrecv(int d, char *filename, char ich, int count)
 {
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-firewire
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.