Menu

OS X build not working

headcase99
2012-12-29
2013-01-04
  • headcase99

    headcase99 - 2012-12-29

    Be gentle -- I'm still very much a UNIX newbie. In the past, I've successfully installed and run the NCID package on my CYGWIN machine, and now I'm moving my NCID server to an extra Mac running stock 10.6.8 that I have lying around.

    When I installed the OS X 0.85 build of NCID, I can launch NCIDD in terminal, but once I launch NCID in terminal, I get a persistent:

    "Connecting to 127.0.0.1:3333
    127.0.0.1:3333 - error reading "sock6": connection refused"

    So I tried the following command to pull up the list of PIDs and open network sockets, looking to see if NCIDD is even active, and I can't see it listed there.

    "sudo lsof -i -P"

    Even after perusing the NCIDD and NCID config files, and rebooting a few times, nothing. So I'm guessing there's something wrong with the NCIDD app or something unique with my Mac, but I'm at a loss to figure out what it is.

    Any suggestions?

     
  • headcase99

    headcase99 - 2012-12-29

    I should point out that I just tried this again on another Mac of mine (running 10.7) to see if its a repeatable issue when launching NCID, and I can confirm the same issue on the other machine.

     
  • Todd Andrews

    Todd Andrews - 2012-12-29

    Hi Headcase,

    Could you post the contents of /var/log/ncidd.log (or send to me by email tandrews@users.sf.net if you prefer)?

    If you're getting "connection refused" =and= the PID is not showing that ncidd is running, this usually means ncidd had a problem starting up.

     
  • headcase99

    headcase99 - 2012-12-29

    Started: 12/28/2012 17:08:55
    Server: ncidd (NCID) 0.85
    Command line: /usr/local/sbin/ncidd
    Logfile: /var/log/ncidd.log
    Processed config file: /usr/local/etc/ncid/ncidd.conf
    Verbose level: 1
    Configured to send 'cidlog' to clients.
    Configured to send 'cidinfo' to clients.
    Processed alias file: /usr/local/etc/ncid/ncidd.alias
    Leading 1 from a call required in an alias definition
    Created CID logfile: /var/log/cidcall.log
    CID logfile maximum size: 110000 bytes
    Data logfile not present: /var/log/ciddata.log
    Telephone Line Identifier: -
    /dev/cu.modem: No such file or directory
    Terminated: 12/28/2012 17:08:55
    Started: 12/28/2012 17:13:02
    Server: ncidd (NCID) 0.85
    Command line: /usr/local/sbin/ncidd
    Logfile: /var/log/ncidd.log
    Processed config file: /usr/local/etc/ncid/ncidd.conf
    Verbose level: 1
    Configured to send 'cidlog' to clients.
    Configured to send 'cidinfo' to clients.
    Processed alias file: /usr/local/etc/ncid/ncidd.alias
    Leading 1 from a call required in an alias definition
    CID logfile: /var/log/cidcall.log
    CID logfile maximum size: 110000 bytes
    Data logfile not present: /var/log/ciddata.log
    Telephone Line Identifier: -
    /dev/cu.modem: No such file or directory
    Terminated: 12/28/2012 17:13:02
    Started: 12/28/2012 18:28:00
    Server: ncidd (NCID) 0.85
    Command line: /usr/local/sbin/ncidd
    Logfile: /var/log/ncidd.log
    Processed config file: /usr/local/etc/ncid/ncidd.conf
    Verbose level: 1
    Configured to send 'cidlog' to clients.
    Configured to send 'cidinfo' to clients.
    Processed alias file: /usr/local/etc/ncid/ncidd.alias
    Leading 1 from a call required in an alias definition
    CID logfile: /var/log/cidcall.log
    CID logfile maximum size: 110000 bytes
    Data logfile not present: /var/log/ciddata.log
    Telephone Line Identifier: -
    /dev/cu.modem: No such file or directory
    Terminated: 12/28/2012 18:28:00
    Started: 12/28/2012 18:36:00
    Server: ncidd (NCID) 0.85
    Command line: /usr/local/sbin/ncidd
    Logfile: /var/log/ncidd.log
    Processed config file: /usr/local/etc/ncid/ncidd.conf
    Verbose level: 1
    Configured to send 'cidlog' to clients.
    Configured to send 'cidinfo' to clients.
    Processed alias file: /usr/local/etc/ncid/ncidd.alias
    Leading 1 from a call required in an alias definition
    CID logfile: /var/log/cidcall.log
    CID logfile maximum size: 110000 bytes
    Data logfile not present: /var/log/ciddata.log
    Telephone Line Identifier: -
    /dev/cu.modem: No such file or directory
    Terminated: 12/28/2012 18:36:00
    Started: 12/28/2012 18:46:00
    Server: ncidd (NCID) 0.85
    Command line: /usr/local/sbin/ncidd
    Logfile: /var/log/ncidd.log
    Processed config file: /usr/local/etc/ncid/ncidd.conf
    Verbose level: 1
    Configured to send 'cidlog' to clients.
    Configured to send 'cidinfo' to clients.
    Processed alias file: /usr/local/etc/ncid/ncidd.alias
    Leading 1 from a call required in an alias definition
    CID logfile: /var/log/cidcall.log
    CID logfile maximum size: 110000 bytes
    Data logfile not present: /var/log/ciddata.log
    Telephone Line Identifier: -
    /dev/cu.modem: No such file or directory
    Terminated: 12/28/2012 18:46:00
    Started: 12/28/2012 18:49:58
    Server: ncidd (NCID) 0.85
    Command line: /usr/local/sbin/ncidd
    Logfile: /var/log/ncidd.log
    Processed config file: /usr/local/etc/ncid/ncidd.conf
    Verbose level: 1
    Configured to send 'cidlog' to clients.
    Configured to send 'cidinfo' to clients.
    Processed alias file: /usr/local/etc/ncid/ncidd.alias
    Leading 1 from a call required in an alias definition
    CID logfile: /var/log/cidcall.log
    CID logfile maximum size: 110000 bytes
    Data logfile not present: /var/log/ciddata.log
    Telephone Line Identifier: -
    /dev/cu.modem: No such file or directory
    Terminated: 12/28/2012 18:49:58
    Started: 12/28/2012 18:57:24
    Server: ncidd (NCID) 0.85
    Command line: /usr/local/sbin/ncidd
    --osx-launchd
    --pidfile /var/run/ncidd.pid
    Logfile: /var/log/ncidd.log
    Processed config file: /usr/local/etc/ncid/ncidd.conf
    Verbose level: 1
    Configured to send 'cidlog' to clients.
    Configured to send 'cidinfo' to clients.
    Processed alias file: /usr/local/etc/ncid/ncidd.alias
    Leading 1 from a call required in an alias definition
    CID logfile: /var/log/cidcall.log
    CID logfile maximum size: 110000 bytes
    Data logfile not present: /var/log/ciddata.log
    Telephone Line Identifier: -
    /dev/cu.modem: No such file or directory
    Terminated: 12/28/2012 18:57:24
    Started: 12/28/2012 18:57:35
    Server: ncidd (NCID) 0.85
    Command line: /usr/local/sbin/ncidd
    --osx-launchd
    --pidfile /var/run/ncidd.pid
    Logfile: /var/log/ncidd.log
    Processed config file: /usr/local/etc/ncid/ncidd.conf
    Verbose level: 1
    Configured to send 'cidlog' to clients.
    Configured to send 'cidinfo' to clients.
    Processed alias file: /usr/local/etc/ncid/ncidd.alias
    Leading 1 from a call required in an alias definition
    CID logfile: /var/log/cidcall.log
    CID logfile maximum size: 110000 bytes
    Data logfile not present: /var/log/ciddata.log
    Telephone Line Identifier: -
    /dev/cu.modem: No such file or directory
    Terminated: 12/28/2012 18:57:35

     
  • headcase99

    headcase99 - 2012-12-29

    Hmm... from my looking over this log file, it would appear that the issue is related to:

    /dev/cu.modem: No such file or directory

    As an FYI, I did test the USB modem (Zoom model) beforehand within Apple's network preferences and using Null Modem and Terminal mode to successfully send AT commands to the device (RING, caller ID showed up, etc.). I also tried a 3rd party caller ID program just to see the results, and it too worked fine with the USB modem.

     

    Last edit: headcase99 2012-12-29
  • Todd Andrews

    Todd Andrews - 2012-12-29

    Thanks for posting the log -- this helps a great deal.

    You're correct that the /dev/cu.modem line is the problem. That's the default device name for internal Mac modems. Your challenge is to determine the correct /dev/xxxx name for your USB Zoom modem and then put it in /usr/local/etc/ncid/ncidd.conf.

    I don't know what you mean by Null Modem as that's usually a way to connect two non-USB serial devices together.

    Here are three ways you might be able to determine the /dev/xxxx name:

    • I don't have a Zoom USB modem on my Mac, but since you mention that Apple's network preferences recognize it, try this: Click on the main Apple logo in the top left corner, and choose About this Mac->More Info->(you might have to choose System Report here)->Network->Modems. You're looking for something that starts with "/dev".

    • When you used Terminal mode, what program did you use to send the AT commands? Whatever device name you used for that is probably the same you'll want to use for NCID.

    • My Dualcomm USB modem isn't recognized by Apple's network preferences so here's what I do to find out the /dev/xxxx name. Start up Terminal and type the following:

         ls -lrt /dev
    

    This will give you a list of devices on your Mac, including the USB modem sorted by date, with the most recently used device being listed last. There are usually two similarly named /dev files for modems. Here's what my Mac shows:

         crw-rw-rw-  1 root  wheel   18,   0 Dec 15 21:47 /dev/tty.usbmodem24680241
         crw-rw-rw-  1 root  wheel   18,   1 Dec 15 21:47 /dev/cu.usbmodem24680241
    

    If you have both a tty.something and a cu.something, the cu.something is what you'll want to put in ncidd.conf.

    Once you know the /dev/xxxx name, type this in Terminal:

         open -a TextEdit /usr/local/etc/ncid/ncidd.conf
    

    Find the line that says:

         set ttyport = /dev/cu.modem
    

    and change it to the /dev/xxxx for your modem.

    I'll be interested in knowing what /dev/xxxx you end up using in case someone else uses the Zoom USB modem.

     
  • headcase99

    headcase99 - 2012-12-31

    Hey Todd -- thanks for the great help -- that did the trick. I simply pulled up the list of active interfaces via the ls -lrt /dev command, and I replaced the cu.modem with the specific name for my external Zoom USB modem, which was cu.usbmodem24680241

    Two other things worth pointing out, in order to get NCID working properly on OS X:

    1) There's a framing issue in the existing GUI for NCID, which came up consistently in various Macs I tested, so I had to disable the GUI within the NCID.conf script (via changing from 0 to 1 on line 66) to get beyond that issue. Given that most folks will likely send their called ID data to another program (eg. NCIDpop) or other clients, perhaps it would make more sense to make the default no GUI, as folks can simply see within Terminal the output during setup when no GUI is set that way.

    2) Also within NCID.conf, I believe that line 18 requires a slash at the end, for it to be a directory -- correct? Seemed to work for me once I added the slash.

     
  • John L. Chmielewski

    Hey Hardcase - can you expand on the framing issues you experienced with ncid using its GUI? Maybe you can email todd a screenshot showing it. His sourceforge email addresses can be used from your computer and will forward properly. You can also email it to me if you like.

    The ncid client has some major changes for the next release and Todd can email you the current client snapshot and configuration file for testing and using in the GUI mode. Your help in making sure the new client GUI works properly on Macs would be welcome.

    Line 17 (not 18) in ncid.conf does not require a slash at the end. Adding a slash at the end will not effect how it is used.

     
  • Todd Andrews

    Todd Andrews - 2012-12-31

    Hi Headcase,

    Glad you got the modem working. I'd be curious to know if your "About this Mac..." Hardware->USB->USB Modem shows the same info as my Dualcomm modem:

    USB Modem:
    
      Product ID:   0x1329
      Vendor ID:    0x0572  (Conexant Systems, Inc.)
      Version:   1.00
      Serial Number:    24680246
      Speed:    Up to 12 Mb/sec
      Manufacturer: Conexant
      Location ID:  0x04100000 / 2
      Current Available (mA):   500
      Current Required (mA):    100
    

    As John has said, more info about the framing issue would be very helpful (especially a screenshot) so we can be sure it is looked at before the next release. And, shortly I'll be sending you the latest work-in-progress code John is talking about.

    In regards to the trailing slash for this line in ncid.conf:

    set ProgDir     "/usr/local/share/ncid"
    

    Could you remove the extra slash you added, restart ncidd, and make sure it still works? As John said, it should not matter, so maybe there's some other issue happening.

     
  • Todd Andrews

    Todd Andrews - 2012-12-31

    Hi Headcase,

    I uploaded the work-in-progress version of ncid.sh to your personal project page: https://sourceforge.net/u/headcase99/wiki/Home/

     
    • headcase99

      headcase99 - 2013-01-01

      Ok - I'm glad to help out by doing some testing of the new code for you guys. I'll give it a try.

       
  • headcase99

    headcase99 - 2013-01-01

    Here's the framing issue when using the GUI, which happens on some of my Macs, but not all of them, when using the same external USB modem from Zoom. It was happening before I added any slash to the NCID config.

    dad-macbookpro:~ headcasey$ sudo /usr/local/sbin/ncidd
    dad-macbookpro:~ headcasey$ ncid &
    [1] 43146
    dad-macbookpro:~ headcasey$ invalid command name "frame"
    while executing
    "frame .fr -borderwidth 2"
    (procedure "makeWindow" line 4)
    invoked from within
    "makeWindow"
    invoked from within
    "if {!$NoGUI} {
    if {$NoExit} {set ExitOn do_nothing}
    makeWindow
    }"
    (file "/usr/local/bin/ncid" line 835)

     

    Last edit: headcase99 2013-01-01
  • headcase99

    headcase99 - 2013-01-01

    Here's a snapshot on my Zoom USB modem from the About My Mac app:

    USB Modem:

    Product ID: 0x3095
    Vendor ID: 0x0803 (Zoom Telephonics, Inc.)
    Version: 1.00
    Serial Number: 24680246
    Speed: Up to 12 Mb/sec
    Manufacturer: Conexant
    Location ID: 0xfa140000 / 6
    Current Available (mA): 500
    Current Required (mA): 100

     
  • John L. Chmielewski

    I believe your problem is that you do not have tk installed. Type "wish" in a terminal window and see if you get a blank GUI window and a "%" prompt in the terminal window. You will probably get "command not found". Install tk and the ncid GUI should work OK.

    "frame" is a tk command and you seem to be running tclsh. When ncid could not find "wish" it defaulted to "tclsh". This should probably be fixed.

    The current snapshot of ncid you received is not the version that will be released. It needs more work and some menu items along with the font window will be changed.

     
  • Todd Andrews

    Todd Andrews - 2013-01-01

    Hi Headcase,

    Thanks for posting your modem info. I would be curious to know where you purchased it?

    As far as the "frame" error, this is very strange as I don't remember having to install tk on any of the Mac's I have access to for NCID testing.

    It would be helpful if you could detail which versions of OS X are able to run ncid GUI, and those which are not. The architecture (PowerPC vs. Intel) would also be helpful. You can use the "About this Mac..." menu item.

    I'm able to run it on 10.4 PowerPC, 10.5 PowerPC, 10.7 Intel and 10.8 Intel.

     
  • John L. Chmielewski

    The ncid client should always be started by "PATH/ncid" since it uses the shell to start. The shell determines if it should exec "wish" or "tclsh with the ncid --no-gui" option on itself. The shell code prevents the error headcase got in my testing.

    If you do not set "NoGUI" in ncid.conf and then "tclsh PATH/ncid", you get the same error message headcase got using any version of ncid up to version 0.85 (the current NCID release).

     

    Last edit: John L. Chmielewski 2013-01-02
  • Todd Andrews

    Todd Andrews - 2013-01-03

    John, perhaps there's something different on Macs then. If I launch from Terminal, I don't think I've ever specified the full path to ncid and it has always worked for me. When I try launching with "ncid &" as Headcase's example shows, it works without the "frame" error.

    (Headcase's example)
    dad-macbookpro:~ headcasey$ sudo /usr/local/sbin/ncidd
    dad-macbookpro:~ headcasey$ ncid &
    [1] 43146
    dad-macbookpro:~ headcasey$ invalid command name "frame"
    while executing....
    

    Headcase had written that he had changed "set NoGUI" to 1 in ncid.conf in order to prevent the "frame" error.

    Headcase, can you confirm you're launching with "ncid &" on all the Macs you've tried this on?

     
    • John L. Chmielewski

      Macs work as normal. "ncid" works because sh, tcl, and wish are in the path,
      but "sh ncid" or "wish ncid" or "tcl ncid" will fail, you need to include
      the path to ncid.

      As I posted, the error comes about if you "tcl ncid" but only in the 0.85
      version of ncid. The current snapshot will fail differently. It fails
      as soon as tcl encounters a tk command. Frame is a tk command. Tk
      executes tcl commands, but tcl does not executes tk commands. The purpose
      of NoGUI is to keep tcl from trying to execute tk commands.

      The error message from headcase says tclsh is executing, not wish so you
      need to find out why. Ncid.sh detects if wish is on the system so if
      it does not find wish, it executes "tclsh ncid --no-gui" so the error should
      not happen. Have headcase execute "sh -x PATH/ncid" to see why wish
      is not called. Here is mine:

      $ sh -x /usr/bin/ncid
      + TCLSH=tclsh
      + WISH=wish
      + BINDIR=/usr/bin
      + type setpri
      + OPTSTIVO='--no-gui --tivo --program /usr/bin/out2osd'
      + case $0 in
      + OPTSTIVO='--no-gui --program ncid-tivo'
      + case $0 in
      + CF=/etc/ncid/ncid.conf
      + '[' -f /etc/ncid/ncid.conf ']'
      + '[' -z '' ']'
      + grep NoGUI /etc/ncid/ncid.conf
      + grep 0
      + GUI=1
      + '[' -n 1 ']'
      + '[' -z :0 ']'
      + '[' -n 1 ']'
      + type wish
      + exec wish -f /usr/bin/ncid --
      

      It you look at the start of ncid.sh you will see strange lines. Comments
      ending in "\" and a shell command following it. The shell ignores a "\"
      at the end of the line so the next line is a command it will execute.
      Tcl/tk honors the "\" at the end of the line so the command line following
      the comment becomes part of the comment. That makes it possible to start
      ncid using the shell and then have the shell exec wish or tclsh on the same
      code.

      On Thu, Jan 03, 2013 at 03:56:27PM +0000, Todd Andrews wrote:

      John, perhaps there's something different on Macs then. If I launch from Terminal, I don't think I've ever specified the full path to ncid and it has always worked for me. When I try launching with "ncid &" as Headcase's example shows, it works without the "frame" error.

      ~~~~
      (Headcase's example)
      dad-macbookpro:~ headcasey$ sudo /usr/local/sbin/ncidd
      dad-macbookpro:~ headcasey$ ncid &
      [1] 43146
      dad-macbookpro:~ headcasey$ invalid command name "frame"
      while executing....
      ~~~~

      Headcase had written that he had changed "set NoGUI" to 1 in ncid.conf in order to prevent the "frame" error.

      Headcase, can you confirm you're launching with "ncid &" on all the Macs you've tried this on?

      OS X build not working


      Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/ncid/discussion/275236/

      To unsubscribe from further messages, please visit https://sourceforge.net/auth/prefs/

      --
      John

       
  • Todd Andrews

    Todd Andrews - 2013-01-04

    HEADCASE: On one of the Macs where you get the 'frame' error, type the following:

    sh -x /usr/local/bin/ncid
    

    And post the results here.

    For comparison purposes, here's what I get on my Mac running OS X 10.7.5 (Lion):

    $ sh -x /usr/local/bin/ncid
    + TCLSH=tclsh
    + WISH=wish
    + BINDIR=/usr/local/bin
    + type setpri
    + OPTSTIVO='--no-gui --tivo --program /usr/local/bin/out2osd'
    + case $0 in
    + OPTSTIVO='--no-gui --program ncid-tivo'
    + case $0 in
    + CF=/usr/local/etc/ncid/ncid.conf
    + '[' -f /usr/local/etc/ncid/ncid.conf ']'
    + '[' -z '' ']'
    + grep NoGUI /usr/local/etc/ncid/ncid.conf
    + grep 0
    + GUI=1
    + '[' -n 1 ']'
    + '[' -z /tmp/launch-HW8Rh7/org.x:0 ']'
    + '[' -n 1 ']'
    + type wish
    + exec wish -f /usr/local/bin/ncid --
    
     

Log in to post a comment.