View Full Version : Installing Galleon on Linux
smoothtivo
11-08-2005, 07:24 PM
I know there are a few people that have been installing Galleon on Linux. I am a bit new to Linux and in the process of installing Galleon on my new linux system. The instructions are a bit confusing to me and I noticed they were updated for version Galleon 1.8. Has anyone got these to work? I am not sure about the 2nd and 3rd step. Anyone have any experience with getting this running?
Thanks,
smoothtivo
Linux
* Install the Java JRE.
* The Java JRE bin directory must be in you system PATH environment variable.
* The JAVA_HOME environment variable must point to the root of the Java JRE installation.
* Disable IPv6.
* Configure your system's name in /etc/hosts under the actual IP address, not 127.0.0.1
* If you are upgrading a previous installation, make a backup of the configure.xml file in the Galleon conf directory.
* Extract the Galleon zip file to a directory.
* Restore the backed up configure.xml file to the Galleon conf directory.
* Make the scripts in the Galleon bin directory executable: chmod a+x *.sh
* Run the Galleon server from the Galleon bin directory: run.sh
azitnay
11-10-2005, 10:15 PM
Don't let the steps confuse you too much -- just download the JRE (download the RPM from Sun if you want the easiest possible install), and if you run into trouble, ask for help here.
In answer to your question, yes, I have personally run Galleon 1.8.0 fine on a (Fedora Core 4) Linux system.
Drew
smoothtivo
11-14-2005, 07:12 PM
Sweet thanks for any help.
I have the source files extracted to my home directory and have set the JAVA_HOME to look like this in the run.sh and gui.sh:
JAVA_HOME=/usr/java/jre1.5.0_05
I am assuming that "The Java JRE bin directory must be in you system PATH environment variable." means when i run the program to put the path of java in the command???
Few more questions.
Where do I disable ip6?
What do I put in the host file?
THanks again,
smooth
crumley
11-15-2005, 09:59 AM
Sweet thanks for any help.
Few more questions.
Where do I disable ip6?
What do I put in the host file?
You may not have to remove ipv6. I run ipv6 and Galleon works fine for me. To see if you are running ipv6 run:
/sbin/lsmod | grep ipv6
If you are running it and you want to stop it, then you will have to prevent the module from loading. The way that works varies a bit between distribtuions, but you'll want to take a look at the /etc/modules* files.
As for the host file, you will want something like :
127.0.0.1 localhost
192.168.0.2 your_hostname
If you are using DHCP to set your ip address, then you may need something a bit different.
azitnay
11-15-2005, 01:07 PM
Assuming you're using modprobe (Fedora, the only Linux distribution I currently use, does), adding the following lines to /etc/modprobe.conf turns off ipv6:
alias net-pf-10 off
alias ipv6 off
I've never found a reliable way to put it into effect aside from rebooting, but you might be able to stop networking and use depmod.
Drew
smoothtivo
11-15-2005, 07:26 PM
I am assuming that I have it set up correctly but I get this when I run, run.sh
[wes@localhost bin]$ ./run.sh
Exception in thread "main" java.lang.NoClassDefFoundError: while resolving class: org.lnicholls.galleon.util.Tools
at java.lang.VMClassLoader.transformException(java.lang.Class, java.lang.Throwable)
dachtler
11-16-2005, 12:36 PM
Has anyone looking at this thread made a start/stop file for /etc/init.d for galleon, so you can have it automatically start at boot? I have used one that I found elsewhere on tivocommunity.com (I can't remember where now), and it will work to start galleon if the system is completely booted, but won't work during boot up. Also, the stop command does not work (it uses pkill, which doesn't seem to correctly recognize galleon).
I have 1.9.0 installed and working on Fedora Core 4, except for this one issue.
Thanks,
Jason
crumley
11-16-2005, 12:56 PM
Hhm, here's the one I use. Note that it is "pkill -f" and that you may have to change the path to your galleon directory. It is a little kludgy because it changes into the galleon bin directory, but that's necessary because of the relative paths in some of the galleon files. It really would be better to define an environment variable for the galleon directory and remove those relative paths.
#!/bin/sh
case "$1" in
start)
echo "Starting Galleon TiVo HME server"
cd /usr/local/galleon/bin; ./run.sh &
;;
stop)
echo "Stopping Galleon TiVo server"
pkill -f galleon
;;
*)
echo "Usage: /etc/init.d/galleon {start|stop}"
exit 1
;;
esac
crumley
11-16-2005, 01:01 PM
smoothtivo, it looks like it may not be finding all of your galleon installation. Are you sure that you installed all of galleon, and that you are running run.sh from the galleon directory?
azitnay
11-16-2005, 01:24 PM
Has anyone looking at this thread made a start/stop file for /etc/init.d for galleon, so you can have it automatically start at boot? I have used one that I found elsewhere on tivocommunity.com (I can't remember where now), and it will work to start galleon if the system is completely booted, but won't work during boot up. Also, the stop command does not work (it uses pkill, which doesn't seem to correctly recognize galleon).
I have 1.9.0 installed and working on Fedora Core 4, except for this one issue.
Thanks,
Jason
For your start-at-boot problem, I wonder if bumping down where galleon starts in the chain might help (i.e. maybe it's starting before something else it needs, like networking)... Try giving it a start priority of 99.
Drew
dachtler
11-16-2005, 01:52 PM
Hhm, here's the one I use. Note that it is "pkill -f" and that you may have to change the path to your galleon directory. It is a little kludgy because it changes into the galleon bin directory, but that's necessary because of the relative paths in some of the galleon files. It really would be better to define an environment variable for the galleon directory and remove those relative paths.
#!/bin/sh
case "$1" in
start)
echo "Starting Galleon TiVo HME server"
cd /usr/local/galleon/bin; ./run.sh &
;;
stop)
echo "Stopping Galleon TiVo server"
pkill -f galleon
;;
*)
echo "Usage: /etc/init.d/galleon {start|stop}"
exit 1
;;
esac
Yup, this is the script. I realized that the version I was using had pkill -f Galleon, with a capital G, which was messing it up. I've now fixed it. I did have it running at 99, and it still didn't load properly, but that's a different problem. Thanks for the help!
smoothtivo
11-16-2005, 04:41 PM
smoothtivo, it looks like it may not be finding all of your galleon installation. Are you sure that you installed all of galleon, and that you are running run.sh from the galleon directory?
I am running it from the unzipped files\folder (in the bin directory) i got from sourceforge. Do they have to be somewhere when i run them?
-Wes
crumley
11-16-2005, 05:00 PM
If you didn't move them outside of the galleon directory structure, than that not the problem. By which I mean if you are running from inside GALLEON_TOP_DIR/bin, as opposed to /usr/local/bin, for example, you should be fine.
By the way, have you tried gui.sh? Does it give the same error?
smoothtivo
11-16-2005, 06:47 PM
im running it from my home folder is that not going to work? Insid e the galleon directory.
smoothtivo
11-16-2005, 07:01 PM
Here is what I get when I run gui.sh (same errors as run.sh):
[wes@localhost bin]$ pwd
/galleon-1.9.0/bin
[wes@localhost bin]$ ./gui.sh
Exception in thread "main" java.lang.ExceptionInInitializerError
at java.lang.Class.initializeClass() (/usr/lib/libgcj.so.6.0.0)
at java.lang.Class.forName(java.lang.String, boolean, java.lang.ClassLoader) (/usr/lib/libgcj.so.6.0.0)
at gnu.java.lang.MainThread.run() (/usr/lib/libgcj.so.6.0.0)
Caused by: java.lang.NullPointerException
at java.awt.Window.Window(java.awt.Frame) (/usr/lib/libgcj.so.6.0.0)
at javax.swing.JWindow.JWindow(java.awt.Frame) (/usr/lib/libgcj.so.6.0.0)
at org.lnicholls.galleon.gui.Galleon$SplashWindow.Galleon$Splas hWindow() (Unknown Source)
at org.lnicholls.galleon.gui.Galleon.<clinit>() (Unknown Source)
at java.lang.Class.initializeClass() (/usr/lib/libgcj.so.6.0.0)
...2 more
jlgandy
11-16-2005, 08:41 PM
What are you using for java? If you're not sure take a look at JAVA_HOME. I'm using the rpm's provided by Sun, so mine is JAVA_HOME=/usr/java/jdk1.5.0_05.
Just a guess, but from your output it looks like GCJ... I think Galleon may need Sun's v.1.5 - please correct me if I'm wrong though.
Edit:
http://galleon.sourceforge.net/html/faq.html
Looks like Sun > 1.4.2 is required.
azitnay
11-16-2005, 09:08 PM
I've definitely never had any luck getting Galleon to run under GCJ.
Drew
crumley
11-17-2005, 09:57 AM
Up near the top of this thread you say that you set:
JAVA_HOME=/usr/java/jre1.5.0_05
Do you actually have Sun's java installed at that location ?
smoothtivo
11-17-2005, 06:30 PM
Yes the correct version of sun java is in that folder
smoothtivo
11-17-2005, 06:33 PM
What does this mean:
" * The Java JRE bin directory must be in you system PATH environment variable."
azitnay
11-17-2005, 06:34 PM
It just means java has to be in your path.
If you simply type:
java
at the command prompt, does it print "java: command not found", or a bunch of output on how to use java?
Drew
smoothtivo
11-17-2005, 06:41 PM
prints this:
[wes@localhost ~]$ java
Usage: gij [OPTION] ... CLASS [ARGS] ...
to invoke CLASS.main, or
gij -jar [OPTION] ... JARFILE [ARGS] ...
to execute a jar file
Try `gij --help' for more information.
windracer
11-17-2005, 07:34 PM
prints this:
[wes@localhost ~]$ java
Usage: gij [OPTION] ... CLASS [ARGS] ...
to invoke CLASS.main, or
gij -jar [OPTION] ... JARFILE [ARGS] ...
to execute a jar file
Try `gij --help' for more information.
Looks like the GNU Interpreter for Java (gij) is getting in the way. Check your PATH variable and make sure the location of your Sun Java install comes before wherever the GJC stuff is (I've never used GJC, so I apologize for not being more specific).
Malibyte
11-18-2005, 01:36 AM
Just installed Galleon 1.9.0 for Linux on my server. It's an AMD64 running Debian-sid for amd64, and I have the AMD64-bit Java runtime 1.5.0_05 installed.
I modified the paths in wrapper.conf to suit my server, added JAVA_HOME=/usr/java/jre1.5.0_05 to run.sh and gui.sh, then ran run.sh...it set everything up (it appeared to, anyway) - gave me "Galleon is ready".
I then ran gui.sh - it came up fine, let me add apps, etc.
Tried to access it from the TiVo. The TiVo can't find the server ("no servers found at 192.168.1.1").
I can ping the TiVo from the server, and my firewall allows everything to/from the TiVo, so I don't think it's a network issue (also ran the network connectivity test from the TiVo - no problems).
Any ideas?
Thanks - Bob
Malibyte
11-18-2005, 02:50 AM
Tried disabling ipv6...didn't matter.
[root@kenobi: ~]$ netstat -anp | grep 2190
tcp 0 0 192.168.1.1:2190 0.0.0.0:* LISTEN 6576/java
udp 0 0 0.0.0.0:2190 0.0.0.0:* 6576/java
The server appears to be listening..... :confused:
Malibyte
11-18-2005, 03:15 AM
I know this is ugly, but here's the whole set of log entries for this session:
23:58:31,158 INFO [main] Server - http.agent=Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
23:58:31,162 INFO [main] Server - java.runtime.name=Java(TM) 2 Runtime Environment, Standard Edition
23:58:31,162 INFO [main] Server - sun.boot.library.path=/usr/java/jre1.5.0_05/lib/amd64
23:58:31,162 INFO [main] Server - java.vm.version=1.5.0_05-b05
23:58:31,162 INFO [main] Server - apps=/srv/galleon/bin/./../apps
23:58:31,162 INFO [main] Server - os.user.home=/root
23:58:31,162 INFO [main] Server - java.vm.vendor=Sun Microsystems Inc.
23:58:31,162 INFO [main] Server - java.vendor.url=http://java.sun.com/
23:58:31,162 INFO [main] Server - path.separator=:
23:58:31,162 INFO [main] Server - java.vm.name=Java HotSpot(TM) 64-Bit Server VM
23:58:31,169 INFO [main] Server - file.encoding.pkg=sun.io
23:58:31,169 INFO [main] Server - user.country=US
23:58:31,169 INFO [main] Server - sun.os.patch.level=unknown
23:58:31,169 INFO [main] Server - skins=/srv/galleon/bin/./../skins
23:58:31,169 INFO [main] Server - java.vm.specification.name=Java Virtual Machine Specification
23:58:31,169 INFO [main] Server - user.dir=/srv/galleon/bin
23:58:31,169 INFO [main] Server - java.runtime.version=1.5.0_05-b05
23:58:31,169 INFO [main] Server - bin=/srv/galleon/bin/./../bin
23:58:31,170 INFO [main] Server - java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment
23:58:31,170 INFO [main] Server - cache=/srv/galleon/bin/./../data
23:58:31,170 INFO [main] Server - java.endorsed.dirs=/usr/java/jre1.5.0_05/lib/endorsed
23:58:31,170 INFO [main] Server - os.arch=amd64
23:58:31,170 INFO [main] Server - java.io.tmpdir=/tmp
23:58:31,170 INFO [main] Server - line.separator=
23:58:31,170 INFO [main] Server - java.vm.specification.vendor=Sun Microsystems Inc.
23:58:31,170 INFO [main] Server - hme=/srv/galleon/bin/./../hme
23:58:31,176 INFO [main] Server - java.awt.fonts=/usr/java/jre1.5.0_05/lib/fonts
23:58:31,177 INFO [main] Server - os.name=Linux
23:58:31,177 INFO [main] Server - sun.jnu.encoding=ANSI_X3.4-1968
23:58:31,177 INFO [main] Server - java.library.path=/usr/java/jre1.5.0_05/lib/amd64/server:/usr/java/jre1.5.0_05/lib/amd64:/usr/java/jre1.5.0_05/../lib/amd$
23:58:31,177 INFO [main] Server - java.specification.name=Java Platform API Specification
23:58:31,177 INFO [main] Server - java.class.version=49.0
23:58:31,177 INFO [main] Server - root=/srv/galleon/bin/./..
23:58:31,177 INFO [main] Server - sun.management.compiler=HotSpot 64-Bit Server Compiler
23:58:31,177 INFO [main] Server - os.version=2.6.11-9-amd64-k8
23:58:31,177 INFO [main] Server - user.home=/srv/galleon/bin/./..
23:58:31,177 INFO [main] Server - user.timezone=US/Pacific
23:58:31,177 INFO [main] Server - java.awt.printerjob=sun.print.PSPrinterJob
23:58:31,177 INFO [main] Server - java.specification.version=1.5
23:58:31,177 INFO [main] Server - file.encoding=ANSI_X3.4-1968
23:58:31,177 INFO [main] Server - user.name=root
23:58:31,177 INFO [main] Server - java.class.path=../conf:../lib/MHS.jar:../lib/activation.jar:../lib/bananas.jar:../lib/browserlauncher.jar:../lib/commons$
23:58:31,178 INFO [main] Server - logs=/srv/galleon/bin/./../logs
23:58:31,178 INFO [main] Server - java.vm.specification.version=1.0
23:58:31,178 INFO [main] Server - sun.arch.data.model=64
23:58:31,178 INFO [main] Server - java.home=/usr/java/jre1.5.0_05
23:58:31,178 INFO [main] Server - java.specification.vendor=Sun Microsystems Inc.
23:58:31,178 INFO [main] Server - user.language=en
23:58:31,178 INFO [main] Server - awt.toolkit=com.eteks.awt.PJAToolkit
23:58:31,178 INFO [main] Server - java.vm.info=mixed mode
23:58:31,178 INFO [main] Server - java.version=1.5.0_05
23:58:31,178 INFO [main] Server - java.ext.dirs=/usr/java/jre1.5.0_05/lib/ext
23:58:31,178 INFO [main] Server - sun.boot.class.path=/usr/java/jre1.5.0_05/lib/rt.jar:/usr/java/jre1.5.0_05/lib/i18n.jar:/usr/java/jre1.5.0_05/lib/sunrsas$
23:58:31,178 INFO [main] Server - conf=/srv/galleon/bin/./../conf
23:58:31,178 INFO [main] Server - java.vendor=Sun Microsystems Inc.
23:58:31,178 INFO [main] Server - file.separator=/
23:58:31,178 INFO [main] Server - java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport.cgi
23:58:31,178 INFO [main] Server - sun.cpu.endian=little
23:58:31,179 INFO [main] Server - sun.io.unicode.encoding=UnicodeLittle
23:58:31,179 INFO [main] Server - data=/srv/galleon/bin/./../data
23:58:31,179 INFO [main] Server - sun.cpu.isalist=
23:58:31,179 INFO [main] Server - Galleon Version=1.9.0
23:58:31,180 INFO [main] Server - Local IP=192.168.1.1
23:58:31,181 INFO [main] Server - Host=kenobi.malibyte.net
23:58:31,181 INFO [main] Tools - Max Memory: 64880640
23:58:31,181 INFO [main] Tools - Total Memory: 64880640
23:58:31,181 INFO [main] Tools - Free Memory: 53002056
23:58:31,251 INFO [main] NetworkServerManager - Creating Database Network Server
23:58:38,141 INFO [main] NetworkServerManager - Created Database Network Server
23:58:38,145 INFO [main] HibernateUtil - Initializing Hibernate
23:58:38,203 INFO [main] Environment - Hibernate 2.1.7
23:58:38,204 INFO [main] Environment - loaded properties from resource hibernate.properties: {hibernate.connection.password=, hibernate.query.substitutions$
23:58:38,206 INFO [main] Environment - using CGLIB reflection optimizer
23:58:38,206 INFO [main] Environment - using JDK 1.4 java.sql.Timestamp handling
23:58:38,283 INFO [main] Configuration - Mapping resource: org/lnicholls/galleon/database/Version.hbm.xml
23:58:38,605 INFO [main] Binder - Mapping class: org.lnicholls.galleon.database.Version -> VERSION
23:58:38,665 INFO [main] Configuration - Mapping resource: org/lnicholls/galleon/database/Audio.hbm.xml
23:58:38,859 INFO [main] Binder - Mapping class: org.lnicholls.galleon.database.Audio -> AUDIO
23:58:38,873 INFO [main] Configuration - Mapping resource: org/lnicholls/galleon/database/Image.hbm.xml
23:58:38,967 INFO [main] Binder - Mapping class: org.lnicholls.galleon.database.Image -> IMAGE
23:58:38,971 INFO [main] Configuration - Mapping resource: org/lnicholls/galleon/database/Video.hbm.xml
23:58:39,109 INFO [main] Binder - Mapping class: org.lnicholls.galleon.database.Video -> VIDEO
23:58:39,131 INFO [main] Configuration - Mapping resource: org/lnicholls/galleon/database/Thumbnail.hbm.xml
23:58:39,183 INFO [main] Binder - Mapping class: org.lnicholls.galleon.database.Thumbnail -> THUMBNAIL
23:58:39,192 INFO [main] Configuration - Mapping resource: org/lnicholls/galleon/database/PersistentValue.hbm.xml
23:58:39,588 INFO [main] Binder - Mapping class: org.lnicholls.galleon.database.PersistentValue -> PERSISTENTVALUE
23:58:39,590 INFO [main] Configuration - Mapping resource: org/lnicholls/galleon/database/Podcast.hbm.xml
23:58:39,768 INFO [main] Binder - Mapping class: org.lnicholls.galleon.database.Podcast -> PODCAST
23:58:39,771 INFO [main] Binder - Mapping collection: org.lnicholls.galleon.database.Podcast.tracks -> PODCAST_TRACKS
23:58:39,777 INFO [main] Configuration - Mapping resource: org/lnicholls/galleon/database/Movie.hbm.xml
23:58:39,908 INFO [main] Binder - Mapping class: org.lnicholls.galleon.database.Movie -> MOVIE
23:58:39,911 INFO [main] Configuration - Mapping resource: org/lnicholls/galleon/database/Theater.hbm.xml
23:58:39,935 INFO [main] Binder - Mapping class: org.lnicholls.galleon.database.Theater -> THEATER
23:58:39,935 INFO [main] Binder - Mapping collection: org.lnicholls.galleon.database.Theater.showtimes -> THEATER_SHOWTIMES
23:58:39,939 INFO [main] Configuration - Mapping resource: org/lnicholls/galleon/database/Application.hbm.xml
23:58:39,986 INFO [main] Binder - Mapping class: org.lnicholls.galleon.database.Application -> APPLICATION
23:58:39,988 INFO [main] Configuration - Mapping resource: org/lnicholls/galleon/database/Videocast.hbm.xml
23:58:40,010 INFO [main] Binder - Mapping class: org.lnicholls.galleon.database.Videocast -> VIDEOCAST
23:58:40,011 INFO [main] Binder - Mapping collection: org.lnicholls.galleon.database.Videocast.tracks -> VIDEOCAST_TRACKS
23:58:40,035 INFO [main] Configuration - Mapping resource: org/lnicholls/galleon/database/Playlists.hbm.xml
23:58:40,052 INFO [main] Binder - Mapping class: org.lnicholls.galleon.database.Playlists -> PLAYLISTS
23:58:40,054 INFO [main] Configuration - Mapping resource: org/lnicholls/galleon/database/PlaylistsTracks.hbm.xml
23:58:40,232 INFO [main] Binder - Mapping class: org.lnicholls.galleon.database.PlaylistsTracks -> PLAYLISTS_TRACKS
23:58:40,232 INFO [main] Configuration - processing one-to-many association mappings
23:58:40,524 INFO [main] Configuration - processing one-to-one association property references
23:58:40,524 INFO [main] Configuration - processing foreign key constraints
23:58:40,659 INFO [main] Dialect - Using dialect: net.sf.hibernate.dialect.DerbyDialect
23:58:40,666 INFO [main] SettingsFactory - Use outer join fetching: true
23:58:40,671 INFO [main] DBCPConnectionProvider - DBCP using driver: org.apache.derby.jdbc.EmbeddedDriver at URL: jdbc:derby:galleon;user=galleon;password=$
23:58:40,671 INFO [main] DBCPConnectionProvider - Connection properties: {user=, password=}
23:58:40,678 INFO [main] DBCPConnectionProvider - DBCP prepared statement pooling enabled
23:58:40,689 INFO [main] TransactionManagerLookupFactory - No TransactionManagerLookup configured (in JTA environment, use of process level read-write cach$
23:58:40,714 INFO [main] SettingsFactory - Use scrollable result sets: true
23:58:40,714 INFO [main] SettingsFactory - Use JDBC3 getGeneratedKeys(): true
23:58:40,715 INFO [main] SettingsFactory - Optimize cache for minimal puts: false
23:58:40,715 INFO [main] SettingsFactory - Query language substitutions: {true=1, false=0}
23:58:40,715 INFO [main] SettingsFactory - cache provider: net.sf.hibernate.cache.EhCacheProvider
23:58:40,716 INFO [main] SettingsFactory - query cache factory: net.sf.hibernate.cache.StandardQueryCacheFactory
23:58:40,718 INFO [main] Configuration - instantiating and configuring caches
23:58:40,789 WARN [main] EhCache - Could not find configuration for org.lnicholls.galleon.database.Application. Configuring using the defaultCache settings.
23:58:40,808 INFO [main] SessionFactoryImpl - building session factory
23:58:42,963 INFO [main] SessionFactoryObjectFactory - Not binding factory to JNDI, no JNDI name configured
23:58:42,965 INFO [main] UpdateTimestampsCache - starting update timestamps cache at region: net.sf.hibernate.cache.UpdateTimestampsCache
23:58:42,965 WARN [main] EhCache - Could not find configuration for net.sf.hibernate.cache.UpdateTimestampsCache. Configuring using the defaultCache settin$
23:58:42,967 INFO [main] StandardQueryCache - starting query cache at region: net.sf.hibernate.cache.StandardQueryCache
23:58:42,967 WARN [main] EhCache - Could not find configuration for net.sf.hibernate.cache.StandardQueryCache. Configuring using the defaultCache settings.
23:58:42,968 INFO [main] HibernateUtil - Initialized Hibernate
23:58:55,620 INFO [main] ShoutcastStations - Exceeded daily search limit for Shoutcast.com
-> 23:58:55,902 ERROR [main] TiVoListener - java.io.IOException: Operation not permitted
-> 23:58:56,000 ERROR [main] AppFactory - java.io.IOException: Operation not permitted
23:58:56,373 ERROR [Thread-15] Tools - Image Error
23:58:56,373 ERROR [Thread-14] Tools - Invalid internet image: /gallery
23:58:56,415 INFO [main] BroadcastThread - High frequency enabled
23:58:56,416 INFO [main] Server - Broadcast port=2190
23:59:06,690 INFO [ListenThread] BroadcastThread - High frequency enabled
23:59:30,044 INFO [ListenThread] BroadcastThread - High frequency enabled
00:00:56,456 ERROR [Thread-25] Tools - EDU.oswego.cs.dl.util.concurrent.TimeoutException: http://www.malibyte.net/gallery
00:00:56,456 ERROR [Thread-26] Tools - java.lang.InterruptedException
00:03:57,056 ERROR [Thread-30] Tools - Image Error
00:03:57,056 ERROR [Thread-29] Tools - Invalid internet image: /gallery
OK, there are some errors near the end of this dump. A few have to deal with one of the URLs I gave it in the app configuration; that shouldn't be the issue.
Any thoughts on the two I have marked with "->" ??
TIA
Bob
smoothtivo
11-18-2005, 11:23 AM
Looks like the GNU Interpreter for Java (gij) is getting in the way. Check your PATH variable and make sure the location of your Sun Java install comes before wherever the GJC stuff is (I've never used GJC, so I apologize for not being more specific).
How do I change that?
Thanks,
crumley
11-18-2005, 01:08 PM
Well, the easiest way to get gjc out of the way would be to uninstall it. The way to do that depends on your distribution.
If don't want to do that, then you have to change the path. If your are using bash as your shell, you can do:
set | grep PATH
to find your current path. Also, try
set | grep JAVA
to see how your java is set up.
Then add the path to java to beginning of the path:
PATH=/usr/java/jre1.5.0_05:$PATH
smoothtivo
11-18-2005, 04:39 PM
I tried running those commands but the same comes up when i type java
[wes@localhost ~]$ java
Usage: gij [OPTION] ... CLASS [ARGS] ...
to invoke CLASS.main, or
gij -jar [OPTION] ... JARFILE [ARGS] ...
to execute a jar file
Try `gij --help' for more information.
[wes@localhost ~]$
crumley
11-18-2005, 05:20 PM
Post what you get from here.
set | grep PATH
and
set | grep JAVA
If your path is set the right way, it shouldn't be finding the wrong java.
smoothtivo
11-18-2005, 05:25 PM
[wes@localhost bin]$ pwd
/galleon-1.9.0/bin
[wes@localhost bin]$ set | grep PATH
PATH=/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/wes/bin
[wes@localhost bin]$ set | grep JAVA
[wes@localhost bin]$ java
Usage: gij [OPTION] ... CLASS [ARGS] ...
to invoke CLASS.main, or
gij -jar [OPTION] ... JARFILE [ARGS] ...
to execute a jar file
Try `gij --help' for more information.
[wes@localhost bin]$
azitnay
11-18-2005, 05:39 PM
Try:
which java
Also try:
ls -lad `which java`
(note those are backticks).
Drew
smoothtivo
11-18-2005, 06:39 PM
[wes@localhost ~]$ which java
/usr/bin/java
[wes@localhost ~]$ ls -lad `which java`
lrwxrwxrwx 1 root root 22 Nov 11 13:37 /usr/bin/java -> /etc/alternatives/java
[wes@localhost ~]$
azitnay
11-18-2005, 06:43 PM
Yeah, that's definitely pointing at gij.
First, verify that Sun java exists where it should be:
ls -la /usr/java/jre1.5.0_05/bin/java
If it's there, remove your symbolic link and create one to Sun's java with the following two commands:
rm -f /usr/bin/java
ln -s /usr/java/jre1.5.0_05/bin/java /usr/bin/java
Drew
smoothtivo
11-18-2005, 07:06 PM
That did it!!! Fired right up and works great. Work a lot faster than it did in Windows too. This was one of my hold backs from switching all to linux. goodbye windows.
Thanks guys,
smooth
windracer
11-18-2005, 08:33 PM
Tried disabling ipv6...didn't matter.
How did you disable it? Most of us have had to add:
alias net-pf-10 off
to modprobe.conf.
Malibyte
11-18-2005, 08:39 PM
How did you disable it? Most of us have had to add:
alias net-pf-10 off
to modprobe.conf.
Tried that; the ipv6 module still loaded up. I Googled this and found another solution: after I renamed the module (ipv6.ko) to something else, it no longer loads (obviously).
Thanks - Bob
smoothtivo
11-18-2005, 11:15 PM
#!/bin/sh
case "$1" in
start)
echo "Starting Galleon TiVo HME server"
cd /usr/local/galleon/bin; ./run.sh &
;;
stop)
echo "Stopping Galleon TiVo server"
pkill -f galleon
;;
*)
echo "Usage: /etc/init.d/galleon {start|stop}"
exit 1
;;
esac
So if I add a file named say "galleon" to the etc/init.d with this in it, then galleon will start automatically as a service?
Malibyte
11-18-2005, 11:51 PM
Yeah...that little init script works. Since Galleon takes a while to finish loading, you'll see the "Galleon is ready" line after the login: prompt. No worries.
Depending on which distro you're running, you'll need to add symlinks in the /etc/rc.x/ or /etc/rcX.d/ directories to start/stop the script.
Bob
azitnay
11-19-2005, 12:05 AM
You can suppress that annoying little "Galleon is ready" line by changing line 5 of your script to:
cd /usr/local/galleon/bin; ./run.sh > /dev/null &
Drew
Malibyte
11-19-2005, 12:11 AM
Can anyone give me a clue as to why my TiVo can't find the Galleon server, from the log I posted? Any help would be appreciated. I'm sure it's something simple/obvious...it usually is. :) I just don't see it at the moment.
azitnay
11-19-2005, 10:38 AM
That TiVoListener error must have something to do with it.
You're definitely running Galleon as root, right?
Drew
smoothtivo
11-19-2005, 11:21 AM
Depending on which distro you're running, you'll need to add symlinks in the /etc/rc.x/ or /etc/rcX.d/ directories to start/stop the script.
Bob
Sorry still a little new. How would I do that?
Thanks again,
smooth
Malibyte
11-19-2005, 02:14 PM
That TiVoListener error must have something to do with it.
You're definitely running Galleon as root, right?
Drew
Yes, it's running as root.
Here's a dump after restarting Galleon and rebooting the TiVo:
[root@kenobi: ~]$ /etc/init.d/galleon start
Starting Galleon TiVo HME server:
[root@kenobi: ~]$ Galleon 1.9.0 is starting...
Galleon is ready.
tail -f /srv/galleon/logs/log.txt
11:12:38,042 INFO [main] StandardQueryCache - starting query cache at region: net.sf.hibernate.cache.StandardQueryCache
11:12:38,042 WARN [main] EhCache - Could not find configuration for net.sf.hibernate.cache.StandardQueryCache. Configuring using the defaultCache settings.
11:12:38,042 INFO [main] HibernateUtil - Initialized Hibernate
11:12:53,397 INFO [main] ShoutcastStations - Exceeded daily search limit for Shoutcast.com
11:12:53,577 ERROR [main] TiVoListener - java.io.IOException: Operation not permitted
11:12:53,645 ERROR [main] AppFactory - java.io.IOException: Operation not permitted
11:12:53,776 INFO [main] BroadcastThread - High frequency enabled
11:12:53,778 INFO [main] Server - Broadcast port=2190
11:12:58,824 INFO [ListenThread] BroadcastThread - High frequency enabled
11:13:38,296 INFO [ListenThread] BroadcastThread - High frequency enabled
11:25:49,665 INFO [ConnectionThread] ConnectionThread - New connection accepted /192.168.1.11:1026
Still getting the error message, but it did apparently get *something* from the TiVo.
:confused:
Edit: Tried it with 1.9.1 also. No difference. :(
Bob
Malibyte
11-19-2005, 02:15 PM
Sorry still a little new. How would I do that?
Thanks again,
smooth
Which Linux distribution are you running?
smoothtivo
11-19-2005, 07:32 PM
Which Linux distribution are you running?
Fedora Core 4
azitnay
11-20-2005, 09:54 AM
chkconfig is the easiest way. Add the following two lines to the top of /etc/rc.d/init.d/galleon, right after the #!/bin/sh line:
# chkconfig: 345 99 01
# description: Galleon is a TiVo HME server.
Then, run chkconfig --add galleon
Note that this makes galleon start by default on runlevels 3, 4, and 5 (3 is usually normal operation). It should be fine, but to change this, you can change the 345 above.
Drew
azitnay
11-20-2005, 09:59 AM
Yes, it's running as root.
Here's a dump after restarting Galleon and rebooting the TiVo:
Still getting the error message, but it did apparently get *something* from the TiVo.
:confused:
Edit: Tried it with 1.9.1 also. No difference. :(
Bob
I'm a bit stumped... Perhaps Leon knows more, but I doubt he follows this thread since it's about Linux. Maybe you should repost that code snippet in one of the other threads.
Drew
javahmo
11-20-2005, 12:47 PM
Yes, it's running as root.
Here's a dump after restarting Galleon and rebooting the TiVo:
[root@kenobi: ~]$ /etc/init.d/galleon start
Starting Galleon TiVo HME server:
[root@kenobi: ~]$ Galleon 1.9.0 is starting...
Galleon is ready.
tail -f /srv/galleon/logs/log.txt
11:12:38,042 INFO [main] StandardQueryCache - starting query cache at region: net.sf.hibernate.cache.StandardQueryCache
11:12:38,042 WARN [main] EhCache - Could not find configuration for net.sf.hibernate.cache.StandardQueryCache. Configuring using the defaultCache settings.
11:12:38,042 INFO [main] HibernateUtil - Initialized Hibernate
11:12:53,397 INFO [main] ShoutcastStations - Exceeded daily search limit for Shoutcast.com
11:12:53,577 ERROR [main] TiVoListener - java.io.IOException: Operation not permitted
11:12:53,645 ERROR [main] AppFactory - java.io.IOException: Operation not permitted
11:12:53,776 INFO [main] BroadcastThread - High frequency enabled
11:12:53,778 INFO [main] Server - Broadcast port=2190
11:12:58,824 INFO [ListenThread] BroadcastThread - High frequency enabled
11:13:38,296 INFO [ListenThread] BroadcastThread - High frequency enabled
11:25:49,665 INFO [ConnectionThread] ConnectionThread - New connection accepted /192.168.1.11:1026
Still getting the error message, but it did apparently get *something* from the TiVo.
:confused:
Edit: Tried it with 1.9.1 also. No difference. :(
Bob
Enable debug logging using the Galleon configuration GUI and email me all of your logs.
Malibyte
11-20-2005, 03:00 PM
Enable debug logging using the Galleon configuration GUI and email me all of your logs.
Sent...thanks!
jstaffon
11-24-2005, 08:43 PM
Sorry to jump into the middle of this post but I'm having similar problems as some of you. I'm trying to run version 1.9.2 on Mandriva LE 2005. My TiVo is a Toshiba SD-H400. I don't get any error messages in the log files and I can see my server entry in the screen that lists all my recorded shows. If I select the server entry I can see and transfer files from my linux server to my Tivo. If I start the gui.sh on my linux server, I can see my Tivo unit and the recorded shows. What doesn't work is the following: None of the apps that I've added via gui.sh show up in the "Music, Photos, and More" area. I've successfully run Galleon on a Windows box without any problems. I must be missing something easy. I've done most of the suggestions above such as making sure java pointed to the right place and making sure the /etc/hosts file has the entry and ip for my server. I'm hoping since most of the installation on my Linux box works, except for all the apps, that it would be something obvious.
Thanks in advance.
Jeff.
azitnay
11-24-2005, 09:07 PM
Is IPv6 definitely disabled?
Drew
jstaffon
11-24-2005, 09:25 PM
Nope.....I will try that. I thought I read in one of the posts that IPv6 didn't need to be disabled....or maybe I read someone had Galleon running without disabling it. I'll go back and try that.
Thanks for the reminder.
Jeff.
azitnay
11-24-2005, 09:38 PM
Well, it says right in the Linux installation instructions on http://galleon.sourceforge.net/html/install.html to disable it.
I've never even tried running Galleon with IPv6 enabled, but I remember from the early days of HME that I couldn't get any HME apps running on Linux until I disabled IPv6.
Drew
jstaffon
11-24-2005, 09:46 PM
I disabled it and everything works fine....thanks man! Sometimes you have to hit someone with a brick to get them to see the light! I'll bet I read the instructions a dozen times.
Thanks again! Jeff.
BTW, what functions will I lose by not having ipv6 running? Not sure I know what it does.
azitnay
11-24-2005, 09:53 PM
At the present time, pretty much nothing. IPv6 is the "future" of IP; it's the successor to the current IPv4 (dotted quad) style of IP address. It's meant to deal with the inevitable shortage of IPv4 IP addresses, since there are only roughly 4 billion (2^32) available. IPv6 will give us 2^128 total IP addresses, which is something like 600 IP addresses per square millimeter of the Earth's surface.
Unfortunately, though, IPv6 seems to cause problems with HME. I forget exactly what the problem is; something pertaining to multicasting. Regardless, IPv4 should be supported for another couple decades or so.
Drew
jstaffon
11-24-2005, 10:03 PM
Ah yes....I should have known that. Brain cramp......
Thanks again. Hope your holiday was enjoyable.
Jeff.
crumley
11-28-2005, 09:54 AM
The issue with ipv6 comes up often. Personally, I have never had a problem with ipv6 and Galleon, but it seems like a lot of people do.
dachtler
11-28-2005, 01:47 PM
I'm getting the following messages on my FC4 server running Galleon 1.9.2:
Internet[#1,uri=null] warning: resource 2066 not found.
Internet[#1,uri=null] warning: resource 2066 not found.
Weather[#1,uri=null] warning: resource 2062 not found.
Weather[#1,uri=null] warning: resource 2062 not found.
Traffic[#1,uri=null] warning: resource 2062 not found.
Traffic[#1,uri=null] warning: resource 2062 not found.
Internet[#1,uri=null] warning: resource 2066 not found.
Internet[#1,uri=null] warning: resource 2066 not found.
java.lang.Exception: missed flush
at com.tivo.hme.sdk.Application.writeTerminator(Application.jav a:1463)
at com.tivo.hme.sdk.Application.cmdViewSetPainting(Application. java:1055)
at com.tivo.hme.sdk.View.setPainting(View.java:526)
at org.lnicholls.galleon.apps.internet.Internet$ImageScreen.upd ateView(Internet.java:400)
at org.lnicholls.galleon.apps.internet.Internet$ImageScreen.acc ess$800(Internet.java:374)
at org.lnicholls.galleon.apps.internet.Internet$4.run(Internet. java:420)
The apps seem to be working fine that are generating the error messages. Anything I should be concerned about? Any idea how to fix these?
javahmo
11-28-2005, 07:27 PM
I'm getting the following messages on my FC4 server running Galleon 1.9.2:
Internet[#1,uri=null] warning: resource 2066 not found.
Internet[#1,uri=null] warning: resource 2066 not found.
Weather[#1,uri=null] warning: resource 2062 not found.
Weather[#1,uri=null] warning: resource 2062 not found.
Traffic[#1,uri=null] warning: resource 2062 not found.
Traffic[#1,uri=null] warning: resource 2062 not found.
Internet[#1,uri=null] warning: resource 2066 not found.
Internet[#1,uri=null] warning: resource 2066 not found.
java.lang.Exception: missed flush
at com.tivo.hme.sdk.Application.writeTerminator(Application.jav a:1463)
at com.tivo.hme.sdk.Application.cmdViewSetPainting(Application. java:1055)
at com.tivo.hme.sdk.View.setPainting(View.java:526)
at org.lnicholls.galleon.apps.internet.Internet$ImageScreen.upd ateView(Internet.java:400)
at org.lnicholls.galleon.apps.internet.Internet$ImageScreen.acc ess$800(Internet.java:374)
at org.lnicholls.galleon.apps.internet.Internet$4.run(Internet. java:420)
The apps seem to be working fine that are generating the error messages. Anything I should be concerned about? Any idea how to fix these?
The "resource not found" and "missed flush" warning messages are generated by the TiVo HME SDK. These can be ignored as they relate to various timing issues which are not critical to the HME apps.
juanian
11-28-2005, 10:16 PM
To find out what java directory is being used, enter the command "type java". You should see something like "java is /usr/bin/java".
EDIT - sorry - I posted this when I got to the end of page 1 (not realizing that there was another page of posts!)
Malibyte
12-24-2005, 08:52 PM
OK, I'm still torturing myself trying to get this installed. Updated to 1.9.2. IPv6 is disabled. JAVA_HOME is defined. Version 1.5.0_05 of the JRE is installed. The firewall permits everything between machines on the internal network (192.168.1.x; the server is .1 and the TiVo is .11).
I'm still getting this in the logs (this is on initial startup right afte the upgrade):
<snip>
17:37:04,239 ERROR [main] TiVoListener - java.io.IOException: Operation not permitted
17:37:04,239 DEBUG [main] TiVoListener - java.io.IOException: Operation not permitted
at java.net.PlainDatagramSocketImpl.send(Native Method)
at java.net.DatagramSocket.send(Unknown Source)
at javax.jmdns.JmDNS.send(Unknown Source)
at javax.jmdns.JmDNS.init(Unknown Source)
at javax.jmdns.JmDNS.<init>(Unknown Source)
at org.lnicholls.galleon.server.TiVoListener.<init>(TiVoListener.java:57)
at org.lnicholls.galleon.server.Server.start(Server.java:266)
at org.lnicholls.galleon.server.Server.getServer(Server.java:61 1)
at org.lnicholls.galleon.server.Server.main(Server.java:1169)
17:37:04,252 ERROR [main] AppFactory - java.io.IOException: Operation not permitted
17:37:04,253 DEBUG [main] AppFactory - java.io.IOException: Operation not permitted
at java.net.PlainDatagramSocketImpl.send(Native Method)
at java.net.DatagramSocket.send(Unknown Source)
at javax.jmdns.JmDNS.send(Unknown Source)
at javax.jmdns.JmDNS.init(Unknown Source)
at javax.jmdns.JmDNS.<init>(Unknown Source)
at org.lnicholls.galleon.app.AppHost.listen(AppHost.java:201)
at org.lnicholls.galleon.app.AppManager.loadApps(AppManager.jav a:80)
at org.lnicholls.galleon.server.Server.start(Server.java:268)
at org.lnicholls.galleon.server.Server.getServer(Server.java:61 1)
at org.lnicholls.galleon.server.Server.main(Server.java:1169)
<snip>
Everything else seems OK, I don't get any other errors. I see weather reports in the logs. But the TiVo can't see the server at all.
Could somebody please decipher these error messages for me? I'm quite confident with Linux and shell scripting, but I don't know s**t about Java. I would guess it's some sort of permission problem, but the Galleon server is running as root.
For what it's worth, the old JavaHMO server for the most part worked with this same setup (I could play MP3 files and look at .jpg pix (on the server) on the TiVo, but I couldn't get movie listings, weather reports, etc. (just got the big red "X")).
Thanks...Bob
juanian
12-27-2005, 04:28 AM
<snip>
17:37:04,239 ERROR [main] TiVoListener - java.io.IOException: Operation not permitted
17:37:04,239 DEBUG [main] TiVoListener - java.io.IOException: Operation not permittedOne stab in the dark -- do you have "Allow Transfers" enabled on your TiVo, and have you named your TiVo? (Check your System Information page - the TiVoToGo entry shows "a,a,a", right?)
Do you have other TiVos, and do they see each other if you do?
One note: the "TiVoListener" part of the log is where Galleon detects my TiVos on my Mac.
Try this: When you run the GUI, go to File/Properties, double-check your Media Access Key, be sure that your Linux IP address is set right (or try 'Default') and then click on "Test" -- does your TiVo name show up in the box? (What choices show for the IP address in the dropdown?)
I'm also slightly puzzled by you saying your "server" was .1; is this the Linux box you are using? Are you using a router, and what is its address (normally, the router is .1)?
Maybe someone else has more info than I have -- sorry.
azitnay
12-27-2005, 05:00 PM
I'm also slightly puzzled by you saying your "server" was .1; is this the Linux box you are using? Are you using a router, and what is its address (normally, the router is .1)?
A Linux box equipped with two ethernet cards can often function as a broadband router quite nicely.
Drew
javahmo
12-27-2005, 10:05 PM
OK, I'm still torturing myself trying to get this installed. Updated to 1.9.2. IPv6 is disabled. JAVA_HOME is defined. Version 1.5.0_05 of the JRE is installed. The firewall permits everything between machines on the internal network (192.168.1.x; the server is .1 and the TiVo is .11).
I'm still getting this in the logs (this is on initial startup right afte the upgrade):
<snip>
17:37:04,239 ERROR [main] TiVoListener - java.io.IOException: Operation not permitted
17:37:04,239 DEBUG [main] TiVoListener - java.io.IOException: Operation not permitted
at java.net.PlainDatagramSocketImpl.send(Native Method)
at java.net.DatagramSocket.send(Unknown Source)
at javax.jmdns.JmDNS.send(Unknown Source)
at javax.jmdns.JmDNS.init(Unknown Source)
at javax.jmdns.JmDNS.<init>(Unknown Source)
at org.lnicholls.galleon.server.TiVoListener.<init>(TiVoListener.java:57)
at org.lnicholls.galleon.server.Server.start(Server.java:266)
at org.lnicholls.galleon.server.Server.getServer(Server.java:61 1)
at org.lnicholls.galleon.server.Server.main(Server.java:1169)
17:37:04,252 ERROR [main] AppFactory - java.io.IOException: Operation not permitted
17:37:04,253 DEBUG [main] AppFactory - java.io.IOException: Operation not permitted
at java.net.PlainDatagramSocketImpl.send(Native Method)
at java.net.DatagramSocket.send(Unknown Source)
at javax.jmdns.JmDNS.send(Unknown Source)
at javax.jmdns.JmDNS.init(Unknown Source)
at javax.jmdns.JmDNS.<init>(Unknown Source)
at org.lnicholls.galleon.app.AppHost.listen(AppHost.java:201)
at org.lnicholls.galleon.app.AppManager.loadApps(AppManager.jav a:80)
at org.lnicholls.galleon.server.Server.start(Server.java:268)
at org.lnicholls.galleon.server.Server.getServer(Server.java:61 1)
at org.lnicholls.galleon.server.Server.main(Server.java:1169)
<snip>
Everything else seems OK, I don't get any other errors. I see weather reports in the logs. But the TiVo can't see the server at all.
Could somebody please decipher these error messages for me? I'm quite confident with Linux and shell scripting, but I don't know s**t about Java. I would guess it's some sort of permission problem, but the Galleon server is running as root.
For what it's worth, the old JavaHMO server for the most part worked with this same setup (I could play MP3 files and look at .jpg pix (on the server) on the TiVo, but I couldn't get movie listings, weather reports, etc. (just got the big red "X")).
Thanks...Bob
Make sure that all the neccesary ports are available:
http://galleon.sourceforge.net/html/faq.html#ports
juanian
12-28-2005, 02:59 PM
A Linux box equipped with two ethernet cards can often function as a broadband router quite nicely.
DrewAh -- good point, but what are the IP addresses of the two cards? A TiVo has some annoying code to make sure that anything doing MRV/ToGo is on the same subnet, and I wonder if the server and TiVo are seen as being in different subnets. Not being extremely network-savvy, I wonder if the Linux box can pass the Rendevous/Bonjour stuff through to keep the TiVo happy. (I expect that it can, but I don't know what may be needed (if anything) to do that.)
So Malibyte, try choosing different IP addresses in the Galleon IP Address dropdown, and especially try and pick one in the same subnet as the TiVo (plus check the ports Leon lists in the FAQ!).
azitnay
12-28-2005, 05:03 PM
Indeed... A Linux box serving as a broadband router would typically have a public IP on one ethernet interface and a private IP like 192.168.1.1 on the other, and you'd have to make sure Galleon's set to use the 192.168.1.1 interface and not the public IP's interface.
Drew
cmarrin
01-01-2006, 12:46 PM
I am trying to put together a script to allow Galleon to follow all the rules of Linux daemonhood. By this I mean something that has a "galleond" init script in /etc/init.d, so you can use 'galleond start' and 'galleond start'. I want this to show the nice startup and shutdown '[ OK ]" or "[FAILED]" messages as it loads and unloads. All this is easily done using /etc/init.d/functions, which has lots of helper scripts for all this. To boot, I want to be able to manage all this from Webmin. Webmin is a very cool way to manage daemons. You can use it to start/stop and set the daemon to start at boot time, all without having to go in and set runlevels and such. It also shows the status with its nice web interface. You can also add monitors, which will notify you if your server goes down, and even automatically restart it.
I have gotten pretty far, using scripts posted here. I modified run.sh like this:
------
#!/bin/bash
#
# Run the Galleon server
#
# You may have to set JAVA_HOME to the correct value for your system
JAVA_HOME=/usr/java/jre1.5.0_05/
OLDCLASSPATH=$CLASSPATH
CLASSPATH=/usr/local/galleon/conf
for j in /usr/local/galleon/lib/*.jar
do
CLASSPATH=$CLASSPATH:$j
done
OPTION=""
if [ -f "$JAVA_HOME/bin/server" ]; then
OPTION=-server
fi
cd /usr/local/galleon/bin;$JAVA_HOME/bin/java $OPTION -cp $CLASSPATH -Xms64m -Xm
x64m -Djava.awt.fonts="$JAVA_HOME/lib/fonts" -Dawt.toolkit=com.eteks.awt.PJATool
kit org.lnicholls.galleon.server.Server &
CLASSPATH=$OLDCLASSPATH
------
All I have done is to have the java app start in the background and setup the paths so you don't need any env vars setup and you don't need to cd to the galleon directory to run. This assumes that you have placed galleon at /usr/local/galleon, and that you Java is at /usr/java/jre1.5.0_05/. I really like the fact that this version has gotten rid of all the external requirements for running. But it certainly needs some cleanup to make it configurable. Next I am going to add a /etc/sysconfig/galleon config file, so all of these paths can be set there.
Then I added a /etc/init.d/galleond file that looks like this:
------
#! /bin/bash
#
# galleond Start/Stop the galleon daemon.
#
# chkconfig: 2345 90 60
# description: Galleon is a Tivo HME Server \
# For more information go to: \
# ... \
#
# processname: galleond
# config: /usr/local/galleon/conf/configure.xml
# pidfile: /var/run/galleond.pid
# Source function library.
. /etc/init.d/functions
# See how we were called.
prog="/usr/local/galleon/bin/run.sh"
start() {
echo -n $"Starting Galleon: "
daemon $prog
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/galleond
return $RETVAL
}
stop() {
echo -n $"Stopping Galleon: "
rm -f /var/lock/subsys/galleond
kill `pgrep -f galleon`
return $RETVAL
}
rhstatus() {
pid=`pgrep -f galleon`
if [ -n "$pid" ]; then
echo $"Galleon (pid $pid) is running..."
return 0
fi
}
restart() {
stop
start
}
reload() {
echo -n $"Reloading cron daemon configuration: "
killproc galleond -HUP
RETVAL=$?
echo
return $RETVAL
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
reload)
reload
;;
status)
rhstatus
;;
condrestart)
[ -f /var/lock/subsys/galleond ] && restart || :
;;
*)
echo $"Usage: $0 {start|stop|status|reload|restart|condrestart}"
exit 1
esac
------
This uses enough of the daemonish features that start will display [ OK ] and a lock file is created so status somewhat works. It also has comments at the top that allow webmin to see it and config it. You can go into webmin and go to System->Startup and Shutdown and see galleond there. You can select it, start and stop and have it start at boot time. The comments even tell it where to put it in the boot sequence. It really makes things simpler.
But it needs some work. I am not using the 'daemon', 'killproc' or 'status' functions because run.sh doesn't look enough like a daemon. These are nice functions to use because they do a lot of the low level work to be able to cleanly shutdown, do error checking and get status. But I have come to the end of my understanding of Linux, processes and shell scripts.
If anyone out there has more knowledge of these things and wants to hack on these scripts, please feel free to critique and post results for all!
It would be really nice if we could put together an rpm that installed all these in the right places. Then you could just install, go to webmin to ask the server to start on boot, and away you go!!!
PS - on the 8th line of galleond I had the url of the galleon site, which nicely displays in the description of the daemon in Webmin. But I had to remove it because I could not submit it that way (too much of a newbie for this board). I will post that later, when I become a member in good stead :-)
cmarrin
01-01-2006, 01:00 PM
I have a Linux server running Galleon 1.9.2. It is headless, but in the past it was running an X server. So I could ssh to it from a remote box and run gui.sh and get it to display on that remote box. But I have now removed all the Xorg packages from the Linux box and now I can no longer run gui.sh
I have heard that using X with the GUI is not necessary because it uses Java for it GUI components. But I cannot find any info on this in the forums or in the docs. Is this possible? has anyone successfully done it? By the way, the remote box I am trying to use is a WinXP box, and has JRE 1.5 installed.
javahmo
01-01-2006, 03:34 PM
I have a Linux server running Galleon 1.9.2. It is headless, but in the past it was running an X server. So I could ssh to it from a remote box and run gui.sh and get it to display on that remote box. But I have now removed all the Xorg packages from the Linux box and now I can no longer run gui.sh
I have heard that using X with the GUI is not necessary because it uses Java for it GUI components. But I cannot find any info on this in the forums or in the docs. Is this possible? has anyone successfully done it? By the way, the remote box I am trying to use is a WinXP box, and has JRE 1.5 installed.
If you append the ip address of the remote box to the command to run the gui, the configuration gui will connect to that Galleon server instead of localhost.
cmarrin
01-01-2006, 05:33 PM
If you append the ip address of the remote box to the command to run the gui, the configuration gui will connect to that Galleon server instead of localhost.
Ok, then I have a real fundamental misunderstanding of how things work. First of all, when I say "remote box", I mean the WinXP PC that I am trying to run the gui on. This PC does NOT run Galleon, only the Linux server does. That seems to mean that I need to install Galleon on my WinXP PC. But when I do that, it installs the Galleon services, and I can find no way to turn them off. When I blow away the java process which is running Galleon on my PC, it just comes back. If I uninstall Galleon on my PC and try to run gui.sh from a directory of Galleon source files on my PC, it fails to startup with some Java errors.
But if I leave it installed, I can go: gui.sh <Linux server IP address> and Galleon comes up. But it does not operate correctly. First of all, if I add an app (like the Photo app), its GUI shows up in the main panel. But if I exit the GUI app and restart it, the Photo app no longer shows up.
Also, I can go into the Properties panel, where the Network section lives. This shows the "PC IP Address" with a drop down menu showing "Default". When I drop this menu down, it shows the IP address of my WinXP PC, not my Linux system. When I leave the dropdown at "default" and hit Test it does not find any Tivos. But when I set it to the IP of my WinXP PC, it finds both of my Tivos. Hmmmmmm...
Finally, when I bring up the file dialog to set the Recordings Path, it shows me the filesystem of my WinXP PC, not my Linux system.
So what fundamental concept do I have wrong here?
azitnay
01-02-2006, 11:08 AM
As for stopping the Galleon service (and preventing it from starting automatically), first go to Start -> Run and type:
services.msc
to open up the Services Control Panel. Find Galleon, open its properties, change Startup type to Manual, and hit Stop.
Drew
javahmo
01-02-2006, 12:32 PM
Ok, then I have a real fundamental misunderstanding of how things work. First of all, when I say "remote box", I mean the WinXP PC that I am trying to run the gui on. This PC does NOT run Galleon, only the Linux server does. That seems to mean that I need to install Galleon on my WinXP PC. But when I do that, it installs the Galleon services, and I can find no way to turn them off. When I blow away the java process which is running Galleon on my PC, it just comes back. If I uninstall Galleon on my PC and try to run gui.sh from a directory of Galleon source files on my PC, it fails to startup with some Java errors.
Yes, you need a local Galleon installation to connect to a remote installation. You can disable the Galleon service under XP: Control Panel/Administrative Tools/Services
But if I leave it installed, I can go: gui.sh <Linux server IP address> and Galleon comes up. But it does not operate correctly. First of all, if I add an app (like the Photo app), its GUI shows up in the main panel. But if I exit the GUI app and restart it, the Photo app no longer shows up.
Did you press Apply to save the app configuration? Did you append the IP address again?
Also, I can go into the Properties panel, where the Network section lives. This shows the "PC IP Address" with a drop down menu showing "Default". When I drop this menu down, it shows the IP address of my WinXP PC, not my Linux system. When I leave the dropdown at "default" and hit Test it does not find any Tivos. But when I set it to the IP of my WinXP PC, it finds both of my Tivos.
This test is not critical. If you cannot find the TiVo's you can always add them manually in File/ToGo.
Finally, when I bring up the file dialog to set the Recordings Path, it shows me the filesystem of my WinXP PC, not my Linux system.
Yes, the file dialogs will all be local; thats the way these GUI components work. You can manually type in the path for the remote server.
Malibyte
01-03-2006, 05:16 PM
Ah -- good point, but what are the IP addresses of the two cards? A TiVo has some annoying code to make sure that anything doing MRV/ToGo is on the same subnet, and I wonder if the server and TiVo are seen as being in different subnets. Not being extremely network-savvy, I wonder if the Linux box can pass the Rendevous/Bonjour stuff through to keep the TiVo happy. (I expect that it can, but I don't know what may be needed (if anything) to do that.)
So Malibyte, try choosing different IP addresses in the Galleon IP Address dropdown, and especially try and pick one in the same subnet as the TiVo (plus check the ports Leon lists in the FAQ!).
One stab in the dark -- do you have "Allow Transfers" enabled on your TiVo, and have you named your TiVo? (Check your System Information page - the TiVoToGo entry shows "a,a,a", right?)
Do you have other TiVos, and do they see each other if you do?
One note: the "TiVoListener" part of the log is where Galleon detects my TiVos on my Mac.
Try this: When you run the GUI, go to File/Properties, double-check your Media Access Key, be sure that your Linux IP address is set right (or try 'Default') and then click on "Test" -- does your TiVo name show up in the box? (What choices show for the IP address in the dropdown?)
I'm also slightly puzzled by you saying your "server" was .1; is this the Linux box you are using? Are you using a router, and what is its address (normally, the router is .1)?
Hi all -
Have been away for a while as I've been busy with holiday stuff, then upgraded both TiVos over the weekend. Next, will try the new Galleon.
The TiVo (192.168.1.11) is definitely on the same subnet as the "internal" NIC on the server (192.168.1.1), so this shouldn't be the issue. The server is acting as a router for the internal network; the other NIC has a static public IP address. As I mentioned before, this setup "kinda" worked with the old JavaHMO server software, as I could play music and look at pictures on the server but couldn't get anything (e.g. weather pics, movie listings, HTML pages, etc.) from the outside Internet (the TiVo has had no problems getting its updates and guides, however). There still might be a firewall issue, but the firewall is set up to allow anything between machines on the internal network without any restrictions. I will specifically try to test with the individual ports on the list, and go through some of the other checks that Juanian mentioned above.
I do now have two working TiVos, but the Series 2 is now waiting for a wireless NIC before I put it in my kid's room.
Thanks...Bob
ramblin_wreck
01-03-2006, 08:12 PM
Has anyone firgured out how to handle /etc/hosts for galleon on DHCP'ed hosts?
crumley
01-04-2006, 04:13 PM
Has anyone firgured out how to handle /etc/hosts for galleon on DHCP'ed hosts?
Can't you force a certain IP address to go to a certain MAC address on your router/DHCP server?
ramblin_wreck
01-04-2006, 07:32 PM
No. It is just a router with a simple DHCP server service.
Malibyte
01-13-2006, 02:07 AM
One stab in the dark -- do you have "Allow Transfers" enabled on your TiVo, and have you named your TiVo? (Check your System Information page - the TiVoToGo entry shows "a,a,a", right?)
Yes, it does.
Try this: When you run the GUI, go to File/Properties, double-check your Media Access Key, be sure that your Linux IP address is set right (or try 'Default') and then click on "Test" -- does your TiVo name show up in the box? (What choices show for the IP address in the dropdown?)
The Media Access Key is correct.
Choices which show up in the dropdown box: Default, 192.168.1.1, and 64.166.xxx.xxx (the external IP of the server).
Running "Test" from the File/Properties gives me this (using port 7288 and IP 192.168.1.1 OR 64.166.xxx.xxx) in the terminal window, and the progress bar simply runs all the way from left to right, then stops:
[root@kenobi: /srv/galleon/bin]$ sh gui.sh
Exception in thread "Timer-8" java.lang.NullPointerException
at org.lnicholls.galleon.gui.MainFrame$NetworkDialog$TiVoListen er.stop(MainFrame.java:1384)
at org.lnicholls.galleon.gui.MainFrame$28.run(MainFrame.java:12 72)
at java.util.TimerThread.mainLoop(Unknown Source)
at java.util.TimerThread.run(Unknown Source)
If I use "Default" in the drop-down box, it does the search, then says "No TiVos found on this network interface." (???)
I double-checked and made sure all six needed ports are open on the server (from the inside network, which the TiVo is on). I get no dropped packets in my firewall logs from the TiVo.
Also, they have obviously seen each other at some point, because if I go into "File/ToGo", I can see a list of the currently recorded shows on the TiVo (actually my new Humax, with IP 192.168.1.21; the other one is currently off-line and will go into my kid's room). Both TiVos (with their names and correct IP addresses) are also shown. But the TiVo still can't find the server ("No servers are found at 192.168.1.1.....").
I see these in the output of netstat -anl:
tcp 0 0 192.168.1.1:42391 192.168.1.21:80 ESTABLISHED
tcp 0 0 192.168.1.1:7288 0.0.0.0:* LISTEN
udp 0 0 0.0.0.0:2190 0.0.0.0:*
tcp 0 0 127.0.0.1:1527 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:1099 0.0.0.0:* LISTEN
udp 0 0 0.0.0.0:5353 0.0.0.0:*
tcp 0 0 64.166.xxx.xxx:8081 0.0.0.0:* LISTEN
It appears to be listening to port 8081 on the EXTERNAL IP (?!?) but in the dump below, it's talking on that port (tproxy) on the internal IP.
I see a lot of packets going back and forth (using tcpdump, I see these):
23:29:53.443987 IP kenobi.in.malibyte.net.42391 > 192.168.1.21.www: . ack 2872090 win 32768 <nop,nop,timestamp 776065531 75105326>
23:29:53.446786 IP 192.168.1.21.www > kenobi.in.malibyte.net.42391: . 2872090:2873538(1448) ack 1 win 7504 <nop,nop,timestamp 75105326 77606
23:34:56.176756 IP kenobi.in.malibyte.net.2190 > 192.168.1.255.2190: UDP, length 155
23:34:56.190060 IP 192.168.1.21.2549 > kenobi.in.malibyte.net.tproxy: S 4213225262:4213225262(0) win 5840 <mss 1460,sackOK,timestamp 75135605 0,nop,wscale 0>
23:34:56.190233 IP kenobi.in.malibyte.net.tproxy > 192.168.1.21.2549: R 0:0(0) ack 4213225263 win 0
23:35:01.194749 IP kenobi.in.malibyte.net.2190 > 192.168.1.255.2190: UDP, length 155
23:35:01.207968 IP 192.168.1.21.2550 > kenobi.in.malibyte.net.tproxy: S 4221148722:4221148722(0) win 5840 <mss 1460,sackOK,timestamp 75136107 0,nop,wscale 0>
So...still pulling my hair out. It's got to be something simple. Aargh.
Bob
juanian
01-14-2006, 05:11 AM
Hmm, this has nearly passed by my level of expertise with Galleon, but I'll give it a last try. At this point, the next thing I can think of is to gather info from your log file, comparing it to my log. Also, what version of Galleon are you using?
I am also puzzled with why 'default' gave you a different response than the other selections. So, let's see what we can find out.
With 'default' chosen, stop the Galleon GUI and Server. Then, restart the Galleon server. Wait for a few minutes (like 5), then check your log file for the following areas:
02:21:21,389 INFO [main] Server - Galleon Version=1.9.2
02:21:21,393 INFO [main] Server - Local IP=<what is this IP>
02:21:21,393 INFO [main] Server - Host=<your host name>
. . .
02:21:33,837 INFO [main] HibernateUtil - Initialized Hibernate
02:21:35,867 DEBUG [main] TiVoListener - Interface: /<what is this IP>
02:21:35,918 DEBUG [JmDNS.ServiceBrowser: _http._tcp.local.] TiVoListener - addService: <a TiVo name>
02:21:35,931 DEBUG [JmDNS.ServiceBrowser: _http._tcp.local.] TiVoListener - addService: <another TiVo name>
02:21:35,932 DEBUG [JmDNS.ServiceResolver] TiVoListener - resolveService: _http._tcp.local. (<the first TiVo name again>._http._tcp.local.)
02:21:35,933 DEBUG [JmDNS.ServiceResolver] TiVoListener - resolveService: _http._tcp.local. (<the second TiVo name again>._http._tcp.local.)
02:21:36,465 INFO [main] AppHost - added factory
02:21:36,465 INFO [main] AppHost - MDNS: http://<what is this IP>:7288/ToGoG/
02:21:37,328 DEBUG [main] Tools - findAvailablePort: 1099
02:21:37,329 DEBUG [main] Tools - Trying port 1099
02:21:37,594 DEBUG [main] Tools - findAvailablePort: 8081
02:21:37,594 DEBUG [main] Tools - Trying port 8081
02:21:37,619 DEBUG [main] Server - Using beacon port=2190
02:21:37,622 INFO [main] BroadcastThread - High frequency enabled
02:21:37,623 INFO [main] Server - Broadcast port=2190
02:21:37,708 DEBUG [ConnectionThread] ConnectionThread - Server waiting for client on port 2190
02:21:37,710 DEBUG [ToGoThread] ToGoThread - tivos=4
If things are working well, you should see something like this when Galleon is getting program info from your TiVo(s):
02:21:37,710 DEBUG [ToGoThread] ToGo - getRecordings: 4
02:21:37,711 DEBUG [ToGoThread] ToGo - mServerConfiguration.getMediaAccessKey()=32
02:21:37,765 DEBUG [ToGoThread] ToGo - /TiVoConnect?Command=QueryContainer&Container=%2FNowPlaying&Recurse=Yes&ItemCount=20&AnchorOffset=0
02:21:41,341 DEBUG [ToGoThread] ToGo - lastChangedDate=Sat Jan 14 02:07:34 MST 2006
02:21:41,342 DEBUG [ToGoThread] ToGo - tivo.getLastChangedDate()=Sat Jan 14 02:00:02 MST 2006
02:21:41,342 DEBUG [ToGoThread] ToGo - total=50
02:21:41,342 DEBUG [ToGoThread] ToGo - tivo.getNumShows()=11
02:21:41,343 DEBUG [ToGoThread] ToGoThread - 1 of 50
02:21:41,352 DEBUG [ToGoThread] ToGoThread - 2 of 50
. . .
02:21:41,386 DEBUG [ToGoThread] ToGoThread - 20 of 50
02:21:41,487 DEBUG [ToGoThread] ToGo - /TiVoConnect?Command=QueryContainer&Container=%2FNowPlaying&Recurse=Yes&ItemCount=20&AnchorOffset=20
02:21:42,910 DEBUG [BroadcastThread] BroadcastThread - Sent broadcast: TiVoConnect=1
Method=Broadcast
Platform=pc/Mac OS X
Machine=<your host name>
Identity=<the same host IP address>
Services=TiVoMediaServer:8081/http
swversion=1.9.2
to <local subnet broadcast address>
02:21:43,814 DEBUG [ToGoThread] ToGo - lastChangedDate=Sat Jan 14 02:07:34 MST 2006
02:21:43,815 DEBUG [ToGoThread] ToGo - tivo.getLastChangedDate()=Sat Jan 14 02:07:34 MST 2006
02:21:43,815 DEBUG [ToGoThread] ToGo - total=50
02:21:43,815 DEBUG [ToGoThread] ToGo - tivo.getNumShows()=20
02:21:43,816 DEBUG [ToGoThread] ToGoThread - 21 of 50
02:21:43,817 DEBUG [ToGoThread] ToGoThread - 22 of 50
. . .
Galleon also automatically adds entries for other Galleon or TiVo Desktop computers, and these give the following errors:
02:34:23,268 ERROR [ToGoThread] ToGo - java.net.ConnectException: Operation timed out
02:34:23,269 DEBUG [ToGoThread] ToGo - java.net.ConnectException: Operation timed out
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305)
. . .
and
02:32:58,335 ERROR [ToGoThread] ToGo - java.net.ConnectException: Connection refused
02:32:58,338 DEBUG [ToGoThread] ToGo - java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305)
Now, let's check out the ToGo App. When you start the GUI, you should see the ToGo app listed on the left side (under Apps), and when you choose it, the ToGo app should show on the right side. Be sure that a title shows in the Title field.
Choose File=>ToGo, and look at the list of TiVos. Does anything show in the lower list? Last, did any TiVos show up on the lower list (that you didn't enter yourself)?
EDIT: You can try this with the other IP settings. I suggest this sequence:
After checking the above, start the GUI. Pick a different IP address, and exit the GUI.
Stop the Galleon Server.
Restart the Galleon Server.
Check the results as indicated above.
Interestingly, when I selected "Default", I also had the "No TiVos" message. I can't seem to get any log messages when I use the 'Test' function.
javahmo
01-14-2006, 10:17 AM
It appears to be listening to port 8081 on the EXTERNAL IP (?!?) but in the dump below, it's talking on that port (tproxy) on the internal IP.
I've found a bug that will could cause the wrong interface to be used for part of the communication with the TiVo recorder. This will be fixed in the next release. This might be a factor in your installation.
Malibyte
01-22-2006, 01:08 PM
I've found a bug that will could cause the wrong interface to be used for part of the communication with the TiVo recorder. This will be fixed in the next release. This might be a factor in your installation.
Hi, Leon:
I've upgraded to Galleon 2.1.0, but I'm still seeing the same issue. The TiVos can't see the server, Galleon can't find the TiVos when doing a search under gui.sh, but it seems to be able to talk to them enough to get their names and their current lists of recordings.
http://www.malibyte.net/images/gkrellShoot_01-22-06_102521.jpg
Here's a snippet from netstat -anl:
tcp 0 0 0.0.0.0:1099 0.0.0.0:* LISTEN
tcp 0 0 192.168.1.1:7288 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:1527 0.0.0.0:* LISTEN
tcp 0 0 192.168.1.1:8081 0.0.0.0:* LISTEN
udp 0 0 0.0.0.0:2190 0.0.0.0:*
udp 0 0 0.0.0.0:5353 0.0.0.0:*
All looks OK here now except that port 1527 (tcp) is bound only to the localhost address (I don't think that should make any difference, though).
Here's the relevant stuff from the Galleon logs:
23:11:47,643 INFO [main] Server - java.runtime.name=Java(TM) 2 Runtime Environment, Standard Edition
23:11:47,643 INFO [main] Server - sun.boot.library.path=/usr/java/jre1.5.0_05/lib/amd64
23:11:47,643 INFO [main] Server - java.vm.version=1.5.0_05-b05
23:11:47,643 INFO [main] Server - apps=/srv/galleon/bin/./../apps
23:11:47,644 INFO [main] Server - os.user.home=/root
23:11:47,644 INFO [main] Server - java.vm.vendor=Sun Microsystems Inc.
23:11:47,644 INFO [main] Server - java.vendor.url=http://java.sun.com/
23:11:47,644 INFO [main] Server - path.separator=:
23:11:47,651 INFO [main] Server - java.vm.name=Java HotSpot(TM) 64-Bit Server VM
23:11:47,651 INFO [main] Server - file.encoding.pkg=sun.io
23:11:47,651 INFO [main] Server - user.country=US
23:11:47,651 INFO [main] Server - sun.os.patch.level=unknown
23:11:47,651 INFO [main] Server - skins=/srv/galleon/bin/./../skins
23:11:47,651 INFO [main] Server - java.vm.specification.name=Java Virtual Machine Specification
23:11:47,651 INFO [main] Server - user.dir=/srv/galleon/bin
23:11:47,651 INFO [main] Server - java.runtime.version=1.5.0_05-b05
23:11:47,651 INFO [main] Server - bin=/srv/galleon/bin/./../bin
23:11:47,651 INFO [main] Server - java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment
23:11:47,651 INFO [main] Server - cache=/srv/galleon/bin/./../data
23:11:47,651 INFO [main] Server - java.endorsed.dirs=/usr/java/jre1.5.0_05/lib/endorsed
23:11:47,651 INFO [main] Server - os.arch=amd64
23:11:47,651 INFO [main] Server - java.io.tmpdir=/tmp
23:11:47,651 INFO [main] Server - line.separator=
23:11:47,651 INFO [main] Server - java.vm.specification.vendor=Sun Microsystems Inc.
23:11:47,651 INFO [main] Server - hme=/srv/galleon/bin/./../hme
23:11:47,652 INFO [main] Server - java.awt.fonts=/lib/fonts
23:11:47,652 INFO [main] Server - os.name=Linux
23:11:47,652 INFO [main] Server - sun.jnu.encoding=ISO-8859-1
23:11:47,652 INFO [main] Server - java.library.path=/usr/java/jre1.5.0_05/lib/amd64/server:/usr/java/jre1.5.0_05/lib/amd64:/usr/java/jre1.5.0_05/../lib/am
d64
23:11:47,652 INFO [main] Server - java.specification.name=Java Platform API Specification
23:11:47,652 INFO [main] Server - java.class.version=49.0
23:11:47,652 INFO [main] Server - root=/srv/galleon/bin/./..
23:11:47,652 INFO [main] Server - sun.management.compiler=HotSpot 64-Bit Server Compiler
23:11:47,652 INFO [main] Server - os.version=2.6.14-2-amd64-k8
23:11:47,652 INFO [main] Server - user.home=/srv/galleon/bin/./..
23:11:47,652 INFO [main] Server - user.timezone=US/Pacific
23:11:47,652 INFO [main] Server - java.awt.printerjob=sun.print.PSPrinterJob
23:11:47,652 INFO [main] Server - java.specification.version=1.5
23:11:47,652 INFO [main] Server - file.encoding=ISO-8859-1
.
.
23:11:47,655 INFO [main] Server - Galleon Version=2.1.0
23:11:47,656 INFO [main] Server - Local IP=192.168.1.1
23:11:47,656 INFO [main] Server - Host=kenobi.malibyte.net
23:11:47,656 INFO [main] Tools - Max Memory: 64880640
23:11:47,657 INFO [main] Tools - Total Memory: 64880640
23:11:47,657 INFO [main] Tools - Free Memory: 52685336
23:11:47,769 INFO [main] NetworkServerManager - Creating Database Network Server
23:11:51,278 INFO [main] NetworkServerManager - Created Database Network Server
23:11:51,284 INFO [main] HibernateUtil - Initializing Hibernate
23:11:51,344 INFO [main] Environment - Hibernate 2.1.7
.
.
23:12:02,263 ERROR [main] TiVoListener - java.io.IOException: Operation not permitted
23:12:02,263 DEBUG [main] TiVoListener - java.io.IOException: Operation not permitted
at java.net.PlainDatagramSocketImpl.send(Native Method)
at java.net.DatagramSocket.send(Unknown Source)
at javax.jmdns.JmDNS.send(JmDNS.java:670)
at javax.jmdns.JmDNS.init(JmDNS.java:134)
at javax.jmdns.JmDNS.<init>(JmDNS.java:69)
at org.lnicholls.galleon.server.TiVoListener.<init>(TiVoListener.java:57)
at org.lnicholls.galleon.server.Server.start(Server.java:268)
at org.lnicholls.galleon.server.Server.getServer(Server.java:63 2)
at org.lnicholls.galleon.server.Server.main(Server.java:1209)
23:12:02,295 ERROR [main] AppFactory - java.io.IOException: Operation not permitted
23:12:02,296 DEBUG [main] AppFactory - java.io.IOException: Operation not permitted
at java.net.PlainDatagramSocketImpl.send(Native Method)
at java.net.DatagramSocket.send(Unknown Source)
at javax.jmdns.JmDNS.send(JmDNS.java:670)
at javax.jmdns.JmDNS.init(JmDNS.java:134)
at javax.jmdns.JmDNS.<init>(JmDNS.java:69)
at org.lnicholls.galleon.app.AppHost.listen(AppHost.java:165)
at org.lnicholls.galleon.app.AppManager.loadApps(AppManager.jav a:102)
at org.lnicholls.galleon.server.Server.start(Server.java:270)
at org.lnicholls.galleon.server.Server.getServer(Server.java:63 2)
at org.lnicholls.galleon.server.Server.main(Server.java:1209)
23:12:02,333 DEBUG [main] Tools - findAvailablePort: 1099
23:12:02,333 DEBUG [main] Tools - Trying port 1099
23:12:02,505 DEBUG [main] Tools - findAvailablePort: 8081
23:12:02,505 DEBUG [main] Tools - Trying port 8081
23:12:02,520 DEBUG [main] Server - Using beacon port=2190
23:12:02,522 INFO [main] BroadcastThread - High frequency enabled
23:12:02,522 INFO [main] Server - Broadcast port=2190
23:12:02,535 DEBUG [main] Server - Server schedule short term: org.lnicholls.galleon.util.ReloadTask@6128453c for 86400
23:12:02,536 DEBUG [Timer-1] ReloadTask - ReloadTask run:
23:12:02,538 DEBUG [main] Server - Server schedule long term: org.lnicholls.galleon.util.ReloadTask@bd5d765 for 720
23:12:02,538 DEBUG [main] Server - Server schedule data: org.lnicholls.galleon.util.ReloadTask@4302df5 for 1440
23:12:02,538 DEBUG [Timer-2] ReloadTask - ReloadTask run:
23:12:02,539 DEBUG [ToGoThread] ToGoThread - tivos=2
23:12:02,539 DEBUG [ToGoThread] ToGo - getRecordings: 2
23:12:02,539 DEBUG [ToGoThread] ToGo - mServerConfiguration.getMediaAccessKey()=32
23:12:02,569 DEBUG [Thread-17] ShoutcastStations - Shoutcast
23:12:02,609 DEBUG [ToGoThread] ToGo - /TiVoConnect?Command=QueryContainer&Container=%2FNowPlaying&Recurse=Yes&ItemCount=20&AnchorOffset=0
23:12:02,887 DEBUG [Thread-18] Users - updateApplications:
23:12:02,887 DEBUG [ConnectionThread] ConnectionThread - Server waiting for client on port 2190
23:12:04,597 DEBUG [Thread-17] ShoutcastStations - Parameters: ?rn=2297&file=filename.pls
23:12:04,597 DEBUG [Thread-17] ShoutcastStations - Parameters: ?rn=1414&file=filename.pls
23:12:04,597 DEBUG [Thread-17] ShoutcastStations - Parameters: ?rn=8045&file=filename.pls
.
.
23:12:05,633 DEBUG [Thread-17] ShoutcastStations - Parameters: ?rn=953137&file=filename.pls
23:12:05,851 DEBUG [ToGoThread] ToGo - lastChangedDate=Thu Jan 19 22:00:06 PST 2006
23:12:05,851 DEBUG [ToGoThread] ToGo - tivo.getLastChangedDate()=Fri Jan 13 23:57:39 PST 2006
23:12:05,851 DEBUG [ToGoThread] ToGo - total=9
23:12:05,851 DEBUG [ToGoThread] ToGo - tivo.getNumShows()=5
23:12:05,851 DEBUG [ToGoThread] ToGoThread - 1 of 9
23:12:05,852 DEBUG [ToGoThread] ToGoThread - 2 of 9
23:12:05,853 DEBUG [ToGoThread] ToGoThread - 3 of 9
23:12:05,853 DEBUG [ToGoThread] ToGoThread - 4 of 9
23:12:05,858 DEBUG [ToGoThread] ToGoThread - 5 of 9
23:12:05,858 DEBUG [ToGoThread] ToGoThread - 6 of 9
23:12:05,858 DEBUG [ToGoThread] ToGoThread - 7 of 9
23:12:05,859 DEBUG [ToGoThread] ToGoThread - 8 of 9
23:12:05,859 DEBUG [ToGoThread] ToGoThread - 9 of 9
.
.
Method=Broadcast
Platform=pc/Linux
Machine=kenobi.malibyte.net
Identity=00:A0:CC:62:50:85
Services=TiVoMediaServer:8081/http
swversion=2.1.0
to 192.168.1.255
.
.
23:12:07,720 DEBUG [VideoServer] VideoServer - /TiVoConnect?Command=QueryContainer&Container=%2F
23:12:07,721 DEBUG [VideoServer] VideoServer - 192.168.1.21
23:12:07,746 DEBUG [VideoServer] VideoServer - /TiVoConnect?Command=QueryContainer&Container=%2F
23:12:07,746 DEBUG [VideoServer] VideoServer - 192.168.1.11
.
.
23:12:08,403 DEBUG [ListenThread] ListenThread - Got beacon: TiVoConnect=1
Method=broadcast
Platform=tcd/Series2
Machine=HumaxDVD
Identity=5950001C02D065B
Services=TiVo-ServeTcdVideo-1:2191/tvbus_v3,TiVoMediaServer:80/http
swversion=7.2.1-elm-01-2-595
.
.
23:12:08,404 INFO [ListenThread] BroadcastThread - High frequency enabled
23:12:08,958 DEBUG [ListenThread] ListenThread - Got beacon: TiVoConnect=1
Method=broadcast
Platform=tcd/Series2
Machine=Series2
Identity=5400001706A8D72
Services=TiVo-ServeTcdVideo-1:2191/tvbus_v3,TiVoMediaServer:80/http
swversion=7.2.1-oth-01-2-540
.
.
23:12:18,510 DEBUG [Thread-17] ShoutcastStations - PlaylistItem: Radioseven - www.radioseven.se=http://217.118.212.66:8500
23:12:18,573 DEBUG [Thread-17] ShoutcastStations - PlaylistItem: Radioseven - www.radioseven.se=http://217.30.80.253:8500
23:12:18,596 DEBUG [Thread-17] ShoutcastStations - PlaylistItem: Radioseven - www.radioseven.se=http://212.73.29.83:8500
23:12:18,802 DEBUG [Thread-17] ShoutcastStations - PlaylistItem: Radioseven - www.radioseven.se=http://213.141.88.181:8500
.
.
23:12:21,921 ERROR [ToGoThread] ToGo - java.net.NoRouteToHostException: No route to host
23:12:21,922 DEBUG [ToGoThread] ToGo - java.net.NoRouteToHostException: No route to host
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSock et(Unknown Source)
at org.lnicholls.galleon.togo.TiVoSSLProtocolSocketFactory.crea teSocket(TiVoSSLProtocolSocketFactory.java:65)
at org.apache.commons.httpclient.HttpConnection.open(HttpConnec tion.java:704)
at org.apache.commons.httpclient.HttpMethodDirector.executeWith Retry(HttpMethodDirector.java:359)
at org.apache.commons.httpclient.HttpMethodDirector.executeMeth od(HttpMethodDirector.java:168)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpC lient.java:393)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpC lient.java:324)
at org.lnicholls.galleon.togo.ToGo.getRecordings(ToGo.java:136)
at org.lnicholls.galleon.togo.ToGoThread.run(ToGoThread.java:58 )
.
.
23:12:33,626 DEBUG [Thread-17] ShoutcastStations - PlaylistItem: ChroniX Aggression - Loud & Clear - www.chronixradio.com=http://64.236.34.67:80/stream/10
39
23:12:33,711 DEBUG [Thread-21] Movies - New: Edwards Simi Valley Plaza 10
23:14:38,434 DEBUG [RMI TCP Connection(5)-64.166.193.210] Configurator - TiVo: Name=HumaxDVD DVR
Server=null
Address=192.168.1.21
Port=80
Platform=null
SoftwareVersion=null
Path=null
LastChangedDate=Thu Jan 19 22:00:06 PST 2006
NumShows=9
Capacity=300
23:14:38,437 DEBUG [RMI TCP Connection(5)-64.166.193.210] Configurator - TiVo: Name=Master-BR DVR
Server=null
Address=192.168.1.11
Port=80
Platform=null
SoftwareVersion=null
Path=null
LastChangedDate=Thu Jan 19 15:57:50 PST 2006
NumShows=0
Capacity=40 (note - it's now running with a 200GB drive)
.
.
Trying to run the test (on the 192.168.1.1 interface) through gui.sh gives me this (on the command line) just after the progress bar gets all the way over to the right:
[root@kenobi: /srv/galleon/bin]$ sh gui.sh
Exception in thread "Timer-8" java.lang.NullPointerException
at org.lnicholls.galleon.gui.MainFrame$NetworkDialog$TiVoListen er.stop(MainFrame.java:1514)
at org.lnicholls.galleon.gui.MainFrame$29.run(MainFrame.java:14 04)
at java.util.TimerThread.mainLoop(Unknown Source)
at java.util.TimerThread.run(Unknown Source)
If I use the "Default" address, it runs through the search, then gives me "No TiVos found on this network interface."
So, still scratching my head. Any other hints you could throw my way would be appreciated. Could this have anything to do with the fact that I'm running a 64-bit-optimized kernel and binaries (the Java JRE is also 64-bit)? There should be no firewall issues, as I've allowed everything between the internal network and the server's internal interface.
Thanks...Bob
javahmo
01-22-2006, 03:48 PM
Hi, Leon:
I've upgraded to Galleon 2.1.0, but I'm still seeing the same issue. The TiVos can't see the server, Galleon can't find the TiVos when doing a search under gui.sh, but it seems to be able to talk to them enough to get their names and their current lists of recordings.
Is the IP address correct in the Galleon configuration GUI File/Properties menu?
Have you disabled IPv6?
Malibyte
01-22-2006, 07:42 PM
Is the IP address correct in the Galleon configuration GUI File/Properties menu?
Have you disabled IPv6?
Yes, the IP address is correct:
http://www.malibyte.net/images/gkrellShoot_01-22-06_163710.jpg
but it gives me the output in the previous message when I try to test it.
Yes, I have disabled IPv6.
[root@kenobi: /srv/galleon]$ lsmod | grep v6
[root@kenobi: /srv/galleon]$
javahmo
01-24-2006, 08:02 PM
Yes, the IP address is correct:
http://www.malibyte.net/images/gkrellShoot_01-22-06_163710.jpg
but it gives me the output in the previous message when I try to test it.
Yes, I have disabled IPv6.
[root@kenobi: /srv/galleon]$ lsmod | grep v6
[root@kenobi: /srv/galleon]$
I will have to modify Galleon to get around the error you reported earlier. That should get you further, but might not be a solution to your problem. I will include this in the next version of Galleon.
Malibyte
01-24-2006, 11:10 PM
I will have to modify Galleon to get around the error you reported earlier. That should get you further, but might not be a solution to your problem. I will include this in the next version of Galleon.
Thanks, Leon...I will be happy to help you debug this :D
Bob
jpepin
01-24-2006, 11:18 PM
Well I've installed the latest galleon on my ubuntu "breezy" setup, and it all works great. But I can't seem to get it to start automatically when I log in. I've tried the other tips on this forum, but I can't get it to work. It will really be a pain if I have to start it manually every time I log in or reboot.
Can anyone tell me how to have the galleon server start automatically on boot (Ubuntu 5.10 w/ gnome).
Malibyte
01-24-2006, 11:31 PM
Can anyone tell me how to have the galleon server start automatically on boot (Ubuntu 5.10 w/ gnome).
Here's a quick-and-dirty one I borrowed from someone else here:
As root, copy the following to a file named /etc /init.d/galleon:
#!/bin/sh
case "$1" in
start)
echo "Starting Galleon TiVo HME server:"
cd /srv/galleon/bin; ./run.sh & # <------CHANGE this directory to whatever it is on your machine.
;;
stop)
echo "Stopping Galleon TiVo server:"
pkill -f galleon
;;
*)
echo "Usage: /etc/init.d/galleon {start|stop}"
exit 1
;;
esac
Then, at a command prompt:
chmod 750 /etc/init.d/galleon
ln -s /etc/rc0.d/K98galleon /etc/init.d/galleon
ln -s /etc/rc2.d/S98galleon /etc/init.d/galleon
ln -s /etc/rc3.d/S98galleon /etc/init.d/galleon
ln -s /etc/rc6.d/K98galleon /etc/init.d/galleon
You're good to go.
jpepin
01-25-2006, 10:10 AM
Thanks for the quick respomse...i'll give it a shot!
jpepin
01-25-2006, 11:45 AM
Here's a quick-and-dirty one I borrowed from someone else here:
As root, copy the following to a file named /etc /init.d/galleon:
#!/bin/sh
case "$1" in
start)
echo "Starting Galleon TiVo HME server:"
cd /srv/galleon/bin; ./run.sh & # <------CHANGE this directory to whatever it is on your machine.
;;
stop)
echo "Stopping Galleon TiVo server:"
pkill -f galleon
;;
*)
echo "Usage: /etc/init.d/galleon {start|stop}"
exit 1
;;
esac
Then, at a command prompt:
chmod 750 /etc/init.d/galleon
ln -s /etc/rc0.d/K98galleon /etc/init.d/galleon
ln -s /etc/rc2.d/S98galleon /etc/init.d/galleon
ln -s /etc/rc3.d/S98galleon /etc/init.d/galleon
ln -s /etc/rc6.d/K98galleon /etc/init.d/galleon
You're good to go.
Thanks Malibyte, that did the trick with a couple modifications. It should be :
ln -s /etc/init.d/galleon /etc/rc0.d/K98galleon
ln -s /etc/init.d/galleon /etc/rc2.d/S98galleon
ln -s /etc/init.d/galleon /etc/rc3.d/S98galleon
ln -s /etc/init.d/galleon /etc/rc6.d/K98galleon
Initially it didn't work. Then I changed the file owner to root and the group to users, and it worked (it was originally owner=jpepin, group=jpepin). I don't know enough about it to know if I needed to change both of theses settings, but it worked.
So the question is...does root have to be the owner? Also, how can I check to see that it's working, other than trying it on the Tivo? Is there a command to stop the server?
Thanks again :)
azitnay
01-25-2006, 11:54 AM
root would typically be the owner of anything in /etc/init.d... You can ls the dir and verify that everything else is.
I don't know anything about your particular distribution of Linux, but typical commands to start and stop would be:
service galleon start
service galleon stop
If all else fails, the following should definitely work:
/etc/init.d/galleon start
/etc/init.d/galleon stop
Drew
windracer
01-25-2006, 01:45 PM
Here's a quick-and-dirty one I borrowed from someone else here.
Ah, thanks for reminding me about this! I had been meaning to set up a daemon for Galleon and kept forgetting. Now I'm all set ...
classicsat
01-28-2006, 07:53 PM
I did the script and the K/S98 links, and Galleon does not autostart, but the /etc/init.d/galleon start command starts it. service galleon start does not work, as I have no service command, at least in my user path.
How do I make galleon
I have couple icons on my desktop ( a shell script) that each starts galleon and the GUI.
Galleon and the GUI work just fine when I manually start them.
I am using Fedora Core 3, as a user (which auto logs in for me). I will got to root if I need to, but I won't just to autostart Galleon.
Malibyte
01-28-2006, 08:52 PM
I did the script and the K/S98 links, and Galleon does not autostart, but the /etc/init.d/galleon start command starts it. service galleon start does not work, as I have no service command, at least in my user path.
How do I make galleon
I have couple icons on my desktop ( a shell script) that each starts galleon and the GUI.
Galleon and the GUI work just fine when I manually start them.
I am using Fedora Core 3, as a user (which auto logs in for me). I will got to root if I need to, but I won't just to autostart Galleon.
The service command is not in the "regular" user path (it's in /sbin, I believe).
No guarantees here, but you could try this (as root):
Add this line to the beginning of the /etc/init.d/galleon script:
# chkconfig: 2345 98 98
Then cd to /etc/init.d and issue the following command:
chkconfig --level 2345 galleon on
The Fedora and Mandr(ake, iva) distros utilize chkconfig as a way to turn these init scripts on and off. Hope this works.
classicsat
01-29-2006, 08:46 PM
I found the service command, That starts galleon manually.
The chkconfig thing doesn't work.
For kicks, I put /sbin/service galleon start in the /etc/rc.d/rc.local file, with no effect.
Any other suggestions.
classicsat
02-01-2006, 07:15 PM
This is in my system log (galleon not in rc.local)
Feb 1 00:02:45 localhost anacron: anacron startup succeeded
Feb 1 00:02:45 localhost atd: atd startup succeeded
Feb 1 00:02:45 localhost readahead: Starting background readahead:
Feb 1 00:02:45 localhost rc: Starting readahead: succeeded
Feb 1 00:02:45 localhost messagebus: messagebus startup succeeded
Feb 1 00:02:45 localhost cups-config-daemon: cups-config-daemon startup succeeded
Feb 1 00:02:45 localhost galleon: Starting Galleon TiVo HME server:
Feb 1 00:02:46 localhost galleon: libgcj-java-placeholder.sh
Feb 1 00:02:46 localhost rc: Starting galleon: succeeded
Feb 1 00:02:46 localhost haldaemon: haldaemon startup succeeded
I think it might not be finding the JRE for some reason.
I tried putting the path and java+home variable into the run.sh script, with no effect.
liam193
02-15-2007, 02:15 PM
You may not have to remove ipv6. I run ipv6 and Galleon works fine for me.
Can you give some more details regarding your install? Do you have jmdns installed on your system? What java version are you running, etc.? Keeping IPv6 shutdown is getting more and more difficult.
ocntscha
02-15-2007, 09:19 PM
About a year ago when I set up Galleon on my Linux box I stuck the line
/usr/local/galleon/bin/run.sh < /dev/null &> /var/log/galleon.log &
into /etc/rc.local
and modified /usr/local/galleon/bin/run.sh a little bit as shown below, key being to get java in $PATH and changing directory to wherever run.sh is (cd /usr/local/galleon/bin) so that the lines with the relative paths in them ("CLASSPATH=../conf" and "for j in ../lib/*.jar") will work.
Thats all it took as I recall, its served me well for the past year.
#!/bin/bash
#
# Run the Galleon server
#
# You may have to set JAVA_HOME to the correct value for your system
export PATH=/usr/java/jre1.5.0_06/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/
local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin
export JAVA_HOME=/usr/java/jre1.5.0_06
OLDCLASSPATH=$CLASSPATH
cd /usr/local/galleon/bin
CLASSPATH=../conf
for j in ../lib/*.jar
do
CLASSPATH=$CLASSPATH:$j
done
OPTION=""
if [ -f "$JAVA_HOME/bin/server" ]; then
OPTION=-server
fi
#java $OPTION -cp $CLASSPATH -Xms64m -Xmx64m -Djava.awt.fonts="$JAVA_HOME/lib/fo
nts" -Dawt.toolkit=com.eteks.awt.PJAToolkit org.lnicholls.galleon.server.Server
ulimit -n 3072
java $OPTION -cp $CLASSPATH -Xms64m -Xmx128m -Djava.awt.fonts="$JAVA_HOME/lib/fo
nts" -Dawt.toolkit=com.eteks.awt.PJAToolkit org.lnicholls.galleon.server.Server
export CLASSPATH=$OLDCLASSPATH
seanatki
09-29-2007, 03:34 PM
Here is my problem.
If the server is running, I can't get gui.sh to show me anything other than the logo that pops up.
If the server is not running, gui.sh seems to work fine, but it obviously cannot not connect to the server.
I know the server is working properly since my TiVo can see it, so does anybody have an idea of what the problem might be?
windracer
09-29-2007, 07:19 PM
What version are you running? As of 2.5.0 (and now 2.5.1 was released today) there is a Linux makefile for installs. Maybe you should give the new version a shot to see if that helps (assuming you're not running it already).
seanatki
09-30-2007, 02:19 PM
I'm downloading it now. Hopefully this will not only work, but be a little easier to get running. Thanks!
seanatki
10-01-2007, 01:59 PM
I posted this over in the "Galleon Development Restarting" thread, but it's getting ignored. I guess it's more appropriate for this thread.
I'm having an issues with the wrapper in Ubuntu.
I see "Galleon 2.5.1 is starting," but after 2 minutes, it spits out alot of mess. The beginning of that mess is indicated in the log file as:
"Startup failed: Timed out waiting for signal from JVM."
The wrapper then tries again with a different JVM. This continues unless I stop it.
Any ideas on what would cause this error?
Edit: Hear is a txt file of the jvm dump after the hang
windracer
10-01-2007, 03:29 PM
No idea, sorry! What version of java are you using? Is there anything else in the wrapper or Galleon log files?
seanatki
10-01-2007, 05:20 PM
On a whim, I made the timeout value 500 seconds instead of the default 120 seconds in wrapper.conf. This reports back that the Galleon is ready. I guess it needed more time!
Now I have the same problem I had before, in that the server is running, but now the GUI won't run. Is it possible to run the GUI on a computer other than the server?
s2kdave
10-01-2007, 05:34 PM
I don't think it will run across machines. I've tried it a couple times. It's really annoying. I'm sure it can be changed so it will run across machines, but it will take some debugging and code changes. I wish it was just a web page rather than a java GUI that used RMI.
I have a headless linux install so what I did was run galleon on another machine to generate the configure.xml file, then copy that file over to my linux machine.
s2kdave
10-01-2007, 05:40 PM
One thing to check is your firewall for denies. The GUI uses RMI to connect to the server so it might be blocking that port. The default for RMI is 1099, not sure if Galleon changed the port number or not. Also don't attempt to start the GUI until after you see the Galleon started message in the log or it hangs.
juanian
10-13-2007, 06:52 PM
I haven't used the latest version of Galleon, but with earlier versions, I was able to run the GUI on a different machine than the one the server was running on. I had the server running on a Windows 98 machine, and ran the GUI on a Mac running OS X.
I had to make a change to the gui.sh file; I added $1 to the end of the java line, then ran the GUI as follows:
cd <Galleon bin directory>; ./gui.sh <ip address of server>
The only problem I had was if I modified the preferences; if I did, it changed the format of the 'skin' value from PC format to Unix format.
I don't think this ability would have been disabled, but I must admit I haven't used it in a while.
ocntscha
10-13-2007, 09:05 PM
You can run practically any graphical program on a "headless" Linux box and have the graphics displayed on and receive input from (mouse and keyboard) another computer. Its easy. I Googled X11 display export for you guys, the second link looks pretty good, lf222, UNIXBasics: Running applications remotely with X11 (http://www.linuxfocus.org/English/January2002/article222.shtml) Also, check out ssh -Y or ssh -X.
windracer
10-13-2007, 09:57 PM
My Linux box running Galleon is headless as well. I use VNC over SSH through PuTTY to get to the Galleon GUI.
http://www.cl.cam.ac.uk/research/dtg/attarchive/vnc/sshvnc.html
http://martybugs.net/smoothwall/puttyvnc.cgi
windracer
10-16-2007, 11:01 AM
I've got Galleon running on Ubuntu (http://www.tivocommunity.com/tivo-vb/showthread.php?p=5601926&&#post5601926) now.
txGeekGod
10-16-2007, 11:13 AM
On a whim, I made the timeout value 500 seconds instead of the default 120 seconds in wrapper.conf. This reports back that the Galleon is ready. I guess it needed more time!
Now I have the same problem I had before, in that the server is running, but now the GUI won't run. Is it possible to run the GUI on a computer other than the server?
Have you tried issuing "xhost +" from a command line on the box?
If that works, don't forget to "xhost -" when you're done.
Bill
TiVoter123
10-24-2007, 12:14 PM
17:37:04,239 ERROR [main] TiVoListener - java.io.IOException: Operation not permitted
17:37:04,239 DEBUG [main] TiVoListener - java.io.IOException: Operation not permitted
at java.net.PlainDatagramSocketImpl.send(Native Method)
at java.net.DatagramSocket.send(Unknown Source)
at javax.jmdns.JmDNS.send(Unknown Source)
at javax.jmdns.JmDNS.init(Unknown Source)
at javax.jmdns.JmDNS.<init>(Unknown Source)
at org.lnicholls.galleon.server.TiVoListener.<init>(TiVoListener.java:57)
at org.lnicholls.galleon.server.Server.start(Server.java:266)
at org.lnicholls.galleon.server.Server.getServer(Server.java:61 1)
at org.lnicholls.galleon.server.Server.main(Server.java:1169)
17:37:04,252 ERROR [main] AppFactory - java.io.IOException: Operation not permitted
17:37:04,253 DEBUG [main] AppFactory - java.io.IOException: Operation not permitted
at java.net.PlainDatagramSocketImpl.send(Native Method)
at java.net.DatagramSocket.send(Unknown Source)
at javax.jmdns.JmDNS.send(Unknown Source)
at javax.jmdns.JmDNS.init(Unknown Source)
at javax.jmdns.JmDNS.<init>(Unknown Source)
at org.lnicholls.galleon.app.AppHost.listen(AppHost.java:201)
at org.lnicholls.galleon.app.AppManager.loadApps(AppManager.jav a:80)
at org.lnicholls.galleon.server.Server.start(Server.java:268)
at org.lnicholls.galleon.server.Server.getServer(Server.java:61 1)
at org.lnicholls.galleon.server.Server.main(Server.java:1169)
Malibyte,
Did you ever find a fix for this? I am having the same problem trying to install on Ubuntu.
s2kdave
10-24-2007, 12:30 PM
My first guess is that your multicast broadcast address isn't set up on your linux. The stack trace shows it's trying to send the UDP packets out to broadcast to all your tivos on your LAN about the new applications. I would double check to see if that interface has multicast running doing an "ifconfig". You should see something like this:
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
and it should have a broadcast IP for "Bcast:"
s2kdave
10-24-2007, 12:31 PM
You could also try manually connecting your tivo to your IP. It doesn't need UDP in that case to see if it works.
TiVoter123
10-24-2007, 03:38 PM
root@userver:/usr/share/galleon/logs# ifconfig
eth1 Link encap:Ethernet HWaddr 00:14:2A:02:17:93
inet addr:192.168.1.204 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:114968237 errors:0 dropped:0 overruns:0 frame:0
TX packets:113391983 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3862276664 (3.5 GiB) TX bytes:1334907307 (1.2 GiB)
Interrupt:18 Base address:0xe400
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:3911 errors:0 dropped:0 overruns:0 frame:0
TX packets:3911 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1356864 (1.2 MiB) TX bytes:1356864 (1.2 MiB)
Looks like broadcast is running. Also, manually adding server at 192.168.1.204 on the tivo doesn't seem to work -- trying to connect to it tivo tells me that it can't find a server at that address.
s2kdave
10-24-2007, 03:50 PM
actually, looking at the stack again, the exception is most likely preventing the app from opening the socket so a manual connection won't work unless you can get rid of that stack trace either by disabling the multicast jmdns or fixing the udp problem. I suppose it's also possible that the jmdns is trying to bind to the loopback address to do the broadcast which doesn't have multicast (and shouldn't)
Are you running SELinux? if so, check the secure log for any denies when creating the udp packet.
TiVoter123
10-24-2007, 07:45 PM
Are you running SELinux? if so, check the secure log for any denies when creating the udp packet.
I'm not running SELinux -- I'm running Ubuntu (Feisty Fawn).
a manual connection won't work unless you can get rid of that stack trace either by disabling the multicast jmdns or fixing the udp problem.
I am not sure how to do this? I did a quick google and didn't see anything...
I suppose it's also possible that the jmdns is trying to bind to the loopback address to do the broadcast which doesn't have multicast (and shouldn't)
There could be something going on here. If i disable the loopback connection (ifdown lo), when I start the galleon server, it doesn't generate any logs except for wrapper.log, which contains only:
STATUS | wrapper | 2007/10/24 16:43:17 | --> Wrapper Started as Daemon
STATUS | wrapper | 2007/10/24 16:43:17 | Launching a JVM...
INFO | jvm 1 | 2007/10/24 16:43:17 | Wrapper (Version 3.2.3) http://wrapper
.tanukisoftware.org
INFO | jvm 1 | 2007/10/24 16:43:17 | Copyright 1999-2006 Tanuki Software,
Inc. All Rights Reserved.
INFO | jvm 1 | 2007/10/24 16:43:17 |
Trying to start up the gui in this scenario results in just the splash image coming up, but nothing else, not even a box trying to connect to the server and failing.
Malibyte
10-27-2007, 04:16 PM
Malibyte,
Did you ever find a fix for this? I am having the same problem trying to install on Ubuntu.
Yes. I had been trying to run it on a box that was also acting as a firewall for my network. Since I moved it to another machine on my internal network (my media server) - it's been working fine.
HTH
Bob
lrhorer
10-28-2007, 02:31 AM
I'm running Galleon 2.4.0 Alpha under Debian Sarge, and I just tried to upgrade to 2.5.1. The old version of Galleon resides in /Galleon. I put the install package into /Galleon_2.5, and copied the /Galleon/conf directory to /etc/galleon. When I su to root and run "make upgrade" I get the following output:
LinuxServer:/Galleon_2.5# make upgrade
cp -f /etc/galleon/configure.xml /tmp/configure.xml.save
chkconfig --del galleon
make: chkconfig: Command not found
make: *** [uninstall] Error 127
If I try running "make install", I get some directories created, some files copied, some chmod commands, some links created and then the output"
chkconfig --add galleon
make: chkconfig: Command not found
make: *** [install] Error 127
OK, so now what? I'm not familiar with the chkconfig command.
chkconfig is a command used in some distros (RedHat/Fedora/others) to activate and deactivate startup scripts by linking them from /etc/init.d into the appropriate rc directory.
This thread contains a fix to replace chkconfig with update-rc.d. http://www.tivocommunity.com/tivo-vb/showthread.php?t=369945
TiVoter123
10-28-2007, 04:09 AM
Yes. I had been trying to run it on a box that was also acting as a firewall for my network. Since I moved it to another machine on my internal network (my media server) - it's been working fine.
Heh... look at that... disabled my firewall (forgot that it was even running) and all of a sudden everything works :)
Thanks for the trigger-reminder!
Malibyte
10-28-2007, 03:05 PM
Heh... look at that... disabled my firewall (forgot that it was even running) and all of a sudden everything works :)
Thanks for the trigger-reminder!
No problem...glad to be of help. :)
lrhorer
10-28-2007, 08:25 PM
This thread contains a fix to replace chkconfig with update-rc.d. http://www.tivocommunity.com/tivo-vb/showthread.php?t=369945
OK, I used the command recommended there and it worked. Well, sort of. The links aren't really working properly, but they are there, and I can work with them to make them right.
I'm still having problems though. In the other thread, they mentioned having to edit out the line /etc/rc.d/init.d/functions in the galleon script. There is no such directory, so I commented out the line, but I wonder what it does or rather is supposed to do?
Anyway, if I run galleon, I get the following:
Try `uname --help' for more information
Unable to locate any of the following binaries:
/usr/share/galleon/bin/./wrapper-linux--32
/usr/share/galleon/bin/./wrapper-linux--64
/usr/share/galleon/bin/./wrapper
There is a file named wrapper-linux-x86-32 in the directory. If I change its name to wrapper or wrapper-linux--32 it stops complaining about the binaries, but still complains about uname. Grepping for uname in the galleon script brings up:
DIST_OS=`uname -s | tr [:upper:] [:lower:] | tr -d [:blank:]`
DIST_ARCH=`uname -p | tr [:upper:] [:lower:] | tr -d [:blank:]`
DIST_ARCH=`uname -m | tr [:upper:] [:lower:] | tr -d [:blank:]`
Typing "ps -ef | grep galleon" returns a ton of running code, but "galleon stop" claims galleon is not running, and attempts to run gui.sh return a "Could not connect to server" error. Now what?
EDIT:
After nosing around, and checking the uname command on my system, it appears there is no -p for the uname utility under Debian Sarge. There doesn't seem to be a compatible switch for uname at all, so I edited the galleon script and set DIST_ARCH to "i686". It stopped the script from complaining, ofc ourse, but the server still does not appear to be running correctly. The only log file in /var/log/galleon is wrapper.log, and it says repeatedly:
Launching a JVM...
Unable to start JVM: No such file or directory (2)
JVM exited while loading the application.
After 5 failed launches the wrapper exits.
windracer
10-28-2007, 08:46 PM
Anyway, if I run galleon, I get the following:
Try `uname --help' for more information
What distro are you using? The galleon script uses the 'uname' command to figure out the architecture of your machine, although as you've seen only one binary for the wrapper is included. It looks like the version of uname your distro has doesn't support all the command-line switches being used in the script.
In some distros, the /etc/rc.d/init.d/functions script just includes some basic functions, but Ubuntu (which was specifically the distro I wrote that HOWTO for) doesn't have that, and it's not really necessary to the galleon init script.
Check the log.txt file under /usr/share/galleon/logs. There might be some helpful information there.
lrhorer
10-28-2007, 11:04 PM
What distro are you using?
Debian Sarge, as I mentioned before.
The galleon script uses the 'uname' command to figure out the architecture of your machine, although as you've seen only one binary for the wrapper is included. It looks like the version of uname your distro has doesn't support all the command-line switches being used in the script.
That's pretty obvious. After looking at the script I hard coded the variable to x86. 'No change.
In some distros, the /etc/rc.d/init.d/functions script just includes some basic functions, but Ubuntu (which was specifically the distro I wrote that HOWTO for) doesn't have that, and it's not really necessary to the galleon init script.
Clearly neither does Debian Sarge, and if it isn't necessary that's fine, but something is preventing Java from finding a file.
Check the log.txt file under /usr/share/galleon/logs. There might be some helpful information there.[/QUOTE]
'Not really. As I posted above, the log file just compains the JVM can't find a file. I went into wrapper.conf and changed the log level to DEBUG, but while the amount of text logged jumped drastically, the info about the errored section isn't any mopre specific. It just says:
STATUS | wrapper | 2007/10/28 21:30:40 | Launching a JVM...
ERROR | wrapper | 2007/10/28 21:30:40 | Unable to start JVM: No such file or directory (2)
DEBUG | wrapper | 2007/10/28 21:30:40 | Signal trapped. Details:
DEBUG | wrapper | 2007/10/28 21:30:40 | signal number=17 (SIGCHLD), source="unknown"
DEBUG | wrapper | 2007/10/28 21:30:40 | Received SIGCHLD, checking JVM process status.
DEBUG | wrapper | 2007/10/28 21:30:40 | JVM process exited with a code of 1, setting the wrapper exit code to 1.
ERROR | wrapper | 2007/10/28 21:30:40 | JVM exited while loading the application.
DEBUG | wrapper | 2007/10/28 21:30:40 | JVM was only running for 0 seconds leading to a failed restart count of 1.
DEBUG | wrapper | 2007/10/28 21:30:40 | Waiting 5 seconds before launching another JVM.
How can I figure out which file Java can't find and how do I tell it where to find it?
lrhorer
10-28-2007, 11:44 PM
OK, one more step forward. I found the problem with JVM. The server has to be run as root, but root's path did not have the JRE in it. I added the path to Java to root's path and the error went away.
Now, however, I think I'm having a problem similar to what windracer detailed in the other thread. In my case, however, the system started spooling off log files called log.txt, log.txt.1, log.txt.2, etc. Each one is filled with identical lines which say:
ERROR [ListenThread] ListenThread - java.lang.NullPointerException
If I run the test utility in the GUI, it says something to the effect "No TiVos found on the specified network"
There are four lines in wrapper.log which might be pointing to the issue:
INFO | jvm 1 | 2007/10/28 22:09:08 | Loading native library failed: libwrapper-linux-x86-32.so Cause: java.lang.UnsatisfiedLinkError: no wrapper-linux-x86-32 in java.library.path
INFO | jvm 1 | 2007/10/28 22:09:22 | create table PODCAST_TRACKS (PODCAST_ID integer not null, AUDIO_ID integer, title varchar(255), link varchar(1024), guid varchar(255), description varchar(4096), summary varchar(4096), subtitle varchar(4096), category varchar(255), keywords varchar(255), explicit smallint, block smallint, author varchar(255), publicationDate timestamp, url varchar(255), mimeType varchar(50) not null, size bigint not null, statusinteger not null, duration bigint, rating integer, downloadTime integer not null, downloadSize bigint not null, podcast integer, errors integer, TRACK integer not null, primary key (PODCAST_ID, TRACK))
INFO | jvm 1 | 2007/10/28 22:09:22 | create table VIDEOCAST_TRACKS (VIDEOCAST_ID integer not null, VIDEO_ID integer, title varchar(255), link varchar(1024), guid varchar(255), description varchar(4096), summary varchar(4096), subtitle varchar(4096), category varchar(255), keywords varchar(255), explicit smallint, block smallint, author varchar(255), publicationDate timestamp, url varchar(255), mimeType varchar(50) not null, size bigint not null, status integer not null, duration bigint, rating integer, downloadTime integer not null, downloadSize bigint not null, videocast integer, errors integer, TRACK integer not null, primary key (VIDEOCAST_ID, TRACK))
INFO | jvm 2 | 2007/10/28 22:14:51 | Loading native library failed: libwrapper-linux-x86-32.so Cause: java.lang.UnsatisfiedLinkError: no wrapper-linux-x86-32 in java.library.path
Notice there are two lines which suggest JVM can't find a native library libwrapper-linux-x86-32.so. This smells vaguely like it could be related to the variable DIST_ARCH which I had to hard code in order to get the galleon script to quit complaining. This ultimately points the script to the file wrapper-linux-x86-32. Should I copy this file over somewhere, or is there a line in wrapper.conf to tell Java where to find the library?
windracer
10-29-2007, 08:39 AM
This ultimately points the script to the file wrapper-linux-x86-32. Should I copy this file over somewhere, or is there a line in wrapper.conf to tell Java where to find the library?
The file is actually called libwrapper.so and is under /usr/share/galleon/lib. I'm not sure why yours is now looking for the file with the DIST_ARCH value in the filename there. The line in wrapper.conf that tells it where to find this library is:
# Java Library Path (location of Wrapper.DLL or libwrapper.so)
wrapper.java.library.path.1=/usr/share/galleon/lib
lrhorer
10-29-2007, 11:16 AM
The file is actually called libwrapper.so and is under /usr/share/galleon/lib. I'm not sure why yours is now looking for the file with the DIST_ARCH value in the filename there. The line in wrapper.conf that tells it where to find this library is:
# Java Library Path (location of Wrapper.DLL or libwrapper.so)
wrapper.java.library.path.1=/usr/share/galleon/lib
The file in ../lib is libwrapper.so, but the file in .../bin is wrapper-linux-x86-32. It's this file about which the error above complains.
I copied wrapper-linux-x86-32 to the directory pointed to by wrapper.java.library.path.1, and it's working, now. I suspect adding the /usr/share/galleon/lib directory to the PATH variable might work, as well.
lrhorer
11-03-2007, 07:09 PM
Well, I have 2.5 / Linux running, but I cannot seem to transfer back to the TiVos any program which was originally transferred using 2.4. I can start the transfer and begin watching the program, but at some undetermined point in the transfer the TiVo will fail the process. In the To Do History log, it says the recording was not transferred because it was corrupted or longer than reported. I don't know if it is somehow related, but the files also do not show up as having been transfered to the PC in the first place in the Galleon log. Is anyone else having this problem? Is there something special about files transferred under 2.4? I can transfer programs I have authored myself under either version. Right now, however, I have a very large number of programs which are essentially stranded on my file server because they will not transfer successfully.
Edit:
I was mistaken. It's not just a 2.4 / 2.5 issue. I created a dual version system which can (fairly) easily switch between 2.4 and 2.5. Both are having trouble with various transfers. After some additional testing, I was able to establish that the transfers will often fail no matter which version downloaded them or which version attempted to transfer them back. There are a handful of programs which would not transfer from one particular TiVo to the PC, but when I did an MRV transfer to the other TiVo and then transferred to the PC, it went fine. The programs which are failing to go back to the TiVos are failing long before the end of the program, so I don't think it's a matter of the files being longer than reported. I managed to catch one of the failures when it happend, and the TiVo screen reported there had been a network error, and the transfer would resume momentarily. It never did.
TiVo Desktop doesn't seem to have the same problem. I've transferred several of the same flles which are failing under Galleon without a problem.
lrhorer
11-13-2007, 04:18 AM
It looks like the issue may be large files. Others are also reporting failures with large files. The failure point me be 2.0G.
lrhorer
12-23-2007, 06:03 AM
The file is actually called libwrapper.so and is under /usr/share/galleon/lib.
Well, I had Galleon 2.5.2 working just fine, but now I've managed to break it, and I hope someone can help. I'm moving from a relatively small (500G) system to a 5T+ RAID system. I've upgraded from Debian Sarge to Etch and ironed out most of the wrinkles, but I've managed to kill the Galleon apps I love so much , like Weather, TTG from the TiVo, and Music. TTG from the desktop and TiVo to ComeBack work fine. The good news is I think I've found the problem. The bad news is I don't know how to fix it.
According to wrapper.log, it can't load libwrapper.so because it's 32 bit, but I have an AMD-64 x 2 CPU and I'm running the 64 bit version of Java. How can I either get it to load the 32 bit version or get a copy fo a 64 bit version?
Windracer, do you have any ideas? s2kdave, are you still listening?
s2kdave
12-23-2007, 01:14 PM
s2kdave, are you still listening?
Haha, yeah, I'm still listening, just not spending time doing development. Your problem is that there aren't 64 bit binaries for the wrappers that get installed with galleon. You can download the linux version of the java service wrapper and get the 64 bit binary from it and copy it in place.
http://wrapper.tanukisoftware.org
lrhorer
12-24-2007, 12:00 AM
Thanks. I downloaded the files from the link you sent, but it's still not working. I copied over libwrapper.so, and now there aren't complaints in the log file any longer, but still no apps (oh, and I was mistaken. TiVo to ComeBack isn't working for .TiVo files. It is working for .mpg files). I tried replacing wrapper-linux-x86-32 with the wrapper file in ./bin of the download and renaming it to wrapper-linux-x86-64. The script finds it, and still no complaints, but no apps, either. There is also a wrapper.jar in /lib of the download, so I tried copying it over to /usr/lib/galleon/wrapper-3.2.3.jar, but still no luck. The only other two files which seem to me like possible candidates are ./bin/testwrapper and ./lib/wrappertest.jar. The ./lib/wrappertest.jar is referenced in the sample wrapper.conf file in the download but not specifically in /etc/wrapper.conf.
What else should I try?
Edit: Well I got it working. The details of the ordeal are here. (http://www.tivocommunity.com/tivo-vb/showthread.php?p=5828619#post5828619)
lrhorer
02-04-2008, 05:58 AM
What's with sourceforge.net? When I try to login to the Galleon site to submit an error report it kicks me out saying my IP is blacklisted. It gives me an e-mail address to contact to help resolve the issue, but when I send e-mail it gets kicked.
s2kdave,
Can you get this through to the guy(s) doing the repair work on Galleon?
I really love Galleon's features compared to everything else out there, but there's a serious issue with the Go Back routine. HD programs which get sent back to the S3 TiVo have corrupted video and audio. Every so often the audio will skip usually accompanied by artifacts in the video. It's much worse on some sources than others. I've seen some reports of the same issue running TiVo Desktop, but have not confirmed it myself. Some shows are bad enough to be essentially unwatchable, and it's aggravating even on the programs with the fewest / mildest issues. Here's the thing, however: the very same programs show no artifacts at all when transferred using pyTiVo. Now pyTiVo doesn't handle naming as elegantly as Galleon, but given a choice between a slightly ugly and slightly deficient NPL and corrupted video, I have to go with the clean video and ugly menus, but all in all I'd rather just have Galleon working 100%.
windracer
02-04-2008, 08:26 AM
I was able to get in, so I took the liberty of filing the bug for you. ;)
https://sourceforge.net/tracker/index.php?func=detail&aid=1886303&group_id=126291&atid=705256
lrhorer
02-08-2008, 12:02 AM
I was able to get in, so I took the liberty of filing the bug for you. ;)
Thanks, windracer. You have been exceedingly helpful, and I don't just mean in this instance.
wmcbrine
02-08-2008, 12:46 AM
Now pyTiVo doesn't handle naming as elegantly as Galleon,Could you elaborate?
jtkohl
09-05-2008, 08:00 AM
sorry for not paying attention, real life intervenes.
Any java hackers that want to debug & fix things, send me a PM with your sourceforge account name, sign up for the galleon mailing lists, and I'll coordinate your bug fixing efforts :wink:
lrhorer
09-05-2008, 08:01 PM
Could you elaborate?
Sorry for the very late reply. I just spotted this. If you are still interested, I was talking about series name handling. Galleon automatically handles series names. With pyTivo one must create metafiles.
vBulletin® v3.6.8, Copyright ©2000-2012, Jelsoft Enterprises Ltd.