# Tivo Desktop for Mac not functioning



## gilbreen (Sep 5, 2007)

Hi,

I have recently returned to Tivo after being away for several years. Have been using ReplayTVs and been happy with them but the Tivo HD has brought me back.

I have installed the most recent version of Tivo Desktop for Mac on my main machine. I have opened the System Preference and enabled it. I don't run the Mac OS X firewall so no need to open any ports. However, the Mac never shows up as visible to the Tivos. I have 3 THDs and none of them see it.

I have turned the System Preference off, deleted the associated plist files, and restarted the System Preference. I have also tried rebooting all the THDs along with my Mac. But the Mac never shows up. I had read that having a computer name with illegal characters may cause this but the computer name is 'iMac 2.4GHz'. I wouldn't think that is a bad name but could be wrong.

Any other thoughts or suggestions?

edit: I am running 10.5 but I was seeing this same behavior with 10.4.


----------



## Dennis Wilkinson (Sep 24, 2001)

What are you using for a router? There are several models (including new-ish Linksys models) that block Bonjour service advertisement traffic (they may refer to multicast, Bonjour and/or UPnP in the setting name.) If that traffic is blocked, the TiVos and Macs won't be able to see each other.

For example, the Linksys WRT54G has a "filter multicast" setting, checked by default, that will block Bonjour and prevent this from working properly.


----------



## pkscout (Jan 11, 2003)

You do have to enable sharing of some music or photos for anything to show up, even if the system preference is enabled. I hate to start with something that simple, but...  After you do that is should show up near the bottom of the Music, Photos, and More option (I think that's what it's called).


----------



## gilbreen (Sep 5, 2007)

I am using an Apple Extreme Base Station (G version, not the new N version) so hopefully that wouldn't block Bonjour.

pkscout,

Yep, there are some choices as to what photos or what music one wants to share and I have made selections in both tabs.

For kicks and giggles, I also enabled the Video tab but the Mac isn't being shared either in the NPL.


----------



## Dennis Wilkinson (Sep 24, 2001)

No, the Airport Extreme base station shouldn't block Bonjour. It certainly sounds like Bonjour traffic isn't getting where it needs to, though. 

Can you see the TiVo from the Mac? Easiest way to tell is to check "Include Bonjour" in Safari's Bookmarks preferences (in whichever place makes the most sense) and seeing if you have an entry for your TiVo. You can also download Bonjour Browser and look for TiVo entries.

Some information on how everything's connected might help shed some light on the issue.


----------



## gilbreen (Sep 5, 2007)

Yes, I can see the Tivos from my Mac. I can load the NPL without a problem.

The basic configuration of our network is:

Cable Modem -> Hawking Broadband Booster -> Airport Router -> 16 port Gigabit Switch

From there, all the Tivos are connected to the switch. The Mac is connected to a 5 port Gigabit switch that is connected back to the main switch.

A couple of other things I have tried since my first posting without any changes:

- I had the Ethernet setting set to 1000BT but changed it Automatic
- Renamed my computer to just iMac
- Manually added my Mac's IP address to the Tivo Server list

Any other things I can check?


----------



## gilbreen (Sep 5, 2007)

Another thing I would add is that I have pyTivo installed and running on a Windows machine and the folders identified in the config file show up on all the Tivos without issue and I am able to view videos from the XP box.


----------



## Dennis Wilkinson (Sep 24, 2001)

Not sure. Everything sounds normal, aside from you not seeing the Mac. 

My next step would be to turn on logging and see if any errors get reported. Open System Preferences, then option-click on the TiVo Desktop icon. Stop the desktop, then check the "enable debugging" checkbox that should be at the bottom and set the level to 20. Restart the desktop, wait a bit (it takes some time to parse through your music and photos), then look at the log file (I'd use Utilities > Console and browse to the log shown in the TiVo preference pane.) I'd look for errors in the log.

I've heard of cases where corrupt files can cause the server to bail; those kinds of errors would show in the log.


----------



## gilbreen (Sep 5, 2007)

Here is the log. The bottom two message is actually repeated dozens of times.

Not sure if this provides any additional clues.


```
21:47:02.934  Starting TiVoDesktop version 1.9.3 (008)
21:47:02.943  PluginLoader.load: loading 4 plugins from /Library/Application Support/TiVo/Plugins
21:47:02.949  com.tivo.filephoto.FilePhotoFactory: adding observer
21:47:02.950  PluginLoader.loadFile: loaded plugin with name FilePhoto
21:47:02.952  com.tivo.filevideo.FileVideoFactory: adding observer
21:47:02.952  PluginLoader.loadFile: loaded plugin with name FileVideo
21:47:02.956  com.tivo.iPhoto.iPhotoFactory: adding observer
21:47:02.957  PluginLoader.loadFile: loaded plugin with name iPhoto
21:47:02.958  com.tivo.iTunes.iTunesFactory: adding observer
21:47:02.959  PluginLoader.loadFile: loaded plugin with name iTunes
21:47:02.959  FilePhotoFactory: about to create new root for user gilbreen
21:47:02.964  FilePhotoFactory: exception creating new root
java.lang.Exception: User gilbreen does not have preferences for plugin FilePhoto
	at com.tivo.plugin.AbstractPluginRoot.readPrefsAndUpdate(AbstractPluginRoot.java:84)
	at com.tivo.plugin.AbstractPluginRoot.<init>(AbstractPluginRoot.java:52)
	at com.tivo.filephoto.FilePhotoRoot.<init>(FilePhotoRoot.java:34)
	at com.tivo.filephoto.FilePhotoFactory.makePluginForUser(FilePhotoFactory.java:27)
	at com.tivo.plugin.AbstractPluginFactory.addPluginForUser(AbstractPluginFactory.java:72)
	at com.tivo.plugin.AbstractPluginFactory.usersChanged(AbstractPluginFactory.java:103)
	at com.tivo.calypso.Root.build(Root.java:104)
	at com.tivo.calypso.Root.<init>(Root.java:63)
	at com.tivo.calypso.Root.getRoot(Root.java:32)
	at com.tivo.server.TiVoDesktop.main(TiVoDesktop.java:67)
21:47:02.969  FileVideoFactory: about to create new root for user gilbreen
21:47:02.974  Root.getAnnouncerForNode(tn) -> com.tivo.filevideo.FileVideoRoot
21:47:02.974  minorType = tivo-videos
21:47:02.976  TiVoDesktop: successful announcement of: name=iMac 2.4GHz, type=_tivo-videos._tcp, port=8101, path=/TiVoConnect?Command=QueryContainer&Container=%2fgilbreen_FileVideo, protocol=http
21:47:02.978  iPhotoFactory: about to create new root for user gilbreen
21:47:02.981  Root.getAnnouncerForNode(tn) -> com.tivo.iPhoto.iPhotoRoot
21:47:02.981  minorType = tivo-photos
21:47:02.981  TiVoDesktop: successful announcement of: name=Photos on iMac 2.4GHz, type=_tivo-photos._tcp, port=8101, path=/TiVoConnect?Command=QueryContainer&Container=%2fgilbreen_iPhoto, protocol=http
21:47:03.331  iPhotoRoot.loadFromFile: Reading album data for version 7.1 (347)
21:47:07.047  iTunesFactory: about to create new root for user gilbreen
21:47:07.051  Root.getAnnouncerForNode(tn) -> com.tivo.iTunes.iTunesRoot
21:47:07.051  minorType = tivo-music
21:47:07.052  TiVoDesktop: successful announcement of: name=Music on iMac 2.4GHz, type=_tivo-music._tcp, port=8101, path=/TiVoConnect?Command=QueryContainer&Container=%2fgilbreen_iTunes, protocol=http
21:47:07.403  iTunesRoot: Reading album data for version 7.4.2
21:47:07.477  SoundConverter: disabling real-time conversion to MP3
21:47:07.477  iTunesContext: Rejected song because Song: format AAC audio file not mp3 or convertible to mp3
21:47:07.477  iTunesContext: Rejected song because Song: format AAC audio file not mp3 or convertible to mp3
21:47:07.478  iTunesContext: Rejected song because Song: format AAC audio file not mp3 or convertible to mp3
```


----------



## Dennis Wilkinson (Sep 24, 2001)

Log looks pretty standard. The FilePhotoFactory exception is normal (it's for a plug-in that the UI doesn't configure that supports sharing arbitrary folders of photos.) Looks like it's setting things up appropriately for iPhoto and iTunes (the error that's repeating will occur once for each file in your iTunes library that is not MP3 format, since it looks like you don't have LAME installed, which not-so-secretly enables other unDRMed formats to play.)

On the Mac, if you go to this URL:

http://127.0.0.1:8101/TiVoConnect?Command=QueryContainer&Container=/gilbreen_iPhoto

Do you get XML back describing your photos? (Safari 2 wasn't very good at displaying this, but Firefox did OK.)

This still sounds like someone not seeing Bonjour traffic. Do you have another Mac on the network to run Bonjour Browser on?


----------



## gilbreen (Sep 5, 2007)

Dennis

I appreciate your suggestions. When I loaded the link above in Firefox, it loaded the XML file listing all the photo albums we have in iPhoto.

I then downloaded Bonjour Browser and when I launched it, it shows under local, it shows, tivo-music with my Music named share, tivo-photos with the Photos named share and two tivo-videos - one lists our three Tivos and the Mac and then the other tivo-video only lists the Tivos.

So it seems to be broadcasting as it should.

You mentioned not having LAME not installed. How/what does one download LAME for installation? Just curious.

Thanks again for the help.


----------



## Dennis Wilkinson (Sep 24, 2001)

Bonjour Browser on the same machine may or may not be useful; if you had the ability to run it on another machine then we could see if other machines see what the Mac is broadcasting. 

LAME isn't really an issue. If you have it installed in one of two "right" places, TiVo Desktop has the ability to transcode other audio formats to MP3 so the TiVo can play them, via a completely unsupported/undocumented feature. I only mentioned it to explain why you get the "Rejected song" warnings in your log.

So, we know:

- your network hardware doesn't appear to be impeding the Bonjour traffic, and your machines all appear to be on the same subnet (we know this because you can see the TiVos from the Mac)

- the Mac is attempting to broadcast the existence of Photos and Music, and actually will serve them up if asked 

I think that gets us to two more questions:

- can other machines on the network see the Bonjour services advertised on the Mac?

- can the TiVo see Bonjour traffic? (pyTiVo uses the Tivo Beacon service, as far as I'm aware, and not Bonjour. If I'm wrong about that, someone please feel free to point that out.)

To answer the first one, you'd need to check from a different machine. There's a Bonjour for Windows installer at Apple, which I think includes an implementation of the mDNS command line tool, but if you already have iTunes installed, and iTunes library sharing works between the PC and the Mac, Bonjour works, too.

The second one is a little trickier to answer, but I think that trying to use an HME application on the Windows box might help answer it. If you have Windows TiVo Desktop, turn on Photos 2.0 sharing on the Windows box. That also advertises over Bonjour, so if those show up on the TiVo, that's working.

You did mention that the firewall was disabled on the Mac, right?

I haven't upgraded to 10.5 at home just yet (and probably won't until I buy new hardware next month), but I've played with it and I'm unaware of any issues that would impact this.


----------



## gilbreen (Sep 5, 2007)

Hi Dennis,

Sorry, I wasn't more clear. My main machine is an Intel iMac but we do have a G3 iBook. I actually ran Bonjour Browser on the iBook and was able to see the Tivos and my iMac brodcasting the photos and music as mentioned above.

I do have one PC at home and this evening will install the Bonjour for Windows to see if the PC is able to see the iMac broadcasting the tivo photos and music.

So, I am at the same place as you in I think the problem is that the Tivos aren't seeing the Bonjour traffic for some reason.

I will try your suggestion and install Tivo Desktop for PC on our PC (will have to actually put some photos on it also) and see what happens.

Will report back later tonight.


----------



## Dennis Wilkinson (Sep 24, 2001)

Hm. Sounds like the only thing not seeing the Bonjour traffic is the TiVo itself. 

When you check the PC, be sure you check for the Photos 2.0 HME application (it'll show up as 'HD Photos on Foo' with a PC icon next to it -- any other entry is for the older version of Photos and isn't normally found via Bonjour.) 

Since it's mostly HME apps that use Bonjour (other than the Mac desktop, that is) I almost wonder if the Bonjour client on the TiVo doesn't run if you haven't enabled Home Network Applications. If you go to "Music, Photos, and More", and there's an entry for "Enable Home Network Applications", then they're currently disabled. Try enabling them, and see if that helps.


----------



## gilbreen (Sep 5, 2007)

Well, good news!

I installed Tivo Desktop on my PC. I copied a few photos and songs onto the PC, pointed Tivo Desktop to the folders, and what do you know, the PC showed up on the Tivos. Good progress but since I don't keep photos and music on the PC, still not ideal.

For kicks, I again started up Tivo Desktop on the Mac. Well, to my surprise, the Mac showed up also on the Tivos! I am now able to view photos and listen to music. The only thing that isn't working (but not a dealbreaker) is that the Tivo videos in my Tivo Shows folder are not showing up in the NPL.

I then shutdown Tivo Desktop on the PC and as I had hoped, the Tivos can still see the Mac despite shutting down the Tivo Desktop for PC.

I'll play around with the videos thing more but for now, I am happy with the progress.

Thanks Dennis for all of the suggestions and input!


----------



## Dennis Wilkinson (Sep 24, 2001)

Glad to hear it!

If you transferred the .tivo files from your TiVo HD, then I'm not surprised those don't show up -- the format of the .tivo files changed slightly with the 9.2 software, in a way that TiVo Desktop wasn't robust to. TiVo Desktop can no longer find the metadata for the file, so it doesn't even attempt to share them.

If you were to use tivodecode to convert them into regular MPEG files, though, they'd work (haven't tried this myself, but I have used other HD-rez MPEG files, so the reports from others of this working make perfect sense.)


----------



## gilbreen (Sep 5, 2007)

Yep, the .tivo files were transferred from TivoHD boxes with 9.2. The reason the videos piece isn't a dealbreaker is that the PC is our video server, and since pyTivo is up and running without issue, I am covered from the standpoint of having videos being served up.

Thanks again for your assistance!


----------



## tfreehugh (Jun 10, 2007)

Hi Dennis,

I upgraded to OS 10.5 a while back. Prior to that I was able to see Tivo files that I downloaded to the Mac's HD. I am not able to see those files now and I'm also not able to see the Photos that I could previously view thru the Tivo & TV. I am still able to download files from the Tivo to the Mac's HD. I have repaired Disk permissions just to make sure it wasn't that and still nothing. From the Now Playing list on the Tivo I see the icon and name for my Mac and when I select it no files are displayed. When I try to view Photos, the Tivo isn't successful and indicates that there is a problem accessing the server. Is there something in System Preferences that I need to enable that I previously didn't or that possibly got disabled in the upgrade? Please let me know your thoughts.

I'm using a Series2 dual tuner Tivo in case that helps.


----------



## Dennis Wilkinson (Sep 24, 2001)

Sounds like something's wrong with your TiVoDesktop installation, although I'm not sure what, given your description. Are you using the firewall in 10.5?


----------



## tfreehugh (Jun 10, 2007)

Dennis,

Yes I am using the Mac firewall. I also have a wireless network with a Belkin router and the Tivo adapter.


----------



## tfreehugh (Jun 10, 2007)

Hey Dennis,

I changed the firewall settings and I can now see Photos and the .tivo files on the Mac. I changed the firewall to allow "access for specific services and specific applications". I also enabled file sharing and included iTunes in the list of applications. Do you think I need to do that? 

Thanks for your assistance.


----------



## Dennis Wilkinson (Sep 24, 2001)

You shouldn't need to have iTunes or file sharing enabled for TiVo Desktop to work (although they may still be useful if you have other Macs on your network.)


----------



## herbman (Apr 8, 2008)

Hi,

I'm at work or I'd have better information, but here's what happens for me.

I can browse photos from the mac on my tivo HD, but not music. The music share shows up so the Rendezvous is working, but the music is unable to be pulled up. If I set the preferencepane to only share certain playlists, it shows no music (confirmed by the container URL). If I use the entire itunes library, the XML output is cut off after the <TivoContainer> element starter. When the latter happens I get a strange numeric error on the TiVo itself.

I can't seem to set debug mode currently since I'm at work and the VNC viewer I'm using to connect to the mac at home can't send the option key.

Thoughts?


----------



## bedelman (Feb 26, 2001)

Are the files in your iTunes library .MP3 files? TiVo Desktop only officially works with .MP3 files. There's a way (by installing LAME) to get it to also handle unprotected AAC files, but it will not handle protected music purchased from the iTunes Music Store.

- Bob


----------



## herbman (Apr 8, 2008)

My library is likely 95&#37; mp3, 4% unprotected AAC, and 1% M4P. I already setup LAME as I saw on this forum for displaying. I made it a point to pick playlists that I knew had only MP3 when trying the specific playlist route.

Some files of mine are local (in ~/Music/iTunes/iTunes Music/) and most are in an nfs share. My library locations are normal, however, and iTunes works fine and always has. I can understand the breaking with the whole library (as it is quite large, ~53000 tracks), but I don't understand why it shows no files (0 count on the XML output) when I pick only a small playlist.


----------



## Dennis Wilkinson (Sep 24, 2001)

herbman said:


> I can't seem to set debug mode currently since I'm at work and the VNC viewer I'm using to connect to the mac at home can't send the option key.


You can set those by editing the /Library/Preferences/com.tivo.desktop in a text editor, too. Just find a block that looks like this:

<key>DebugLevel</key>
<integer>1</integer>
<key>DebuggingEnabled</key>
<false/>

And set the integer after DebugLevel to 20 and the <false/> to <true/>. You do have to restart TiVo Desktop for these to be applied.

If you don't have that block, just add it after the dict open tag.

Because TiVo doesn't put a .plist at the end of the file, the defaults command doesn't interact well with it.


----------



## herbman (Apr 8, 2008)

I tried to do that already, but unfortunately the second i pop open the preference pane to restart it, it resets those values. Any idea on how to restart it without using the pane? (maybe a kill -HUP?)

I'll definitely get to the debug log when I get home, but I had some time at work to play with this so i figured i'd start.

*edit* durr, i just realized.. edited the file, and then did a sudo reboot of the box. That will start the service for me! I'll write back when I have some debug info.


----------



## herbman (Apr 8, 2008)

OK,

The reboot finished, and the service loaded with a log file. There are about a gazillion entries for made new song, made new album, etc.. Is there anything in *that* section I should be looking for?

What stands out is this:

```
16:27:56.847  iTunesFactory: exception creating new root
java.io.IOException: Browse: exception java.lang.reflect.InvocationTargetException
        at com.tivo.iTunes.Browse.<init>(Browse.java:60)
        at com.tivo.iTunes.iTunesRoot.loadFromFile(iTunesRoot.java:186)
        at com.tivo.iTunes.iTunesRoot.<init>(iTunesRoot.java:49)
        at com.tivo.iTunes.iTunesFactory.makePluginForUser(iTunesFactory.java:28)
        at com.tivo.plugin.AbstractPluginFactory.addPluginForUser(AbstractPluginFactory.java:72)
        at com.tivo.plugin.AbstractPluginFactory.usersChanged(AbstractPluginFactory.java:103)
        at com.tivo.calypso.Root.build(Root.java:104)
        at com.tivo.calypso.Root.<init>(Root.java:63)
        at com.tivo.calypso.Root.getRoot(Root.java:32)
        at com.tivo.server.TiVoDesktop.main(TiVoDesktop.java:67)
```
Thoughts? It seems to be going through all of my itunes on the scan phase even though I only specified to use one playlist. Thoughts?


----------



## Dennis Wilkinson (Sep 24, 2001)

I certainly don't an get error like that in my own log (TD 1.9.3 on Mac OS X 10.5.2 on Intel). Errors are probably the only interesting piece. This one is complaining of an I/O error, although it's not immediately clear why. 

Note that TiVo Desktop always parses your entire library, since it has to go through the entire iTunes Music Library.xml file to find your playlists. Could be that something is corrupt.


----------



## herbman (Apr 8, 2008)

I'm on 10.5.2 on intel as well with the latest tivo desktop. I am a Java developer by trade, so I suspect some kind of resource issue with the classes used by tivo here, because InvocationTargetException is something with class instantiation. It could be corrupt, or it could just be too large. Who knows. The only other thing I found on google like this was someone who had symlinked library XML file. Mine is local, but I do have files on an nfs mount, and maybe something doesn't like those.


----------



## herbman (Apr 8, 2008)

Do I have any other next debugging steps? Anything I can run for you or send to TiVo? My iTunes program operates completely fine.


----------



## Dennis Wilkinson (Sep 24, 2001)

herbman said:


> Do I have any other next debugging steps? Anything I can run for you or send to TiVo? My iTunes program operates completely fine.


One thing you might try would be to close iTunes, move the XML file in your iTunes library folder somewhere as a backup, then relaunch iTunes to regenerate it (you may have to quit, too -- iTunes only creates it so that other applications that want to browse the database have a reasonable format to do so.) I don't do Java day-to-day, but my recollection is that InvocationTargetException typically is chained to another exception, which is why I focused on the I/O error.

Beyond that, I don't really have any advice.


----------



## herbman (Apr 8, 2008)

Regerated. Same problem. I guess I'll e-mail TiVo.


----------

