I tried to get jackd2 running with an external USB soundcard on raspbian/wheezy last weekend, but noticed the infamous bus error problem. It has been mentioned here in the forum and elsewhere. After compiling jackd2 from the current git repo and a bit of debugging with gdb and looking for answers I found out here:
( search for bug #295)
that the problem has actually already been solved, is has to do with missing 32bit alignment of some data structures in jackd. The alignment is needed for the ARM cpu of the pi. __attribute__((__packed__)) causes misalignment of some struct members, which in turn causes a bus error when they are accessed by a pointer. So the solution is to not use __attribute__((__packed__)).
I'll attach the patch that I made up and tried out , it applies to the latest jackd2 git repository HEAD, after commit 95a1162d6aecc91882e4d8b01ba7fb12f6d29d1c. It makes jackd start without the bus error, although I did not yet manage to run sooperlooper with it (which was my aim).
I start jackd with:
# jackd -n jacktest -p 11 -d alsa -d hw:1 -r 16000 -i 2 -o 2
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2012 Grame.
jackdmp comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
JACK server starting in realtime mode with priority 10
creating alsa driver ... hw:1|hw:1|1024|2|16000|2|2|nomon|swmeter|-|32bit
configuring for 16000Hz, period = 1024 frames (64.0 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 16bit little-endian
ALSA: use 2 periods for capture
ALSA: final selected sample format for playback: 16bit little-endian
ALSA: use 2 periods for playback
My USB audio device is a "LogiLink 7.1 channel USB sound box":
Bus 001 Device 004: ID 0d8c:0102 C-Media Electronics, Inc. CM106 Like Sound Device
So thats about as far as I got during last sunday evening, I thought this might be valuable information for some other people around here experimenting with jackd on raspbian.