Category Archives: Hot Stuff

Bootable Windows ISO

It appears that either I got a bad ISO for Windows 7 or Microsoft generally provides unbootable ISO’s. In either case, I was faced with the problem of getting a 2,5GB Windows 7 ISO which would not boot from a virtual machine. Instead of re=downloading the image, there is an easier way to fix it.

As long as you are able to mount the ISO or extract it, you can just follow these simple instructions (you need to have twice the amount of the actual ISO you want to reimage available as disk-space):

  1. Download the following zip-file and extract to C:-drive
  2. Extract the Vista or Windows 7 iso using 7Zip or WinRAR (Or copy the contents of the DVD) into C:\BOOTISO\DVDIMAGE
  3. Open up a command prompt (Start -> Run -> cmd)
  4. type: cd C:\BOOTISO
  5. type: oscdimg.exe -n -m -bc:\BOOTISO\DVDIMAGE\boot\etfsboot.com c:\BOOTISO\DVDIMAGE c:\BOOTISO\ISO\Bootable.iso

With the above process you will copy the content of your ISO/DVD to the .\DVDIMAGE-folder and the oscdimage program will re-create the boot-instructions in the newly created ISO. Once the Bootable.iso has been created, you can delete the .\DVDIMAGE-folder.

The above will work for any Windows operating system which boots in this fashion (i.e. Windows 7, Windows Vista, Windows 2003 etc).



VN:F [1.9.17_1161]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.17_1161]
Rating: 0 (from 0 votes)

PS3: Recovery menu – fix your BluRay issues

It appears that more and more people suffer failures on the PS3 where games don’t load or the BluRay drive seems to fail. A number of people have reported that in most instances the issue seems to be a corruption of the BluRay-driver (either due to a firmware update or an improper shutdown).

Since the firmware release 2.5, the PS3 has a Recovery menu with the following options:

  1. Restart System: Restarts the PLAYSTATION®3 System.
  2. Restore Default Settings: Reset all system settings back to default.
  3. Restore File System: Checks for corrupt/missing system files.
  4. Rebuild Database: Rebuilds the OS for the PLAYSTATION®3.
  5. Restore PS3 System: Fresh restore; Deletes everything and starts from Scratch.
  6. System Update: Update the PLAYSTATION®3 System

You will want to select the 3rd option which re-flashes corrupt system files back into flash-memory. The PS3 stores a copy of firmware drivers on the hard-drive and will reload any corrupt files. To access the recovery menu, do this:

  1. Make sure the PS3 is turned off
  2. Press and hold the power button on the PS3 it will power on then power off.
  3. When it’s off press and hold the power button again until you hear two consecutive beeps. When you hear the double beeps immediately take your finger off the power button (if your system turns off before you get a double beep just try again and hold the button, it should double beep the 2nd time you try)
  4. It will ask for the controller to be connected via the USB cable,
  5. Turn on the controller and you will have access to the menu.

Update (2009/12/29): If you would like to manually download the latest firmware, follow this link. Use the URL in the file to download the latest PS3 firmware (note: this is for EU/UK and South African region only)

VN:F [1.9.17_1161]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.17_1161]
Rating: 0 (from 2 votes)

DSL switching – improve your gaming

Network response and ping-time are the most important factors when it comes to gaming. In South Africa (and perhaps other countries) the so called “unshaped ADSL access” is extremely expensive (twice as much as normal, shaped access).

Axxess DSL has now introduced the 6-2-6 unshaped ADSL access which provides on a prepaid basis unshaped ADSL access on weekdays between 18:00 and 06:00 and full unshaped access over weekends.

Is unshaped access really worth it? Hell Yes! Pinging Google on Telkom Internet takes about 300-320ms. Doing the same on unshaped (only tested on Axxess) it is about 200ms, and 100ms makes a huge difference in gaming.

I haven now signed up for an Axxess prepaid account which gives me the luxury of traffic rolling over if I happen not to use it. The first irritation was to switch back and forth between accounts, as the Axxess 6-2-6 access does not give you any Internet access outside the above mentioned times.

My rudimentary Perl-scripting-knowledge (it can’t get anymore dangerous) came to the rescue and I have written the below script, which (once included as a crontab) will do the following:
- Allows the configuration of “shaped” and “unshaped” access times
- This can be configured per day
- The script will check the day of week and whether it should switch to “shaped” or “unshaped” access
- The script fully automates the reconfiguration of the Netgear DG834 (others with telnet access will also work) and the reconnection.

Requirements:
- A PC or NAS (such as my beautiful Synology DS107+)
- A DSL modem which allows Telnet-access (if you use the DG834xx, then get the DGTeam firmware to enable this and more)
- A shaped and unshaped account
- The script linked below (you need to make the necessary adjustments within the script)

History:
2009-03-14: Release 1.00 of script
2009-03-15: Release 1.01 – minor adjustments and bug-fix (Sunday was interpreted wrongly)
2009-03-16: Release 1.02 – minor bug, switch statement for shaped did not work


Download the DSL switch script
Note: I provide the script for free and if you screw up your DSL modem (which requires quite some ingenuity on your part), don’t come crying to me. Also if you find that I could have done things better please let me know (I am aware that my time-period checking in the script is horrendous, but since it only took 30 minutes to write, I forgive myself)

VN:F [1.9.17_1161]
Rating: 8.0/10 (1 vote cast)
VN:F [1.9.17_1161]
Rating: +1 (from 1 vote)

Squid: Restrict access to websites

If you have followed my guidelines on how to install Squid, you might have noticed that the assumption was, that your home-user base would not abuse the net.

You add a ten-year old on school-holidays and YouTube to the mix and you will realise that spending 2GB on Youtube in a few hours is nothing …. eeek.

I needed a quick fix, without denying the young padawan access to the internet. After some research, I found that I could implement access-controls on a source-IP basis via Squid resulting in the following page:

The implementation is really simple and sufficient for my means – read the details after the jump.
Continue reading “Squid: Restrict access to websites” »

VN:F [1.9.17_1161]
Rating: 8.0/10 (1 vote cast)
VN:F [1.9.17_1161]
Rating: +1 (from 1 vote)

PS3: Rip your DVDs with full surround sound

A good 5 months ago, I showed you how to rip DVDs and play them with 5.1 surround sound via a simple vobcopy command on Linux.

Although the method was quick, I didn’t realize that this was not easily possible on Windows or on the Mac. Eventually I found a different mechanism, which supports full chapter splitting as well as 5.1 surround sound on the PS3. The ingredients are simple: Get Handbrake and mkv2vob.

The trick is to use Handbrake to rip the DVD to MKV with AC3 passthrough first and then use mkv2vob to remux the AC3 stream. The ripping takes considerably long, as I use the highest encoding setting (if you are running Handbrake for Windows copy the following into your user-presets.xml in the Handbrake install directory):
Continue reading “PS3: Rip your DVDs with full surround sound” »

VN:F [1.9.17_1161]
Rating: 7.0/10 (1 vote cast)
VN:F [1.9.17_1161]
Rating: +1 (from 1 vote)

OS X: Time Machine backup

My article OSX Time Machine backup to Synology DS107+ has been really popular over the last few months.

The comments on the posting alone should provide a feel of how well this worked for most of the OSX users. I have received numerous confirmations from happy Mac-users who managed to get their TimeMachine to co-operate with a number of different NAS’s (QNAP, Linksys, Synology) as well as your standard run-of-the-mill Linux servers.

As a one-time special and limited to 2,000 downloads only, I have provided a “super-pretty” version of my instructions as donation-ware:

If you feel that this website and it’s articles have added value to your life, click on the link below and show your token of appreciation and you will be equally rewarded with a 3-page manual on how to get the TimeMachine going. (Well, you can find the same information in the link above – that’s why it’s called donation).

There is also a motive behind this: I will very soon publish *** FOR FREE **** on how you can get your own integration with Paypal going and this is the best way of testing the app and at the same time buy me a beer or two :-)

 

 

 

VN:F [1.9.17_1161]
Rating: 7.0/10 (1 vote cast)
VN:F [1.9.17_1161]
Rating: +1 (from 1 vote)

PS3: Get the latest firmware

My Synology NAS is really versatile and fulfills the most mundane tasks. At this point in time the NAS serves up my iTunes, streams HD-movies to the PS3, has all my software stored centrally, is used as an iPhoto server, manages my backups, acts as a Squid-caching server and now manages the PS3 firmware.

A rainy weekend and the realisation that my Perl skills totally suck, have eventually made me create a small application which produces the following:

Yes, a history of the latest PS3 firmwares. After having installed my Squid-proxy server, I noticed the traffic coming from the PS3. One of the URLs was quite interesting: http://fuk01.ps3.update.playstation.net/update/ps3/list/uk/ps3-updatelist.txt. When you open the URL you will see a text-file describing the latest firmware version as well as the download link.

It was (relatively) easy to write a shell-script which downloads the update-file, then checks if a new firmware was released and if so, it will download the file and then notify you via an email of it. If your NAS or Linux server runs HTTP, I have included a simple Perl-script which lists all the firmwares and allows you to download them.

You add the PS3-firmware checker to a crontab and by the time you check your email, you will be notified that the latest firmware has been downloaded already.

Of course, if you would like to have the same cool functionality, use Paypal below, donate anything you like and get the download instantly (remember: you need wget, perl and the knowledge of a text-editor to adjust a few settings in the script):

 

 

 

VN:F [1.9.17_1161]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.17_1161]
Rating: 0 (from 0 votes)

ADSL router statistics

In a previous post I explained how to gather statistics for your Netgear DG834 DSL modem router. Thanks for all the donations!! I have made some subtle changes in the router.cgi to display SNR/attenuation in one chart and display the latest values:

The scripts don’t just run on a Synology DiskStation. I have received reports that people integrated the scripts with their Linux boxes, QNAPs and others. In some instances, people modified the scripts (the code is easy enough to modify even for a Linux newbie) to make them work with other routers.

Again, please note, that out of the box, the scripts will work with any modem router supporting telnet and “adslctl” on the router. I would love to make SNMP or HTTP-polling functionality available, but have not got any router supporting this at the moment.

If you want to use the scripts, donate below (you require a running version of Perl with Net::Telnet and Net::Ping, rrdtool — the scripts will run on the Synology out of the box).

 

VN:F [1.9.17_1161]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.17_1161]
Rating: +1 (from 1 vote)

NAS: Create your own caching proxy

There you are, with that 1TB NAS and you surf mostly the same websites and in the process waste plenty of time waiting on downloads. So why not install your own Squid-proxy server on your NAS?

With the Synology and the pre-requisite of having ipkg installed – this takes no more than 10 minutes.

Update (2008-12-22): I have adjusted the Squid-configuration to block websites for unlisted IP-addresses. If you don’t require this (and want your kids to download several gigs of You Tube-videos) then delete the lines acl nonblockedip, acl blocksites and http_access deny blocksites.

In my example, my NAS IP is 172.16.0.97 and my IP range on my LAN is 172.16.0.0 – adjust this accordingly below:

  1. Install squid: ipkg install squid
  2. Adjust Squid’s config-file located in /opt/etc/squid/squid.conf:

     ## SQUID CONFIG cache_mgr [email protected] ## Those are the ports the proxy is going to listen to http_port 172.16.0.97:3128 http_port 172.16.0.97:8080 # TAG: visible_hostname # The host-name of the proxy-server. Can really be anything visible_hostname MuffinStationProxy # DISK CACHE OPTIONS # ----------------------------------------------------------------------------- # Disk-cache options. Just adjust the cache-siz (in my case 20GB) cache_replacement_policy lru cache_dir ufs /opt/var/squid/cache/ 20000 16 256 minimum_object_size 0 KB maximum_object_size 2097152 KB maximum_object_size_in_memory 1024 KB # MEMORY CACHE OPTIONS # ----------------------------------------------------------------------------- # TAG: cache_mem (bytes) cache_mem 8 MB memory_replacement_policy lru # ACCESS CONTROLS # ----------------------------------------------------------------------------- acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl our_networks src 172.16.0.0/24 172.16.1.0/24 acl to_localhost dst 127.0.0.0/8 acl nonblockedip src 172.16.0.3 172.16.0.5 # childblocks acl blocksites dstdomain "/opt/etc/squid/restricted-sites.squid" #Block childblocked sites http_access deny blocksites !nonblockedip all http_access allow manager localhost http_access allow manager our_networks http_access deny manager # Allow all clients from my network http_access allow our_networks # And finally deny all other access to this proxy http_access deny all #Allow ICP queries from everyone icp_access allow all # LOG-FILES # ----------------------------------------------------------------------------- access_log /opt/var/squid/logs/access.log squid #cache_log none #cache_log /opt/var/squid/logs/cache.log #cache_access_log none #cache_access_log /opt/var/squid/logs/access.log #cache_store_log none #cache_store_log /opt/var/squid/logs/store.log # OPTIONS FOR TUNING THE CACHE # ----------------------------------------------------------------------------- # TAG: cache # A list of ACL elements which, if matched, cause the request to # not be satisfied from the cache and the reply to not be cached. # In other words, use this to force certain objects to never be cached. # # You must use the word 'DENY' to indicate the ACL names which should # NOT be cached. # # Default is to allow all to be cached #We recommend you to use the following two lines. acl QUERY urlpath_regex cgi-bin \? cache deny QUERY refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern . 0 20% 4320 refresh_pattern \.gif 1440 50% 40320 reload-into-ims refresh_pattern \.jpg 1440 50% 40320 reload-into-ims refresh_pattern \.tif 4320 50% 43200 refresh_pattern \.png 1440 50% 40320 reload-into-ims refresh_pattern \.jpeg 1440 50% 40320 reload-into-ims refresh_pattern ^http://*.google.*/.* 720 100% 4320 # refresh patterns to enable caching of MS windows update refresh_pattern windowsupdate\.microsoft\.com/.*\.(cab|exe|psf) 4320 100% 120960 reload-into-ims refresh_pattern update\.microsoft\.com/.*\.(cab|exe|psf) 4320 100% 120960 reload-into-ims refresh_pattern office\.microsoft\.com/.*\.(cab|exe|psf) 4320 100% 120960 refresh_pattern windowsupdate\.com/.*\.(cab|exe|psf) 4320 100% 120960 reload-into-ims refresh_pattern download\.microsoft\.com/.*\.(cab|exe|psf) 4320 100% 120960 reload-into-ims refresh_pattern microsoft\.com 4320 100% 10080 pipeline_prefetch on # Apache mod_gzip and mod_deflate known to be broken so don't trust # Apache to signal ETag correctly on such responses acl apache rep_header Server ^Apache broken_vary_encoding allow apache # Leave coredumps in the first cache dir coredump_dir /opt/var/squid/cache # Disable cachemgr password cachemgr_passwd none all 

     

  3. Take note from my above config, that I chose a cache-size of 20(!) GB (cache_dir).
  4. Validate your Squid configuration with squid -k parse
  5. Create the Squid cache-directories with squid -z
  6. Start Squid manually to check for errors: squid -NCd1
  7. Create a symbolic link so that Squid starts automatically: ln -s /opt/etc/init.d/S80squid /usr/syno/etc/rc.d/
  8. Once you restart the NAS, Squid should be started automatically (log files are in /opt/var/squid/logs)

Dummy error: Happened to me – if Squid starts and you don’t notice any improvements in browsing speed, make sure that you have your browser’s proxy settings adjusted :oops:

IMPORTANT: As I have the caching server within a DMZ/Firewall, security-concerns are secondary. All users having access to the LAN and fall within the IP-range will automatically have access to the caching-proxy. The implementation of Squid was for improving the browsing/web-experience (speed has improved by almost 200% and average bandwidth consumption dropped by 30%).
Continue reading “NAS: Create your own caching proxy” »

VN:F [1.9.17_1161]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.17_1161]
Rating: 0 (from 0 votes)

OS X: Time Machine backup to Synology DS107+

I finally got the single-bay, 1TB NAS:

It took a few hours to “make” OS X TimeMachine to accept the NAS and perform backups – the steps below will outline what is necessary.

Update 2009-05-14: With 10.5.7 Apple seems to have broken the sparse-band-size, resulting in the current sparsebundle to be unmountable. Apple has reduced the band-sizes of sparse-bundles to 128MB. You can convert your existing sparsebundle via the following command: hdiutil convert -format UDSB -imagekey sparse-band-size=262144 -o new.sparsebundle old.sparsebundle

Update 2009-02-11: I have received a number of reports that large sparse-bundles (in excess of 250 gigabytes) fail to backup properly. User joar on the Synology forum has the explanation for this: “Those sparsebundle images that Time Machine uses work like this: They basically consist of a few files and one folder with all the payload files (called “bands”) in it. If the images are created automatically by Time Machine, the size of each “band” file is set to 8MB. If your backup is > 300GB you can do the math. Remember what I wrote? One folder with all the bands.

To solve this problem instead of creating 8MB bands we will create 128MB bands (262144 times 512 bytes). You are able to convert your existing sparse-bundles via (change the max-size from 70GB to whatever suits you):
hdiutil convert -format UDSB -tgtimagekey sparse-band-size=262144 -tgtimagekey size=70g -o tempfilename.sparsebundle machinename_macid.sparsebundle

I tried the conversion of the above and it took extremely long – I eventually wiped my old backups and started from fresh. You will notice as part of this exercise that your original sparse-bundle image will be larger (in my case increasing the band-size increased the initial sparsebundle from 80MB to 1.5 gigabytes)

The installation was straight forward, but you should consider a number of steps:
Continue reading “OS X: Time Machine backup to Synology DS107+” »

VN:F [1.9.17_1161]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.17_1161]
Rating: +1 (from 1 vote)