Search This Blog

Tuesday, October 26, 2010

Setting up a centralised DB for multiple XBMC machines

Really easy guide for this here:
http://lifehacker.com/5634515/how-to-synchronize-your-xbmc-media-center-across-every-room-in-the-house

Initally, this worked, but made things VERY slow - like 15 seconds to go into the Movies section. Needs one addition - you must add:
skip-name-resolve
to the my.ini file in C:\progam files\mysqlXXX\
in the [mysqld] section

Restart mysql after this.

Now it's basically the same speed as a local library.

Monday, October 18, 2010

Updated nvidia drivers

I have updated the nvidia drivers on my install (see link in post below).

So far no issues and the better video quality and corret colour/brightness is back like with the other two installs.

Sunday, October 17, 2010

Settling in with the Shuttle

Ok now that the B3 is working so well, I have had more time to actually use the thing and it's going quite well in all. No major nasties to report, certainly seems as stable as my Camelot install, and it's of course completely silent which is a big bonus - but other than that in practise it is really much the same as my ASRock.

The one big feature I really miss from the maverick/XBMCFreak installs is the better/brighter video quality. I plan to update the NVidia drivers soon, to get the new colorrange options - this will mean the need for 'vdpau studio levels' or a brightness boost/contrast drop of 56/43 will be obviated. Hopefully these drivers play nicely with Dharma without unhoped for issues :)

My current thinking is I will move to final release Dharma with the latest NVidia drivers as my stable platform, and then experiment with the ASRock and SVN versions until a nice stable SVN seems to be around (I really want the 'delay video start by x seconds' feature that SVN currently has - this will make for a much neater, immediately in sync video play startup).

This is how you update the nvidia drivers:
http://wiki.xbmc.org/index.php?title=XBMCbuntu#Method_4:_Using_X_Updates_repository

It is MUCH nicer to have to two toys to play with (even if they're not quite the same hardware, the processes are really much the same for each). Previously having jsut one set up meand always being worried about breakage - now if it goes wrong I can always pop the other player in temporarily...

Friday, October 15, 2010

3rd run on the Shuttle

This time I went for vanilla beta 3 Dharma.

Had to add the network driver (see below) and update lirc for my funky remote receiver (see below), and add USB0 to /proc/acpi/wakeup for remote suspend/resume, and now everything is working well. Audio is fine out of the box (set output/passhthrough to HDMI/Nvidia HDA HDMI/Nvidia HDA HDMI).

Very simple and everything appears to be working well - better than all the other tries for a lot less effort! All the little glitches seem gone - no slow ui, no pauses browsing lists etc

Problems (all very minor):

- No sounds on iphone 4 movie files
- wrong aspect ratio on DV video files
- bluray support is AWOL - mpls and bdmv, neither play (not sure if Live is supposed to do this - does libbluray come with live?

The video quality is much the same as Camelot - the UI and video play is dark again (it msut be the newer nvidia drivers on Maervick/XBMCFreak fixing this) - and overall it somehow intagibly doesn't look as good, I presume the newer ION drivers include various video quality tweaks. Smoothness is good, much better than Camelot, and VC1 works finally.

All in all a good, stable experience so far. But there are some nice features in svn I already miss - such as being able to define a pause after a refresh rate switch so that video/audio start at the same time (instead of audio starting and then a second or two later video kicking in as with Camelot & Dharma).

Tuesday, October 12, 2010

2nd Run with Shuttle XS35/XBMC - Install on Ubuntu Maverick

Quick notes that I will update as I go:

Installed final Maverick Desktop.

Logged in & it prompted be to update to latest NVIDIA drivers (260.19.whatever).

Added lirc - apt-get install lirc, told it I had an MCE remote/receiver and no transmitter.  Ran irw - works fine, so the post below is now superflous.

All hardware seems to work out of the box - ethernet, wireless, the remote, etc.

Install XBMC

This was WAY harder than expected.  Camelot was easy - just add-apt-repository team-xbmc, apt-get update, apt-get install.  But I wanted Beta2 or SVN - using the team-xbmc-svn ppa didn't work with broken packages (xbmc-data and xbmc-skin-confluence).  In the end I followed this guide to compile SVN from source.  Needed to apt-get install autopoint for the bootstrap to work but other than that exactly as per the guide.  Post install to run it I needed to apt-get install mesa-utils to get glxinfo.

This gives a working XBMC (SVN R34654).

I followed the autofs guide below to mount all my shares the no-hang way...very important to have the entry in the hosts file so ubuntu can find your local server or that doesn't work.

To get audio & auto start working I followed this post.

At this point it appears thunderbirds are go.  Now I need to do some testing...and will update this as I go, but so far (apart from having to learn how to compile xbmc from source) - this is far easier than XBMCLive really as you get networking etc out of the box.

I still have to properly test suspend/resume but so far it seems to be working better than XBMCFreak B2T3 which was my last try.

Friday, October 1, 2010

Add time remaining display to Confluence - Dharma

Super simple mod to add Time Remaining display to Confluence.




\usr\share\xbmc\addons\skin.confluence\720p\DialogFullScreenInfo.xml

2nd control from bottom, change one line:
<control type="label">
<description>Player Times</description>
<posx>890</posx>
<posy>115</posy>
<width>500</width>
<height>25</height>
<label>$INFO[Player.Time]$INFO[Player.TimeRemaining, / ]$INFO[Player.Duration, / ]</label>
<align>right</align>
<aligny>center</aligny>
<font>font30_title</font>
<textcolor>grey</textcolor>
<shadowcolor>black</shadowcolor>
</control>

\usr\share\xbmc\addons\skin.confluence\720p\DialogSeekBar.xml

Find this and change two lines:
<control type="label">
<description>Elapsed Time Label</description>
<posx>20</posx>
<posy>27</posy>
<width>240</width>
<height>20</height>
<font>font10_title</font>
<textcolor>white</textcolor>
<align>left</align>
<aligny>center</aligny>
<label>$INFO[Player.Time] / $INFO[Player.TimeRemaining] / $INFO[Player.Duration]</label>
<visible>!Player.Seeking</visible>
</control>

Done!

Thursday, September 30, 2010

Getting a non standard MCE IR receiver to work with XBMC

That is, one that doesn't work 'out of the box'.  I bought this remote and reciever:

...thinking because it was another MCE remote/reciever and supported RC6 like my other one (a Rock Vista Remote) - it would just be plug in and go.

Not so much.

No response what so ever from the remote.  In a shell, tried 'irw' - no response at all.  Oh dear.  Is it broken?  Probably not, tried it under Windows, ok it works.

In the shell, lsusb gives:

  • Bus 005 Device 002: ID 147a:e03e Formosa Industrial Computing, Inc.

  • Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

  • Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

  • Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

  • Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

  • Bus 001 Device 004: ID 04d9:1203 Holtek Semiconductor, Inc. MC Industries Keyboard

  • Bus 001 Device 002: ID 05e3:0605 Genesys Logic, Inc. USB 2.0 Hub [ednet]

  • Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


That top device is the reciever (unplug it and it goes away, plug it in and there it is, that's my fancy way of working it out!) Turns out that reciever is not supported by the lirc that comes with XBMCLive (well, this Freak B2T3 version anyway).

Followed this guide to add the device to the list of MCE compatible recievers: https://help.ubuntu.com/community/InstallLirc/Hardy#Adding%20support%20for%20more%20remotes One caveat - I had to do one extra thing as there's been a recent change in lirc:
sudo rmmod lirc_mceusb2
sudo rmmod lirc_dev
sudo modprobe lirc_dev
sudo modprobe lirc_mceusb2
sudo /etc/init.d/lirc restart

(the extra bit is to remove lirc_dev and add the new one back in).

Wa la - remote works just like my other one.

Wednesday, September 29, 2010

Testing Dharma on the new fanless Shuttle XS35GT

I have just performed a test install of Dharma B2 on my new Shuttle XS3GT (fanless ION 2 system).

Here's the log of what has been a bit fiddly in all, but is working really well now:

  1. Basic install plus get network drivers active for XBMCLive

  2. Swapped Shuttle drive for an SSD (60GB Corsair Nova I had spare).

  3. Downloaded latest XBMCFreak Dharma B2 T3 and burned ISO to CD.

  4. Install Windows 7 Ultimate and XBMC to a 20GB Partition - man it's slower than XBMC Live but I wanted a Win system available for testing.  Haven't done much mroe than a basic install of this, no testing as yet.  THis is also useful because it gives access to the grub menu at boot once XBMCLive is installed

  5. Install XBMCFreak to a 20GB partition.  Went well but the network card was not identified.

  6. Enable network card:


enable eth0

1. download & unpack the sources from ftp://driver.jmicron.com.tw/jmc2xx/Linux/ to an usb key

2. plug the usb key into the shuttle

3. mount the drive
mount /dev/sdb1 /mnt

4. follow the instructions in ftp://driver.jmicron.com.tw/jmc2xx/Linux/Readme.txt:
cp -r /mnt/jme-1.0.6.1 /usr/local/src/
cd /usr/local/src/jme-1.0.6.1
sudo make install

5. test the driver:
sudo modprobe jme

6. edit your /etc/network/interfaces, add something like
auto eth0
iface eth0 inet dhcp

(From now on use putty/WinSCP to connect to the box)

Get Audio to Work
1. make sure ALSA is 1.0.23 or newer:
cat /proc/asound/version

2. run alsamixer and unmute all the nvidia channels.  Use F6 to change cards to Nvidia, then use 'm' on each of the channels to unmute them (changes to little infinity symbol)

3. unmute alsa on startup
 sudo nano /etc/rc.local, add before exit 0:
/usr/bin/amixer -q -c 1 sset 'IEC958',0 unmute &> /dev/null
/usr/bin/amixer -q -c 1 sset 'IEC958',1 unmute &> /dev/null
/usr/bin/amixer -q -c 1 sset 'IEC958',2 unmute &> /dev/null
/usr/bin/amixer -q -c 1 sset 'IEC958',3 unmute &> /dev/null

4. reboot

5. xmbc settings (System > Audio):
Audio Output: HDMI
Audio Output Device: Custom
Custom Audio Device: plughw:1,7
Passthrough Audio Device: Custom
Custom Passthrough Device: plughw:1,7

Remote

Using same harmony remote set up and receiver as below works perfectly.

A second IR receiver (Made by 'Formosa' according to 'lsusb' does not work yet.

Get temperature readouts to work in XBMC

Add this to advancedsettings.xml in your userdata folder:
<gputempcommand>echo "$(nvidia-settings -c :0 -tq gpuCoreTemp) C"</gputempcommand>
<cputempcommand>echo "$(sensors -u | tail -n4 | grep temp1_input | awk '{print $2 }' |awk '{printf("%d\n",$1 + 0.5);}') C"</cputempcommand>

Use AutoFS For Hang Free Win7 Shares

See this post.

Tune the SSD Drive

See here.

Enable Suspend/Resume

***NB This is not working properly for me yet!

You just need to enable the S3 suspend/resume interface on the appropriate USB port - I just enabled all of them.  Here's my /etc/rc.local:
Enable USB ports so it has power to respond to MCE remote wakeup: USB0 is the port next to the
# capped VGA port
# To check which USB ports are enabled during suspend:
# cat /proc/acpi/wakeup
# USB ports layout for the xs35gt:
# EUSB = front
# USB0 = back usb port next to the capped vga
# USB1 = next to USB1
# USB2 = back usb port next to the vga
# UBS3 = back usb port next to the lan

echo EUSB > /proc/acpi/wakeup
echo USB0 > /proc/acpi/wakeup
echo USB1 > /proc/acpi/wakeup
echo USB2 > /proc/acpi/wakeup
echo USB3 > /proc/acpi/wakeup

# Unmute ALSA mixer so we can hear HDMI audio
/usr/bin/amixer -q -c 1 sset ‘IEC958?,0 unmute &> /dev/null
/usr/bin/amixer -q -c 1 sset ‘IEC958?,1 unmute &> /dev/null
/usr/bin/amixer -q -c 1 sset ‘IEC958?,2 unmute &> /dev/null
/usr/bin/amixer -q -c 1 sset ‘IEC958?,3 unmute &> /dev/null

# 1. Force filesystem to use noop disk scheduler (good for SSDs as no moving parts)
echo noop > /sys/block/sda/queue/scheduler
# 2. Discourage swapping to the max
echo 1 > /proc/sys/vm/swappiness

Enable Wireless LAN

Haven't tried this yet but it should work

enable wlan (RTL8192SE) (lucid only)

update bios

1. update bios to 1.0.9 or newer
2. enable wifi card "always on" in bios

install RTL8192S wifi card

1. download sources from http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=48&PFid=48&Level=5&Conn=4&DownTypeID=3&GetDown=false&Downloads=true

2. compile:
cp -r /mnt/rtl8192se_linux_2.6.0017.0705.2010/ /usr/local/src/
cd /usr/local/src/rtl8192se_linux_2.6.0017.0705.2010/
make
make install
reboot

maybe needed:
apt-get install build-essential subversion module-assistant
module-assistant prepare

3. generate wpa-psk hex key
wpa_passphrase "<wlan network name>" "<plaintext passphrase>"

4. edit /etc/network/interfaces
auto wlan0
iface wlan0 inet dhcp
wpa-ssid "<wlan network name>"
wpa-psk <generated wpa key from step 3 or alternatively plaintext passphraase>

5. protect the network key
sudo chmod o=-r /etc/network/interfaces

Notes On The Result


At this point, the system works very well indeed - totally silent (goodbye and good riddance to ASRock fan buzzing although the example I have here is the best of three I have heard and really not too bad, but still no fan is much better than any fan!),and playing video much more smoothly than my previous Camelot to SVN some time ago install on the ASRock.  I am surprised that the quality of video seems generally better - not sure if this is Dharma or ION2 or what, but somehow things look a bit sharper, there is much less jitter, startup is much quicker and more in sync, coming off unpause is neater, and what is really odd is that the brightness of both Confluence and the system as a whole seems much better - I have not had to set brightness to 56 and contrast to 43 as with Camelot/Babylon - it's almost like the newer NVidia drivers are rendering correctly to TV levels but I have not enabled anything for this - it just looks right on the defaults now.

Also, I am using the default XMBCFreak Xorg.conf - and it is nicely switching to 24/50/60 as it should with no further work.  I have experiement with these a lot (using the famous script and also trying modelines) - but it seems clear now that the previous video jitter was XBMC's fault and that once these bugs were fixed, playback is MUCH smoother, and the Xorg.conf mucking about is not necessary with my hardware (this shuttle plus Denon 2309 receiver into Panasonic V50 plasma, anyway).  I am very sensitice to jitter and the Shuttle with this Dharma is playing very smoothly, although there can be a slight jitter after seeking or pause/unpause, it's very minor and there is next to never any jitter during actual continuous playback.

Open Issues

  • no sound on iPhone4 .mov files

  • UI is slower and not as silky smooth as Camelot on my ASRock - just a bit jerkier.  Is this Dharma or the 2gb of ram less than my ASROCK?  I suspect Dharma as other forum reports have reported UI slowdown.

  • When browsing long lists (hold down on the remote) - I get a wierd pause after every 10 elements or so - nto sure if this is remote or some sort of Dharma issue?

  • no addons in the xbmc.org add ons list?? Fixed by 'force refresh' on the xbmc.org add on repository

  • suspend/resume not tried yet Suspend/resume appears to work fine once the appropriate USB port is enabled by

  • need to test DVD & USB Stick playback although barely ever use this

  • No bluray support evident - have to manually find the .m2ts file in the stream folder and play that - indeed, even playlists no longer seem to work (they were working in Camelot SVN).  I should try the bluray add on...

  • Of the bluray m2ts files tried, almost all seem to work fine in terms of video playback (both h264 and vc1 now work) - except Avatar where the frame rate jumps all over the place.  I believe this is related to 'timestamping' issues and there's some progress in the trac on this it seems.  Still the easiest option seems to be to remux into a nice MKV which should work with forced subs etc now as well.

  • Trailers are appearing in the movie library as a second copy of the movie - my trailers are named <moviename>-trailer.mp4 ???

Solution to XBMC idle hanging problem

As per this thread on the XBMC forums, I was for a long time having problems with XBMC hanging when idle.  On average about once a day for the last 6 months - very very annoying.  And no solution - until now!

The solution is to work around the buggy smb mounting code in XBMC that creates these hangs and also, in general, doesn't play so nicely with Windows 7 shares.  Instead, we use 'autofs' to mount the shares locally into a mount point within the XBMCLive Ubuntu outside of XBMC itself - this way the shares appear to XBMC as local folders, and the hangs disappear!

Here's the solution:

In a terminal (e.g. a putty connection), you must:

Create an entry in /etc/hosts for your server

eg.

192.168.1.51 homeserver

Then:
sudo apt-get install smbclient
sudo apt-get install smbfs
sudo apt-get install

(this installs the appropriate packages for automounting shares)

Add to /etc/auto.master

Code:

/smb    /etc/auto.smb --timeout=60


Create /etc/auto.smb.yourservername

Code:

username=yourusername
password=yourpassword


Restart autofs

Code:

sudo service autofs restart


Your shares can now be accessed via /smb/yourservername/...

(That is, to list them, you need to 'ls  /smb/youservername/' - if you just 'ls /smb/' you won't see the shares as they are mounted on demand!)

You must also remove ANY references to your old smb shares in XBMC.

Goto the folder: /home/#XBMCUSER/.xbmc/userdata, Edit sources.xml
Remove any source that has "smb://" in it. In my case I did a replace of smb://#USER@..../ to /mnt/share/.... since I've mounted all my shares on my box.

Then edit passwords.xml
Remove your smb passwords

Last edit mediasources.xml
And also remove the share there.

This solution completely eliminates the hangs.  It is needed for Dharma as well as the hanging issue remains as of Beta2 for Dharma.


Another nice thing about this solution is that browsing to shares seem quicker in general this way.

Tuesday, April 13, 2010

Static IP and CUPS issue

I followed the guides here to set my HTPC to a static IP as there seems to be an issue with Samba vs DHCP in Karmic.  Did not solve my intermittent hanging issue though, grrr.


No point going back with it though, it's nice that it always has the same IP and a proper hostname now.


Update 20/02/10 - Ok so I figure it has to be a samba problem - and thus I am on a quest to get ALL errors out of my /var/log/samba


I have edited my /etc/samba/samba.conf:


Comment out the printing bits - gets rid of CUPS error


# lpr(ng)  printing. You may wish to override the location of the
# printcap file
;   printing = bsd
;   printcap name = /etc/printcap
# CUPS printing.  See also the cupsaddsmb(8) manpage in the
# cupsys-client package.
#;   printing = cups
#;   printcap name = cups
;[printers]
;   comment = All Printers
;   browseable = no
;   path = /var/spool/samba
;   printable = yes
;   guest ok = no
;   read only = yes
;   create mask = 0700
# Windows clients look for this share name as a source of downloadable
# printer drivers
;[print$]
;   comment = Printer Drivers
;   path = /var/lib/samba/printers
;   browseable = yes
;   read only = yes
;   guest ok = no

....and then at the bottom, I added this:


load printers = no
printing = bsd
printcap name = /dev/null
disable spools = yes

....which was everything I could find about disabling CUPS.
Finally, I told the XBMC machine not to behave as a domain master as I see the odd election message in my Win7 event logs:


# Domain Master specifies Samba to be the  Domain Master Browser. If this
# machine will be configured as a BDC (a secondary logon server), you
# must set this to 'no'; otherwise, the default behavior is recommended.
domain master = no

UPDATE - Still crashes, of well....

Updated XBMC Live to SVN

I updated to an SVN version - much better SD scaling is now in place, really helps with DVD quality source material.  XVID stuff still looks shit of course...but SD DVDs look a lot better with this.

....so I updated my Camelot live install to SVN.
Didn't fix my hanging problem but the new version has some interesting new features and audio in particular seem more in sync, something I've found a bit ropey on Camelot.

Not sure I like the changes to Confluence, they're a bit rough around the edges but certainly it's all still functional and I am sure it will get slicked up again for the next release.  Occasionally when starting a video file there is some green pixelation but a quick pause/unpause cleans it up.

The latest SVN has the higher quality scalers from below built in.

To do this:
add to : /etc/apt/sources.lst

deb http://ppa.launchpad.net/team-xbmc-svn/ppa/ubuntu karmic main
deb-src http://ppa.launchpad.net/team-xbmc-svn/ppa/ubuntu karmic main

Then login as root using putty and do this:

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 64234534

(gets the keys for the repositories)

apt-get update
apt-get upgrade

The it told me to:
apt-get -f install

So I did and wa la, XBMC restarted with latest SVN (I had made a complete back up in case of failure!).  Seems quite stable so far.

Setting up Harmony Remote with XBMC

Just use:
Media Center PC - Microsoft Media Center PC (Media Center Extender)

As the device for your XBMC box.

This should get 99% working straight away, just tweak any buttons in your action you need to change from there (see post below).

Tweaking Remotes/Keyboard (DiNovo Mini and Logitech Harmony in my case)

Just added some useful things to the remote.

Log in as xbmc and put in userdata/keymaps/keymap.xml.

This gives easy access to subtitle delay via the 'y' key on the keyboard during video play, and on the home screen I can push '1' to clean the library then '2' update it.  Just saves a bit of time!

Also added 'r' key to get XBMC to reload skin - makes developing mods much easier as no reboot required!
<keymap>

<FullscreenVideo>
<keyboard>
<y>SubtitleDelay</y>
</keyboard>
</FullscreenVideo>

<home>
<remote>
<one>XBMC.CleanLibrary(video)</one>
<two>XBMC.UpdateLibrary(video)</two>
</remote>
</home>

<global>
<keyboard>
<r>XBMC.ReloadSkin()</r>
</keyboard>
</global>

</keymap>

Remaining Issues Post Install – Solutions Gratefully Received!!

After the install and tweaks below, there are some remaining issues:

- Still a 1 second delay for audio when starting/coming off pause (had this with previous version too).  Think it is pulseaudio related.

- Confluence is really dark due to 0-255 vs 16-235 issues. While VDPAU can have correct 'studio' colour now, when switched on this still leaves SD material with crushed blacks/whites. So best to set brightness to 56 and contrast to 43 and save for all movies - this make both HD and SD material have decent detail. Not ideal as main interface is still too dark but workable for now.  Hopefully the bring correct output colour to the whole system soon.

XBMC Camelot ASRock ION 330 Install Log

Hopefully this helps people get a really smooth XBMC install on their ASRock Ion 330 Machines.  None od this is original content, I have shamefully ripped this stuff off various xbmc forum posts and other blogs, and just stuck it all in one place for my own convenience.  Hopefully it makes someone else's life easier as well!

My Hardware:

  • ASRock ION 330 (Original version)

  • 32GB Corsair X SSD disk inside.

  • Logitech Harmony 525 (with USB IR Receiver from Rock Vista MCE Remote)

  • Output sound/video via HDMI (to Denon 2309 receiver)

  • Final audio output to KEF 3005SE 5.1 speakers)

  • Final video output to a Panasonic 50" 1080p plasma (V10)

  • 1080p @ 24,50 or 60  Hz as per the source


I suspect this config or close to it is reasonably common as I've seen several similar configs mentioned regularly...

Step 1.
Download XBMCLive ISO and burn to disc (I used Nero, but there are plenty of free alternatives like CDBurnerXP to do this)

Also download putty.exe (gievs you direct terminal access to the underlying ubuntu system, so you can do upgrades etc) and WinSCP (for file transfers, e.g. skins)

Step 2.
With a keyboard attached to your ASRock, pop the CD in and power up the unit.

Hit F11 to get the Boot Menu up when you get the first BIOS screen.Once the boot menu is up, choose to boot from the Slimline drive.

You will get a text menu, use the arrow keys to move down and choose: Install XBMCLive to disk

Go through the install process, set the user to 'xbmc' and password to 'xbmc' (or soemthing stronger if you prefer).

Once it is finished, your system will reboot (take out the disc) and XBMC should come up.

Step 3. Set up root access
You will get some warnings about keys when doing this next bit, just hit 'yes' to accept the keys.

Login to your machine using putty.exe (you can get your IP addpress from the system info section of XBMC).  Login as xbmc with the password you set during the install.

At the prompt type 'sudo passwd' to set a new password for the root user - so you can make changes to any file you like.

Then, set up a login in WinSCP using the root details so you can browse around your machine's file system.  Once you have the file you need, just right click on it and choose 'edit' to edit it directly from WinSCP, very easy.

Step 4. Fix a few things up....

I usually login as root via WinSCP to do this, and jsut right click on any file I want to change, choose 'edit' and you can do it right there.

4a. Speed up Boot Time A Bit

Change the timeout setting in the /boot/grub/menu.lst file from 3 to 0 - shaves 3 seconds up and from a cold boot to XBMC login is <20 seconds with my hardware.

4b. Get Really Smooth Video (at the appropriate refresh rate) to work

Get 24p mode to be available, and native scaling, also fixes problems with new video sync modes

Add into 'Screen' section of etc/X11/xorg.conf:
Option         "DynamicTwinView"       "False"
Option         "Composite"             "Disable"
Option         "FlatPanelProperties"  "Scaling = Native"

and reboot.

In XBMC Settings/System set your screen to 1920 by 1080p and 50hz.  In Settings/Video/Playback set the 'adjust refresh rate' option to on,  This will mean the XBMC interface refreshes at 50hz and is nice and smooth, but all your videos will play at their appropriate refresh rates as well, so 24p for film stuff and 720p TV rips, 60hz for reality type stuff shot on video, and 50hz for stuff from the Uk or whatever.

If your TV has a 'smoothvideo' or 'smoothfilm' option when playing 24p material, I thoroughly recommend turning this OFF to give your films a proper film like appearance, otherwise movies will take an over-smooth, video like appearance on once you've done this step

4c. Fix susupend/resume by remote

Resume from suspend works once the following is added to /etc/rc.local:
echo  USB0 > /proc/acpi/wakeup
echo "rc.local has completed sucessfully." >> /tmp/resume.log
exit 0

(assuming your remote receiver is on USB 0 - see http://xbmc.org/wiki/?title=Enable_Wake-On-Device for details)

4d. Get Sound To Work Over HDMI

Argh no sound!

Unmute everything and set to 100 for all channels except the MIC:

Login as root with putty

> alsamixer

Unmute and set volume (MM means muted and OO On)
Hit "m" to toggle mute on/off.
Do not forget to unmute HDMI if you are going to use that!

2) Store Settings Permanently

>alsactl store 0

4e. Get Navigation Sounds Working in XBMC interface

Create a file in xbmc user home directory (login using WinSCP and the xbmc user, not root)

Right click to create a file, call it
.asoundrc

Now edit this file and add:
pcm.!default {
type plug
slave {
pcm "hdmi"
}
}

4f. Fix SMB browsing to Windows 7 shares

Add this to /etc/apt/sources.list:
###### Ubuntu Update Repos
deb http://archive.ubuntu.com/ubuntu/ karmic-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ karmic-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ karmic-backports main restricted universe multiverse

then as root in putty run:
apt-get update

then
apt-get  upgrade

This installs a newer Samba with bigfixes.  You should be able to browse SMB shares on Win7 now.

4g. Enable Samba
(Browse/copy directly from your windows machine to ASROCK)

Enabling SMB/Samba file sharing of XBMC Live folders

The Asrock Ion 330 comes with an internal hard drive if you would like to copy content to that HD running XBMC Live through Windows networking then that is possible. This is also useful for copying downloaded skins or plugins if you dont want to go through the built in XBMC svn-repo installer. Another possible use if you wish to run a third party media scraper like ember media manager so as to not have to use the built XBMC scraper to manage meta-data content.

Step 1) Start Putty & login as root

type in apt-get update

type in apt-get install samba & press y when prompted

Once its finished installing samba close Putty.

Step 2) Now login as root through WinSCP and browse to /etc/samba/ and right click on then edit smb.conf, then at the very end of the file add the following text lines, just copy and paste from the quote box below:
>>
[xbmc home]
comment = XBMC Home Share
path = /home/xbmc
force user = xbmc
inherit permissions = yes
read only = No
guest ok = Yes

[xbmc system]
comment = XBMC System Share
path = /home/xbmc/.xbmc
force user = xbmc
inherit permissions = yes
read only = No
guest ok = Yes
<<

(add any others the same way)

Step 3) Click the floppy disk icon to save changes then close WinSCP and reboot your XBMC Live system.

If all has gone well you should see your Asrock Ion 330 XBMC Live system show up in windows network browser with any folders you created in the home folder in XBMC file manager. System files for copying skins or anything else can be copied in through the system share folder.