Intel 82541PI Gigabit Ethernet controller on the Rocky 6160

I am running QNX 4.25 on the Rocky 6160. According to the spec sheet it has two ethernet controllers on board. I can only get one of these to work. Can anybody point me to some information to obtain the mac addresse of both controllers? (diagnostic software?) And then to configure this machine to connect to our network on one controller and to another qnx 4 machine on the other?

qnx.com/developers/hardware_ … Network#13

Note that QNX native networking will not work if network speed is set to 1G

Thanks for the reply Mario. I previously had a look at the resource you mentioned, but that did not help me too much.

According to the literature the board I’m using has the following ethernet controllers onboard:
1st 10/100 i82562ET Fast Ethernet controller (ROCKY-6160)
2nd 82541 GbE controller(ROCKY-6160G)

According to the qnx hardware site I should be using two drivers, Net.ether82557 for the i82562ET and Net.i82540 for the 82541.

This is where the confusion starts as I can only get the one ethernet port to work (using the Net.i82540 driver) but not the other one (using Net.ether82557 or another Net.i82540). I am really struggling to find technical data as well as diagnostic tools and procedures to solve this.

Any help/suggestions are much apprecited!

Regards
Chris

How are you starting the drivers?

Can you post the output of show_pci -v .

Mario

My sysinit.1 file looks like this:

set -i
export TZ=utc00
rtc -l hw
Dev &
Dev.ansi -Q -n 10 &
reopen //0/dev/con1
#Dev.ser &
#Dev.par &
Dev.pty &
Iso9660fsys &
Fsys.floppy &
Pipe &
emu87 &
#Net &
#netmap -f
#Net.i82540 -vv &
#netmap -f
#sleep 1
nameloc &
license -r
mount /dev/hd0t78 /data
mount /dev/hd0t79 /huis
netstart
#netboot &
#freeze -cdz /etc/logo.F
tinit -T /dev/con* -t /dev/con1 &

I have moved all the network stuff to the netstart file - called from sysinit.1 I altered the netstart file to just start up the one driver so that I could ftp into the box to get the content of this file. In it I would call the two Net.xxxx drivers - I have tried various -p, and -l options but this trail and error method is tedious with very little learned and no promise of bearing fruit in the future… Here is the netstart file:

#!/bin/sh
slay -f Net
Net &
netmap -f

Net.ether82557 &

Net.i82540  &

sleep 1

slay -f inetd
slay -f Socket

export SOCK=$NODE

/bin/slay -f Socket Socklet;

/bin/prefix -D /dev/console >/dev/null 2>&1;

/bin/prefix -A /dev/console=/dev/con1;

# start up Socket: assume hostnames are defined as 'node#'
# Note:  if not using NFS, use Socklet instead
/usr/ucb/Socket   qnxmain &


# Note:  assuming ethernet interface on logical LAN 1
/usr/ucb/ifconfig en1 qnxmain up netmask 255.255.255.0

/usr/ucb/ifconfig en2 qnxmain up netmask 255.255.255.0

/usr/ucb/ifconfig lo0 localhost up netmask 255.255.255.0 
/usr/bin/syslogd

# Note:  to act as an NFS server, uncomment the next line
# /etc/nfsstart

# Note:  to act as a TCP/IP server, uncomment the next line
 /usr/ucb/inetd

And the netmap file:

1 1 00089ba62b4c
1 2 00089ba604ba
2 1 00089b900d71

The output that you requested from the show_pci command (neat utility that!) is rather lengthy - I have pasted the sections dealing with the ethernet controllers here but will attach the entire file.

Vendor ID = 8086h, INTEL CORPORATION
Device ID = 1051h,
PCI index = 0h
Class Code = 020000h Network (Ethernet) ProgIF=0
Revision ID = 2h
Bus number = 1
Device number = 8
Function num = 0
Status Reg = 290h
Command Reg = 17h
Header type = 0h Single-function
BIST = 0h Build-in-self-test not supported
Latency Timer = 20h
Cache Line Size= 8h un-cacheable
Base Address = MEM@dfcff000h,32bit length 4096 IO@bc00h length 64 bytes
Subsystem Vendor ID = 8086h
Subsystem ID = 3010h
Max Lat = 56ns
Min Gnt = 8ns
PCI Int Pin = 1
PCI Int Pin = INT A
Interrupt line = 5

Vendor ID = 8086h, INTEL CORPORATION
Device ID = 1076h,
PCI index = 0h
Class Code = 020000h Network (Ethernet) ProgIF=0
Revision ID = 5h
Bus number = 1
Device number = 11
Function num = 0
Status Reg = 230h
Command Reg = 17h
Header type = 0h Single-function
BIST = 0h Build-in-self-test not supported
Latency Timer = 20h
Cache Line Size= 8h un-cacheable
Base Address = MEM@dfcc0000h,32bit length 131072 IO@b800h length 64 bytes
Subsystem Vendor ID = 8086h
Subsystem ID = 1076h
Max Lat = 0ns
Min Gnt = 255ns
PCI Int Pin = 1
PCI Int Pin = INT A
Interrupt line = 5

Thanks for your time and trouble!!!

Chris

It should work:

Net.i82540 &
Net.ether82557 -l(el) 2 &

If that doesn’t try forcing the vendor and device id. If that still doesn’t work try add -v to both drivers and post the output.