Phreedom,Originally Posted by Phreedom
What version of Tivo are you running ncid with?
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,Originally Posted by Phreedom
What version of Tivo are you running ncid with?
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
If you're running a newer version of the Tivo software -- 6.x or 7.x -- that's perfectly normal. Leave them be.Originally Posted by Phreedom
--
Christopher D. Heer
Originally Posted by Oscar Wilde
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
jlc,Originally Posted by 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.Originally Posted by shutterfriend
John
Does this help?It can read the message from stdin, but it appears to only take one line per invocation.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
Last edited by Jamie; 07-01-2006 at 05:25 PM.
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
Just the line displayed.Originally Posted by jlc
Seems so.Once it displays something, do you need to clear it with /tvbin/text2osd --clear?Line zero seems to be the top and is the default.I assume line 1 is at the top? Is line 1 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.
That is a thought. I think the libosd problem is an ioctl failing.Originally Posted by Jamie
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
Here are the 3 ioctl calls, it seems at least 2 are failing.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; }
Could you explore text2osd a bit? Maybe a address or value changed. I do not have a hacked series 2 available.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()
John
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.Originally Posted by jlc
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.Originally Posted by Jamie
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
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.
Last edited by Jamie; 07-04-2006 at 09:58 AM.
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![]()