network driver startup script problem

I had the following scripts in my rc.local:

io-net -d speedo -p tcpip
waitfor /dev/io-net/en0
mount -T io-net /lib/dll/ bind=en0
ifconfig en0 ...

But when the target started, it gave me the following error:
Unable to init dll devn-speedo: Resource busy

But after logged in, i retried “io-net -d speedo -p tcpip”, no problem then.



That would indicate that devn-speedo is busy for some reason.

Can you post your entire rc.local file as well as your boot image bld file.

I suspect something else in rc.local or your boot image is causing the io-net to get this error.


script for the rc.local:

io-net -d speedo -p tcpip -p qnet-compat bind=en0
waitfor /dev/io-net/en0
waitfor /dev/socket/1
ifconfig en0 ... netmask …
mount -o channel=11,network=mywork,mode=adhoc -T io-net
waitfor /dev/io-net/en1
ifconfig en1 ... netmask …

the target is a fully cd installed qnx6.3.2.

another problem: when i logged in, ran the rc.local, sometimes it could ran successfully. both the two network cards could work initially. but after i sent out several ping packets from my window host to the target, the orinoco wifi card on the target seemed failed, no ping response any more. however, if i only started the wireless network, then there would not be such problem.



I believe by default the full 6.3.2 CD automagically starts io-net via the QNX plug-n-play magic used to detect devices in the sysinit file (located in /etc/system).

So unless you are slaying that io-net you may be actually starting 2 versions of io-net which is likely your problem. You can test that by commenting out your io-net code in rc.local and seeing if io-net is still started.

If it is being autostarted, you can specifically slay io-net in your rc.local file right before you start it again with your specific commands.


thx, Tim. you got it. i added the slay io-net in my rc.local and the machine now worked properly.