<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Pieter Palmers wrote:
<blockquote cite="mid45BF77AF.4070200@joow.be" type="cite">mea wrote: <br>
  <blockquote type="cite">Hello from Prague, <br>
I bought the firewire soundcard Edirol FA-66. Yesterday morning I
compiled freebob, recompiled jack and within half an hour I already saw
all 6 inputs and outputs in qjackctl. What? Recording on linux is hard?
Pha! I thought but unfortunately my moment of victory didn't last long.
On all recordings there is a strange cracking sound, not all the time,
but every couple of seconds. No xruns though. Before I bought this
device I used to record through the internal soundcard of my thinkpad
R40, running all programs as root and this 'sort of' worked. So I
thought I should first of all make sure all my apps can run as user.
After a lot of reading (I spent all day on this yesterday before I
decided to consult this list) I figured the best approach for me would
be to use set_rlimits, because slackware doesn't have PAM, and I never
patched a kernel before. As I understand these are the 3 possibilities
for programs to run in realtime right? Well, in short I can now run
qjackctl, jack and ardour as user without xruns, but this weird
cracking is still on the recordings. To make sure it was not an ardour
issue I tried sooperlooper, and the noise is still there. I suspect the
trouble is probably freebob, because I didn't have this issue before
and maybe I should have written on their list, but I am not completely
sure and I found very useful information here before, so here I am,
asking for any advice, because I don't know what to do anymore. Here is
some more information about my setup&gt; <br>
  </blockquote>
  <br>
The crackles you hear are due to libfreebob not being able to process
the firewire packets fast enough. This means lost packets and hence
lost audio data. You would expect xruns when this happens, but
freebob-1.0 doesn't report dropped packets as xruns, this could be
called a bug. We'll fix this in the next version. <br>
  <br>
In order to use FreeBoB, it is really recommended to use a realtime
patched kernel. We are doing in userspace what is normally done in
kernel space, and hence we need to meet very strict deadlines to be
able to. When using a realtime patched kernel that is configured
correctly (see
  <a class="moz-txt-link-freetext"
 href="http://freebob.sourceforge.net/index.php/System_Configuration_Hints">http://freebob.sourceforge.net/index.php/System_Configuration_Hints</a>),
no packets are dropped and this problem does not occur. <br>
  <br>
Having said this, you can probably improve things on a standard kernel
if you allow user processes to request SCHED_FIFO scheduling (realtime
scheduling). As a test you can run jackd+freebob as root and see if the
problem persists. Remember to start jackd in realtime mode: <br>
e.g. <br>
jackd -R -p60 -d freebob -p512 <br>
  <br>
  <blockquote type="cite"><br>
Thinkpad R40, Pentium4, 512MbRAM <br>
  </blockquote>
You should check the brand of the firewire controller that you are
using. (some) Thinkpads have a Ricoh firewire controller built in, and
that is a very buggy piece of hardware. It will never work properly
with freebob because it fails on isochronous traffic. (check this using
lspci -v) <br>
  <br>
The solution for that is to use a cardbus firewire controller. Chipsets
from Via, Texas Instruments and Nec are working fine for me. <br>
  <br>
  <blockquote type="cite">Slackware 10.2 <br>
uname -r    2.6.13 <br>
  </blockquote>
Should it be possible, maybe consider switching to a more audio
friendly distro... <br>
  <br>
Greets, <br>
  <br>
Pieter Palmers <br>
FreeBoB developer <br>
  <br>
</blockquote>
<big>Thank you for the quick and informative answer. I start qjackctl </big><big>first</big><big>,
with server "set_rlimits jackd -R". I also tried just "set_rlimits
jackd -R -d freebob etc. from a terminal, no difference. <br>
<br>
/etc/set_rlimits.conf looks like this: <br>
<br>
   @audio  /usr/local/bin/jackd  nice=-1  rtprio=85 memlock=59000<br>
   @audio  /usr/local/bin/qjackctl  nice=-1  rtprio=84 memlock=59000<br>
   @audio /usr/bin/ardour  nice=-1 rtprio=83 memlock=25000<br>
<br>
lspci -v : <br>
2:07.0 FireWire (IEEE 1394): Texas Instruments TSB43AB21
IEEE-1394a-2000 Controller (PHY/Link) (prog-if 10 [OHCI])<br>
Lucky there! <br>
<br>
cat /proc/interrupts<br>
           CPU0<br>
  0:   11707467          XT-PIC  timer<br>
  1:         48          XT-PIC  i8042<br>
  2:          0          XT-PIC  cascade<br>
  8:          1          XT-PIC  rtc<br>
  9:      32729          XT-PIC  acpi<br>
 11:   16353479          XT-PIC  yenta, eth0, ohci1394, Intel
82801DB-ICH4, ehci_hcd:usb1, uhci_hcd:usb2, uhci_hcd:usb3,
uhci_hcd:usb4, <a class="moz-txt-link-abbreviated"
 href="mailto:radeon@pci:0000:01:00.0">radeon@pci:0000:01:00.0</a><br>
 12:         33          XT-PIC  i8042<br>
 14:      82318          XT-PIC  ide0<br>
 15:     271529          XT-PIC  ide1<br>
ups!<br>
I will have to patch the kernel to be able to use rcirq right? <br>
Distro switching on this computer doesn't come in question,  but I will
buy a desktop computer very soon and there I could use something more
audio friendly. Freebob webpage suggests Fedora+CCRMA, is that still
actual? <br>
Once again many thanks for the answers and mainly for the work you do
with freebob!<br>
<br>
Martin Alacam <br>
</big>
<br>
</body>
</html>