Ubuntu, Firewire and Music

No HT in the pc at all here, just looking for sound. And I won't even call it a media player setup, because the machine is in use as an everyday PC. I just want it to play music, etc, and to do so well, so Ubuntu has been my choice of what I want to sit in front of. I hope never to have to step back on the Windows road.

It it some realtek chip, can you send me your dmesg/log in private.

Regards ...
Sorry, but the logs, etc from that particular install are long-gone

Yes it is: RTL8111D on a Gigabyte GA-890GPA-UD3H, rev.2.1, bios ff.

Seems to be a bit of a thing on this motherboard, according to my googling some time back. People reported replacement boards doing the same thing, so I decided to live with it. Sometimes the device will not come up. A reboot usually fixes it, and if it does not, then powering-off (hard, at the power supply, not soft with the button) always does. Sometimes, also, I'll see the router-port light flickering, in which case I know the net won't work, even though dmesg says the device is up.

There never seems to be anything more revealing in the system logs: just if the device is up or down. This can happen booting XP too; it is not a specifically Linux problem.

It is a pain, but even more of a pain to dissemble it and got through the returns hassle for an occasional fault.
 
There been some bad realtek cards in wild, IIRC I have seen some workaround. Can you post the output of lspci -vvxxx .

Regards ...
 
This bit?
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 03)
Subsystem: Giga-byte Technology Device e000
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 27
Region 0: I/O ports at ce00
Region 2: Memory at fdeff000 (64-bit, prefetchable) [size=4K]
Region 4: Memory at fdef8000 (64-bit, prefetchable) [size=16K]
[virtual] Expansion ROM at fde00000 [disabled] [size=128K]
Capabilities: [40] Power Management version 3
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [50] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable+
Address: 00000000fee0100c Data: 4171
Capabilities: [70] Express (v2) Endpoint, MSI 01
DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us
ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 128 bytes, MaxReadReq 4096 bytes
DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq+ AuxPwr+ TransPend-
LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 <512ns, L1 <64us
ClockPM+ Suprise- LLActRep- BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
Capabilities: [ac] MSI-X: Enable- Mask- TabSize=4
Vector table: BAR=4 offset=00000000
PBA: BAR=4 offset=00000800
Capabilities: [cc] Vital Product Data <?>
Capabilities: [100] Advanced Error Reporting <?>
Capabilities: [140] Virtual Channel <?>
Capabilities: [160] Device Serial Number 00-e0-4c-68-00-00-00-03
Kernel driver in use: r8169
Kernel modules: r8169
00: ec 10 68 81 07 04 10 00 03 00 00 02 10 00 00 00
10: 01 ce 00 00 00 00 00 00 0c f0 ef fd 00 00 00 00
20: 0c 80 ef fd 00 00 00 00 00 00 00 00 58 14 00 e0
30: 00 00 00 00 40 00 00 00 00 00 00 00 05 01 00 00
40: 01 50 c3 ff 08 00 00 00 00 00 00 00 00 00 00 00
50: 05 70 81 00 0c 10 e0 fe 00 00 00 00 71 41 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 10 ac 02 02 c1 8c 64 00 10 50 19 00 11 3c 07 00
80: 40 00 11 10 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 11 cc 03 00
b0: 04 00 00 00 04 08 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

This is way deeper than anything I understand. If you can shed any light that would be wonderful.

Oh, by the way...

After installing 11.04 in a new partition, and then installing the Ubuntu Studio tools and audio packages, I returned to my currently work-a-day 10.04 system and played some music. The sound quality was markedly improved. Seriously. Clearer and more detailed.

Psychoacoustics, eh? The wonderful world of illusion! :lol: But the difference since last listening might have been real (it was not back to back testing) and could be explained by a host of different factors...

But this was late in the night, and I have not returned to the Studio-11.04 partition to check out the functioning of the Firewire stuff and the quality. If I can then hear a difference, back to back, between the PCI-->RME output and the Firewire-->Audiofire output, then that will be less likely to be illusory.
 
Last edited:
My God! It Almost Works!

every-day 10.04 (Studio) install: Just installed -rt kernel. It wasn't scary, and I made sure that Grub was still going to offer the existing kernels when I rebooted.

Currently, I have music playing from VLC through Jack, I have system monitor displaying resources, and firefox. Thought I'd push my luck and turn Compiz back on, and, hey, I can even rotate the desktop cube (which also proves the video driver is fine with this kernel).

It is not perfect, though. There is still the occasional drop out. Hopefully that can be tuned out.

Firefox will be occasionally sluggish when browsing (like it is in Windows most of the time ;)) but that's fine. If the system is telling, hold on, processing something important at the moment, then that is exactly how it is supposed to be :)

Also just booted a VM with XP in it. That took a while to start, and a while to stop (a bit like the real thing) but was the application I though might fail with the rt kernel, which is a downgrade in version numbers.
 
Even more Success!

Just to recap

This refers to running a Firewire audio interface, an Echo AudioFire2, on Ubuntu 10.04 with Studio extensions installed and a real-time kernel

I've just listened to about an hour of music. Jack says there was one Xrun, but I didn't notice the drop out (ok, might have been out of the room)

I tweaked /etc/default/rtirq (changes in red)
RTIRQ_NAME_LIST="rtc0 raw1394 ohci1394 snd usb i8042"
(apparently, rtc should have been rtc0, so this was a bug correction) but without notable improvement. (and, as you can tell by the two 1394 devices there, I was throwing just anything at the problem at this stage: this to be revisited)

Then, the last thing I changed last night, was to add a file /etc/udev/rules.d/40-timer-permissions.rules containing
KERNEL=="rtc0", GROUP="audio"
KERNEL=="hpet", GROUP="audio"

After that, I went to bed and forgot about the whole thing until I started testing/listening an hour or so ago.

Previously, among a heap of other stuff I read this:

Linux Musicians Wikki: System Configuration

From there, here's some clever and useful stuff [literally] from Google:

realtimeconfigquickscan ---Inspect a linux system' configuration and make suggestions for improving realtime performance.

First, install mercurial, which is a prerequisite, then follow the instructions to install and run...
$ perl ./realTimeConfigQuickScan.pl
== GUI-enabled checks ==
Checking if you are root... no - good
Checking filesystem 'noatime' parameter... 2.6.31 kernel - good
(relatime is default since 2.6.30)
Checking CPU Governors... CPU 0: 'ondemand' CPU 1: 'ondemand' CPU 2: 'ondemand' CPU 3: 'ondemand' - not good
Set CPU Governors to 'performance' with 'cpufreq-set -c <cpunr> -g performance'
See also: LinuxMusicians &bull; View topic - cpu frequency scaling
Checking swappiness... 60 - not good
** vm.swappiness is larger than 10
set it with '/sbin/sysctl -w vm.swappiness=10'
See also: LinuxMusicians &bull; View topic - Configuration 'quickscan'
Checking for resource-intensive background processes... none found - good
Checking checking sysctl inotify max_user_watches... < 524288 - not good
increase max_user_watches by adding 'fs.inotify.max_user_watches = 524288' to /etc/sysctl.conf and rebooting
For more information, see system_configuration [LinuxMusicians Wiki]
Checking access to the high precision event timer... readable - good
Checking access to the real-time clock... readable - good

Checking whether you're in the 'audio' group... yes - good
Checking for multiple 'audio' groups... no - good
yes - good.
Checking the ability to prioritize processes with chrt... yes - good
Checking kernel support for high resolution timers... found - good
Kernel with Real-Time Preemption... found - good
Checking if kernel system timer is set to 1000 hz... found - good
Checking kernel support for tickless timer... found - good
== Other checks ==
Checking filesystem types... ok.
not found.
** Warning: no tmpfs partition mounted on /tmp
For more information, see:
- system_configuration [LinuxMusicians Wiki]
- Linux Audio Users Guide - Low latency Howto
** Set $SOUND_CARD_IRQ to the IRQ of your soundcard to enable more checks.
Find your sound card's IRQ by looking at '/proc/interrupts' and lspci.
The Pink items in the above are the ones addressed by the udev rules. Previously, these had been unreadable ... bad

Of the remaining items: max_user_watches and swappiness, I have to look up (but think my system just about never swaps out). CPU Governors: I had previously tried setting CPUs to "performance" which means run at full, all the time. It didn't help, except to raise the temperature of the machine! Something to be watched and thought about, though.
My audiofire is supported by ffado. Just noticed that even the mixer/controller works in 11.04 (but not in 10.04)
That works too now. It just needed the ffado-dbus-server added to programs started on login

And that's Two hours of clean music now :eek:hyeah:

Of course, all this technical stuff might be nonsense: it might be that it was playing Happy Trails by Quicksilver Messenger Service that fixed the system :rolleyes: :lol:

.
 
Last edited:
Bad --- There is no alsa loopback driver for the rt kernel. This is the magic thing that mentioned in my first post that allows non-jack-aware applications to make noise through Jack, thinking that they are making noise through alsa. The plugin method is there, but not as good. This requires a lot more research and may even lead to home-compiled kernels.

Good --- There is a Flash library file which outputs direct to Jack. This seems to work well. I don't even have to start Jackd first... just click on a You-Tube video, for instance, and it plays with sound. That's probably most of the sound output from Firefox sorted.

Very Bad Problems with Wine, particularly with CoolEdit Pro, which I most want to work. Dead, even after several reinstallations of wine/ce-pro. I think I have to delete Wine and reinstall it all under the generic kernel. (There is a Wine asio driver, but if CE-Pro won't even run, then that doesn't become relevant)

---and---

Audacity defies all attempts to play with alsa sound re-routed to Jack. It won't even play with Jack running!

Which means I don't have an audio editor I'm comfortable with.

The Project Continues!

And, at present, it continues in 10.04. Sometime I'll do it all over again in 11.04, where I expect there will be different problems, and different things to be learnt.

Of course there's times I feel like throwing a brick at the screen, but, over-all, and much more important, Linux, in general, has turned my computer back into something with a great deal of technical interest for me. It is much better for my brain than just sitting in front of a browser getting more and more zombified!
 
I don't know how this happened (Good)

--- Audacity now has a Jack interface option.

I would swear it wasn't there last time I looked (but I've been wrong before)

Will I ever learn to document every step I take? No. Never did when I was paid to do it, so I guess it's too late now! :D

Last thing I did was install Pulse-audio-module-Jack and add the sink and source lines to the config file. I now have those in the PA Volume control, so I', hoping I can output just about anything to Jack :)

(I didn't think that would work for Audacity. Maybe it did. Must have!)

Ardour works (playback at least)* but is far too heavy a package for my recording/editing needs. Anyway, at point, I didn't think Audacity was ok, and it is!

*Ahem... input not even attempted yet :)

It's probably dangerous to say this, but It's looking good. Maybe. :cool:

I'll post a round-up soon --- and I just know that when I do, it'll look like, hey, that took more than a week? But that's life :licklips:
 
Last thing I did was install Pulse-audio-module-Jack and add the sink and source lines to the config file. I now have those in the PA Volume control, so I', hoping I can output just about anything to Jack
This is broke, totally. Any attempt to load the modules fails, and booting the system with the load lines in the cinfig files puts pa into such a tizzy that it just about freezes the desktop.

Much too much like a Windows experience! :(
 
This is depressing.

Just as I was getting uninterrupted music out of my firewire box, as of yesterday, it is totally screwed. Xruns (resulting in drop outs) around every two minutes until Jack finally crashes. And, I really don't think I changed anything since I got it working just fine.

Possibly time to throw the thing in the flooded plot next door :sad: :mad: :sad: :mad:
 
This is depressing.

Just as I was getting uninterrupted music out of my firewire box, as of yesterday, it is totally screwed. Xruns (resulting in drop outs) around every two minutes until Jack finally crashes. And, I really don't think I changed anything since I got it working just fine.

Possibly time to throw the thing in the flooded plot next door :sad: :mad: :sad: :mad:

Are you posting this on an appropriate linux forum and seeking opinion about if a CR can be opened for the various issues you've encountered till date? You can open a CR and volunteer to test patches. This is a good method of contributing to the FOSS community even if one cant code.

--G0bble
 
I haven't done, because it's all there already --- with the tweaks and adjustments, posted over several years. They seem to work for many, and not for some.

That seems to be part of the Linux story: you google for a problem, and find it's been around for years --- and sometimes the years-old fixes work, sometimes they don't.
 
I haven't done, because it's all there already --- with the tweaks and adjustments, posted over several years. They seem to work for many, and not for some.

That seems to be part of the Linux story: you google for a problem, and find it's been around for years --- and sometimes the years-old fixes work, sometimes they don't.

Ok. Try bumping that thread anyways. Somebody with the same hardware as yours might help. You never know!! :)


--G0bble
 
With this kind of a problem, it is absolutely necessary to consume as much information as possible. One begins with google searches that are specific to actual hardware and symptoms, widens the enquiry into generally learning about the software involved, and from then on, its a case of revisiting it often, taking shots in the dark, skimming stuff that is technically completely beyond my understanding, and generally digging in to anything that could be vaguely useful. Here is a gentleman called Reuben, posting on the Ardour software forum, back in 2007:
Here's the two most common reasons for xruns like this:

1) Your period size and/or number of periods is just too small for your system to keep up with. You can fix this by either increasing the period size / number of periods or you can apply the realtime patch to the kernel to help it keep up. If your latency is lower than 20ms on an unpatched kernel then this is probably your problem.

2) If your sound device has digital IO and jack is set to use that device, but it isn't connected to anything then that can cause alot of xruns. The digital device is trying to get a sync signal but isn't finding anything because it is not connected, and as a result causes a lot of xruns. Either connect to another digital device or set jack to use an analog device / sub-device.

(Link)​
Well, it's a bad-jack day, with xruns coming every two minutes, and no amount of concentrated watching of system processes, disc access, system logs, etc, etc, giving me any clue. As usual. This is not related to my hardware, and I don't use Ardour --- but it is a new idea I haven't seen before. It's easy to forget that my little box does have digital i/o, because the SPDIF connectors are on a dongle cable (midi too). but it does.

So I changed the device from just being firewire to being firewire hw:0. It was the first on the drop-down list, so it was the first I tried instead of "default" --- restarted Jack... no xruns and I was able to push the latency way lower than before :cool:

I can't say that it is 110%. There will be an occasional glitch, and sometimes a group of them. I've said it's working before: tomorrow is another day. But it is definitely the best so far, with a couple of days testing.

It isn't the end of the story. The same fix does not work in 11.04! That comes with a different version of Jack too (jack2, in fact!) as well as a new firewire kernel module and FFADO firewire audio drivers.

I also have yet to get hold of another pair of balanced TRS/TRS cables to try recording into this box. I guess I could just "borrow" the speaker cables and monitor on the headphones. I need to be feeling strong before I even start ... ... ...
 
Last edited:
Next entry in the diary...

Lots of interesting stuff from KXStudio. Jack2 and some very good ancillary tools.

But I installed a later real-time kernel from there. I don't know if all their stuff will work on the older kernel, but, at the moment, everything other than the basic 2d desktop is broken, and that includes the firewire sound. No firewire, no 3d drivers.

I did take a backup first :) but I have at least a couple of hours restore/repair work to do to get back to the previous milestone.

EDIT... when the system is broken anyway, it's time to play. I'll do an actual "upgrade" to KXStudio and see what happens. But not right now: twenty minutes into a power cut is no time to start such a task!
 
Last edited:
Nightmare on Digital Street!!

Starring Thad E Ginathom as Hero, and a computer that wants to destroy his world (remember HAL in 2010 space odyssey?). But is Thad really the hero? Or is he the villain responsible for repeatedly breaking his system to the point that the survival instinct of the Computer takes over and it decides to take revenge? Are computers like the many living species on planet Earth that are threatened to the brink of extinction, also under threat from the incessantly meddling hands of humans? Find out more at an HFV screen next to you.

PS: Get your own popcorn. :)

--G0bble
 
Last edited:
I want to listen to music.

I'm sorry, Thad, I can't let you do that...

:lol: :yahoo:

Very good, Gobble :clapping:

Curious developments tonight. I have several kernels available for booting in my main installation, and had been using a real-time kernel. This was the one that I tried the KXStudio stuff with, ending up admiring their software very much, but to no avail, as, after the first try, jack absolutely refused to start at all. Completely broken.

Anyone who has been following my firewire diary, might remember that, under the standard 10.04 generic kernel, Jack/firewire was useless, because any video update, even including its own message box, would ruin the sound. Tonight's development is that I booted up the -generic, and found jack (the KXStudio install) running, and music playable, even after a reboot. On a non-real-time kernel!

The KXStudio Cadence control system is superb. It really does integrate the different audo modules. I even got music out of Foobar under Wine. You do not have to start Jack manually; you do not have to run the Cadence tools (after the initial configuration). It is as close to plug-and-play Firewire audio as Linux is likely to get. My dream! ;)

If there is a problem with KXStudio, it is that it seems to be a one man show, and he admits to preferring coding to documentation, but, so far, I am full of praise for the stuff he has produced, and the fact that he seems to be around just about every Linux forum, wherever people may have a KXStudio problem, ready and willing to advise. Hats off to the guy :)

It works today. Hard experience has shown me that it might not tomorrow.

My AMD graphics driver is broken ... and that seems to come up with its stream of error messages every time I install anything. Have to try and fix that tomorrow.

If it lets me :rolleyes:
 
Last edited:
Somehow, two conflicting graphics drivers had got installed. This caused a major problem with installing or removing any software as dependencies always got in the way. Some of the stuff I had to remove required the removal of the Ubuntu-Studio-Audio meta package (no problem; I'm going with the TXStudio stuff) and that was broken, and I had to dig for how to fix that by hand.

3D graphics is working again. Compiz cubing causes interruptions to sound, which doesn't surprise me. Mostly, though, the TXStudio stuff, of which I've now installed a lot more, has Jack running very nicely, even under a generic kernel.

Downside: cannot now login with any realtime kernel. It's going to be another project to remove them and install low-latency or real-time again. Or 11.04 KXStudio.

But... for now, Hal is letting me listen to music, and it sounds pretty good, especially through the Audio-Technica headphones :)

For anyone coming across this thread, let me repeat: there is no problem, assuming your interface is supported, with audio via PCI or USB from Linux. It is just Firewire that is a pig.

KXStudio seems to have turned my pig back into a friendly sow :D
 
Thad, it might be very useful if you could just summarise your diaries. I will post it as part of your first post.

Gobble, your timing and words are fantastic. Reminds me of Nagesh and Jim Carrey both of whom had/has superb timing.

Cheers
 
Last edited:
Thanks, Venkat.

Give me a little more time. This has been a little bit like a tumultuous love affair. One day the wedding is booked for tomorrow, and the next day nobody is even speaking to anybody else, only to find that, two days later, it is all on again. Even an apparently unrelated update could break everything!

So, I'm still in the research and discovery phase. I have not, as mentioned, even tried input through the Audiofire2 yet, and I will need to, for digitising tape/vinyl and possible use of Skype too (the simplest way to use that would be to re-enable the on-board chip, definately not wanted for music listening, but by far the easiest for the plugging in of domestic mics and stuff, rather than studio equipment. Coexistence? We'll see... ).

Also, all the big realtime tweaking which ensures priority for the sound card irq is of much less importance, possibly none, while I am back working with a generic, non-realtime kernel. You could say that I am, currently, back at square 1.5 :), but 1.5 is a great deal better than 1.

When I get to a reliably working system with a pre-emptive, low-latency, or realtime kernel, I'll post a summary of the tweaks, including the necessary code (only short scripts and config-file entries, nothing vast).

I think it is a problem that maybe I'm the only one here interested in solving! However, Google shows that it is a common Linux problem, so this thread may bring others to HiFiVision (I guess most of discover these forums through google).

For a few days, now, I'm just going to enjoy the music. Unless something breaks. Which it probably will! :eek:
 
Thad, it might be very useful if you could just summarise your diaries.
At this point in time, the summary would be very short:

If you want to use Ubuntu Linux for playing sound through a Firewire audio interface use KXStudio...

:) :) :)

Here's the slightly extended version:

1. Check that the device is supported by FFADO (Open-source Linux firewire audio drivers). If it is not, then, unless the manufacture provides Linux drivers (we can dream!) it is probably better not to bother.

2. Install the Ubuntu version of your choice, but do not install Ubuntu Studio

3. Install at least the minimum required parts of KXStudio. This is described in the Linux Musicians Forum thread KXstudio without branding and KDE. Check out what is to be installed: I really didn't need a big Open-Office update! Also check out what is likely to affect your desktop. I suggest using Ubuntu Tweak Desktop Recovery section, which will quickly and easily restore your chosen look-and-feel. I don't like the TXStudio dark-chocolate look!

4. Enable the KXStudio repositories and make sure that you have jackd (jackd2, not 1), jackd-firewire, pulse-audio-module-jack, and cadence (the control tool that glues everything installed with versions from KXStudio.

5. Which kernel you choose to use, and which tweaks mentioned above, will depend on you, your hardware and what version of Ubuntu you are using. In 10.04, I was getting imperfect results from generic kernel and good results from real-time kernel. I am now experimenting with using 11.04 ("Classic," the Gnome-2 desktop: I have no time for Unity!) and the 2.6.38-8-lowlatency kernel from KXStudio and the results are excellent.

Results: After using Cadence to configure Jackd to use the Firewire interface...

Configure VLC to use Jack. Play. It just works!

You-Tube-Video, etc, in Firefox. Play. It just works!

Wine applications: After a seperate struggle to get Cool Edit Pro working, I found I had poor-quality sound and constant ticking. This is the one component that I went elsewhere than KXStudio: an udate to the latest version (1.3.29 for 11.04, 1.3.28 for 10.04), from the Ubuntu Wine PPA, put this in the just-works category too.

Wine works well, so you can have Foobar2000! Well, I did this for a test. It is one of the things that I missed about Windows, but I use VLC for almost all my listening (and occasional viewing) now. Foobar's add-ins seem somewhat restricted in the Wine environment.

Jackd will be started when you log in. There is no need for any each-session control or configuration, but it is nice to be able to monitor its status, connections, etc. You can add /usr/bin/cadence --minimized in System-->Preferences-->Startup Applications and it will be there for you in an indicator applet area of one of your panels.

I have followed the Ubuntu -->add/upgrade TXStudio path. There are alternatives here.

It's a studio distribution (video, etc, meta-packages are there too). Most of that is just not relevant to the listener, but hey, it's all toys, the only cost of which is the bandwidth, and one can have a lot of fun (even without a midi keyoard, although that would be good) playing with synthesisers, drum machines and so on :cool:
 
Last edited:
Get the Award Winning Diamond 12.3 Floorstanding Speakers on Special Offer
Back
Top