blue divider

blue bullet Home
blue bullet About
blue bullet HMO
blue bullet News
blue bullet Downloads
blue bullet Installation

dotted divider

blue bullet Bugs
blue bullet To-Dos

blue bullet Screenshots
blue bullet Documentation
blue bullet FAQs
blue bullet Contributing
blue bullet Dependencies
blue bullet License

dotted divider line


This FAQ is for specific JavaHMO issues. For any general HMO or TiVo issues, it is recommended that you explore the TiVo Community Forum or the TiVo Customer Support.

1. Which ports do JavaHMO use?
Port 2190 is the standard port used for the TiVo beacon protocol. This protocol is used by the PC server to tell the TiVo box that it is out there. It is also used by the TiVo box to tell any PC listening that it supports HMO. A second port is used to transfer the media files from the server to the TiVo box. The TiVo publisher software uses the HTTP protocol on port 8081. JavaHMO will default to the same port, but a different port can be configured in the configure.xml file.

2. Why does the wrapper.log has the following entries: Unable to execute Java command. The system cannot find the file specified. (0x2) / Unrecognized VM option '+UseAdaptiveSizePolicy'
It probably means that your JRE is not installed correctly. To test that it is correct, open a command prompt and type the following command:

java -version
The response should show the JRE version 1.4.2 without any errors. If not, check that the bin directory of the JRE is in the system PATH environment variable, for example for Windows: PATH=C:\Program Files\Java\j2re1.4.2_05\bin";%SystemRoot%\system32;%SystemRoot%
Otherwise, reinstall the JRE.

3. The logs contain these kinds of errors: de.vdheide.mp3.ID3Exception, de.vdheide.mp3.FrameDamagedExceptions
This means that an mp3 file is corrupted in some way.

4. The logs contain these kinds of errors: Too many open files
You have exceeded the capacity of the server. Try organizing the files into subdirectories.

5. TiVo shows an error message when I try to listen to streaming radio stations. The streaming audio doesn't work.
There are two kinds of error messages that TiVo will show:
a) A problem occurred while accessing the server.
This problably means that the format of the url is not supported. TiVo appears to have problems handling URLs that have information after the port number such as:
b) An unexpected error occurred while accessing the server. (ERROR#1-43-302)
The last three digits appear to be the HTTP status code returned by the remote server. TiVo could also not connect to the server due to congestion on the remote server. TiVo does not appear to be intelligent enough to at least attempt a few times to connect before showing the error. Just try again until you get through.

6. I have multiple network interface cards and TiVo does not show JavaHMO:
JavaHMO uses a simple broadcast address on the default interface chosen by Java to send the Tivo beacons. Java might not choose your private network interface address as the default. What is needed is to determine the ip address of the network interface of your private network. Configure the server in the GUI with your private network interface address and network mask.

7. When I try to listen to a station on, I get the following message: Too many requests. Try again tomorrow.
Shoutcast sends this response when someone at your location has attempted to tune into more than 600 stations in a 24 hour period. Unfortunately, Shoutcast defines your location to be anybody from your class C network! To reduce the chances of this happening, the JavaHMO Shoutcast module is configured to only request a maximum of 20 stations per reload period which is defaulted to once a day. You can read this
discussion about the issue.

8. The Shoutcast listings never show the stations I am interested in:
The Shoutcast module will only download the top 20 stations in each genre you have selected as listed on As an alternative you can create .m3u or .pls playlist files with the URLs of your favorite online stations. These playlists can then be added to JavaHMO using the configuration GUI.

9. The internet image dates arent accurate. The internet images arent using the reload value I have specified:
All of the internet content are placed in a queue and are scheduled based on the global server reload value or the reload value for each item in the configuration file. JavaHMO will attempt to download the internet content as close to the reload period as possible. However, the download times can be affected by many factors including:
a) the speed/quality of your local network,
b) the speed/quality of your internet connection,
c) how busy JavaHMO is,
d) how busy the PC server is that JahaHMO is running on,
e) the accuracy of the date on your PC,
f) caching on Tivo,
g) the regularity at which the remote web site publishes the images.
If you stay within the folder that contains the internet content, then TiVo will cache the date information. To force TiVo to get the latest data about the images, go to the main menu and then back to the folder with the internet content.

10. Sometimes there are no cinema theatre times:
The theatre times are obtained from It does happen that some theatres do not have information because their systems might be down. It is also more likely that there will be no listings the further ahead in the week you go.

11. My favourite theatre does not appear on the cinema listings:
Go to and try different zip codes until you get the theatre listing you are interested in. Use that zip code in the configuration file for the cinema element.

12. I get the following error in the logs: java.lang.NoClassDefFoundError: javax/media/jai/PlanarImage
The Java Advanced Imaging package is not installed correctly. For a Windows installation, check that you have the following files in the C:\Program Files\Java\j2re1.4.2_05\lib\ext directory:
If not, reinstall the JAI package.

13. The JRE installation program hangs and does not complete the installation:
Do you have enough resources (CPU/memory) during the installation?
Are you experiencing any other problems on your system?
Are there any error message in your control panel/adminstrative tools/event viewer logs?
Do you have a C:\Program Files\Java\j2re1.4.2_05 directory? If so, delete and try again.
Is you hard drive full? You need at least 50MB for the JRE.
Is your hard drive badly defragmented? Run a defragmentation utility.
Is your file system corrupt? Try chkdsk /f at the command line and reboot.
Do you have other versions of the JRE installed? You might have to uninstall those and reboot.
Do you have any Java processes running in Task Manager? If so kill those for the installation.
Search the
Sun forums for a solution.

14. The cinema listings skip days:
Listings are only shown for days which has data.

15. XP service pack 2:
As expected, the internal firewall blocked javahmo from working. There was no notification of any sort, despite the box being checked that asked for notification. I turned on logging (Windows Security Center -> Windows Firewall -> Advanced) and found it was dropping the incoming broadcast packets on port 2190 from my 3 TiVo's. I created an exception for UDP port 2190. Then the firewall was blocking the incoming TCP packets from the TiVo's when a Javahmo service was requested. I created an exception for TCP port 8081. Everything seems to be working fine now. Note that at no point was I ever notified of anything, and at no point was anything being blocked going out from javahmo or my machine in general. To recap, I added 2 ports to the exception list (Windows Security Center -> Windows Firewall -> Exceptions -> Add Port): Port number 2190 with UDP Protocol Port number 8081 with TCP Protocol

16.When I try to view an image, the full-screen image is different from the thumbnail image.
Make sure that the under the "Play slide show option", that shuffle is set to off.

17. The shoutcast playlists are not downloaded:
Security software such as Norton Internet Security 2003 appear to not allow a Java application to access the internet. Disable Norton when JavaHMO is started or upgrade to the latest version of the security software.

18. Are there any TiVo HMO codes:
To view the Advance Troubleshooting for Home Media Option:

19. The JavaHMO service does not want to start:
To test whether your JavaHMO installation is correct, disable the JavaHMO service and then run JavaHMO directly at the command prompt:
C:\Program Files\JavaHMO\bin\run.cmd

20. The JavaHMO service does not want to start: The logs complains about service already installed
Uninstall the JavaHMO service using the following script:
C:\Program Files\JavaHMO\bin\uninstall.cmd
Re-install the JavaHMO service using the following script:
C:\Program Files\JavaHMO\bin\install.cmd

21. I edited the configuration file but JavaHMO didnt pick up the changes:
If you edit the
configure.xml file directly you have to restart JavaHMO manually. If you use the GUI to make configuration changes, all the changes are saved to the configuration file and take immediate effect without requiring a restart.

22. In version 1.0 I had to set the DISPLAY variable for the Linux installation. Is that still neccessary:
JavaHMO no longer requires the DISPLAY variable to be set and in fact can run on a Linux server without X11.

23. I cant get the Windows installation wizard to run:
I suggest you try and install JavaHMO without the installation wizard. Download the following archive:
Extract the files into:
C:\Program Files\JavaHMO
Install the JRE and JAI packages.
Add the JRE bin directory to the SYSTEM PATH environment variable.
Run the following script to install JavaHMO as a service under NT/XP:

  • C:\Program Files\JavaHMO\bin\install.bat
  • Start the JavaHMO service using Control Panel, Administrative Tools, Services, "JavaHMO TiVo TCM", right-click, Start.
OR for older versions of Windows:
C:\Program Files\JavaHMO\bin\run.bat

24. Why do the thumnails show up so slowly:
It depends on what kind of photos you are viewing. If they were imported from a digital stills camera then JavaHMO will use the thumbnail generated by the camera. If JavaHMO cannot find the thumbnail, then it has to generate the thumbnail by scaling the entire image in real time which is much slower. Once the thumbnail is created, it is cached and subsequent views are significantly faster. You can enable the "Generate Thumbnails" option in the server module of the configuration GUI to force JavaHMO to thumbnail all your files before they are viewed.

25. I am getting a lot of "out of memory" errors in the logs:
You can play with the memory allocation by editing the following text file:
C:\Program Files\JavaHMO\conf\wrapper.conf
There are two settings you can change:
# Initial Java Heap Size (in MB)

# Maximum Java Heap Size (in MB)

I suggest you increase the initmemory to 64 and the maxmemory to 128. Restart the JavaHMO service after you made the changes.

26. How can I improve performance under Linux:

  1. A 2.4 kernel patched for performance delivers more responsiveness and interactivity on servers running on old hardware. For example, browsing JavaHMO menus on Tivo with Debian (3.0-r1-stable) server is sluggish compared to Gentoo (gentoo-sources-2.4.20-r6) server. The Gentoo server is using Gentoo sources kernel, which is heavily patched to increase interactive desktop responsiveness. For example, when browsing to Music and Photos it takes a couple of seconds for Debian server to appear while Gentoo server pops up immediately.
  2. Java performance under Linux is *much* better with kernels that support Native Posix Threading Library (NPTL). The 2.6 series kernel has NPTL, as does RedHat 9. There is a white paper on Sun's website about Java performance increases with NPTL.
Summary: If you have an old Linux server and want better performance from JavaHMO then either run RH9, a 2.6 series kernel (-test9 is quite stable), or a performance patched kernel like Gentoo.
Linux information provided by bbarrera from the
TiVo Community Forum

27. Can JavaHMO run on Debian:
Integrate Sun's JDK with Debian according to these instructions.
Then install javaHMO using "alien -i javaHMO-2.0-3.i386.rpm"

28. Can the names of the content modules be changed:
The names of the menu items can be configured manually in the configure.xml file. Each module has its own name. You have to restart JavaHMO to pick up the changes.

29. The JRE or JAI installation programs are hanging:
This is usually caused by another instance of the Java JRE running. Those will appear as either "Java" or "Javaw" in the list of processes. It is recommended to kill those processes if you experience installation problems.

30. My TiVo and JavaHMO are on different networks and cannot see each other:
JavaHMO supports manual connections from TiVo. Select the "Manually add a server..." option on TiVo and enter the IP Address of the machine running JavaHMO.

31. I have multiple installations of JavaHMO and now I see multiple duplicate menu items on TiVo:
Version 1.1 had some bugs which did not handle multiple JavaHMO installations correctly. Version 1.2 and later correctly handles this situation.

32. How do I determine the current version of JavaHMO:
The version is displayed in the configuration GUI. The configuration file also has the current version:
Look for the following tag for the version value:
<configuration version="2.0">

33. I have VPN software installed and JavaHMO does not work:
JavaHMO will not work with Symantec's Enterprise VPN client installed (formerly known as Raptor Mobile). Even if you do not launch the client, no traffic is sent out on the network (or is blocked) and therefore JavaHMO does not turn up on TiVo. Removing the client fixes the problem. Provided by Charles Waddington

34. After running the installation wizard, TiVo does not show the JavaHMO menu options:
It all depends on how your network is configured to allow the broadcast beacons from JavaHMO to get to your TiVo.

  • Try to ping your TiVo from your computer. If that doesn't work then you have a network problem.
  • Make sure if you have XP that the built-in firewall (or any firewall such as Zone Alarm) isn't blocking traffic on your LAN.
  • You can explicitly configure your IP Address and netmask using the server option in the JavaHMO configuration GUI.
  • You can also attempt to connect manually from your Tivo by using the IP Address of the PC running JavaHMO.
  • Consult the TiVo support on networking issues.
  • 35. On computer restart JavaHMO does not automatically start:
    Make sure that the tivo beacon service is not running. The javaHMO install kills this process for you, but your machine may still have it set to autostart.
    You can disable the service in the services control panel, or uninstall TiVo Desktop.

    36. The installation wizard complains: The Java HMO Service could not be installed:
    The installation wizard was not designed for Windows 98 and Windows ME, so you will have to make a few manual changes. Firstly, after you have run the installation program, you need to rename the following file:
    C:\Program Files\JavaHMO\bin\run.cmd
    C:\Program Files\JavaHMO\bin\run.bat
    You also might have to make the
    DOS environment size larger. If you create a desktop shortcut for run.bat, you should be able to change it there. The easiest thing to do is bring up the properties of your DOS window by clicking on the right mouse in the title bar. Then goto the Memory Tab. Increase the Initial Environment to something like 2048 or 4096 or something. Quit the DOS window and re-start it. Trying rebooting if it still doesn't work. If after rebooting it still doesn't work modify your config.sys's SHELL= line to: SHELL=C:\COMMAND.COM /P /E:XXXX where XXXX is 1024, 2048 or 4096 and reboot your computer. The objective here is to increase your environment just enough to allow Java to run without wasting memory so you want to pick the lowest number that will allow you to run. If you have already installed the TiVo Desktop software, you need to disable the TiVo Beacon service. You will need to use "msconfig" to disable TiVoBeacon from starting and then restart windows (do a shutdown, select restart and hold down shift and click OK).

    37. Can I let somebody connect to my JavaHMO server over the internet:
    Yes, you can. Open the following firewall ports: 8081, 2190 and use the manual connection feature on the TiVo. If you share JavaHMO over the public internet, it is highly recommended that you enable authentication as discussed in the
    documentation and take basic precautions such as running firewall and virus software.

    38. The configuration data has all kinds of weird characters which I cannot read:
    The values in the XML file is URL encoded to allow for special characters to be used which clash with the XML standard. There are many online resources which you can use to URL decode the values.

    39. Why is the Windows installer program so large? (23MB):
    The Windows installer also includes the Sun JRE (14.8MB) and the JAI (5.4MB).

    40. The organizer is not picking up my new MP3 files:
    The organizer caches the MP3 tag data and does not automatically know about any new files that have been added. You can force the organizer to re-read the MP3 tag data by unselecting the "Use Cached Tag Data" option in the configuration GUI.

    41. None of the streaming stations are working:
    JavaHMO includes a streaming proxy which will redirect all requests for online streaming stations to be proxied by JavaHMO. However, JavaHMO needs to have the correct IP address of the PC for this to work correctly. Look in the log file for this entry:

    2004-02-14 12:46:22,436  INFO [main] Server - Local IP=
    If this is saying your IP address is then that will stop the proxy from working correctly, since only the real IP address will work. You can explicitly set the IP address and netmask using the server properties in the configuration GUI. If you are running Linux, you could also tweak your hosts file with the correct real IP address.

    42. Why don't the web pages look as good as on my monitor:
    There are several factors that make it very difficult to display web pages on TiVo at the same image quality level that you get on a computer monitor:

  • TiVo displays fullscreen images at a resolution of 634x432 which is significantly less than what most web sites are designed for and which most computer monitors are cabable of displaying. Most sites are designed to handle at least a resolution of 800x600.
  • Web site font sizes are typically much smaller than what would be readible on a television screen.
  • The color schemes used by web sites do not display well on television screens. Most sites are designed with darker fonts colors over lighter background colors. Televisions work better with lighter fonts on darker backgrounds. Certain combination of colors and certain color intensities can lead to color bleeding on television screens.
  • The HTML library used to render the web pages does have limitations and does not render as good as desktop browser.

  • To compensate for some of the issues listed above, JavaHMO has to do some image processing of the web pages before they are displayed on TiVo:
  • The web pages are downloaded at 800x600 resolution and then scaled to 634x432 resolution.
  • In order to keep the text readible, the web page image is scaled by using an advanced sampling algorithm which is slow and resource intensive.
  • To reduce color bleeding on television screens, the scaled image is dimmed by lowering both the gamma and brightness levels.
  • 43. Developing your own plugins:
    The JavaHMO source code includes a file called "Developers.txt" which explains how to create your own plugins. The best way to learn to code a plugin is to look at the code of an existing plugin that is close to what you have in mind.

    44. Could not update JavaHMO server:
    If you press the Apply button in the configuration GUI, you get the message: "Count not update JavaHMO server" This means that the GUI could not communicate with the JavaHMO server. Check that the JavaHMO service is running.

    45. How do I specify a username/password for the NNTP plugin:
    Currently, the library that JavaHMO uses to download NNTP content does not support username/passwords yet.

    46. How do I port JavaHMO to another platform:
    The JavaHMO source code includes distribution configuation files for Linux and OS X that was used for JavaHMO 1.2 The JavaHMO forums
    also have discussions by users who have attempted porting the code to various platforms.

    47. What are the advantages of enabling support for the TiVo Beacon:
    If you use the TiVo Beacon option in JavaHMO 2.0 you can simulateously run the TiVo Destkop and other software that support HMO. If you do not use the TiVo Beacon option then you cannot run it at the same time as the TiVo Desktop.

    48. The iTunes plugin does not work:
    The iTunes library defaults to: "C:\Documents and Settings\{user}\My Documents\My Music\iTunes\iTunes Music Library.xml" (Windows) Where {user} is your username. The path needs to point to the iTunes playlist library file. If you have moved your user settings to another location, you will have to edit the default path.

    49. The email plugin does not work:
    Check that you have specified the correct address for the email server. The server address must not include any protocol information such as: If the log indicates an authentication error, then it is likely that either the username or password is incorrect for the email account. The current version of the email plugin does not support secured connections. If you download your mail from the mail server with your regular email program, you must tell it to leave a copy on the server. Otherwise, the plugin will never display any incoming email.

    50. The shoutcast stations stops immediately when I select to play a station:
    Depending on you network configuration, you might have to configure your network settings using the File/Properties menu in the JavaHMO configuration GUI.

    51. The Audio organizer takes forever to finish:
    The organizer needs to read the ID tags of each MP3 file in your collection. For very large collections this will take some time. After all of the tags have been read, the files then have to be categorized and sorted. The tag information is cached and will only be refreshed when the reload period expires. You should not configure your reload period to be too short otherwise the organizer will be not be able to complete its work.

    52. The web plugin does not work:
    Confirm that the URL you have configured does load in a browser on the PC that is running JavaHMO. The library that JavaHMO uses to download web sites is not as good as a desktop browser. It does have problems with rendering complex sites including those with frames. Also, if the web page is very long, this could cause memory problems when rendering the image for the web page.

    53. The internet images plugin does not work:
    Confirm that the URL you have configured does load in a browser on the PC that is running JavaHMO. The URL must point to the address of an image and NOT a web page. If you want to view a web page, use the web plugin.

    54. The RSS plugin does not work:
    Confirm that the URL you have configured does load in a browser on the PC that is running JavaHMO. The URL must point to the address of valid RSS feed. The plugin currently supports the following standards: RSS 0.9x, RSS 1.0 / RDF, RSS 2.0, Atom 0.3


    Hosted on Logo