So, I’ve been working on the MP3 player project quite a bit over the last few weeks. Christmas is a month away, so with the limited time I’ve got to work on it, I’d rather do that than post.
The remote control that comes with the Allwell box doesn’t work. Well, it does, but they tried to be clever and map it to the PS/2 mouse/keyboard port. It would probably work fine if their documentation matched and if they didn’t use the null character for the play button. Thats very difficult to match since many devices and programs use 0 to terminate arrays and strings and such.
So, I got an ATI Remote Wonder from NewEgg. That works pretty well using LIRC, but I had to completely re-map everything. I’ll post my configurations for it later.
Then, Woot had a product launch. The Saitek A-250 wireless speakers. That would work perfectly. It is a USB device which registers itself and automatically loads the USB Audio drivers correctly. So its plug and play, right? Nope. The ALSA documentation is horrid and almost impossible to follow. Its scattered all over the ‘Net and is horribly incomplete. It is a very powerful subsystem, but its configuration is so difficult I’m amazed anyone but the authors manage to get it working. I’ve tried three different distributions now, trying to get one that would recognize the Saitek speakers.
A few things that I’ve encountered with each of them.
First, I tried the CaOS distribution, which is fairly nice. I went with it because it was small, RPM based and seemed to have all of the features that I was looking for. It comes really, really, really close. I spent about a week trying to get the Saitek speakers working with CaOS but never was able to. I did manage to get everything else working including LIRC, MPD, NCMPC and a few others. It was very close to being ready to use. I’ve even got the web interface about 75% of the way done. But I couldn’t get the Saitek’s working under CaOS, so I tried something else…
SuSE 10, well, more specifically Open SUSE 10.0. I’ve got a soft spot for SuSE Linux. There is something about it that feels solid. SuSE has a great KDE setup which is perfect for some of my co-workers (I use Gnome primarily for myself) and it has lots of support for drivers that other distributions don’t. So, I installed it. Right off the bat I ran into troubles on this GTC Allwell box. The graphical boot loader doesn’t like the video hardware at all. When you first start booting, you are supposed to be able to hold down Shift and Alt to get a text installation. That works. Sort of. The problem is you can start it in text mode, but it still uses a bizarre framebuffer mode for text that isn’t compatible with the TV output. So, the only way I could get it installed was to use the RGB output, load the graphical loader then tell the graphical loader to only use text and no FB. There is no way to tell it not to use th FB from the Shift-Alt boot sequence. I proceeded on anyways, since I didn’t need to install it more than once. I managed to get it all installed. It was installed for a day. It didn’t recognize the Saitek device at all, which was quite a dissapointment. That wasn’t the deal breaker for me. The real problem was that the GTC Allwell box uses a VIA Nehemiah class CPU. The SuSE kernel and libraries are all compiled for 586 or 686. Apparently there is a “Padlock” function in the VIA chips for improving crypto performance, but things need to be compiled with it. Long story short, I wasn’t able to generate SSH keys for the machine, each time I tried it bombed out with various glibc errors (invalid free(), segfault were the two most common). Tried a few suggestions I could find on the net, but finally gave up.
Now I’ve just finished installing Fedora Core 4 on it. I’m familiar with Fedora Core more than any of the other distributions. We’ve been running RedHat on our network at work since the 3.0 days and use mostly RedHat ES on things now. My workstation at home is Fedora Core 3, as is my workstation at the office. Even if I can’t get the Saitek’s working, I’ll at least be very familiar with the distribution.
Installation of FC4 was tricky. When the boot screen comes up, you have to use ‘linux text nofb’ or it kicks things into a video mode that the GTC box can’t handle. I also had to plug a mouse into it to finish the installation becuase the installer didn’t really give me an option for text installation once it detected the “mouse” (which is the remote control that can’t actually function as a mouse — at least not that I’ve figured out). After the install, I got everything back into runlevel 3 with no framebuffer.
FC4 did recognize the Saitek speakers without any problem. The problem came in when I tried to play a test sound using the ‘system-config-audio’ tool. It appears to play, but if you look at the console, you get these errors:
amixer: Unable to find simple control 'Master',0
amixer: Unable to find simple control 'PCM',0
amixer: Unable to find simple control 'PCM-2',0
amixer: Unable to find simple control 'DRC Range',0
aplay: main:508: audio open error: No such file or directory
Not sure exactly why ALSA isn’t able to find a mixer device. There isn’t a /dev/dsp1 entry for it either. ‘alsaplay -l’ doesn’t list the Saitek as a device, either. A few things I’ve read indicate that the A-250 might be a bluetooth device, but I don’t think so. Another thing I’ve read indicates that it is a USB headphone type device. Either way, it has no PCM controls and no Master controls so there doesn’t appear to be a way for ALSA to access it. Maybe I’m missing something…
So, here’s where I’m at. I’ve pretty much decided on FC4 for the distro, mostly because I’m familiar with it. Combine that with the large user base, and I may eventually be able to figure out the issues I’ve got with the Saitek. Unfortunately, the A-250 was a “Woot Launch”, so its a new product, not a lot of users out there at this point.
More updates later….