Page 1 of 5 123 ... LastLast
Results 1 to 15 of 71

Thread: Ncid

  1. #1
    Join Date
    Mar 2006
    Posts
    17

    Ncid

    I installed NCID (see http://ncid.sourceforge.net/). It works just fine, I even added it to my startup script and that works too. What I'm not sure about is when I do a ps -aux | grep ncid I have three instances of the program running. Shouldn't there only be one? I can kill two off and it still works.

  2. #2
    Join Date
    Jul 2005
    Posts
    228
    Quote Originally Posted by Phreedom
    I installed NCID (see http://ncid.sourceforge.net/). It works just fine, I even added it to my startup script and that works too. What I'm not sure about is when I do a ps -aux | grep ncid I have three instances of the program running. Shouldn't there only be one? I can kill two off and it still works.
    Phreedom,

    What version of Tivo are you running ncid with?

  3. #3
    Join Date
    Jul 2001
    Posts
    127
    NCID version 0.64 has been released. It has fixes for the server termination problem, and it has new features.

    There is a new client, called ncidsip. It uses SIP Invite to obtain VOIP Caller ID information, and then sends it to the server as a CID message. The server now supports multiple lines: one standard telephone line (can have distinctive ring lines), and multiple VOIP lines. The server can be configured without a modem and just use one or more CID clients like ncidsip. The alias configuration command has been expanded to alias the line indicator used by distinctive ring and ncidsip. The ncid client will display the line indicator in its history window, but TiVoCID will not yet display it on the TiVo. See the web page and Release Notes for more information.

    The included tools; cidalias, cidcall, cidupdate, and ncidsip are Perl programs. If you put Perl in /var/hack/bin they will find it. I only know of this Perl being available for a series 2: http://marc.abramowitz.info/archive...-tivo-series-2/ there may be another. In addition ncidsip requires the Net-Pcap Perl module: http://search.cpan.org/CPAN/authors....12/Pcap.tar.gz and it requires libpcap: http://sourceforge.net/projects/libpcap/ Hopefully someone can make binaries.

    Its possible to rewrite ncidsip using tcl, but you need a interface to libpcap. I found tclpcap at http://tclpcap.sourceforge.net/ so if anyone is interested in doing this, contact me at sourceforge.

    The display program, out2osd, still does not work with 7.2. If anyone has modified libosd to work, or if anyone knows of a program that will take a text line and display under 7.2 let me know. TiVoCID can pipe its output to any display program.
    John

  4. #4
    Join Date
    Nov 2004
    Location
    Gurnee, IL
    Posts
    2,385
    Quote Originally Posted by Phreedom
    I installed NCID (see http://ncid.sourceforge.net/). It works just fine, I even added it to my startup script and that works too. What I'm not sure about is when I do a ps -aux | grep ncid I have three instances of the program running. Shouldn't there only be one? I can kill two off and it still works.
    If you're running a newer version of the Tivo software -- 6.x or 7.x -- that's perfectly normal. Leave them be.
    --
    Christopher D. Heer
    Quote Originally Posted by Oscar Wilde
    Perhaps, after all, America never has been discovered. I myself would say that it had merely been detected.

  5. #5
    Join Date
    Jul 2001
    Posts
    127
    NCID version 0.65 has been released.

    The TiVo display was fixed and updated to display the optional line indicator and messages.

    NCIDsip was improved.

    NCID was modified to accept NCIDINFO messages. This allows the VOIP CID client to send a CANCEL message when a call is aborted before pickup. The client can test for this and output to a output module when it receives a CANCEL notification. Thus a cell phone can be sent a message only if the phone is not answered.
    John

  6. #6
    Join Date
    Jul 2005
    Posts
    228
    Quote Originally Posted by jlc
    NCID version 0.65 has been released.

    The TiVo display was fixed and updated to display the optional line indicator and messages.

    NCIDsip was improved.

    NCID was modified to accept NCIDINFO messages. This allows the VOIP CID client to send a CANCEL message when a call is aborted before pickup. The client can test for this and output to a output module when it receives a CANCEL notification. Thus a cell phone can be sent a message only if the phone is not answered.
    jlc,

    Does the new version support TiVo 7.2.2b. I know there was some issues with the front buffer and was curious if this has been resolved yet.

    Thanks.

  7. #7
    Join Date
    Jul 2001
    Posts
    127
    Quote Originally Posted by shutterfriend
    jlc,

    Does the new version support TiVo 7.2.2b. I know there was some issues with the front buffer and was curious if this has been resolved yet.

    Thanks.
    Sadly it does not. I tried a fix on libosd and it did not work. If anyone knows of a program that will accepted a pipe for text input and display it on 7.2, it can be used to get TiVoCID working again. TiVoCID allows you to specify the program to pipe its output to with the '--program' option.
    John

  8. #8
    Join Date
    Aug 2004
    Posts
    4,085
    Does this help?
    Code:
    bash-2.02# /tvbin/text2osd  --help
    /tvbin/text2osd: unrecognized option `--help'
    /tvbin/text2osd
            --line     <line number>
            --message  <string>
            --xscale   <number>
            --yscale   <number>
            --bgscolor [<num num num, r-g-b values>][<string,red|green|blue|white|black>]
            --fgscolor [<num num num, r-g-b values>][<string,red|green|blue|white|black>]
            --clear
    It can read the message from stdin, but it appears to only take one line per invocation.
    Last edited by Jamie; 07-01-2006 at 05:25 PM.

  9. #9
    Join Date
    Jul 2001
    Posts
    127
    It could help. Does it take over the whole screen or just the line displayed? Once it displays something, do you need to clear it with /tvbin/text2osd --clear? I assume line 1 is at the top? Is line 1 the default?
    John

  10. #10
    Join Date
    Aug 2004
    Posts
    4,085
    Quote Originally Posted by jlc
    It could help. Does it take over the whole screen or just the line displayed?
    Just the line displayed.
    Once it displays something, do you need to clear it with /tvbin/text2osd --clear?
    Seems so.
    I assume line 1 is at the top? Is line 1 the default?
    Line zero seems to be the top and is the default.

    It might be that with a little effort with gdb and/or strace, we could figure out what text2osd is doing and adapt libosd accordingly.

  11. #11
    Join Date
    Jul 2001
    Posts
    127
    Quote Originally Posted by Jamie
    It might be that with a little effort with gdb and/or strace, we could figure out what text2osd is doing and adapt libosd accordingly.
    That is a thought. I think the libosd problem is an ioctl failing.

    libosd 0.4.1 and my patches for the cross compilers can be found here: http://dealdatabase.com/forum/showth...ghlight=libosd

    This is the part of brcm.c that fails and prints: Couldn't find or create shared front buffer

    Code:
      if (bSurfaceGetSharedSurface(5, &surf) != 0) {
        //printf("  creating our own...\n");
        bSurfaceCreate(&dev_handle, 720, 480, 3, &surf);
        bSurfaceShareSurface(surf, 5);
      }
      if (surf == 0) {
        printf("Couldn't find or create shared front buffer\n");
        bcmDeviceClose(&dev_handle);
        return 0;
      }
    Here are the 3 ioctl calls, it seems at least 2 are failing.
    Code:
    if(ioctl(fd_gfx, 0xc00c62f2, &data) < 0) return 7; // bSurfaceGetSharedSurface()
    if (ioctl(fd_gfx, 0xc01462c1, &data) != 0) return 7; // bSurfaceCreate()
    if (ioctl(fd_gfx, 0xc00c62f1, &data) != 0) return 7; //  bSurfaceShareSurface()
    Could you explore text2osd a bit? Maybe a address or value changed. I do not have a hacked series 2 available.
    John

  12. #12
    Join Date
    Aug 2004
    Posts
    4,085
    Quote Originally Posted by jlc
    That is a thought. I think the libosd problem is an ioctl failing.
    ...
    Could you explore text2osd a bit? Maybe a address or value changed. I do not have a hacked series 2 available.
    Yes, I spent some time this evening tracking this down. The ioctl to get the shared surface has changed. The first arg in the struct passed in is now a int32_t instead of an int16_t and the value to pass in now seems to be 0x1eb60 instead of 5.

    I have a newtext2osd that works now. I still have some problems with libosd. It can create the surface now, and the examples run, but there is a side effect: For some reason all the tivo menus are doubled up now, with the second copy horizonally shifted by 1/2 character. It seems like libosd may be leaving the shared surface in a funny state that messes up the tivo menus. "text2osd --clear" restores the normal menus. I'll look at it further in the next day or two as time permits.

  13. #13
    Join Date
    Jul 2001
    Posts
    127
    Quote Originally Posted by Jamie
    Yes, I spent some time this evening tracking this down. The ioctl to get the shared surface has changed. The first arg in the struct passed in is now a int32_t instead of an int16_t and the value to pass in now seems to be 0x1eb60 instead of 5.

    I have a newtext2osd that works now. I still have some problems with libosd. It can create the surface now, and the examples run, but there is a side effect: For some reason all the tivo menus are doubled up now, with the second copy horizonally shifted by 1/2 character. It seems like libosd may be leaving the shared surface in a funny state that messes up the tivo menus. "text2osd --clear" restores the normal menus. I'll look at it further in the next day or two as time permits.
    This is good news. It means that programs that use libosd will be able to work in 7.2 once you solve the menu problem.

    I looked at the code to get the shared surface and noticed it is defined to return an int, but it returns data.retval which is a long. In fact, the code for all bSurface functions may need checking to see if other variables should be changed from int16_t to int32_t.
    John

  14. #14
    Join Date
    Aug 2004
    Posts
    4,085
    Here's a patch to libosd-0.4.1 to get it to work with 7.x on Series2 hardware.

    I misdiagnosed this a little bit in my last post. I was wrong about the datatype change. I think I was fooled when examining datastructures in memory because of padding for alignment within a struct.

    As usual, AllDeadHomiez has travelled this path before us. In the tivovbi distribution, bcmosd.c has already been fixed for the newer tivo software versions and for Series 2.5 hardware.

    The fix for 7.x is easy: use surface #1 if #5 fails. The libosd code had an explicit xoffset that was causing the menu shift I saw. I disabled that if surface #1 is used rather than #5.

    Even with the attached patch, libosd still doesn't work on Series 2.5 hardware (R10, nightlite models, etc). The ADH changes to tivovbi handle that too, but the changes are more complicated, and I haven't take then time yet to adapt it to libosd.
    Attached Files Attached Files
    Last edited by Jamie; 07-04-2006 at 09:58 AM.

  15. #15
    Join Date
    Aug 2004
    Posts
    97
    Quote Originally Posted by jlc View Post
    NCID version 0.64 has been released. It has fixes for the server termination problem, and it has new features.

    There is a new client, called ncidsip. It uses SIP Invite to obtain VOIP Caller ID information, and then sends it to the server as a CID message. The server now supports multiple lines: one standard telephone line (can have distinctive ring lines), and multiple VOIP lines. The server can be configured without a modem and just use one or more CID clients like ncidsip. The alias configuration command has been expanded to alias the line indicator used by distinctive ring and ncidsip. The ncid client will display the line indicator in its history window, but TiVoCID will not yet display it on the TiVo. See the web page and Release Notes for more information.

    The included tools; cidalias, cidcall, cidupdate, and ncidsip are Perl programs. If you put Perl in /var/hack/bin they will find it. I only know of this Perl being available for a series 2: http://marc.abramowitz.info/archive...-tivo-series-2/ there may be another. In addition ncidsip requires the Net-Pcap Perl module: http://search.cpan.org/CPAN/authors....12/Pcap.tar.gz and it requires libpcap: http://sourceforge.net/projects/libpcap/ Hopefully someone can make binaries.

    Its possible to rewrite ncidsip using tcl, but you need a interface to libpcap. I found tclpcap at http://tclpcap.sourceforge.net/ so if anyone is interested in doing this, contact me at sourceforge.

    The display program, out2osd, still does not work with 7.2. If anyone has modified libosd to work, or if anyone knows of a program that will take a text line and display under 7.2 let me know. TiVoCID can pipe its output to any display program.
    Did you ever get ncidsip to work on the tivo? I think I've got the libpcap compiled correctly... but no way to test it. For fun I also compiled tcpdump, and that does seem to work when I run it on the tivo. Well, as far as I can tell anyway- spits out a whole lot of network info when I run it. That doesnt actually seem to use libpcap though.

    No luck at getting the Net::Pcap module for perl. When I try to install it using the CPAN module on the tivo it dies:
    Can't locate auto/DynaLoader/dl_findfile.al in @INC

    That file doesn't seem to be in the perl 5.8.5 package I got from marc.abramowitz.info. I tried pretty unsuccessfully to build 5.8.8 myself.

    Seems like it might be better to go the tcl route. Now I just need to learn tcl... heh

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •