I ran into the same problem. The trouble is that netmanager is run at the
end of the “net” file (because of the dependencies within), and enum-devices
processes the files in the order in which they occur in the directory (not
sorted order).
There are a couple of solutions:
-
Add the entries from your two files to /etc/system/enum/devices/net,
somewhere well above the end where netmanager is loaded.
-
Force the files to be in the directory in the correct order, e.g.:
cd /etc/system/enum/devices
mv pci-vendors.broadcom net.broadcom net /root
cd /root
mv pci-vendors.broadcom net.broadcom net /etc/system/enum/devices
This way, your Broadcom files will load before the “net” files, so when
netmanager runs, your driver will already be loaded.
(Note: this solution is very ugly and, while it may work for a q&d test,
it’s probably not a good idea for a real, production system since it would
never occur to anyone that the placement of files in the directory is
critical!)
-
Put your Broadcom files into /etc/system/enum/include, just because it
happens to be processed first (by /etc/system/enum/common) before the
“devices” files. Alternatively, you could modify /etc/system/enum/common to
include your Broadcom files in some directory before searching
/etc/system/enum/devices.
By the way, the provision in rc.devices to load an “oem” directory, doesn’t
solve the problem because it runs enum-devices with the oem directory
specified after the default directory. Unfortunate.
Perhaps the QNX gurus have a more elegant solution…
Good luck,
lew
“Johan Björk” <phearbear@home.se> wrote in message
news:btqip7$vf$1@inn.qnx.com…
Hi everyone!
I’m having some problem with the autostarting of my driver, I’ve created
the attached files in /etc/system/enum/devices resp
/etc/system/enum/include.
Everything works fine and the driver is started, but I get this error at
bootup:
“netmanager error: Could not open socket: Address family not supported
by protocol family”
As I said the driver is started fine, but it won’t get it’s IP address
etc, if I run netmanager -ren0 after I logged in, everything works.
Any ideas on how to fix this would be appriciated!
/Johan Björk
Definitions for Broadcom 4400 PCI Vendor
all
set(PCI_VEND_BROADCOM,14e4)
#Broadcom 440X
device(pci, ven=$(PCI_VEND_BROADCOM), dev=4401)
tag(devn)
append(legacy, “,nonet”)
requires($(IONET_CMD),)
uniq(netnum, devn-en, 0)
mount(-Tio-net “-opci=$(index)” /lib/dll/devn-bcm4400.so,
“/dev/io-net/en$(netnum)”)
use(symbolic=netmgr)