Building a New-to-Me System 10
The last few days, I’ve been building an AMD E350D-based system. This is a low-powered APU with on-board GPU for a mini-PC.
Had to get out the dremel to modify the case a little for improved cooling. Got the MB, PSU and all the connections together, hooked up a VGA cable, keyboard and mouse – then powered it on. Based on the PSU fan noise, it was a quad-Xeon server with 60+ HDDs spinning running 30 virtual machines with high-end gamers. Expected to see the BIOS screen.
I never did.
Sadly, it never got any quieter either. This PSU may be replaced with an 80+ Seasonic Flex-ATX PSU quickly. I think the entire system might need 100W peak.
RAM?
Ok, perhaps the RAM is shared for the GPU … fine. Reading the fine print – it uses DDR3 RAM, not the DDR2 I’d planned to reuse. This is a low power system.
Ordered from a nearby computer store, just need to drop by and pick it up later.
Hard Disk?
Now I just need to fine a spare HDD. I was pretty sure there was a spare 2.5" laptop drive around here. Really sure. I don’t have many of those so they are easy to keep track of. Hummmm. Can’t find a spare. Ok, next option.
3.5" HDD. There are lots of these around here. Most from the early IDE days (I might need it!) and a few are SATA. This system only supports SATA. Looking, looking, looking … all IDE. Lots of 300G IDE drives …. finally, I find 2 SATA drives … a 1TB and a 300GB stacked in the pile.
Ok, so I’m weird. I have perfectly good HDDs stacked in a pile, unused. The 300GB will be fine – this box will be running XBMC anyways, so anything over 20GB is too much. I did look up what 2.5" small SATA drives cost – 160G was the smallest and it was about $40 when a 320G was only $70. The laptop drives don’t get as hot or use as much power. I don’t trust SSD drives yet.
I’m really happy now to have looked up the case website for the istar model S21-20F2 or I’d never have figured out how to mount the HDDs into the case cover.
After removing the HDD from the mounting bracket and turning it around, the HDD was finally happily mounted to the top case cover. I should have realized there was no way I could do it correctly the first time. ;)
Another advantage for all that searching is finding a small case fan and zip-ties to position the excessive cabling from the PSU out of the way and help with cooling of that HDD. Good thing I kept that tiny fan all these years.
Picked up the RAM last evening and installed it.
Finally got to see the BIOS, but getting it to show up at all was more difficult that any other BIOS I’ve used. The very first time, there was a fancy high-color image displayed for about half-a-second. I was hitting [del], [del], [del], [del],and it kept going. The installed HDD had some version of Linux from 2007 – so it needed a fsck – over 890 days since the last check. ;) That crashed the OS pre-boot. Stuck.
The case doesn’t have room for a DVD/CD drive – this is the first PC that I’ve owned like that. Need to drop a new OS on there – XBMC-based – definitely.
That tiny fan spins with more noise than a jet engine. Need to drop a resistor into the line. It is setup to suck air in now. May need to have it pull air out.
Lots to do today.
At least the thing boots. That is definitely a win.
Got all the partitions setup (about 7 I think), installed XBMC-Live (based on Ubuntu 11.10), and installed Ubuntu 12.04 Desktop. Installation off USB worked perfect.
No Audio on 11.10
After installing xbmc-live into the first partition, the audio wasn’t working. On a forum somewhere, it was suggested that 12.04 had better support for the APU E350 class of motherboards. I quickly stopped and researched what it would take to upgrade from 11.10 to 12.04. I’ve done this a few times already, so the text-based instructions were followed. When it was time for
and nothing happened, I punted. Time to wipe that partition since it isn’t any use.12.04 + XBMC
Quickly booted the 12.04 install (good thing I’d installed it) and tested the audio – perfect. Next looked up whether XBMC was supported – it is. Did the normal update, dist-upgrade, install stuff for about 30 minutes. While I was waiting played with Unity for the first time in a few months. Things still just don’t work for me. Little things that got me frustrated. After about 20 minutes, I’d had enough and added lxde to the installation. I won’t have to screw with Unity anymore. There was only 1 bright point to all of this – setting the static IP. I’d setup a static IP doing it they way we must on servers – /etc/networking/interfaces – further, the DNS settings go into that file since 12.04 too – no more editing the /etc/resolve.con directly … which doesn’t make any sense to me, but whatever. The box was in a situation with an IP and complete access to the local LAN, but ZERO DNS capabilities.
When I discovered the network manager GUI, completed the information, the network settings were all updated, including the DNS stuff. This is much easier for a noob and for me, now that I know it exists. Very nice, though I hate when backwards compatibility is broken for no good reason.
Settings from Old Box
After XBMC is installed, I pull in the entire ~/.xbmc/ settings and data from the existing box. Ah – feels good. Worked perfectly. Just try to do that on Windows7 Media Center – I dare you. I’ve tried, it doesn’t work.
Time to reboot to get the new kernel working and try out XBMC.
Playback Test
The main purpose for this new machine was to support much higher resolution playback. The current box usually has problems playing anything over 600p. Playing a 720p video on the new box after copying it over (GigE networking rocks!) and it stutters. With every second the video gets farther and farther behind the audio. Not good. Basically, this sucks.
Forgotten HW Accel – Duh
My first thoughts are that the APU is too slow to handle it, but I specifically got a CPU with over 3x more power than the current CPU. It should handle the higher resolutions better. In the forums, there is mention of enabling hardware acceleration – that had completely slipped my mind. A quick web search leads to a special build of XBMC with support for my APU/GPU combo – just app a PPA and update.
Reboot since there are kernel modules and start testing. The 720p video is gorgeous, so I try the 1080i source – gorgeous. No playback issues at all. Perfect. This was the plan. I love it when a plan comes together. The replacement XBMC binary has a different built-in GUI, but the menus are really fast and responsive. The new GUI is growing on me. I tweak a few settings.
Little Issues
Along the way there were audio issues due to having 3 different audio-out possibilities – HDMI, SPDIF, and analog.
The video-out always worked.
The fans are still loud and the machine is getting fairly hot – 76 degC. The thermal warning for the CPU is 80 degC. It will be hidden behind some thick wood with a USB extension cord so the IR remote works nice. I can see a new Flex-ATX 80+ efficient PSU in the future. That brings the cost for this cheap XBMC machine to 100+29 +???
Anyway, the next step is to place the box where it will sit, connect up HDMI, were using VGA and the analog audio-out jack on the test bench and connect the remote control. Hopefully, the lirc and hdmi stuff doesn’t cause any hurdles.
Are you using an XBMC build with the new AudioEngine?
@Tyler – I don’t know what AudioEngine is being used and I can’t remote into the box to check, because it is suspended. I enabled Suspend when going through the different menus to see if that worked. In the morning, I used the Power button on the remote to wake it up. It worked AND is was pretty quick, just a few seconds. I experienced fewer crashes after the suspend than before.
The box is connected to a TV over HDMI now with an extension USB cable for the IR receiver to be conveniently located. This means the excessive noise from the fans are directed away from the listener, but it is still very loud inside the same room. A new PSU and some diodes to slow the case fan are definitely needed. The motherboard + APU + GPU are working very well.
I didn’t notice it, but the case has a blue system-on LED that is offensively bright. I’d read about this complaint in the Newegg Reviews, but figured everyone was overly sensitive. They were not. It is almost blinding. The red LED for HDD activity is muted in comparison. Since the case is around the back of the TV stand now, I don’t have to see either LEDs.
Until I get it setup to automatically login and start XBMC, a connected keyboard is required. What a pain. The MB doesn’t have built-in bluetooth, so a $3 BT receiver is needed. I have to say that Unity without a mouse sucks and not just because all the window controls are on the left-hand-side.
There are a few crashes now and switching between menu and video modes has an I-wonder-if-this-locked-up delay, but for the most part, everything is working on this new XBMC machine.
All the plugins from the prior install that were pulled over are working too. FreeCable, NAV-x and others like that. Very nice.
XBMC Issues:
I haven’t looked at the crash logs yet. There were 8 of them this morning.
It seems I was pre-mature on saying that suspend was working from the remote. Today – nothing. I believe the only think different today is that lirc has been installed. However, pressing the power button (which is very hard now) does bring the machine back to life. I need to do some research on a solution for this.
I also determined that the audio playback doesn’t get enabled for FLV, MPG, or MKV/h.264 files after a suspend when playback is requested. However, those same files playback perfect after an MP4 file has been played. Some sort of system initialization happens, I guess. Seems like only the mp4 playing logic has the reset audio-chip code. I don’t have many mp4 files, preferring MKV containers over the less capable MP4 container. Every file I transcode becomes an MP4 just before it is converted into an MKV file.
After a system reboot, some of these things may just work.
Too much to do around here today and that doesn’t include all the and wall-fishing for coax + ethernet cables from the attic.
During system patching this morning, I looked at the XBMC packages installed.
After adding the PPA, a normal update/upgrade process installed these. The XBMC thread with instructions.
Also looked at the xbmc.core files. It appears the problem is inside the ATI driver. I am not surprised. The VDPAU device is having issues being initialized too.
The built-in GPU is an AMD Radeon HD 6310 GraphicsATI, for the record.
Installed a picoPSU into the XBMC box today. All I can say is WOW! Completely silent.
Of course it didn’t go smoothly – the 12V CPU power cable was 200% too short, so I broke out the soldering iron and stole some wire from a 15 yr old case fan. I love the smell of solder in the morning.
It is a picoPSU-80 from mini-box.com.
After getting that installed, installed a fresh Ubuntu 12.04.1 into a new partition inside the machine. Did my normal purge nano and added in my favorite tools, then tested the MCEUSB remote. Everything worked – including suspend/power. I was shocked.
This was all without lirc installed. I was shocked.
Next I installed XBMC and re-tested the remote. Only the arrow keys worked. Not the back, or OK or suspend/Power buttons – those didn’t work anymore. That’s an issue, since those ARE the most important buttons on XBMC remotes.
This xbmc install is from the Ubuntu repos, not that PPA above. The VDPAU drivers are working perfectly.
At least the former jet-engine noise is gone.
Calling sudo pm-suspend manually is working, but the wake up has to come from a keyboard, not the remote. That sucks. I hope the built-in suspend for XBMC works as designed. I’ve written a tiny perl script that I can run with a decimal hour input that will suspend the machine. It is good for falling asleep to a movie, and having the machine auto-suspend 2.5 hours later. Anyone interested in a tiny perl script like that as an easy lesson?
Anyway, I’ve asked for help on some forums. Cross your fingers.
While I was typing this, the XBMC box locked up during some playback of HiDef Diving videos. Completely locked up. I need to install some temperature sensors after pressing the BRS.
Looked at the temps inside the BIOS. System temp is 47 degC and the CPU temp is just 46, so the machine is cool enough. I am seeing voltage fluctuations in the vcore, ddr, and 12V settings. Basically, there are flickers where the values change extremely quickly. While I watched, the temperatures for both the CPU and case increased 2 degC. I have the thermal control shutoff enabled, but that shouldn’t kick in for at least 20 more degC.
Normally I do system patches every week. On this XMBC machine, that seems to be a bad idea. After trying to get the suspect stuff working, I’d made too many changes to back out, plus Compiz was eating 104% of the CPU. It was bad.
Time for an OS wipe. Since the /home is a different partition, xbmc settings are safe.
Fresh OS Install
This time, I knew to avoid some mistakes.
Of course, a few other dependencies were needed along the way and I always install ssh, fail2ban, ntp, lm-sensors … things like that.
Since the old XBMC settings weren’t harmed, settings like FreeCable, Hulu and Nav-X are all there.
I also discovered a nicer XBMC theme – neon? No, that isn’t it. It was near the top.
Fixed Many Things
It is strange to say, but this fixed lots of things in the setup. Automatic suspect/resume are working under XBMC.
The Case Sucks
For the original $100, I got a MB, APU, GPU, PSU and case.
Since doing the fresh install, it has been stable. Just knowing that it will work when we sit down to watch TV or a movie is nice.
Next – Live TV
I’m beginning to play around with a USB tuner card. It was recognized by the kernel at plugin, so that’s a good sign. Need to install tvheadend to get to the next step. This is not in the package manager, but there .deb package is for amd64 , so the x64 selection for this OS seems to be a good idea. An OTA antenna has been connected already.
Live TV – this module made the entire setup unstable. Removed.
The most recent patches to Ubuntu 12.04 x64 LTS and XBMC have fixed the automatic sleep and un-sleep issues for the XBMC box.
It was actually a shock to me. I’d leave for a while and return to find the XBMC machine in sleep mode. It wasn’t on the network and needed a physical reset to get it working again. With nothing left to lose, I pressed the On/Off switch on the MCE remote control and waited. About 5 seconds later, the screen flickered and a list of videos was displayed. So far, so good. Selecting a video to play and it plays. Perfect.
I can only think of 1 remaining issue for the setup today. Sometimes the color displayed on the TV is off after a reboot. It is pink – missing the blue. Just turning the TV off and on again fixes it.