PC104 pcmcia ethernet card + 82557 adapter = qnet problem...

I’m trying to connect pc104 (pcmcia ethernet adapter) system and Toshiba notebook (82557 adapter) with qnet.
On pc104:
pcmciatrap start
Net &
Net.ether1000 -p320 -l1 &
netmap -f
On Toshiba notebook:
nettrap start
After it qnet works well, but sometimes Toshiba “sleeps” and i get the message “no route to host”. At the same time pc104 system works fine.
To resolve this problem i have to
slay Net
nettrap start &
again on Toshiba.
Connection fails either when i try to debug my pogram remotely from toshiba on host pc104 system (something like this: wd //1/pcm/my_program, while tosiba’s node is //2).
There was an idea that 82557 adapter is 100 mbit and pcmcia ethernet adapter is 10 mbit - conflict. But trying Net.82557 -s10 didn’t take any effect. Should i try a 100 mbit pcmcia card or any parameters with Net.* drivers?

Are you sure the PC104 system is using the right interrupt?

I used different irqs, ioports - no effect.

In the example above you are not specifiying which interrupt the card is using when you start the driver. In my experience autodetect of interrupt with Net.ether1000 rarely works.

pin config gives irqs: 5,9,10,11,12,14,15.
5, 10 and 15 are used by my application.
Interrupt autodetection happens when Pcmcia.generic is starting. pin gives something like this
ioport irq size
NE2000 340 11 32
I edited enabled irqs for my card in pcmcia.cards file and Pcmcia.generic detected another irqs from the list. A little bit better work was achieved with irq 9. But it is still a problem.

Yes Pcmcia.generic will assign an IRQ, 11 as you say. But the Net.ether1000 doesn’t know about that, it’s not PCMCIA aware as far as I know. Usuallly Net.ether1000 would be started by Pcmcia.Launch and be passed on the proper IRQ and PORT setting.

Post the output of sin irq or netinfo -l that will indicate to which interrupt the driver is hooked to, and is probably NOT interrupt 11.

I do not know if this will help much, but this is from an old rc.local file from one of my machines which is no longer in use :

1st try :
/usr/sbin/pccard-launch -vvv ‘0x0601,io-net -l0 -del589 ioport=0x$IOPORT,irq=$IRQ’ & (these two lines are actually one line, separated here by a forced line return, there’s a BLANK between the “9” and the “i”

2nd try :
echo slay pccard enumerator and driver
slay enum-pccard
slay devp-pccard
echo start devp-pccard
/sbin/devp-pccard -w8,8 -v &
echo sleep 5
sleep 5
echo start enum-pccard
/sbin/enum-pccard &
echo sleep 5
sleep 5
echo slay io-net
slay io-net
echo io-net el589
/sbin/io-net -d el589 ioport=0x300,irq=3 -p tcpip -v &
echo sleep 5
sleep 5
echo ifconfig en0
/sbin/ifconfig en0 netmask up

the “irq” number I got from a single executed “enum-pccard”

I only dimly remember that either one of these helped in a quite similar problem, of course this was for a 3com 589 PCMICA card. they are still very often offered at eBay these times, for around 10 $ approx.

good luck !

ouch, that hurts !

sorry for the confusion, I just noticed that you were talking about QNX v4.
starting the PCMCIA nic in QNX v4 for me goes like this :
PcmciaLaunch -v ‘0x601,Net.ether82595 -l1 -p$IOPORT -i$IRQ -m000580807A32’ &

but I guess this is no secret … :slight_smile:

regards HELGE

Yes, we are talking about qnx4.25.
And I dont use Pcmcia.launch.

pin gives
Sock Win Type Flags PID Base Size IRQ Base Size DMA
1 0 Network C—I-±-------- None 0x340 32 9
2 0 ATA C—I-±-------W None 0x320 32 14

pcmcia.cards file settings
; socket 1
manufacturer = “PCMCIA”
product = “Ethernet Combo card”
info1 = “970130”
info2 = “Rev.F”
regbase = 0x3f8
config = 0x22, 0x0601, irq 9, io 0x340-0x35f
register = 0, 0x40, 0x40 ; level mode interrupts

sin irqs gives
-1 15 //1/bin/Dev32 0005:005760 000D
-1 19 //1/bin/Dev32.ser 0005:0024FC 000D
-1 42 //1/bin/Net 0015:004DF0 001D
-1 158 //2/bin/Dev32.ansi 0005:005DC0 000D
0 1 sys/Proc32 00F0:005000 00F8
0 42 //1/bin/Net 0015:004EC0 001D
1 47 //1/usr/bin/kbdswitch 0005:00A010 000D
3 19 //1/bin/Dev32.ser 0005:00177C 000D
4 19 //1/bin/Dev32.ser 0005:0017A4 000D
5 21 //1/bin/Pcmcia.generic 0005:0074D8 000D
9 42 //1/bin/Net 0015:0043D0 001D
13 1 sys/Proc32 00F0:004FC0 00F8
14 34 //1/bin/Fsys.vpm50 0005:000C2C 000D

so 9-th irq that autodetected by Pcmcia.generic is used by Net.

By the way there is an update version of all the PCMCIA stuff under QNX4 (with the same name as QNX6).

It’s much improved and support 32 bit cards. You should give that a try.