Unable to use IP networking...Please Help

I’m running Qnx 4.25…a work project requires this specific OS. And I can’t seem to configure the network card so that I can ftp to this machine.

I have tried this with two different network cards and the results are the same.

Steps:

  1. Make sure Net is dead.

  2. Run Net.

  3. Run the appropriate driver as per nettrap. The latest card I’m trying is the 3Com Etherlink III 509B-TPO. Nettrap is telling me to use the driver: “Net.ether509 -p300 -l1”

  4. Net and the driver both appear in sin as well as ps. Both seem to be running fine.

  5. At this point, I can use netmap and netinfo -l and I see the card. I see its mac address, etc. Obviously the OS is aware of the card at this point.

  6. ifconfig en0 10.2.22.2 netmask 255.255.255.0

ifconfig: ioctl (SIOCGIFFLAGS): no such interface

  1. This is correct…if I “ls /dev” there is no en0, no en1, no en2, etc. The enX devices don’t seem to exist.

And that is basically my problem…all the documentation seems to assume that en0 exists, or that en1 exists…but those devices don’t exist. Why is it that the OS is aware of the ethernet card, the driver seems to run fine, but there is no corresponding device in /dev ???

What exactly do I have to do in order to create the en0 interface, so that I can use ifconfig to configure it?

BTW, I tried to run Socket and I get this output:

Socket: unable to attach name: /qnx/socket

If anyone can help me, I would greatly appreciate it…this is driving me up the wall and holding me up at work. I can’t find any docs here or at qnx.com that address this issue.

Thank you!!

You need to start the stack with 5.0 it’s Tcipip with version 4.?? it’s Socket.

these devices don’t show anywhere in the path space, so you can’t see them.

Are you running nameloc? Do you have a license? What argument are you using when starting Socket.

– (I don’t really know what nameloc is.) I did a ps and noticed two copies of nameloc are running. I killed them and then tried to run Socket…“unable to attach name”…then I started nameloc again and tried to run Socket…“unable to attach name.” So whether or not nameloc is running doesn’t seem to have any effect?

– I’m not sure what you mean by “a license.” I know that the company had some old legal copy of QNX that they purchased a while back…they gave it to me and had me install it. This is because I’m taking over a project that runs specifically on QNX 4.25. We will probably upgrade to Qnx 6 and port the application at that time. But in the meantime, there are changes I am supposed to make and I can’t even ftp my code to the box…

– If I was supposed to go through some sort of “license activation” process after I installed the OS, then I have NOT done so. Everything seemed to install and work fine except obviously the IP isn’t working due to this problem…

– When I run Socket, I do this: “Socket node1 &” It immediately dies with the message: Socket: unable to attach name: /qnx/Socket

– The contents of my /etc/hosts file:
127.0.0.1 localhost
10.2.22.2 node1

Any ideas? Thanks for your help! :slight_smile:

Nameloc is a program that handles global name distribution and licenses as well.

There are two kind of licenses, old style found in /etc/licenses and newer style in /.licences.

Don’t kill nameloc, leave it running.

You do need to install the licenses. There is a license for the compiler (watcom) as well. What happends if you run cc.

Run licinfo -a and post the output here. That command display valid licenses.

To install the licenses you either need the license on a floppy (old style) or a serial number. To add the old style you stick the floppy disk in and run the command “license”. To add the new style you can edit the /.licenses files and add the serial number. In both cases most of the time a reboot is required.

Ok I found the license/install disk.

— I inserted the license disk and I typed “license” as root. The disk whirred for a bit and then 9 entries were added to the ./licenses file. They were qnx, phrt, tcprt, vger, vgerx, wcc, wpp, tcptk, and phab. For each, the file reads: “name.[serial number] (1 node)” – Where name is the entry name (such as qnx or phab) and [serial number] is a bunch of hex.

— I notice that the names and serial numbers that were added to the ./licenses file were identical to the names and serial numbers on the QNX License Certificate that came in the software box.

— I also notice that the /etc/licenses directory is still totally empty…the process apparently did nothing to this directory? This makes sense though, if the old-style licenses were discontinued after 4.23, and I am definitely running 4.25.

— Per helpfiles, I also ran “license -r” at this point. I tried “Socket node1 &” and got Socket: unable to attach name: /qnx/Socket

— I rebooted the computer and tried again…I still get the “unable to attach name” error when I run Socket.

— I made a “hello world” program in C, compiled it using cc, and ran it successfully. So cc appears to work.

— Here is the output from licinfo -a:

phab 0/1
tcptk 0/1
wpp 0/1
wcc 0/1
vgerx 0/1
vger 0/1
tcprt 1/1 1
phrt 1/1 1
qnx 0/1

Thoughts, comments? Thanks again…

post the following output:

echo $SOCK
echo $NODE
sin
sin ver

echo $SOCK
1
echo $NODE
1

OK since I cannot contact the QNX Box via IP, I have been typing up the outputs by hand. The output from sin is pretty daunting though.

HOWEVER - I think this is a breakthrough - when I ran sin, I noticed that “Socklet” is running! The reason I couldn’t run Socket is because Socklet was running…and you can only run one, not both!

So now I think the Socket thing was a red herring…once I kill Socklet, I can run Socket just fine.

— I notice that when Socket (or Socklet) is running, I run inetd, and then I can “telnet 127.0.0.1” and it will work. If I kill Socket, the telnet no longer works. Thus, I believe that Socket is operating correctly.

— Unfortunately, I cannot “telnet 10.2.22.2” because I get “no route to host”.

— This brings me back to my original problem:

ifconfig en0 10.2.22.2 netmask 255.255.255.0

ifconfig: ioctl (SIOCGIFFLAGS): no such interface

— I can still hand-copy the sin output if you really need it. But I’m hoping the new info in this post will allow me to avoid that unpleasant task. Sin also shows nameloc and Net running, as well as Net.ether509 (the driver for my ethernet card.)

Thoughts, comments?

Try running this:

slay -f Net Net.ether509 Socket Socklet
Net &
Net.ether509 -p300 -l1 &
Sock[l]et node1 &
ifconfig en1 10.2.22.2 netmask 255.255.255.0

And see what happens - I think you are real close.

Rick…

ps. the interface names are en<logical network #> and you are on logical lan 1.

Hey I got it working!!

My biggest mistake: in my attempt to experiment with two different network cards, I was inadvertantly running the wrong driver…I was running the intel driver for the etherlink card and vice versa. I feel stupid.

Secondly, it turns out that the Etherlink card itself was bad…even when I set it up properly it didn’t work.

Thirdly my use of en0 instead of en1.

Once I started using the intel card, with the correct driver, and en1, my networking started to work properly.

Still, I wouldn’t have gotten it working without understandings that I derived from this thread. Thanks a lot guys!