Hi
Years passed i had QNX running on my computer.
At last, with RTP, there’s possibility to show it to the people
I’ve installed RTP, and here’s the problem description.
I had 3Com 3c900 installed.
Phlip showed me en0 device enabled (‘devices’ tab).
After manual IP configuration, everything seems to be ok :
pidin | grep io-net
86030 1 o-net/x86/o/io-net 10o SIGWAITINFO
86030 2 o-net/x86/o/io-net 10o RECEIVE 1
86030 3 o-net/x86/o/io-net 10o RECEIVE 1
86030 4 o-net/x86/o/io-net 21o RECEIVE 3
86030 5 o-net/x86/o/io-net 21r RECEIVE 14
86030 6 o-net/x86/o/io-net 17f CONDVAR 805d94c
86030 7 o-net/x86/o/io-net 10o RECEIVE 1
86030 8 o-net/x86/o/io-net 19f CONDVAR 8052268
86030 11 o-net/x86/o/io-net 18f CONDVAR 805c7a4
pidin ar | grep io-net
86030 io-net -pttcpip -ppppmgr
573474 grep io-net
pidin -p 86030 mem
pid tid name prio STATE code data
stack
86030 1 o-net/x86/o/io-net 10o SIGWAITINFO 36K 220K
8192(516K)*
86030 2 o-net/x86/o/io-net 10o RECEIVE 36K 220K
4096(12K)
86030 3 o-net/x86/o/io-net 10o RECEIVE 36K 220K
8192(12K)
86030 4 o-net/x86/o/io-net 21o RECEIVE 36K 220K
4096(132K)
86030 5 o-net/x86/o/io-net 21r RECEIVE 36K 220K
4096(132K)
86030 6 o-net/x86/o/io-net 17f CONDVAR 36K 220K
4096(132K)
86030 7 o-net/x86/o/io-net 10o RECEIVE 36K 220K
4096(12K)
86030 8 o-net/x86/o/io-net 19f CONDVAR 36K 220K
4096(132K)
86030 11 o-net/x86/o/io-net 18f CONDVAR 36K 220K
4096(132K)
ldqnx.so.1 @b0300000 300K 12K
npm-ttcpip.so @b034e000 72K 8192
npm-pppmgr.so @b0362000 20K 8192
devn-el900.so @b0369000 52K 8192
I’ve got tiny stack, thus, later we’ll see in /proc/ipstats some net
infos
nettrap
io-net -del900
nicinfo
3COM (90xB) 10BASE-T/100BASE-TX Ethernet Controller
Physical Node ID … 00105A E161F7
Current Physical Node ID … 00105A E161F7
Media Rate … 10.00 Mb/s half-duplex UTP
MTU … 1514
Lan … 0
I/O Port Range … 0x6500 → 0x657F
Hardware Interrupt … 0xB
Total Packets Txd OK … 2
Total Packets Txd Bad … 0
Total Packets Rxd OK … 12
Total Rx Errors … 0
Tx Collision Errors … 0
Tx Collisions Errors (aborted) … 0
Carrier Sense Lost on Tx … 0
FIFO Underruns During Tx … 0
Tx defered … 0
Out of Window Collisions … 0
FIFO Overruns During Rx … 0
Alignment errors … 0
CRC errors … 0
phlip -d
PHLIP spawn: netmanager -w all -f /etc/net.cfg
- Contents of file ‘/etc/net.cfg’ (after spawn)
% # nto network config file v1.2
% version v1.2
%
% [global]
% hostname gronk
% domain ikp.pl
% nameserver 157.25.5.18
% nameserver 157.25.5.3
% route 192.168.7.1 0.0.0.0 0.0.0.0
%
% [en0]
% type ethernet
% mode manual
% manual_ip 192.168.7.11
% manual_netmask 255.255.255.0
%
cat /proc/ipstats
Ttcpip Sep 5 2000 08:56:16
verbosity level 0
ip checksum errors: 0
udp checksum errors: 0
tcp checksum errors: 0
packets sent: 83
packets received: 92
en0 : addr 192.168.7.11 netmask 255.255.255.0 up
lo0 : addr 127.0.0.1 netmask 255.0.0.0 up
DST: 192.168.7.0 NETMASK: 255.255.255.0 GATEWAY: en0
DST: 127.0.0.0 NETMASK: 255.0.0.0 GATEWAY: lo0
DST: 0.0.0.0 NETMASK: 0.0.0.0 GATEWAY: 192.168.7.1
TCP 127.0.0.1.2656 > 127.0.0.1.6000 ESTABLISHED snd 0
rcv 0
TCP 127.0.0.1.6000 > 127.0.0.1.2656 ESTABLISHED snd 0
rcv 0
TCP 0.0.0.0.6000 LISTEN
Don’t lokk at the packets sent/received number -when it wasn’t working
i had alway 0 there.
Till now, everything was ok.
Let’s see what ifconfig responds :
ifconfig -a
ifconfig: SIOCGIFMETRIC en0: Operation not supported
en0: flags=843<UP,BROADCAST,RUNNING,SIMPLEX>
inet 192.168.7.11 netmask 0xffffff00 broadcast 192.168.7.255
ifconfig: SIOCGIFMETRIC en0: Operation not supported
ifconfig: SIOCGIFMETRIC lo0: Operation not supported
lo0: flags=49<UP,LOOPBACK,RUNNING>
address: 00:10:5a:e1:61:f7
inet 127.0.0.1 netmask 0xff000000
Answers aren’t proper - there’s no MAC address of the NIC,
and those SIOCGIFMETRIC messages…
Network isn’t working - no traffic to gateway, empty arp cache,
all this “advantages” when you got something wrong with NIC )))
I’ve tried about 10 times with three NICs :
- 3Com 3c509
- 3Com 3c900
- 3Com 3c905
Solution was : use full TCP stack instead of tiny one.
Here’s how to do it :
Change the file /etc/system/enum/include/net :
macro definitions for network
all
set(IONET_CMD, io-net -pttcpip -ppppmgr)
set(IONET_CMD, io-net -ptcpip )
I’ve skipped also pppmgr.
M.