FinalScratch ScratchAmp 2

Support Status: 
Reported to work
Manufacturer: 
Stanton

Comments

Tested for about a month with Ubuntu 8.04 last summer. Will devote some more time to test 2.0 when it gets released under 8.10 (or 9.04 if it takes that long to go gold!). No problems, good audio, no drops and seemed to work just as well as it did under Windows XP. It did take some minor tweaking via the mailing list and usage of code from SVN to get it setup correctly.

is there any news on this? can i download the experimental drivers anywhere?

keen to get my scratchamp2 working on fedora so that i can stop dual-booting with windows :-)

thanks!

did it just plug and play? i don't understand the last part of your statement, could you please elaborate because i just purchased one and i am trying to use it with ubuntu 10.04.
my goal is to use it with mixx and my cdjs with serato timecode cds. i am using a dell xps m140 and it is plugged in through the really small 1394 port. it is not recognized by pulse audio or alsamixer. when i try to run jack with firewire i get the following:

no message buffer overruns
could not open driver .so '/usr/lib/jack/jack_freebob.so': libfreebob.so.0: cannot open shared object file: No such file or directory
no message buffer overruns
could not open component .so '/usr/lib/jack/jack_freebob.so': libfreebob.so.0: cannot open shared object file: No such file or directory
JACK server starting in realtime mode with priority 10
libffado 2.0.0 built Mar 31 2010 14:47:42
00442983919: Fatal (ffado.cpp)[ 174] ffado_streaming_init: There are no devices on the bus
firewire ERR: FFADO: Error creating virtual device
Cannot attach audio driver
JackServer::Open() failed with -1
no message buffer overruns
Failed to start server

i see you posted a long time ago but i'm somewhat desperate to get it working - jangal

good news (for me atleast)!
i got it to work! after a number of attempts of going over my steps, the solution was simple yet all the more mystifying. the trick - i started jack via termial as described on the ffado wiki and it worked. all my channels appear (the 2 main ins and outs), the aux/mic in, and the midi in/out as well yea!!!!

Worked right out of the box with no config whatsoever. Simply got the ffado packaes from synaptic and fired up qjackctl.

The driver exposes -
6 Capture ports (2 x stereo Line-in/Phono(selectable) w/passthroughs and 1 x stereo Line-in/XLR mic(selectable))
6 Output ports (2 x stereo Line-outs and 1 x 1/4" stereo Headphone out)
1 X MIDI-in and 1 X MIDI-out

No mixer support of course, but not necessary because each input has it's own gain control onboard and the passthroughs on the Line-ins give many monitoring possibilities.

Tested to 1ms @ 48000hz and 2ms @ 96000hz. So far seems very stable and good sound quality.

This is a really nice setup considering these are discontinued and are popping up in pawn shops all over. I got this one online for $40.

It does work out of the box with 10.04 and the rt-kernel although I followed the Ubuntu Firewire Audio guides to gain some performance increases. I have not tried it without the rt-kernel, as the Ubuntu guide reports the firewire stack doesn't work for FFADO/firewire soundcards with regular and low-latency kernels.

I was very thankful to have it working so easily, everything I tried in 9.04 ended in a crash after initialization.

The sound quality is awesome, I agree. Can't find one of these for $40 myself! I paid triple that but with the quality and the versatility it's still a steal.

I'm having problems with ffado and jackd by running xwax. Sometimes I can play for an hour, and then the error appears, or sometimes appears in ten minuts. Don't know exactly what to do, I left you the qjackctl output. Let me know if you wanted me to paste more output. I'm on Debian 7, with the lastest rt kernel. Thanks folks!

04:07:57.680 Cambios en las conexiones JACK.
Jack: JackClient::Connect src = xwax:Deck1_playback_L dst = firewire_pcm:0012600010000000_Out 1 left_out
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 44
Jack: JackSocketServerChannel::Execute : fPollTable i = 2 fd = 45
Jack: JackRequest::ConnectNamePorts
Jack: JackEngine::PortConnect src = xwax:Deck1_playback_L dst = firewire_pcm:0012600010000000_Out 1 left_out
Jack: JackGraphManager::CheckConnect src_name = xwax:Deck1_playback_L dst_name = firewire_pcm:0012600010000000_Out 1 left_out
Jack: JackEngine::PortConnect src = 16 dst = 8
Jack: CheckPortsConnect(caller = 2, src = 3, dst = 0)
Jack: src_self is false
Jack: dst_self is false
Jack: JackGraphManager::Connect port_src = 16 port_dst = 8
Jack: JackConnectionManager::Connect port_src = 16 port_dst = 8
Jack: JackConnectionManager::Connect port_src = 8 port_dst = 16
Jack: JackConnectionManager::IsLoopPathAux ref1 = 0 ref2 = 3
Jack: JackConnectionManager::DirectConnect first: ref1 = 3 ref2 = 0
Jack: JackConnectionManager::IncConnectionRef: ref1 = 3 ref2 = 0
Jack: JackEngine::ClientNotify: no callback for notification = 11
Jack: JackEngine::ClientNotify: no callback for notification = 11
Jack: JackEngine::ClientNotify: no callback for notification = 11
Jack: JackEngine::ClientNotify: no callback for notification = 11
Jack: JackSocketServerChannel::Execute : fPollTable i = 3 fd = 47
Jack: JackClient::Connect src = xwax:Deck1_playback_R dst = firewire_pcm:0012600010000000_Out 1 right_out
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 44
Jack: JackSocketServerChannel::Execute : fPollTable i = 2 fd = 45
Jack: JackRequest::ConnectNamePorts
Jack: JackEngine::PortConnect src = xwax:Deck1_playback_R dst = firewire_pcm:0012600010000000_Out 1 right_out
Jack: JackGraphManager::CheckConnect src_name = xwax:Deck1_playback_R dst_name = firewire_pcm:0012600010000000_Out 1 right_out
Jack: JackEngine::PortConnect src = 18 dst = 9
Jack: CheckPortsConnect(caller = 2, src = 3, dst = 0)
Jack: src_self is false
Jack: dst_self is false
Jack: JackGraphManager::Connect port_src = 18 port_dst = 9
Jack: JackConnectionManager::Connect port_src = 18 port_dst = 9
Jack: JackConnectionManager::Connect port_src = 9 port_dst = 18
Jack: JackConnectionManager::IsLoopPathAux ref1 = 0 ref2 = 3
Jack: JackConnectionManager::IncConnectionRef: ref1 = 3 ref2 = 0
Jack: JackEngine::ClientNotify: no callback for notification = 11
Jack: JackEngine::ClientNotify: no callback for notification = 11
Jack: JackEngine::ClientNotify: no callback for notification = 11
Jack: JackEngine::ClientNotify: no callback for notification = 11
Jack: JackSocketServerChannel::Execute : fPollTable i = 3 fd = 47
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 44
Jack: JackRequest::Notification
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackExternalClient::ClientNotify ref = 2 client = qjackctl name = qjackctl notify = 4
Jack: JackClient::Connect src = xwax:Deck2_playback_L dst = firewire_pcm:0012600010000000_Out 2 left_out
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackClient::ClientNotify ref = 2 name = qjackctl notify = 4
Jack: JackClient::kGraphOrderCallback
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackExternalClient::ClientNotify ref = 3 client = xwax name = xwax notify = 18
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackExternalClient::ClientNotify ref = 3 client = xwax name = xwax notify = 18
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackSocketServerChannel::Execute : fPollTable i = 2 fd = 45
Jack: JackSocketServerChannel::Execute : fPollTable i = 3 fd = 47
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 44
Jack: JackRequest::Notification
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackExternalClient::ClientNotify ref = 2 client = qjackctl name = qjackctl notify = 4
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackExternalClient::ClientNotify ref = 3 client = xwax name = xwax notify = 18
Jack: JackClient::ClientNotify ref = 2 name = qjackctl notify = 4
Jack: JackClient::kGraphOrderCallback
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackExternalClient::ClientNotify ref = 3 client = xwax name = xwax notify = 18
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackSocketServerChannel::Execute : fPollTable i = 2 fd = 45
Jack: JackRequest::ConnectNamePorts
Jack: JackEngine::PortConnect src = xwax:Deck2_playback_L dst = firewire_pcm:0012600010000000_Out 2 left_out
Jack: JackGraphManager::CheckConnect src_name = xwax:Deck2_playback_L dst_name = firewire_pcm:0012600010000000_Out 2 left_out
Jack: JackEngine::PortConnect src = 20 dst = 10
Jack: CheckPortsConnect(caller = 2, src = 3, dst = 0)
Jack: src_self is false
Jack: dst_self is false
Jack: JackGraphManager::Connect port_src = 20 port_dst = 10
Jack: JackConnectionManager::Connect port_src = 20 port_dst = 10
Jack: JackConnectionManager::Connect port_src = 10 port_dst = 20
Jack: JackConnectionManager::IsLoopPathAux ref1 = 0 ref2 = 3
Jack: JackConnectionManager::IncConnectionRef: ref1 = 3 ref2 = 0
Jack: JackEngine::ClientNotify: no callback for notification = 11
Jack: JackEngine::ClientNotify: no callback for notification = 11
Jack: JackEngine::ClientNotify: no callback for notification = 11
Jack: JackEngine::ClientNotify: no callback for notification = 11
Jack: JackClient::Connect src = xwax:Deck2_playback_R dst = firewire_pcm:0012600010000000_Out 2 right_out
Jack: JackSocketServerChannel::Execute : fPollTable i = 3 fd = 47
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 44
Jack: JackSocketServerChannel::Execute : fPollTable i = 2 fd = 45
Jack: JackRequest::ConnectNamePorts
Jack: JackEngine::PortConnect src = xwax:Deck2_playback_R dst = firewire_pcm:0012600010000000_Out 2 right_out
Jack: JackGraphManager::CheckConnect src_name = xwax:Deck2_playback_R dst_name = firewire_pcm:0012600010000000_Out 2 right_out
Jack: JackEngine::PortConnect src = 22 dst = 11
Jack: CheckPortsConnect(caller = 2, src = 3, dst = 0)
Jack: src_self is false
Jack: dst_self is false
Jack: JackGraphManager::Connect port_src = 22 port_dst = 11
Jack: JackConnectionManager::Connect port_src = 22 port_dst = 11
Jack: JackConnectionManager::Connect port_src = 11 port_dst = 22
Jack: JackConnectionManager::IsLoopPathAux ref1 = 0 ref2 = 3
Jack: JackConnectionManager::IncConnectionRef: ref1 = 3 ref2 = 0
Jack: JackEngine::ClientNotify: no callback for notification = 11
Jack: JackEngine::ClientNotify: no callback for notification = 11
Jack: JackEngine::ClientNotify: no callback for notification = 11
Jack: JackEngine::ClientNotify: no callback for notification = 11
Jack: JackSocketServerChannel::Execute : fPollTable i = 3 fd = 47
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 44
Jack: JackRequest::Notification
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackExternalClient::ClientNotify ref = 2 client = qjackctl name = qjackctl notify = 4
Jack: JackClient::ClientNotify ref = 2 name = qjackctl notify = 4
Jack: JackClient::kGraphOrderCallback
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackExternalClient::ClientNotify ref = 3 client = xwax name = xwax notify = 18
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackExternalClient::ClientNotify ref = 3 client = xwax name = xwax notify = 18
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackSocketServerChannel::Execute : fPollTable i = 2 fd = 45
Jack: JackSocketServerChannel::Execute : fPollTable i = 3 fd = 47
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 44
Jack: JackSocketServerChannel::Execute : fPollTable i = 2 fd = 45
Jack: JackSocketServerChannel::Execute : fPollTable i = 3 fd = 47
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 44
Jack: JackSocketServerChannel::Execute : fPollTable i = 2 fd = 45
Jack: JackSocketServerChannel::Execute : fPollTable i = 3 fd = 47
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 44
Jack: JackSocketServerChannel::Execute : fPollTable i = 2 fd = 45
Jack: JackSocketServerChannel::Execute : fPollTable i = 3 fd = 47
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 44
Jack: JackSocketServerChannel::Execute : fPollTable i = 2 fd = 45
Jack: JackSocketServerChannel::Execute : fPollTable i = 3 fd = 47
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 44
Jack: JackSocketServerChannel::Execute : fPollTable i = 2 fd = 45
Jack: JackSocketServerChannel::Execute : fPollTable i = 3 fd = 47
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 44
Jack: JackSocketServerChannel::Execute : fPollTable i = 2 fd = 45
Jack: JackSocketServerChannel::Execute : fPollTable i = 3 fd = 47
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 44
Jack: JackSocketServerChannel::Execute : fPollTable i = 2 fd = 45
Jack: JackSocketServerChannel::Execute : fPollTable i = 3 fd = 47
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 44
Jack: JackSocketServerChannel::Execute : fPollTable i = 2 fd = 45
Jack: JackSocketServerChannel::Execute : fPollTable i = 3 fd = 47
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 44
Jack: JackSocketServerChannel::Execute : fPollTable i = 2 fd = 45
Jack: JackSocketServerChannel::Execute : fPollTable i = 3 fd = 47
JackFFADODriver::ffado_driver_wait - unhandled xrun
firewire ERR: wait status < 0! (= -1)
JackAudioDriver::ProcessAsync: read error, stopping...
Jack: JackPosixThread::ThreadHandler : exit
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 44
Jack: JackSocketServerChannel::Execute : fPollTable i = 2 fd = 45
Jack: JackSocketServerChannel::Execute : fPollTable i = 3 fd = 47
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 44
Jack: JackSocketServerChannel::Execute : fPollTable i = 2 fd = 45
Jack: JackSocketServerChannel::Execute : fPollTable i = 3 fd = 47
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 44
Jack: JackSocketServerChannel::Execute : fPollTable i = 2 fd = 45
Jack: JackSocketServerChannel::Execute : fPollTable i = 3 fd = 47
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 44
Jack: JackSocketServerChannel::Execute : fPollTable i = 2 fd = 45
Jack: JackSocketServerChannel::Execute : fPollTable i = 3 fd = 47
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 44
Jack: JackSocketServerChannel::Execute : fPollTable i = 2 fd = 45
Jack: JackSocketServerChannel::Execute : fPollTable i = 3 fd = 47
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 44
Jack: JackSocketServerChannel::Execute : fPollTable i = 2 fd = 45
Jack: JackSocketServerChannel::Execute : fPollTable i = 3 fd = 47
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 44
Jack: JackSocketServerChannel::Execute : fPollTable i = 2 fd = 45
Jack: JackSocketServerChannel::Execute : fPollTable i = 3 fd = 47
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 44
Jack: JackSocketServerChannel::Execute : fPollTable i = 2 fd = 45
Jack: JackSocketServerChannel::Execute : fPollTable i = 3 fd = 47
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 44
Jack: JackSocketServerChannel::Execute : fPollTable i = 2 fd = 45
Jack: JackSocketServerChannel::Execute : fPollTable i = 3 fd = 47
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 44
Jack: JackSocketServerChannel::Execute : fPollTable i = 2 fd = 45
Jack: JackSocketServerChannel::Execute : fPollTable i = 3 fd = 47
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 44
Jack: JackSocketServerChannel::Execute : fPollTable i = 2 fd = 45
Jack: JackSocketServerChannel::Execute : fPollTable i = 3 fd = 47
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 44
Jack: JackSocketServerChannel::Execute : fPollTable i = 2 fd = 45
Jack: JackSocketServerChannel::Execute : fPollTable i = 3 fd = 47
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 44
Jack: JackSocketServerChannel::Execute : fPollTable i = 2 fd = 45
Jack: JackSocketServerChannel::Execute : fPollTable i = 3 fd = 47
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 44
Jack: JackSocketServerChannel::Execute : fPollTable i = 2 fd = 45
Jack: JackSocketServerChannel::Execute : fPollTable i = 3 fd = 47
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 44
Jack: JackSocketServerChannel::Execute : fPollTable i = 2 fd = 45
Jack: JackSocketServerChannel::Execute : fPollTable i = 3 fd = 47
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 44
Jack: JackSocketServerChannel::Execute : fPollTable i = 2 fd = 45
Jack: JackSocketServerChannel::Execute : fPollTable i = 3 fd = 47

Could you please provide a little more information as to the nature of the problem? Are you seeing any additional error messages beyond the "unhandled xrun"?

In terms of logs, the jack log relates to things which run "above" FFADO. To determine what is going wrong we would need the tail end of the "verbose" FFADO log. Such a log can be activated using "-v 6" on the jackd command line anytime after "-d firewire". It seems you're running qjackctl; in this case I think there's a GUI control which allows you to activate FFADO's verbose logging.

Could you tell us a little more about the software you're running and how you're using it? Unhandled xruns can be caused by CPU overload or other load-related events for example.

Finally, please provide the output of produced by the command "ffado-diag". This will tell us a great deal about the configuration of your system and show any potential problems with the way it is set up.