Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1416 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs

  Absence d'interruptions sur ports série (select==timeout)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Absence d'interruptions sur ports série (select==timeout)

n°636776
kzimir
-
Posté le 15-02-2005 à 14:20:40  profilanswer
 

Bonjour,
 
Je développe une application qui contrôle divers hardware sous MDK 9.2 et j'ai depuis peu des problèmes sur mes ports série (ttyS0 et ttyUSB0, port série adapté sur un USB).
 
Jusqu'à ce que je fasse je ne sais quoi (enfin, il n'y a que moi qui touche à ce PC, je dois être dans le coup), je pouvais faire des "select" en lecture sur ces ports (en C), fonction qui -en gros- demande au driver de réveiller le processus lorsqu'une interruption intéressante est soulevée.
 
Bref, tout fonctionnait pour le mieux, mais tout d'un coup, mes select font des timeout et je n'arrive pas à en déterminer la cause. L'ouverture des ports est OK.
 
cat /proc/interrupts me donne :

Code :
  1. CPU0
  2.   0:      75127    IO-APIC-edge  timer
  3.   1:       2779    IO-APIC-edge  keyboard
  4.   2:          0          XT-PIC  cascade
  5.   5:          0   IO-APIC-level  usb-ohci, ehci_hcd
  6.   8:          1    IO-APIC-edge  rtc
  7.   9:        490   IO-APIC-level  usb-ohci, SiS SI7012, can_drv
  8. 11:       5213   IO-APIC-level  usb-ohci, Texas Instruments PCI1410 PC card Cardbus Controller, orinoco_cs
  9. 12:      30081    IO-APIC-edge  PS/2 Mouse
  10. 14:       9837    IO-APIC-edge  ide0
  11. NMI:          0
  12. LOC:      75081
  13. ERR:          0
  14. MIS:          0


 
Si j'ai bien compris, cat /proc/interrupts me donne les périphériques sur lesquels des IT ont été soulevées depuis le démarrage. Donc, là, rien sur l'irq4 (ttyS0).
 
cat /proc/tty/driver/serial me donne

Code :
  1. serinfo:1.0 driver:5.05c revision:2001-07-08
  2. 0: uart:16550A port:3F8 irq:4 tx:0 rx:0
  3. 1: uart:16550A port:2F8 irq:3 tx:0 rx:0


 
A priori, tout est là (les tx et rx sont normaux, c'est juste après reboot), mais faut-il vraiment s'y fier ? En polling et en read/write direct, ça marche, mais niveau fiabilité, c'est nul. Enfin, je précise que tout est OK dans le bios.
 
Si vous pouviez me mettre sur une piste, vous me tireriez une sacrée épine du pied.
 
Merci !

mood
Publicité
Posté le 15-02-2005 à 14:20:40  profilanswer
 

n°636858
kzimir
-
Posté le 15-02-2005 à 16:43:24  profilanswer
 

J'ajoute que setserial /dev/ttyS0 irq 4 ne change rien :/
 
Edit : je ne sais pas si ça veut dire quelque chose, mais si je fais cat /dev/ttyS0, le cat affiche quelques-unes des infos reçues puis quitte (retour à l'invite bash). Si je refais la manip, ça retourne immédiatement.


Message édité par kzimir le 15-02-2005 à 16:52:14
n°636875
kzimir
-
Posté le 15-02-2005 à 17:38:38  profilanswer
 

Un dernier up avant de partir du travail. D'après mes recherches google, c'est un problème assez fréquent, mais autant j'arrive à trouver des gens qui ont ce problème, autant je n'arrive pas à trouver de gens qui ont une réponse.
 
Est-ce qu'un conflit pourrait se manifester comme ça ? J'imagine que je verrais trop de monde sur l'IRQ4 plutôt que personne. Je précise au passage que mon port 3F8 est bien attribué à ttyS0(=tts/0) (de toute façon, j'arrive à lire/écrire dessus, mais pas à "selecter"...)
 
Dernière précision, les droits de ttyS0 sont r-x et ceux de ttS/0 sont rw-, il me semble que c'est normal.
 
Toute idée est bonne à prendre :)

n°636890
kzimir
-
Posté le 15-02-2005 à 17:56:22  profilanswer
 

Bon, dernière partie de mon monologue :o
 
En fait, si je fais cat /proc/interrupts *pendant* le fonctionnement de mon appli, je vois bien l'IT. Me voilà bien maitenant avec mon select qui ne marche pas et mes IT qui sont OK :o


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs

  Absence d'interruptions sur ports série (select==timeout)

 

Sujets relatifs
installation carte serieinstall crt serie SUN1889
urpmi --force --auto-select en cron[MDK10.1]Status de batterie sur un ASUS série M6N! help
S-ATA sous Debian Sid Kernel 2.6.8 : DMA Timeout !Erreur d'interruptions [Non résolu]
Cable serie PC (ou AMIGA) vers PX-8 EPSONDefinition des ports
ports usb en façadeurpmi --auto-select => Question
Plus de sujets relatifs à : Absence d'interruptions sur ports série (select==timeout)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR