problem with driver for network controller (Davicom 9102A)

Hello everyone,

I’m evaluating a x86 compatible controller card which has an integrated
Davicom 9102A network interface controller. The chip is hanging on the
PC104’s internal PCI bus. I was sent a (supposedly) QNX6 compatible driver
which I have now tried to get up and running. I haven’t got it yet, which
is the reason for this post. As the documentation for the controller isn’t
too long, I’ll just paste it in here…

How to startup the driver module automatically every time the system
starting up:

copy driver module(devn-dm9pci.so) to /lib/dll

and then add the following lines to the configuration file
/etc/system/enum/devices/net

DAVICOM DM9PCI

device(pci, ven=1282, dev=9102)
device(pci, ven=1282, dev=9009)
tag(devn)
append(legacy, “,nonet”)
requires($(IONET_CMD),)
uniq(netnum, devn, 0)
mount(-Tio-net “-opci=$(index)” /lib/dll/devn-dm9pci.so,
“/dev/io-net/en$(netnum)”)

That’s the extent of the documentation. Ouch!

I’m trying to generate a minimal build which I can use to boot from a
floppy, but with no success. The system boot normally, but when io-net is
called, I get the following message: “unable to load dll devn-dm9pci.so:
Library cannot be found”. I’m very inexperienced with QNX, so I really
don’t know where to start looking. I got other strange errors when I used
the entire shared library name for the -d option of io-net (the error showed
the name devn-devn-dm9pci.so, which is why I left off the devn. I couldn’t
find any QNX documentation explaining this either.)

I’ll tack on my build file to the end, to show what I’ve tried.

Any ideas, QNX gurus?

Thanks in advance,

Jason

=============================================
the build file…

#mops520_net_ide.bld
#Last changed: 9.4.2002
#A minimal QNX system which supports an IDE drive (hd1) + network

start the network driver to allow further communication.

[virtual=x86,bios +compress] .bootstrap = {
startup-bios
PATH=/proc/boot:/bin:/sbin
LD_LIBRARY_PATH=/proc/boot:/dev/shmem:/lib:/lib/dll procnto
}

[+script] .script = {

The msm586 card has an internal PCI bus which is used to communicate

with the Network adapter

pci-bios &
waitfor /dev/pci

devc-con -e -n 4 &
reopen /dev/con1

#sedres needed by some NTO systems to start correctly
seedres

start the serial device driver for the 4 serial ports.

devc-ser8250 -u1 3f8,4 -u2 2f8,3 &

start the network driver : QNET name of unit VST_TM

io-net -v -d dm9pci.so -p qnet host=VST_TM -p ttcpip
if=en0:192.168.100.166:255.255.255.0 &

mount -vv -T io-net /lib/dll/devn-dm9pci.so /dev/io-net/en0

waitfor /dev/socket

[+session] esh
}

[perms=+r,+x]
libc.so

shared objects for network capabilities

npm-ttcpip.so
libsocket.so

#Hard disk/CD-ROM shared libraries
libcam.so # always needed
io-blk.so # always needed
cam-disk.so # needed for hard drives

#file system drivers
fs-qnx4.so # QNX4 file system shared library
npm-ttcpip.so
npm-qnet.so
devn-dm9pci.so=/x86/lib/dll/devn-dm9pci.so
libsocket.so
fpemu.so.2

#libcpp.so
[type=link] /usr/lib/ldqnx.so.2=/proc/boot/libc.so
[type=link] /dev/console=/dev/con1
[type=link] /usr/lib/libcam.so.2=/proc/boot/libcam.so
[type=link] /tmp=/dev/shmem
[type=link] /lib/dll/devn-dm9pci.so=/proc/boot/devn-dm9pci.so

[data=copy]
[perms=+r,+x]
esh
ls
pci-bios
mount
io-net
nicinfo
seedres
devc-con