Project Home
Project Home
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - Dev32.ser - System freezes (shared IRQs issue?): (8 Items)
   
Dev32.ser - System freezes (shared IRQs issue?)  
Hi all,

In an embedded system (running QNX 4.25), I replaced the old Kontron CPU by an ADLINK cPCI-3615D. This systems needs 
several external  multi-serial boards on the cPCI bus (3x 8 ports - Tenta SCOM-0801).

I'm now facing problems when I launch the Dev32.ser driver for the tenta boards. I noticed that it crashes if the IRQ is
 already used, but maybe It's just a coincidence...

My previous CPU was allocating the IRQs on the full available range (1 to 15). With this CPU I was able to set up 24 
serial ports using Dev32.ser, by blocks of 4 or 8, sometimes sharing IRQs with /Net without problem. 

The new Adlink  assigns  only a few  IRQ, and  shared. I have found a slot configuration using a single tenta board 
(with other I/O boards) where the tenta board have an IRQ for its own ant it works correctly. If I add an other serial 
card which shares an IRQ with /Net or pg.i830, system hangs when launching Dev32.ser for this board.

Does anyone have an opinion on this issue?

Thanks a lot for your help.

Patrick
Re: Dev32.ser - System freezes (shared IRQs issue?)  
Hi Patrick,

Tell us more technical details about the issue. Which QNX 4 version do you use? What is Dev32.ser version? Also attach 
output of following commands:

show_pci -vvv
sin arg
sin ver
sin irq

How do you launch Dev32.ser driver? Can you reproduce the issue without launching network or/and graphics drivers?

Respectfully,
Oleg

2 сент. 2015 г., в 18:37:01, Patrick JAUSSAUD <community-noreply@qnx.com> написал:

> Hi all,
> 
> In an embedded system (running QNX 4.25), I replaced the old Kontron CPU by an ADLINK cPCI-3615D. This systems needs 
several external  multi-serial boards on the cPCI bus (3x 8 ports - Tenta SCOM-0801).
> 
> I'm now facing problems when I launch the Dev32.ser driver for the tenta boards. I noticed that it crashes if the IRQ 
is already used, but maybe It's just a coincidence...
> 
> My previous CPU was allocating the IRQs on the full available range (1 to 15). With this CPU I was able to set up 24 
serial ports using Dev32.ser, by blocks of 4 or 8, sometimes sharing IRQs with /Net without problem. 
> 
> The new Adlink  assigns  only a few  IRQ, and  shared. I have found a slot configuration using a single tenta board 
(with other I/O boards) where the tenta board have an IRQ for its own ant it works correctly. If I add an other serial 
card which shares an IRQ with /Net or pg.i830, system hangs when launching Dev32.ser for this board.
> 
> Does anyone have an opinion on this issue?
> 
> Thanks a lot for your help.
> 
> Patrick
> 
> 
> 
> _______________________________________________
> 
> General
> http://community.qnx.com/sf/go/post114402
> To cancel your subscription to this discussion, please e-mail general-qnx4-unsubscribe@community.qnx.com

Re: Dev32.ser - System freezes (shared IRQs issue?)  
Hi Oleg,

You'll find attached the results of the commands you asked and also the commands I launch for the Dev32.ser driver. 

As you told me, I tried to disable the network an graphics driver at startup.
In this situation sin irq gives something like:

 RQ   PID  PROGRAM                    CS:IP      DS
 -1    18     //1/bin/Dev32            0005:005760 000D
 -1    31     //1/bin/Dev32.ansi     0005:005DC0 000D
  0    1       /boot/sys/Proc32       00F0:004D83 00F8
  1    31     //1/bin/Dev32.ansi     0005:00690C 000D
  6    5       /bin/Fsys.atapi          0005:00B03E 000D
  13  1       /boot/sys/Proc32       00F0:004D47 00F8

Show_pci tells me that my tenta cards use IRQ 4, 5 and 6.

If I launch the Dev32.ser driver for the ones with IRQ 4 and 5, its OK. 
Then, if I start the pg.i830 (IRQ4) driver, system hangs.
When I launch the Dev32.ser driver for the board with IRQ 6, it freezes too (Fsys.atapi = IRQ6).

Concerning the Ethernet driver (Net.e1000) using IRQ 5:
If I start the Dev32.ser with IRQ 5 and after, I start the Net.e1000 (with IRQ 5 too), its seems to work correctly.
If I do the reverse operation, Net.e1000 first and then Dev32.ser, system hangs...

Thanks for your help
Patrick
Attachment: Text sin_ver.txt 1.13 KB Text sin_arg.txt 1.17 KB Text sin_irqs.txt 809 bytes Text show_pci.txt 39.43 KB Text Dev32.ser_setup.txt 349 bytes
Re: Dev32.ser - System freezes (shared IRQs issue?)  
Hi Patrick,

How did you decide which ports and irqs specify to serial driver? Why do you use ports from 1601h:a801h device? I didn’
t find quite detailed specification for Tenta SCOM-0801, but I guess it’s incorrect to specify PCI bridge I/O ports to 
Dev32.ser driver. 

I guess that according to your show_pci output you should use following port,irq pairs for first board:

b800,4 b808,4 b810,4 b818,4 b880,4 b888,4 b890,4 b898,4

for second board:

c080,5 c088,5 c090,5 c098,5 c400,5 c408,5 c410,5 c418,5

for third board:

c880,6 c888,6 c890,6 c898,6 cc00,6 cc08,6 cc10,6 cc18,6

Can you test my suggestion?

Respectfully,
Oleg

3 сент. 2015 г., в 17:47:36, Patrick JAUSSAUD <community-noreply@qnx.com> написал:

> Hi Oleg,
> 
> You'll find attached the results of the commands you asked and also the commands I launch for the Dev32.ser driver. 
> 
> As you told me, I tried to disable the network an graphics driver at startup.
> In this situation sin irq gives something like:
> 
> RQ   PID  PROGRAM                    CS:IP      DS
> -1    18     //1/bin/Dev32            0005:005760 000D
> -1    31     //1/bin/Dev32.ansi     0005:005DC0 000D
>  0    1       /boot/sys/Proc32       00F0:004D83 00F8
>  1    31     //1/bin/Dev32.ansi     0005:00690C 000D
>  6    5       /bin/Fsys.atapi          0005:00B03E 000D
>  13  1       /boot/sys/Proc32       00F0:004D47 00F8
> 
> Show_pci tells me that my tenta cards use IRQ 4, 5 and 6.
> 
> If I launch the Dev32.ser driver for the ones with IRQ 4 and 5, its OK. 
> Then, if I start the pg.i830 (IRQ4) driver, system hangs.
> When I launch the Dev32.ser driver for the board with IRQ 6, it freezes too (Fsys.atapi = IRQ6).
> 
> Concerning the Ethernet driver (Net.e1000) using IRQ 5:
> If I start the Dev32.ser with IRQ 5 and after, I start the Net.e1000 (with IRQ 5 too), its seems to work correctly.
> If I do the reverse operation, Net.e1000 first and then Dev32.ser, system hangs...
> 
> Thanks for your help
> Patrick
> 
> 
> 
> 
> _______________________________________________
> 
> General
> http://community.qnx.com/sf/go/post114407
> To cancel your subscription to this discussion, please e-mail general-qnx4-unsubscribe@community.qnx.com
> <sin_ver.txt><sin_arg.txt><sin_irqs.txt><show_pci.txt><Dev32.ser_setup.txt>

Re: Dev32.ser - System freezes (shared IRQs issue?)  
Hi Oleg,

To decide which ports and IRQs to specify to serial driver, I have an utility software that detects tenta boards and 
generates the correct syntax for the driver (I don't have the source code of this exe).
Anyway, I tested what you propose and the result is the same. Even if I just launch the driver on the first 4 ports with
 1601h:a800h, it freezes if the IRQ is used by something else.

Actually, the tenta board has two OX16PCI954 quad UARTS (see datasheet attached). The first is associated with the PCI 
bridge (1601:a801h I guess).

I tested again with my old CPU and it confirms that this way of allocating the base addresses and IRQs works correctly. 
I attach  the results of the show-pci and sin commands on the old CPU.

Kind regards.

Patrick
Attachment: Text sin_ver_old_cpu.txt 1.47 KB PDF ox16pci954ds.pdf 656.55 KB PDF tentaSCOM-080Xman.pdf 140.73 KB Text sin_arg_old_cpu.txt 1.98 KB Text sin_irq_old_cpu.txt 1.42 KB Text show_pci_old_cpu.txt 34.67 KB Text tenta_setup.txt 422 bytes
Re: Dev32.ser - System freezes (shared IRQs issue?)  
Hi Patrick,

Try the attached Dev.ser driver. This version should works better in case of shared IRQs.

$ cksum Dev.ser_20150922.tar 
3900819030 31744 Dev.ser_20150922.tar

Respectfully,
Oleg

17 сент. 2015 г., в 15:54:29, Patrick JAUSSAUD <community-noreply@qnx.com> написал:

> Hi Oleg,
> 
> To decide which ports and IRQs to specify to serial driver, I have an utility software that detects tenta boards and 
generates the correct syntax for the driver (I don't have the source code of this exe).
> Anyway, I tested what you propose and the result is the same. Even if I just launch the driver on the first 4 ports 
with 1601h:a800h, it freezes if the IRQ is used by something else.
> 
> Actually, the tenta board has two OX16PCI954 quad UARTS (see datasheet attached). The first is associated with the PCI
 bridge (1601:a801h I guess).
> 
> I tested again with my old CPU and it confirms that this way of allocating the base addresses and IRQs works correctly
. I attach  the results of the show-pci and sin commands on the old CPU.
> 
> Kind regards.
> 
> Patrick
> 
> 
> 
> 
> _______________________________________________
> 
> General
> http://community.qnx.com/sf/go/post114458
> To cancel your subscription to this discussion, please e-mail general-qnx4-unsubscribe@community.qnx.com
> <sin_ver_old_cpu.txt><ox16pci954ds.pdf><tentaSCOM-080Xman.pdf><sin_arg_old_cpu.txt><sin_irq_old_cpu.txt><
show_pci_old_cpu.txt><tenta_setup.txt>
Attachment: Compressed file Dev.ser_20150922.tar 31 KB
Re: Dev32.ser - System freezes (shared IRQs issue?)  
Hi Oleg,

I've tried the Dev.ser you sent and it seems to work correctly now.
Thanks a lot!

Are there any differences with the "official" Dev32.ser?

Kind regards.
Patrick
Re: Dev32.ser - System freezes (shared IRQs issue?)  
Hi Patrick,

This is more recent version that improves work with shared interrupts + small updates.

Respectfully,
Oleg

25 сент. 2015 г., в 17:00:28, Patrick JAUSSAUD <community-noreply@qnx.com> написал:

> Hi Oleg,
> 
> I've tried the Dev.ser you sent and it seems to work correctly now.
> Thanks a lot!
> 
> Are there any differences with the "official" Dev32.ser?
> 
> Kind regards.
> Patrick
> 
> 
> 
> _______________________________________________
> 
> General
> http://community.qnx.com/sf/go/post114525
> To cancel your subscription to this discussion, please e-mail general-qnx4-unsubscribe@community.qnx.com