Monday, June 17, 2013

USB Drives Not Working In VirtualBox on Windows 7 Host

USB drives plugged into Windows 7 host would be sensed by VirtualBox (they show up under the Devices menu but would never actually get captured).  In my case this applies to an Ubuntu 12 LTS guest, but others appear to have the same issue with other guest distros.  Attempts to capture the USB device in the guest would result in a VirtualBox error about the device being busy.  Furthermore, if the device in unplugged once the error occurs and then re-plugged, a second identical device shows up under the VirtualBox device menu (this is just a symptom of the problem and doesn't avoid the issue in anyway).

Note that this problem assumes the USB filters in the VirtualBox settings are set up correctly to allows the device to be captured.  If you haven't done this, or don't know what this means, then this problem probably doesn't apply to you cause you haven't set up USB filters (...and probably need to).


In case this post disappears, here it is:

Re: USB not working

Postby nayasis » 24. Feb 2011, 10:14
I've got solution finally... T-T

(It seems like problem of window 7)

1. My Host is window 7 32bit home premium. But, 64bit's solution may be same because problem was caused by USB filtering function of WINDOW 7.

2. first of all, edit your registry

- Open the Windows registry, by clicking on Start > Run and typing regedit
- Navigate to the following location HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Class\{36FC9E60-C465-11CF-8056-444553540000}
- In the right hand panel, if the the UpperFilters entry exists, then delete it

3. Install virtualbox USB driver manually.

- Goto folder C:\Program Files\Oracle\VirtualBox\drivers\USB\filter
- Click right mouse button on file named VboxUSBMon.inf
- Check Install(I) (maybe.. My window is korean so it dose not exact. )

4. Rebooting

5. Unplug your USB memory (or joystick..)

6. Open VirtualBox and Close it rightly.
( it will remove your USB device from VM's seized list. )

7. Plug your USB memory.

8. Open VirtualBox and Run Virtual Machine.

9. Click right mouse button on USB icon placed in status bar which is below VM window.

10. Check USB device what you want to plug in.

11. Enjoy !!

Monday, December 3, 2012

What To Do With .sign Or .asc Files

AKA: How To Deal With .sign or .asc File Extensions

Didn't find much help with this, and what I did find didn't work, so here's what did work for me.

First off, be aware that .sign and .asc files have to do with signed files and are used to help verify or authenticate a file as true and original.

Secondly, be aware that a file can in itself be signed or be accompanied by a file that handles the signing.  In the former case, the original file is modified and given the .sign or .asc extension.  If the latter case, the original file is untouched and accompanied by a file of the same name but with a .sign or .asc extension added.

Regardless of whether there is 1 or 2 files involved, the command and options used to verify is the same!  This was contrary to many suggestions I found elsewhere.  For example, if you download foobar.tar.bz2 and foobar.tar.bz2.sign then you can do the following.
$ gpg --verify foobar.tar.bz2.sign
Now this will either work because you already have the appropriate key or fail with some message noting a DSA key ID.  In the failure case, continue as follows.
$ gpg --keyserver --recv-key <DSA key ID>
Of course, replace <DSA key ID> with the appropriate value which should be something like "ACC9965B".  Also, feel free to replace "" with some other gpg key server.  Now repeat the first command:
  $ gpg --verify foobar.tar.bz2.sign
Done!  Your file will either pass or fail verification.


All this really does is verify that the file is in it's original form as supplied by somebody identified by the given DSA key.  Whether or not you trust that the identified person is true, real, and trustworthy is up to you.  For example, if the DSA key identifies John Doe [] and you happen to know that John Doe works for Acme Corp then you can probably trust this whole process.  But if the DSA key points to Joe Blow [], then.....well, your call.

I found many suggestions to handle the 2 file case as follows:
$ gpg --verify foobar.tar.bz2.sign foobar.tar.bz2
Which just yielded the error "gpg: not a detached signature" because gpg thinks both files are signed. Maybe this works for other versions of gpg but it didn't for mine. My version of gpg is given below.
$ gpg --version
gpg (GnuPG) 1.4.10
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <>
For more details, as always:
$ man gpg

Thursday, July 12, 2012

Searching Radio Stations in iTunes

It really annoying the way you can't search radio stations in iTunes.  With hundreds of streams available per category, the fact that Apple expects you to scroll through them all to find a particular type of station is pretty ridiculous.  Luckily there's a work-around:
  • Create a new playlist.
  • Select a category and expand it.
  • Select all radio stations within the expanded category and drag them into the newly created playlist under PLAYLISTS on the sidebar.
  • Repeat above steps for any other categories you want to include in search.
  • Now click on the new playlist and voila, the Search control will now be active.
  • This lets you search all streams under a particular category.  Add more categories to search more streams.
Note how the results of searching for soma in the screenshot below.

Tuesday, July 10, 2012

CollabNet Subversion Console and Apache

I installed (CollabNet) SVN on my Windows computer (WinXP) because it's my version control system of choice when using the Eclipse IDE.  With Apache already present on the computer where SVN was installed, I found that getting into the CollabNet Subversion Edge Console was not as stright forward as following the default link (http://localhost:3343/csvn).

Following the link worked immediately after install, but not after the first restart.  In any case, some digging around resulted in the following solution to get into the console:

  1. Go into windows Services (Control Panel > Administrative Tools > Services)
  2. Stop the Apache service (Apache2.2 in my case)
  3. Start the CollabNet Subversion Edge service (note that this is not the same as the CollabNet Subversion Server service).  Even though both services are set to "Automatic" start, for whatever reason the Edge (console) service must be started manually.
  4. Not retry the console link (http://localhost:3343/csvn).
Also note that I change the default port for the SVN server from 80 to 81 (under Console > Administration) because port 80 is already used by my Apache http web server.

Thursday, May 24, 2012

Updating a jailbroken ATV2 to iOS 5

I recently updated my ATV2 to iOS 5 (w/ tethered jailbreak, - tethered meaning you need to connect the ATV2 to your computer each time to re-power or else the ATV2 won't boot-up).  Updating is easy as cheese if it's not jailbroken, but since mine was the experience definitely brings to mind the saying "if it works, don't touch it".  The good news it that it eventually worked!

So why did I touch it?  I learned about the new AirPlay feature on the iPhone 4s, after a visit to the Apple store, and wanted to try this out.  Unfortunately, my jailbroken ATV2 was stuck at iOS 4, which doesn't support this new feature.

So here's how it went:

First I followed this video:, which I found on the site.  Unfortunately, each attempt to use SeasOnPass to re-jailbreak the ATV2 resulted in an error from iTunes (error 21) and the jailbreak ultimately failing, leaving the ATV2 in a useless state.

Google searches for the error 21 come up with suggestions like: try a different cable, try again (and again, and again), restart computer, first make sure a standard restore works from iTunes.

Unfortunately a standard restore through iTunes always resulted in the same error.  And no luck with several re-tries or restarts.  Great, did I brick my ATV2?  With each re-try I have to restart SeasOnPass, which for some reason takes 5+ minutes to load, so I gave up for now...

Well, as it turns out, re-try (again and again) was the answer.  Came back a week later and tried again (may have used a different USB port) and it worked the first try when using SeasOnPass.

From here on, things went relatively smoothly.  Here are the basics steps after getting SeasOnPass loaded.

  1. Used the NitoTV installer downloaded from here:
  2. Under ATV2 settings, set sleep to NEVER.
  3.  Followed instruction at XBMC to install latest unofficial Eden version for iOS 5 as given in this post:
  4. Re-load backed-up XBMC folder (assuming you followed the YouTube instructions)
 I haven't actually tried step 4 yet, but I'll find out soon how it goes.

Hope this helps somebody.

"...original item for "Shares" cannot be found." when sharing PC to Mac

I tried to share an external drive from my WinXP box to a Mac (MBP) and always got the following error:

"The operation cannot be completed because the original item for "Shares" cannot be found."

Searches on Google came up with plenty of solutions for this error, but none of which worked in my case.  So in case it helps somebody in the future, here's how I resolved it.

A little investigation revealed that I could share other folders and access them fine from the MBP, just not the external drive.  I eventually figured out that I just couldn't share things that were large.  Since my external drive was 500 GB, it easily fell into this category.

This size restraint on sharing was fixed by following instructions here:

Basically, there's some parameter (on the WinXP machine) you have to adjust to allow larger things to be shared.  The parameter is adjusted/added using regedit.  I changed it to the max value of 0xC (12), and that worked fine.

Tuesday, March 6, 2012

Use of PHP functions within Smarty code

Can standard PHP functions be used directly within Smarty code?  The answer is yes, but the proper syntax depends on where you use it!  For example, the syntax is different for 'assign' statements than for conditional statements.  See the examples below for getting a count from an array variable named 'aArray'.

Assignment syntax:

[{assign var="iCnt" value=$aArray|@count }]

Condition statement:

[{if count($aArray) == 0 }]DO WHATEVER[{/if}]

So in the case of assignments, a variable modifier must be used.  But within condition statements the function can be called directly.