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

Dieter <[email protected]>
Newsgroups gmane.os.freebsd.devel.firewire
Message-ID <[email protected]>
The following reply was made to PR kern/113785; it has been noted by GNATS.

From: Dieter <[email protected]>
To: [email protected]
Cc:  
Subject: Re: kern/113785: [firewire] dropouts when playing DV on firewire
Date: Fri, 16 Nov 2007 13:23:35 +0000

 [ previous reply didn't make it into the PR system, trying again ]
 
 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.