Help with ethernet driver for intel 82559

Hi,

I am writing a build file for a SBC0486 single board computer. The sbc has an intel 82559 ethernet chip on it. However, when the system boots up I get the following error:

unable to init dll devn-speedo: No such device

In my build file I have the following lines to start up the ethernet:

[+script].script={

io-net -d speedo verbose=10,vid=0x8086,did=0x1229 -p tcpip &
waitfor /dev/socket

}

devn-speedo.so
npm-tcpip.so

I tried the ‘io-net’ command first without the verbose, vid, and did options but I had the same results…The values for vid and did were acquired from the bios of the single board computer…

does anyone know what I am doing wrong here?

Thanks for your help,

James Harriman
v38zy@unb.ca

Did you start a pci server before you started io-net?

No I didn’t start a PCI server before I started io-net…Do I have to? And if so, how do I do this?

Thanks for your help!

James Harriman
v38zy@unb.ca

PS-Here is the contents of my build file (I couldn’t get it to attach to my post)…

[code]#Build file development, testing, and debugging of 5-axis manipulator thesis
#project (EE4013/4023)
#Author: James Harriman, v38zy@unb.ca
#Date: Sept 27, 2003

#bootstrap script for x86 processor
[virtual=x86,bios +compress] .bootstrap = {
startup-bios -s 64k
PATH=/proc/boot LD_LIBRARY_PATH=/proc/boot:/usr/lib:/lib procnto
}

#startup script, starts any drivers and application programs
[+script] .script = {

symlink this critical library. Some apps search it there

#procmgr_symlink is internal equivalent to “ln -s”
procmgr_symlink …/…/proc/boot/libc.so /usr/lib/ldqnx.so.2

#seedres fills kernel data structure with appropiate
#system specific values (IRQs, DMA channels etc)
seedres

devb-fdc & #start floppy driver
waitfor /dev/fd0 20 #wait for the floppy driver to finish loading

Network drivers and filesystems

io-net -d speedo verbose=10,vid=0x8086,did=0x1229 -p tcpip & #if=en0:10.184
waitfor /dev/socket #wait for ethernet and ip stack to initialize

mqueue & #start the message queue and named semaphore manager
pipe & #start the pipe manager

start console driver with two virtual consoles

accessible at ctrl+alt+1 and ctrl+alt+2

devc-con -n2 & #Simple console and keyboard I/O manager

start shell on the consoles

#open stdin,stdout,stderr directed to con1
reopen /dev/con1

start shell as session leader

[+session] ksh &

#open stdin,stdout,stderr directed to con2
reopen /dev/con2

start shell as session leader

[+session] ksh &

reopen /dev/con1 #return to con1
}

#Files to be included
#these will end up in /proc/boot
libc.so.2
libsocket.so.2
libcam.so
io-blk.so
cam-disk.so
fs-qnx4.so
fs-dos.so
#include the network driver files
devn-speedo.so #driver for intel 82559 ethernet
#npm-ttcpip.so
npm-tcpip.so #tcpip protocol stack

#create a /floppy directory to mount floppy to
/floppy=/floppy

#Executable programs to be loaded

devc-con                            #console driver
devb-fdc                            #floppy control driver
ksh                                 #Korn Shell
mount                               #Mount a block special device or remote filesystem
umount                              #Unmount a block special device or remote filesystem
ls                                  #List directory contents
shutdown                            #Shut down and reboot the system
seedres                             # fills kernel data structure with appropiate system specific values
			                  #(IRQs, DMA channels etc)
ps                                  #Report process status
mqueue                              #message queue and named semaphore manager
pipe                                #pipe manager
ftp                                 #file transfer program
ping                                #packet transit time
ifconfig                            #Configure network interface parameters
io-net                              #loads the specified network driver and protocols
grep                                #searches for string patterns
more                                #Display files on a page-by-page basis
cat                                 #Concatenate and print files

unlink_list={
/proc/boot/seedres
}

I added the lines the following lines to my script:

pci-bios &
waitfor /dev/pci 20

…However when the system boots up it says:

Unable to access “/dev/pci” (2)

Here is my full buildfile:

[code]
#Build file development, testing, and debugging of 5-axis manipulator thesis
#project (EE4013/4023)
#Author: James Harriman, v38zy@unb.ca
#Date: Sept 27, 2003

#bootstrap script for x86 processor
[virtual=x86,bios +compress] .bootstrap = {
startup-bios -s 64k
PATH=/proc/boot LD_LIBRARY_PATH=/proc/boot:/usr/lib:/lib procnto
}

#startup script, starts any drivers and application programs
[+script] .script = {

symlink this critical library. Some apps search it there

#procmgr_symlink is internal equivalent to “ln -s”
procmgr_symlink …/…/proc/boot/libc.so /usr/lib/ldqnx.so.2

#seedres fills kernel data structure with appropiate
#system specific values (IRQs, DMA channels etc)
seedres

#start the pci server
pci-bios &
waitfor /dev/pci 10 #wait for pci-bios to finish probing the system

devb-fdc & #start floppy driver
waitfor /dev/fd0 20 #wait for the floppy driver to finish loading

Network drivers and filesystems

#io-net -d speedo verbose=10,vid=0x8086,did=0x1229 -p tcpip & #if=en0:10.184
io-net -d speedo -p tcpip &
waitfor /dev/socket #wait for ethernet and tcpip stack to initialize

mqueue & #start the message queue and named semaphore manager
pipe & #start the pipe manager
devc-pty & #Psuedo-terminal driver

start console driver with two virtual consoles

accessible at ctrl+alt+1 and ctrl+alt+2

devc-con -n2 & #Simple console and keyboard I/O manager

start shell on the consoles

#open stdin,stdout,stderr directed to con1
reopen /dev/con1

start shell as session leader

[+session] ksh &

#open stdin,stdout,stderr directed to con2
reopen /dev/con2

start shell as session leader

[+session] ksh &

reopen /dev/con1 #return to con1
}

#Files to be included
#these will end up in /proc/boot
libc.so.2
libsocket.so.2
libcam.so.2
io-blk.so
cam-disk.so
fs-qnx4.so
fs-dos.so
#include the network driver files
devn-speedo.so #driver for intel 82559 ethernet
npm-tcpip.so #tcpip protocol stack
fpemu.so.2 #floating point emulation

devc-con #console driver
devb-fdc #floppy control driver
devc-pty #pseudo terminal driver

#create a /floppy directory to mount floppy to
/floppy=/floppy

#Executable programs to be loaded

ksh                                     #Korn Shell
mount                                 #Mount a block special device or remote filesystem
umount                               #Unmount a block special device or remote filesystem
ls                                        #List directory contents
shutdown                           #Shut down and reboot the system
seedres                              # fills kernel data structure with appropiate system specific values
			                              #(IRQs, DMA channels etc)
ps                                      #Report process status
mqueue                             #message queue and named semaphore manager
pipe                                   #pipe manager
ftp                                      #file transfer program
ping                                   #packet transit time
ifconfig                               #Configure network interface parameters
io-net                                 #loads the specified network driver and protocols
grep                                   #searches for string patterns
more                                   #Display files on a page-by-page basis
cat                                      #Concatenate and print files
pci-bios								#PCI server

unlink_list={
/proc/boot/seedres
}

Any help would be appreciated,

James Harriman
v38zy@unb.ca

Do you have a PCI bus? Try starting slogger right at the start of your build file and then check the log with sloginfo after you attempt to run pci-bios.

After starting slogger I was able to determine that the pci-bios was not detecting a pci bus on my system…which is clearly an error. I updated to QNX 6.2 and my problem was solved. I booted the system successfully on the first try without any modification to my build file. I suppose that the problem must have been with the pci-bios server in the QNX 6.1 distribution.

Thanks to everyone for their help!

James Harriman
v38zy@unb.ca