1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Sudden file transfer failure: kmttg and Tivo Desktop

Discussion in 'TiVo Home Media Features & TiVoToGo' started by howards, Feb 16, 2013.

  1. Feb 16, 2013 #21 of 212
    morac

    morac Cat God

    8,949
    22
    Mar 14, 2003
    NJ
    I mentioned this in the other thread, but the TiVo box apparently doesn't care what the value of the SID cookie is, as long as it's being sent. As such you can "create" your own cookie and set it to expire in the future and it will work. See:

    http://www.tivocommunity.com/tivo-vb/showthread.php?p=9526594#post9526594


    As I mentioned in the post below that, TiVo Desktop already checks for a cookie file to read from, but doesn't actually create one so it should be possible to simply give TiVo Desktop a modified cookie file and have it work.
     
  2. Feb 16, 2013 #22 of 212
    notting

    notting Member

    66
    0
    Dec 15, 2005
    Chapel Hill, NC
    I've gotten that error before over the web interface when I had disabled cookies entirely in Firefox. Once I remembered that, it was then just trying to figure out why the cookies weren't working. After trying a few other things, dumping the HTTP headers with curl showed the that it was sending a cookie that had already expired.

    I hope that it's getting the cookie expiry date to send from the service when it phones home to see if transfers are enabled. If it's hardcoded in the software, it's going to be a lot longer for a fix since they'll need software updates for all three platforms. (if they're even going to bother fixing the S2s and S3s.)
     
  3. Feb 16, 2013 #23 of 212
    am95

    am95 New Member

    34
    0
    Jun 2, 2012
    This was driving my crazy after spending about 3 hours of resetting installing, etc.

    Thank you so much, notting!
     
  4. Feb 16, 2013 #24 of 212
    tluxon

    tluxon Member

    250
    0
    Feb 28, 2002
    Kirkland, WA
    How do we "give" Tivo Desktop this modified cookie file?
     
  5. Feb 16, 2013 #25 of 212
    morac

    morac Cat God

    8,949
    22
    Mar 14, 2003
    NJ
    TiVo Desktop uses curl.exe. Since TiVo Desktop passes it's own arguments to curl, there's no one size fits all fix for that. I posted in the other thread that the automated (but not easiest) would be to override the parameters that TiVo Desktop uses either by getting TiVo Desktop to call a batch file (if possible) passing along all the parameters except cookie one (using ours instead) or changing the curl program itself to hard code the cookie.
     
  6. Feb 16, 2013 #26 of 212
    unitron

    unitron Active Member

    16,389
    2
    Apr 28, 2006
    semi-coastal NC
    So is it curl itself that cares about whether there's a cookie file and whether it's up to date?

    Will everything work as before as long as we make it happy?

    If so, sounds like the cure isn't to change the Y2K-ish problem with the TiVos, but to put out Desktop 2.8.3.we_screwed_up and to tell everybody running open source alternatives how to snooker curl into not caring about it.
     
  7. Feb 16, 2013 #27 of 212
    morac

    morac Cat God

    8,949
    22
    Mar 14, 2003
    NJ
    It's not curl, it's the TiVo box that needs to be snookered. Here's how cookies work:

    1. Web browser client requests a page from a HTTP server.
    2. When the server responds with the requested page can include zero or more cookies. The server tells the client how long they are valid for in addition to a few other details that aren't important to this discussion.
    3. In future requests to the server the client will include the cookie it was previously given as long as it hasn't expired. There are other conditions, but they also aren't relevant here.

    That's it. The web server on the TiVo box was and still is serving the SID cookie to clients (curl, Firefox, whatever). The issue is that the server is telling the clients the cookie expired on Feb 16, 2013 at 12 AM GMT. As such the clients trash the cookie and don't include it when initiating the download of shows. The server expects the cookie and returns an error if it's missing, which is why everything broke today.

    Now curl (and browser addons) can send user generated cookies to the server. Meaning it can send cookies it never received from the server. If the TiVo web server software was coded correctly, it would only allow downloads if the value of the SID cookie it receives matches the one it sent, but do to what I can only assume is a bug, it doesn't care if the values don't match. It only cares that there is a value.

    As such we can use curl to send a bogus SID cookie to the TiVo web server and it happily allows the download to start. This requires changing a command line parameter sent to curl, which is what kmttg was changed to do now. TiVo Desktop is not sending the parameter to curl and I don't know of any easy way to intercept the call TiVo Desktop makes to curl.exe to inject the parameter. As such the only work around I can think of for TiVo Desktop is to patch either TiVo Desktop to send the command or curl think it received it. Of the two, curl would be easier as it's open source. I'm sure if TiVo doesn't fix this soon, someone will do that.
     
  8. Feb 16, 2013 #28 of 212
    unitron

    unitron Active Member

    16,389
    2
    Apr 28, 2006
    semi-coastal NC

    So we can expect TiVo to get right on that as soon as they run out of third parties to try to blame?
     
  9. Feb 16, 2013 #29 of 212
    steve614

    steve614 what ru lookin at?

    10,722
    0
    May 1, 2006
    Dallas, TX
    I happen to have the Tivo Desktop transfer log enabled -- it shows a before and after when I changed the time back on my computer.

    Don't know if it will help...it's all mumbo jumbo to me.
     

    Attached Files:

  10. Feb 17, 2013 #30 of 212
    morac

    morac Cat God

    8,949
    22
    Mar 14, 2003
    NJ
    I found a work around for TiVo Desktop. There's a curl.conf file in the TiVo Desktop settings folder (*). This can be used to add parameters passed to curl.

    Make a backup of curl.conf and then edit it with a text editor and add the following line to the bottom of the file:
    Or just use the attached curl.conf file (extract from zip file).

    (*) The folder is located in:
    Windows XP = %USERPROFILE%\Local Settings\Application Data\TiVo Desktop
    Windows Vista and up = %USERPROFILE%\AppData\Local\TiVo Desktop
     

    Attached Files:

    • curl.zip
      File size:
      230 bytes
      Views:
      534
  11. Feb 17, 2013 #31 of 212
    Puppy76

    Puppy76 Active Member

    1,182
    0
    Oct 6, 2004
    Geez, thank goodness this wasn't just me...rebooted every piece of my network, and my Tivo 2 and HD, and even web browser connections were failing lol

    I'll read more on this tomorrow, but is Tivo aware of this? I realize it looks like a simple fix, but it's disturbing Tivo hasn't just released an update whether for tivo desktop or the tivos themselves.

    Are we expecting an update? Is tivo aware of the issue or just blowing people off? Should we all be calling so they get the picture that this is real and not something that can be blown off?
     
  12. Feb 17, 2013 #32 of 212
    moyekj

    moyekj Well-Known Member

    11,144
    32
    Jan 23, 2006
    Mission...
    There's been no sign of TiVo acknowledging a problem or even hinting anything will be done about it officially any time soon AFAIK. Did you expect anything more, especially during a holiday weekend?
     
  13. Feb 17, 2013 #33 of 212
    morac

    morac Cat God

    8,949
    22
    Mar 14, 2003
    NJ
    It's the weekend and Monday is a holiday so my guess is most TiVo employees aren't working. I'm sure they'll hear about it first thing Tuesday morning.
     
  14. Feb 17, 2013 #34 of 212
    bobfrank

    bobfrank Member

    164
    0
    Mar 17, 2005
    It's easy and it works perfectly.

    Thank you.

    Bob
     
  15. Feb 17, 2013 #35 of 212
    wmcbrine

    wmcbrine Ziphead

    10,368
    22
    Aug 2, 2003
    You know, I actually did. The more fool I.

    Of course that was when I assumed that this was just due to some bad data in the daily call, rather than being a hardcoded date in the TiVo software. Yikes.
     
  16. Feb 17, 2013 #36 of 212
    steve614

    steve614 what ru lookin at?

    10,722
    0
    May 1, 2006
    Dallas, TX
    Yup, works for me also. I had found that file by searching my C drive for curl, but I didn't know what to do with it. Windows saw it as an unknown file type.
    Once I read that it is basically a text file, I told Windows to open it with Notepad. Added the line, did a save as, and replaced the file.
    Downloading now without having to change the date on my computer. :up:

    Edit:

    BTW, I wonder - what would happen if you altered the 'speed-time' value? :p
     
  17. Feb 17, 2013 #37 of 212
    morac

    morac Cat God

    8,949
    22
    Mar 14, 2003
    NJ
    Not much. That setting tells curl to abort the transfer if the transfer speed drops below 1 byte per second for 30 seconds. I think it's a work around for an old problem where the transfer would never end after it finished. In any case it prevents the transfer from hanging indefinitely if something goes wrong.
     
  18. Feb 17, 2013 #38 of 212
    howards

    howards Member

    77
    0
    Oct 31, 2007
    Brilliant. Thanks!
     
  19. Feb 17, 2013 #39 of 212
    howards

    howards Member

    77
    0
    Oct 31, 2007
    Actually, Tivo has acknowledged the issue in response to a bug report from me, and thanked me for links this thread. Maybe it will save some other poor users from a litany of "reboot this" and "reinstall that".
     
  20. Feb 17, 2013 #40 of 212
    AlMejias

    AlMejias New Member

    4
    0
    Feb 17, 2013
    Thanks for the tip! It seems to be working! I'll know for sure in a day or two.

    In my case there was no curl.conf file in my Tivo Desktop install or config folders so I created a file in the suggested folder and added that line to it. It worked! Until there is a permanent fix that will work with the browser download method as well, this will do.

    Thanks again for this fix!
     

Share This Page