Auto-Off Issues with LG NB2520a and PlayStation 3

A couple of months back I started playing my way through Assassin’s Creed 3 on my PS3 again, having barely touched it for most of the previous year – and certainly since I got my LG NB2520a soundbar.  I soon noticed that every now and again (I’m guessing every 30 minutes or so) the soundbar would switch itself off while playing.

This hasn’t occurred with any other game, Blu-Ray or my YouView box as an input and seemed to be specific to Assassin’s Creed 3.  I tried pressing the “Auto Power Off” button to see if disabling this would help – it didn’t.

I then began playing recently began playing DmC – Devil May Cry on the same PS3 and noticed sound issues whereby the sound would cut out for a split second on a fairly frequent basis (every few seconds at times) and did some Googling on this.  It looked like this was something to do with the audio output options on the PS3 and was a fault in the game rather than the soundbar (if I turned off the soundbar and played the audio through the TV it still did the same thing).

Given the tip about sound output formats, I tried playing with these and I soon discovered that the issue disappeared if I went intot he PS3’s Audio Output settings and set them to manual to switch off Dolby Digital 5.1 Ch output option .  Unfortunately when I did this, DmC started suffering from the same problem as AC3. D’oh!

So my conclusion is that the LG NB2520a really doesn’t work well with DTS sound, at least not coming from a PS3, as I don’t think switching off every 30 minutes is good behaviour.

At the minute the only thing I can think of to fix this is to disable DTS 5.1 Ch output option for Assassin’s Creed 3 (haven’t tried this yet but will give it a go next time I play) and to disable Dolby Digital for DmC and accept that the soundbar is going to switch itself off every now and again.  Not exactly ideal but marginally better than having the sound cutting in and out.

What I’m wondering now though is… since the soundbar only outputs 2.1 sound, is there any reason not to just disable both Dolby Digital and DTS and use the PCM 2.1 sound?

Android Studio Debugging with Nexus 4 Google Driver

Recently I’ve been thinking of dipping my toe back into the world of Android app development and discovered that there is a new IDE on the block in the form of the Android Studio.

I installed this on my (Windows) machine, which isn’t a speed demon by any stretch of the imagination, and tried to run a “Hello World!” program on the emulator but it was taking 10 minutes for the emulator to start and it was still just showing the android boot screen, so I decided to try it out on my Nexus 4.

I followed the standard advised steps, enabling USB debugging and setting the USB mode to PTP, but the phone didn’t appear when I connected it and went to Run the package from Android Studio.  Further, the drivers wouldn’t install properly.  Advice seemed to be to go to Device Manager and install from <sdk>\extras\google\usb_driver\ – but there was no usb_driver folder there.  However you can  install this from the “SDK Manager” from the Android Studio toolbar.

Screenshot of Android Studio toolbar highlighting SDK Manager button
SDK Manager button on Android Studio toolbar

This will open the SDK Manager which seems to contain optional components that you can install alongside the Android Studio.  In this case I was looking for the Google USB Driver which is listed under “Extras”.

Continue reading “Android Studio Debugging with Nexus 4 Google Driver”

Swap UK Keymap for US on Lubuntu using XRDP

OK so my home server is up and running at my new place and I have been tinkering, installing Ruby etc. and as I started writing a bit of code I realised I couldn’t tolerate the getting a US keymap any more.

I hasten to add that this problem only occurred when I logged in over Remote Desktop so I figured it was something to do with XRDP – and I was right.  Thanks to a very useful post at Component Parts, I was able to update it in just a few minutes.

Just download the keymap file (km-0809.ini) into the XRDP keymaps directory – /etc/xrdp/ – and then run:

sudo chown xrdp.xrdp /etc/xrdp/km-0809.ini
sudo chmod 644 /etc/xrdp/km-0809.ini
sudo service xrdp restart

I suspect you’ll want to log out of Remote Desktop and use a shell client like PuTTY for that last part – I assume if you restart the xrdp service while you’re connected to the server, you’re gunna have a bad time!

AArgghhh!! Lubuntu Server Can’t Ping the Internet (not even IPs!)

Well the good news is I figured out why my server can’t download updates through the update manager – it turns out the server can’t see the internet.

This is exceptionally weird because the internet can see it.  I’ve set up port forwarding on my Virgin Superhub router so I can SSH into the server, but can’t reach the internet on the way out!!

Also can ping the router etc. just fine.

Turned out I’d screwed something up in my router last night – I had set up a MAC filter for the server, and since the default was Allow All, anything in the filter list was blocked.  OOps.

All good now, but my “Update Manager” still doesn’t seem to work at all.  Problem for another day though.

Setup HP Proliant Microserver with Lubuntu & Remote Desktop (RDP)

I had had a few goes at installing Linux on my HP Proliant Microserver N40L fairly recently and thanks to a recent cockup involving an OS corruption, I’ve been presented with an opportunity to start from scratch again and document exactly what I want to do and why.

First, my rationale for purchasing the server.  Well aside from the fact that it only cost me in the region of £130 after cashback, I did actually believe I had uses for a low-powered, energy-efficient server, namely:

  • Sharing files across the home network (2-3 Windows laptops, 1 Windows PC and a couple of android mobile phones and an Android tablet)
  • Remote access to said files via SFTP
  • Streaming media to a PlayStation 3
  • Potential future ventures such as coding, developing/hosting websites, running a DNS server and other assorted geekery.

First thing’s first – get the OS installed!

After some experimenting I eventually settled on Lubuntu as my Linux distribution.  Fedora had refused to work with Wake on LAN and Lubuntu is a cut-down, light-weight variant of the Linux distribution I know best, Ubuntu, which replaces the rather ‘heavy’ GUI with something more light-weight – LXDE.
Installing Lubuntu itself is pretty straightforward, just download it from Lubuntu.net, use Live USB Creator to create a bootable SD (since the N40L has no optical drive) and run the installer.

Remote Working

Now since I don’t have a dedicated monitor for the server, the first thing I want to do is get it set up for Remote Desktop.  You obviously need some sort of RDP server like xrdp to do this.  Easy, either install it from the Synaptic Package Manager or hit up the terminal with:

sudo apt-get install xrdp

Now, this allowed me to connect to the server but when I try to login I get a message that just said “Error – problem connecting”.  Eventually I tried to connect from PuTTy and realised that I hadn’t installed an SSH (secure shell) server this time.

Connection Log <br />connecting to sesman ip 127.0.0.1 port 3350 <br />sesman connect ok <br />sending login info to sesman <br />xrdp_mm_process_login_resposne: login successful for displa[truncated] <br />started connecting <br />connecting to 127.0.0.1 5910 <br />tcp connected <br />error - problem connecting
Error received trying to connect to Lubuntu server from Remote Desktop Connection in Windows 7
At this point I wish I could tell you how I fixed the problem, but the  sad truth is I’ve no idea. I installed an SSH server (sudo apt-get install openssh-server) and this seemed to allow me to connect, but displayed a blank screen with an X-shaped cursor.  I resolved this by some editing the configuration XRDP uses to kick off a new session, but then when I uninstalled the SSH server everything still worked.

The answer to the desktop was to edit the file /etc/xrdp/startwm.sh – replacing the last line (a call to /etc/X11/Xsession) with:

exec /usr/bin/lxsession -s Lubuntu -e LXDE

Et viola le desktop.

Lubuntu Desktop through Remote Desktop Connection
Lubuntu’s LXDE window manager showing through Remote Desktop Connect.

Massive thanks to celem at UbuntuForums.

PS3 Media Server As A Linux Service

In a previous blog I detailed how I’d managed to get PlayStation 3 Media Server (PMS) up and running on my Lubuntu box, and had it starting automatically.  At this stage there were 2 problems with the setup:

  1. PMS was running as root, which is a self-evidently Bad Thing TM
  2. It was serving every folder from “/” downwards – when all I really wanted was a TV and a Film folder, both mounted under /media

So my goal for today was to complete the following steps to rectify this and have my PMS running on startup, and only showing the correct folders.  My plan was:

  1. Create a user (‘pms’) to be responsible for running the PlayStation 3 Media Server program (reference)
  2. Give the user (minimal) permissions needed to do this (reference 1, reference 2)
  3. Change my startup routine to make sure the PMS started as the right user
  4. Sort out the configuration so only the right folders are shown to the clients

So let’s get started

Continue reading “PS3 Media Server As A Linux Service”

Lubuntu 11.10 Wake On LAN

I’ve been doing a lot of messing about with different flavours of Linux over the past few days, and as I mentioned in my PS3 Media Server post, had one or two minor headaches.  One of these was that while my HP Microserver supported Wake-On-LAN (WOL), this didn’t seem to work with Fedora 16 (x64), but did with Ubuntu.

Eventually though I moved on to Lubuntu, and while I could have sworn blind WOL worked fine on Saturday night, it definitely wasn’t working last night – so my first task today was to rectify this, which I have done largely thanks to a WOL guide at a blog called Confounded Tech (and the comments following it).

So what went wrong and how did I fix it?

First thing I did was download ethtool using sudo apt-get install ethtool and then checked the output from the command ethtool eth0 (where eth0 was my network card).  What I was looking for was a “g” in the “Wake-on:” line, indicating that WOL was enabled. It was there – so while a lot of the guides talked about enabling this setting on startup, I figured I was ok to ignore that bit as it seemed to be ok.

Rather, the problem seems to be that Lubuntu wasn’t shutting down the network card correctly when I sent the shutdown command.  Rectifying this meant creating a script and putting it in two directories: /etc/rc6.d/ and /etc/rc0.d/.  The rcx numbers correspond to Linux “run levels“, with 0 being halt and 6 being shutdown & reboot.  The script would basically just make sure the network interface was closed correctly each time.

In the rcx.d directories there are a lot of scripts, all of which get called when the OS is entering the relevant run level. scripts starting with an S start a job and scripts starting with a K kill a job.  The numbers following the level indicate priority, where S (or K) scripts with a lower number are executed before those with the same letter but higher number.  My system had S35networking which presumbaly does some fancy stuff to shut down networking programs.

The following script should be created and placed in both /etc/rc0.d/ and /etc/rc6.d/ – I called mine S34wol.sh, hoping that would ensure it was executed at the right point in the shutdown process.

#!/bin/sh
ifconfig eth0 down
poweroff

And… ?

Well now my server responds to WOL packets sent from my Windows 7 Laptop using FUSION WOL.  It still, for some reason, refuses to respond to WOL packets sent from my phone using mafro’s Wake On Lan app.

Installing PS3 Media Server on Lubuntu – and Running at Startup

One reason for purchasing the HP Proliant Microserver (N40L) was to run it as a media server (since the Linkstation Live NAS drive I already have, while a decent fileserver, doesn’t seem to play nicely with the PlayStation 3 for some reason).

I looked at a few options and eventually decided on PS3 Media Server as my DLNA server – despite the name, it supposedly serves media to all sorts of devices.  Oh and after trying Fedora 16 (no wake on LAN), Ubuntu (dodgy RDP display quirks), Kubuntu (software updater refused to work) and openSuse (just too different from Ubuntu) I settled on Lubuntu – a light-weight Ubuntu variant with the LXDE (Lightweight X11 Desktop Environment).

So my day has been spent trying to install the PS3 Media Server, get it to work (easy) and – now here’s the tricky part – get it to run as a service (i.e. in the background, and on startup – before I’ve logged in).  This involved a lot of learning about things I’d never heard of before, or had completely forgotten, like init.d, Linux run levels, shell scripts, putty, PPAs and loads more – but I’ll try and keep this as simple as I can.

So the first bit is easy, thanks to Ubuntu Help’s PS3 Media Server page.  Installation can be done using Ubuntu’s standard apt-get.  PS3 Media Server isn’t in Ubuntu’s built-in repositories but someone has helpfully created a “Personal Package Archive” or PPA (whatever that is) that apt-get can install from.  So you need to fire up your terminal and run:

sudo add-apt-repository ppa:happy-neko/ps3mediaserver
sudo apt-get update
sudo apt-get install ps3mediaserver

As far as I can tell these three steps tell Ubuntu to add a new repository (the ppa) to the package manager, update the list of packages available (to add the packages in the ppa) and then install the package it’s just found called ps3mediaserver.  Easy, right?

Now you can play about with it (you’ll find it at /usr/bin/ps3mediaserver) and a guide to some of the PMS settings is available online. But if you’re running a home server like my Microserver, you’ll probably want it to run at startup (before any user login).  This is trickier.

According to the docs, it’s not recommended to run PS3 Media Server as a daemon on Linux… oh dear.  (If you want an easy life, it seems you can run it as a Windows Service easily enough).  However it looks like it is possible.  First, I recommend learning a little about the /etc/init.d directory and rc.d – for which I found an explanation of init.d and  a helpful introduction to Linux services.

Basically the init.d directory seems to be a collection of scripts, each one designed to manage (stop/start) a specific application on start up.

In addition to this I’d been looking at Leigh Henderson’s guide to installing PS3 Media Server where the author had the same objective – running as a ‘headless’ service.  However, he had downloaded and installed the files himself (not using the PPA) which seems to work slightly differently.  Leigh talks about using a script (PMS.sh, which comes with the manual download) to start the program, which I simply didn’t have.

I did manage to take Leigh’s instructions and make them work for the apt-get installed version of the server though.  After messing about with the ps3mediaserver script that was already in init.d (a much more complicated beast), and not being able to make it do what I want, I decided to write my own version of Leigh’s simple script.

Despite my initial trepidation, it seems all that was necessary was to call the executable /usr/bin/ps3mediaserver instead of his script at /opt/pms/PMS.sh.

i.e. create a script in /etc/init.d (I called mine pmsautostart) with the following content:

#!/bin/bash
nohup /usr/bin/ps3mediaserver &
exit

You’ll need root permissions (sudo) to save this file.  The nohup help tells me that nohup simply runs a command but then ignores ‘hangup’ signals.  As far as I can tell these are signals sent from the OS when a user logs out, telling the program to quit.

And you should be good to go!  Please let me know if the above works for you.

Note that I take no responsibility if you repeat what I did and break your OS.  I’m just learning this stuff myself and, for example, already know that this solution leaves your PS3 Media Server running as root (and I’m sure this is a bad idea so my next task will be trying to figure out how to run it as someone else).  Nevertheless, you’ve been warned!

PS – The only other thing I haven’t figured out so far is how to get PS3 Media Server to not show every directory on my system to the PS3.  I tried restricting the shared folders using the GUI but that doesn’t seem to do anything. If you figure this out before I do please let me know that too!

Kubuntu Muon Software Centre Crashes on Opening

I’ve recently installed Kubuntu 11.10 on my HP Proliant Microserver (N40L). This was my third attempt at installing a Linux OS that I wanted to operate using Wake on LAN and Remote Desktop (RDP) from my Windows 7 laptop, so I was determined it would be third time lucky and I wouldn’t have to try another OS or reinstall.

After Ubuntu’s unity interface caused issues over RDP where nothing on the desktop displayed, and prior to that Fedora just outright refused to Wake on LAN, I was pleased that Kubuntu both Woke on LAN and let me login (and actually do things) over Remote Desktop. The only problem was that the installation seemed to be broken, as any time I tried to open Kubuntu’s “Muon” Software Centre, it crashed on startup with an error saying

Executable: muon-installer PID: 2165 Signal: Segmentation fault (11)

I could still install software using the command line (which is how I got a remote desktop server installed to know that this worked!) but I’m not yet au-fait enough with this for this to be an acceptable solution, plus I didn’t like the idea of my shiny new toy being anything less than 100% capable, so off to Google I went.

I did find a thread on Ubuntu Forums which sounded very familiar: like another poster, (same error, 64-bit OS version, and I had to interrupt an update post-installation because it stalled about half-way), but none of the proposed solutions in the thread worked. The suggestion seems to be that Muon is just Kubuntu’s own fucked up mangling of KDE’s standard package manager.

I may tru Ubuntu again and try enabling the GNOME fallback, but someone in that thread did mention OpenSUSE – a distro I hadn’t considered to date. Maybe it will be ‘4th OS lucky’!

Take a Screenshot on your HTC Desire S / Evo 3D

I know you can take screenshots with Android 4.0/Ice Cream Sandwich, but I discovered a week or so back that, having upgraded my HTC Desire S to HTC Sense 3.0 (on Android 2.3.5) I can now do this without an ICS upgrade!

Here it is from the horse’s mouth: it seems all you have to do to take a screenshot on your HTC device is hold the power button and press the home button. Your screenshot will be captured and saved to your gallery.

I actually took my first screenshot on my Desire S following the upgrade to HTC Sense 3.0 by accident!! I was on a website in the browser and pressed something that made a message come up “Screenshot saved to Gallery”. What!? Screenshot?

Yes, it turns out you can take a screenshot on HTC Sense 3.0 (and presumably HTC Sense 3.5). I have since got myself an HTC Evo 3D (which comes with Sense 3.0) and verified that the same process works there, the only difference is that it saves to “Camera Shots”.

Much thanks to Andrew Girdwood, whose post  “How do you take a screen shot with your HTC Sensation” I came across on a Google search as his comments section was where I first discovered the answer.