Problem with 3Com and DLink network card

Hello everybody,

I’ve just installed QNX. ‘uname -a’ gives me this :
QNX localhost 6.2.1 2003/01/18-02:12:22est x86pc x86

So, everything works great, and I’m pleased with this OS,
except one problem : I can’t get the network to work.
I tried to search all this forum and also on the net to find
the answer, but to no avail…

I’ve got an integrated 3Com 3C940 (on the Asus P4P800
motherboard) and a D-Link DFE-530TX.

The 3Com is connected to my ethernet ADSL modem, and
the D-Link to my local network. Both work great on Debian
Linux and Windows 2000. The last one uses the via-rhine
driver on linux.

I tried the usual :
'# slay io-net

io-net -d ne2000 -p tcpip’

and also tried with other modules, but it never works, when
I check with ‘ifconfig -l’ it only shows lo0.

Am I doing something wrong, or is it that my cards aren’t
currently recognized ?

Thanks for you help. Here is the interesting part of ‘pci -v’ :


Class = Network (Ethernet)
Vendor ID = 10b7h, 3Com Corporation
Device ID = 1700h, Unknown Unknown
PCI index = 0h
Class Codes = 020000h
Revision ID = 12h
Bus number = 2
Device number = 5
Function num = 0
Status Reg = 2b0h
Command Reg = 117h
Header type = 0h Single-function
BIST = 0h Build-in-self-test not supported
Latency Timer = 40h
Cache Line Size= 4h un-cacheable
PCI Mem Address = feaf8000h 32bit length 16384 enabled
PCI IO Address = d800h length 256 enabled
Subsystem Vendor ID = 1043h
Subsystem ID = 80ebh
Max Lat = 31ns
Min Gnt = 23ns
PCI Int Pin = INT A
Interrupt line = 10
Capabilities Pointer = 48h
Capability ID = 1h
Capabilities = fe02h - c00ae00h
Capability ID = 3h
Capabilities = 8000h - 0h

Class = Network (Ethernet)
Vendor ID = 1106h, VIA Technologies Inc
Device ID = 3106h, Unknown Unknown
PCI index = 0h
Class Codes = 020000h
Revision ID = 86h
Bus number = 2
Device number = 12
Function num = 0
Status Reg = 210h
Command Reg = 117h
Header type = 0h Single-function
BIST = 0h Build-in-self-test not supported
Latency Timer = 40h
Cache Line Size= 4h un-cacheable
PCI IO Address = d400h length 256 enabled
PCI Mem Address = feaff400h 32bit length 256 enabled
Subsystem Vendor ID = 1186h
Subsystem ID = 1403h
PCI Expansion ROM = feae0000h length 65536 disabled
Max Lat = 8ns
Min Gnt = 3ns
PCI Int Pin = INT A
Interrupt line = 10
Capabilities Pointer = 40h
Capability ID = 1h
Capabilities = fe02h - 0h

I’ve got an integrated 3Com 3C940 (on the Asus P4P800
motherboard) and a D-Link DFE-530TX.


Class = Network (Ethernet)
Vendor ID = 10b7h, 3Com Corporation
Device ID = 1700h, Unknown Unknown
PCI index = 0h



Class = Network (Ethernet)
Vendor ID = 1106h, VIA Technologies Inc
Device ID = 3106h, Unknown Unknown
PCI index = 0h

So, based on this information I would try…

slay -f io-net
io-net -d el900 did=0x1700,vid=0x10b7 -d via-rhine did=0x3106,vid=0x1106 …

They may or may not work since we probably have never seen those devices
in house (our they would have been auto-detected). But it is certainly
worth a shot.

chris


Chris McKillop <cdm@qnx.com> “The faster I go, the behinder I get.”
Software Engineer, QSSL – Lewis Carroll –
http://qnx.wox.org/

Thanks for your answer.

For my D-Link DFE-530TX, I had already tried
‘io-net -dvia-rhine -ptcpip &’.

It didn’t work. I succeeded a little while after my post : I had to
type ‘io-net -d via-rhine vid=0x1106,did=0x3106 -p tcpip’.

It seems that the 3Com 3C940 is not supported by QNX, and
that the only gigabit one supported is from Intel. But I’ve seen that
it is possible to port Linux network drivers to QNX. Any hint on
how to do this ?

Thanks.



I’ve got an integrated 3Com 3C940 (on the Asus P4P800
motherboard) and a D-Link DFE-530TX.


Class = Network (Ethernet)
Vendor ID = 10b7h, 3Com Corporation
Device ID = 1700h, Unknown Unknown
PCI index = 0h


Class = Network (Ethernet)
Vendor ID = 1106h, VIA Technologies Inc
Device ID = 3106h, Unknown Unknown
PCI index = 0h


So, based on this information I would try…

slay -f io-net
io-net -d el900 did=0x1700,vid=0x10b7 -d via-rhine did=0x3106,vid=0x1106

They may or may not work since we probably have never seen those devices
in house (our they would have been auto-detected). But it is certainly
worth a shot.

chris


Chris McKillop <> cdm@qnx.com> > “The faster I go, the behinder I get.”
Software Engineer, QSSL – Lewis Carroll –
http://qnx.wox.org/

Here’s what I get following your suggestion, and also trying
the compatible NE2000 driver. What does this mean ?
And if I was to write a driver for my card, would it be
better to start from the el900 driver, or port a Linux driver ?
Thanks for your answer.

slay -f io-net

io-net -d el900 did=0x1700,vid=0x10b7

unable to init dll devn-el900: No such device

slay -f io-net

io-net -d ne2000 did=0x1700,vid=0x10b7

ifconfig en0

ifconfig: socket: Address family not supported by protocol family

slay -f io-net

io-net -d ne2000 did=0x1700,vid=0x10b7 -p tcpip

ifconfig en0

ifconfig: SIOCGIFFLAGS en0: No such device or address


I’ve got an integrated 3Com 3C940 (on the Asus P4P800
motherboard) and a D-Link DFE-530TX.


Class = Network (Ethernet)
Vendor ID = 10b7h, 3Com Corporation
Device ID = 1700h, Unknown Unknown
PCI index = 0h


Class = Network (Ethernet)
Vendor ID = 1106h, VIA Technologies Inc
Device ID = 3106h, Unknown Unknown
PCI index = 0h


So, based on this information I would try…

slay -f io-net
io-net -d el900 did=0x1700,vid=0x10b7 -d via-rhine did=0x3106,vid=0x1106

They may or may not work since we probably have never seen those devices
in house (our they would have been auto-detected). But it is certainly
worth a shot.

chris


Chris McKillop <> cdm@qnx.com> > “The faster I go, the behinder I get.”
Software Engineer, QSSL – Lewis Carroll –
http://qnx.wox.org/

Here’s what I get following your suggestion, and also trying
the compatible NE2000 driver. What does this mean ?
And if I was to write a driver for my card, would it be
better to start from the el900 driver, or port a Linux driver ?
Thanks for your answer.

You can’t just go using the ne2000 driver on non-ne2K devices, it doesn’t
work that way. :slight_smile: If the el900 driver doesn’t support the device then
you will have to start with the Linux driver, the el900 does not come in
source form.

chris


Chris McKillop <cdm@qnx.com> “The faster I go, the behinder I get.”
Software Engineer, QSSL – Lewis Carroll –
http://qnx.wox.org/