cardbus and pci vendor ID's don't match in rtp 6.1

I have a Hawking PN672TX cardbus Ethernet card I am trying to mount in QNX
rtp 6.1.

The card is a re-packaged AboCom FE2500 card, which should be supported by
the tulip driver. Pin reports cardbus vendor id 0x13d1 and device id
0xab02, which is correct for the AboCom card. However, when the card is
mapped to the PCI bus, pci reports vendor 17b3h (Hawking) and device id
ab08h. I’m guessing that the cardbus and pci id’s all come from the card
itself and it is displaying multiple personalities. The tulip driver
aparently looks at the PCI values because it doesn’t recognize the card.

I tried spatch’ing the devn-tulip.so driver to replace the AboCom vendor and
device id values. The driver then found the card but wouldn’t initialize
the chipset (verbose output is below), so my patch seems insufficient.

Has anyone else had any success with one of these cards? Or does anyone
know of a way to remap or change the pci id’s for a device?


========== Output of pin cis ==========
Socket : 1 - Function : 0
Link Target : ‘CIS’
Manufacturer ID : 0x13d1 0xab02
PC Card function : Network LAN Adapter
POST : 0x1
Tuple 0x22 link=2 : 01 02
Tuple 0x22 link=5 : 02 80 96 98 00
Tuple 0x22 link=5 : 02 00 e1 f5 05
Tuple 0x22 link=2 : 03 01
Card tuple version : 5.00
Manufacturer : CardBus
Name of Product : Fast Ethernet
Add’nl info (lot #) : V1.0
Add’nl info (programming):
Tuple 0x04 link=6 : 03 01 2a 00 00 00
Tuple 0x07 link=6 : 11 00 00 01 00 00
Tuple 0x07 link=6 : 02 00 00 01 00 00
Tuple 0x07 link=6 : 07 00 00 02 00 00
Tuple 0x05 link=10 : 41 39 01 b5 1e 02 b0 fc
: fe 84
Link Target : ‘CIS’
Manufacturer ID : 0x13d1 0xab02
PC Card function : Network LAN Adapter
POST : 0x1
Tuple 0x22 link=2 : 01 02
Tuple 0x22 link=5 : 02 80 96 98 00
Tuple 0x22 link=5 : 02 00 e1 f5 05
Tuple 0x22 link=2 : 03 01
Card tuple version : 5.00
Manufacturer : CardBus
Name of Product : Fast Ethernet
Add’nl info (lot #) : V1.0
Add’nl info (programming):
Tuple 0x04 link=6 : 03 01 2a 00 00 00
Tuple 0x07 link=6 : 11 00 00 01 00 00
Tuple 0x07 link=6 : 02 00 00 01 00 00
Tuple 0x07 link=6 : 07 00 00 02 00 00
Tuple 0x05 link=10 : 41 39 01 b5 1e 02 b0 fc
: fe 84

======== Output of pci -v ============
PCI version = 2.10

Class = Network (Ethernet)
Vendor ID = 17b3h, Unknown
Device ID = ab08h, Unknown Unknown
PCI index = 0h
Class Codes = 020000h
Revision ID = 11h
Bus number = 1
Device number = 0
Function num = 0
Status Reg = 290h
Command Reg = 7h
I/O space access enabled
Memory space access enabled
Bus Master enabled
Special Cycle operations ignored
Memory Write and Invalidate disabled
Palette Snooping disabled
Parity Checking disabled
Data/Address stepping disabled
SERR# driver disabled
Fast back-to-back transactions to different agents disabled
Header type = 0h Single-function
BIST = 0h Build-in-self-test not supported
Latency Timer = 20h
Cache Line Size= 0h
PCI IO Address = 0h length 256 enabled
CardBus CIS Pointer = 202h
Subsystem Vendor ID = 17b3h
Subsystem ID = ab08h
Max Lat = 255ns
Min Gnt = 255ns
PCI Int Pin = INT A
Interrupt line = 7
Capabilities Pointer = c0h
Capability ID = 1h
Capabilities = fe02h - 0h
Device Dependent Registers:
0x40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x80: 17 13 81 09 00 00 00 00 00 00 00 00 00 00 00 00
0x90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xA0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xB0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xC0: 01 00 02 fe 00 00 00 00 00 00 00 00 00 00 00 00
0xD0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xE0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xF0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

========== Output from tulip driver ==========

io-net -dtulip verbose=3 -ptcpip

tulip CLI Arguments: verbose=3 multicast=true
tulip: scanning for Vendor=0x1011 Device=0x0002
tulip: scanning for Vendor=0x1011 Device=0x0008
tulip: scanning for Vendor=0x1011 Device=0x0009
tulip: scanning for Vendor=0x1011 Device=0x0014
tulip: scanning for Vendor=0x1011 Device=0x0019
tulip: scanning for Vendor=0x8086 Device=0x0039
tulip: scanning for Vendor=0x11ad Device=0x0002
tulip: scanning for Vendor=0x11ad Device=0x0168
tulip: scanning for Vendor=0x1317 Device=0x0985
tulip: scanning for Vendor=0x1317 Device=0x0981
tulip: scanning for Vendor=0x10d9 Device=0x0531
tulip: scanning for Vendor=0x115d Device=0x0003
tulip: scanning for Vendor=0x13d1 Device=0xab02
unable to init dll devn-tulip: No such device

========== Output from modified tulip driver ==========

io-net -dtulip verbose=3 -ptcpip

tulip CLI Arguments: verbose=3 multicast=true
tulip: scanning for Vendor=0x1011 Device=0x0002
tulip: scanning for Vendor=0x1011 Device=0x0008
tulip: scanning for Vendor=0x1011 Device=0x0009
tulip: scanning for Vendor=0x1011 Device=0x0014
tulip: scanning for Vendor=0x1011 Device=0x0019
tulip: scanning for Vendor=0x8086 Device=0x0039
tulip: scanning for Vendor=0x11ad Device=0x0002
tulip: scanning for Vendor=0x11ad Device=0x0168
tulip: scanning for Vendor=0x1317 Device=0x0985
tulip: scanning for Vendor=0x1317 Device=0x0981
tulip: scanning for Vendor=0x10d9 Device=0x0531
tulip: scanning for Vendor=0x115d Device=0x0003
tulip: scanning for Vendor=0x17b3 Device=0xab08
tulip: RegisterDeviceInstance(nic=0x8056a54, ion=0x8055780)
tulip Hardware Config: Vendor=0x17b3 Device=0xab08 chipset=0
unable to init dll devn-tulip: No such device

neo.anderson@remove.nospam.excite.com sed in <aifr9o$bbu$1@inn.qnx.com>

The card is a re-packaged AboCom FE2500 card, which should be supported by
the tulip driver. Pin reports cardbus vendor id 0x13d1 and device id
0xab02, which is correct for the AboCom card. However, when the card is
mapped to the PCI bus, pci reports vendor 17b3h (Hawking) and device id
ab08h. I’m guessing that the cardbus and pci id’s all come from the card

I have Planex FNW-3602-TX which is also FE2500 OEM which won’t work.

In ideal world,
devn-tulip.so chipset=2500,vid=0x17b3,did=0xab08,verbose=10
should work, but won’t. (Bug?)
I guess devn-tulip hardcodes (vid,did)->chipset mapping and never
uses chipset= option.

Just patching the vid,did scantable doesn’t work.
You may have to spatch it more heavily, which seems to be nontrivial.

kabe