Building a New-to-Me System 10

Posted by JD 08/15/2012 at 23:01

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.

  1. JD 08/16/2012 at 11:28

    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.

    1. Turn the fan around – there’s really only 1 place it can be mounted.
    2. Create a utility USB flash drive.
    3. Gparted OS – repartitioning will be required
    4. Rescue Linux OS – so I can mount and look around on the HDD (wish I’d done this prior to closing everything up)
    5. XBMC-Live install OS

    At least the thing boots. That is definitely a win.

  2. JD 08/16/2012 at 19:09

    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

    $ sudo do-release-upgrade
    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.

  3. Tyler 08/16/2012 at 20:11

    Are you using an XBMC build with the new AudioEngine?

  4. JD 08/17/2012 at 13:30

    @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:

    • Stopping playback occasionally crashes. Not always, just occasionally.
    • Asking for Next File occasionally crashes. Not always, just occasionally.
    • Audio doesn’t work for some files, until playing an AC3 or DTS file, then going back to the other file, usually with stereo MP3 audio, works.
    • Some of the display text is too small to read. I tried the Appearance-Zoom Settings, but that pushed some of the controls off the screen. I switched to a different layout design to try that. Not any better.
    • Yes/No button selection outline is very faint – for example when asking to delete a file a Yes/No (or is that Confirm/Cancel?) is displayed. The text is so small that I can’t read it AND the outline for the selected choice is too faint to tell which is actually my choice.

    I haven’t looked at the crash logs yet. There were 8 of them this morning.

  5. JD 08/18/2012 at 10:49

    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.

    • Wake-on-Lan (make patching easier) script
    • Wake-on-USB (remote control) – Seamless Remote Experience is a little harder
    • Wake-on-Keyboard – found the BIOS setting already
    • patch the system(s) – easy
    • Find solution for sometimes non-working audio – unknown difficulty.

    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.

  6. JD 08/18/2012 at 12:09

    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.

  7. JD 09/01/2012 at 02:40

    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.

  8. JD 09/19/2012 at 12:20

    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.

    1. Load Ubuntu Srv 12.04.1 x64 – last time was x32 desktop Ubuntu
    2. Add LXDE and lirc – to get a minimal GUI w/ remote control
    3. apt-get update; apt-get dist-upgrade – to get the current everything
    4. Add ATI GPU drivers … from the Ubuntu repos – never directly from ATI
    5. Add new XBMC-pvr repo from two comments above
    6. Install xbmc

    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.

    • Suspend after 15 minutes
    • Resume only works properly with the TV on and a keyboard press, not from the remote. Resuming without the TV on breaks the HDMI connection and seems to put XBMC into a strange place that cannot reconnect to the TV as a display.
    • Video playback is still perfect.
    • HDMI video and audio are perfect, though I did have to disable DTS or Dolby Digital output – sorry, don’t recall which – for TV recording sound to work. MP3 and AAC audio embedded inside videos was working.
    • Remote control is almost perfect. Everything except suspend/resume are working as expected.

    The Case Sucks

    For the original $100, I got a MB, APU, GPU, PSU and case.

    • The case was from istar and has lots of issues.
      • PSU fan opening hole is in the wrong place. Dremel
      • The slot for an extra PCI card it horizontal and near the top of the case, so if you have a HDD mounted to the case lid, as it is designed, then you can’t us any card. Further, even using eSATA connectors in the slot hits the HDD, so the case lid cannot be used. The eSATA-to-SATA link isn’t a PCI card, it just takes up the single slot with about a 1/4 inch depth into the case. That is too much.
    • The included PSU was too noisy to be used except on a shop floor. Replaced with a PicoPSU as stated above. Loving the PicoPSU.
    • The MB, APU, GPU are all working as expected.
    • The APU has enough power for non-HD content to playback. HD content is all encoded using GPU-supported codecs, so it plays perfectly.
    • The MB is small, and fits the ITX form factor, though getting this board to fit into this case was not trivial. Had to cut off some steel fan stays.
    • The PicoPSU 12V-CPU power cable needed to be longer than provided, so I did have to splice in an extension. Is that a flaw with the MB or the PicoPSU? I don’t know. It was just an extra hassle.

    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.

  9. JD 10/22/2012 at 14:34

    Live TV – this module made the entire setup unstable. Removed.

  10. JD 11/08/2012 at 17:08

    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.