Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 16 Nov 2007 22:20:03 GMT
From:      Dieter <freebsd@sopwith.solgatos.com>
To:        freebsd-firewire@FreeBSD.org
Subject:   Re: kern/113785: [firewire] dropouts when playing DV on firewire
Message-ID:  <200711162220.lAGMK3s9039592@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/113785; it has been noted by GNATS.

From: Dieter <freebsd@sopwith.solgatos.com>
To: bug-followup@FreeBSD.org
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 <200710300119.l9U1Jsv8040070@freefall.freebsd.org>, simokawa@FreeBSD.org 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)
  {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200711162220.lAGMK3s9039592>