Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Carte multi-io RS et erreurs de transmissions

9 réponses
Avatar
Thomas Nemeth
Bonjour,

Je dois utiliser une carte multi-io (SUNIX PCI 4 ports RS485). Les ports
à 4 adresses IO différentes sont gérés par l'IRQ 17 (avec un APIC
récent évidemment).

Voici la config :

[root@localhost root]# grep -A 3 Serial /proc/pci
Serial controller: Timedia Technology Co Ltd PCI2S550 (Dual 16550
UART) (rev 1).
IRQ 17.
I/O at 0x1840 [0x185f].
I/O at 0x1860 [0x186f].

[root@localhost root]# cat /proc/tty/driver/serial
serinfo:1.0 driver:5.1-alpha revision:2004-01-01
0: uart:16550A port:3F8 irq:4 tx:0 rx:0
1: uart:16550A port:2F8 irq:3 tx:0 rx:0
4: uart:16550A port:1840 irq:17 baud:9600 tx:7654 rx:365 brk:203 RI
5: uart:16550A port:1848 irq:17 baud:9600 tx:39 rx:2661 brk:5 RI
6: uart:16550A port:1860 irq:17 baud:9600 tx:91 rx:48 brk:45 RI
7: uart:16550A port:1868 irq:17 baud:9600 tx:39 rx:42 brk:40 RI


setserial me retourne une configuration correcte :

[root@localhost root]# for i in 4 5 6 7; do setserial /dev/ttyS$i -a ; done
/dev/ttyS4, Line 4, UART: 16550A, Port: 0x1840, IRQ: 17
Baud_base: 921600, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal skip_test

/dev/ttyS5, Line 5, UART: 16550A, Port: 0x1848, IRQ: 17
Baud_base: 921600, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal skip_test

/dev/ttyS6, Line 6, UART: 16550A, Port: 0x1860, IRQ: 17
Baud_base: 921600, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal skip_test

/dev/ttyS7, Line 7, UART: 16550A, Port: 0x1868, IRQ: 17
Baud_base: 921600, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal skip_test


Or, lorsque j'utilise minicom dessus avec un cable croisé et que
j'essaie de transférer un fichier d'un port à l'autre (histoire
de simuler une connexion), j'ai des problèmes de transmissions
plutôt étranges :

ttyS4 <-> ttyS5 : transmission ok
ttyS6 <-> ttyS7 : transmission ok
ttyS4 <-> ttyS6 : impossible de transmettre
ttyS4 <-> ttyS7 : impossible de transmettre
ttyS5 <-> ttyS6 : impossible de transmettre
ttyS5 <-> ttyS7 : impossible de transmettre

Il n'y a aucun message d'erreur dans les logs tant de minicom que
du noyau. Je ne comprend pas ce qui se passe. Je subodore un pb de
partage de ressources sur la carte, mais comment le tracer ?

Un strace sur minicom ne donne rien de probant.

Y a-t-il un moyen de déboguer le bazard ?

Le man de setserial parle de l'option set_multiport, mais la
configuration de cette option est des plus obscure et je ne sais
pas si elle est la plus adaptée à ce cas de figure :

Certain multiport serial boards which share multiple ports
on a single IRQ use one or more ports to indicate whether
or not there are any pending ports which need to be ser­
viced. If your multiport board supports these ports, you
should make use of them to avoid potential lockups if the
interrupt gets lost.

Je ne sais pas si cette carte supporte ces fameux ports
supplémentaires ni où trouver ces informations et l'option
get_multiport ne retourne que des valeurs nulles.

Si quelqu'un pouvait m'aguiller, ça me sortirait une grosse épine
du pied...


Thomas
--
«En fait, le but de la fission de fcol etais de creer encore plus de
trafic sur usenet car les newbies postent de toutes facons sur tous les
groupes avec linux dedans.»
-+- MA in Guide du linuxien pervers - "De la linuxitude..." -+-

--
Pour contacter l'équipe de modération : moderateurs-fcolm@efrei.fr
ATTENTION: Postez DIRECTEMENT vos articles dans le groupe, PAS dans
la liste de distribution des modérateurs.

9 réponses

Avatar
Bob qui Trolle
Thomas Nemeth wrote:
Bonjour,

Je dois utiliser une carte multi-io (SUNIX PCI 4 ports RS485). Les ports
à 4 adresses IO différentes sont gérés par l'IRQ 17 (avec un APIC
récent évidemment).

Or, lorsque j'utilise minicom dessus avec un cable croisé et que
j'essaie de transférer un fichier d'un port à l'autre (histoire
de simuler une connexion), j'ai des problèmes de transmissions
plutôt étranges :

ttyS4 <-> ttyS5 : transmission ok
ttyS6 <-> ttyS7 : transmission ok
ttyS4 <-> ttyS6 : impossible de transmettre
ttyS4 <-> ttyS7 : impossible de transmettre
ttyS5 <-> ttyS6 : impossible de transmettre
ttyS5 <-> ttyS7 : impossible de transmettre

Il n'y a aucun message d'erreur dans les logs tant de minicom que
du noyau. Je ne comprend pas ce qui se passe. Je subodore un pb de
partage de ressources sur la carte, mais comment le tracer ?

Si quelqu'un pouvait m'aguiller, ça me sortirait une grosse épine
du pied...



Je ne sais pas si ça a un rapport, mais si tu fais appel à un contrôle
de flux matériel DTR/DSR pour tes transmissions, Linux ne connait pas ce
protocole :

http://www.freenix.fr/unix/linux/HOWTO/Text-Terminal-HOWTO-10.html

En général, ce proto est utilisé par de vieilles imprimantes (caisses
enregistreuses, imprimantes bancaires, etc.)

http://groups.google.fr/groups?q=DTR+DSR+group:fr.comp.os.linux.moderated&hl=fr&lr=&selmze96073.0211201148.4331c626%40posting.google.com&rnum=1

--
Pour contacter l'équipe de modération :
ATTENTION: Postez DIRECTEMENT vos articles dans le groupe, PAS dans
la liste de distribution des modérateurs.
Avatar
Thomas Nemeth
Le mar 14 déc 2004 à 08:27, Bob qui Trolle a tapoté :
| Thomas Nemeth wrote:
| >
[...]
| > ttyS4 <-> ttyS5 : transmission ok
| > ttyS6 <-> ttyS7 : transmission ok
| > ttyS4 <-> ttyS6 : impossible de transmettre
| > ttyS4 <-> ttyS7 : impossible de transmettre
| > ttyS5 <-> ttyS6 : impossible de transmettre
| > ttyS5 <-> ttyS7 : impossible de transmettre
| >
| > Il n'y a aucun message d'erreur dans les logs tant de minicom que
| > du noyau. Je ne comprend pas ce qui se passe. Je subodore un pb de
| > partage de ressources sur la carte, mais comment le tracer ?
| >
| > Si quelqu'un pouvait m'aguiller, ça me sortirait une grosse épine
| > du pied...
|
| Je ne sais pas si ça a un rapport, mais si tu fais appel à un contrôle
| de flux matériel DTR/DSR pour tes transmissions, Linux ne connait pas ce
| protocole :

Il n'y a pas de contrôle de flux matériel... Avec quelques
collègues, on penche pour une mauvaise lecture des registres lors
de la survenue d'une IRQ et qu'il y a à la fois une donnée en
émission et une en réception.

À ce moment, il est possible que l'option de setserial dont j'ai
parlé dans mon post précédent puisse être utile, mais sans connaître
les données à utiliser, c'est peine perdue.

C'est mon patron qui va encore être content : « tu vois, avec
windows, au moins ça marche ». Je le sens venir d'ici :(


Thomas
--
Ça a été pensé pour ma copine qui faisait sa thèse et qui n'aimait
pas la ligne de commande, mais que j'ai forcé à utiliser LaTeX
(et ça lui a plu).
-+- TN in GFA : "Trollez couvert, madame vous le rendra." -+-

--
Pour contacter l'équipe de modération :
ATTENTION: Postez DIRECTEMENT vos articles dans le groupe, PAS dans
la liste de distribution des modérateurs.
Avatar
Bob qui Trolle
Thomas Nemeth wrote:

Il n'y a pas de contrôle de flux matériel... Avec quelques
collègues, on penche pour une mauvaise lecture des registres lors
de la survenue d'une IRQ et qu'il y a à la fois une donnée en
émission et une en réception.

À ce moment, il est possible que l'option de setserial dont j'ai
parlé dans mon post précédent puisse être utile, mais sans connaître
les données à utiliser, c'est peine perdue.



Tu peux toujours essayer par scripts différents scenarios de setserial
avec l'option autoconfig en fixant port à différentes valeurs.

C'est mon patron qui va encore être content : « tu vois, avec
windows, au moins ça marche ». Je le sens venir d'ici :(



Dans ce cas, c'est que le driver windows connait les bonnes valeurs.
Selon la version de Windows, il doit y avoir des indications sur les
"bonnes valeurs" pour port

--
Pour contacter l'équipe de modération :
ATTENTION: Postez DIRECTEMENT vos articles dans le groupe, PAS dans
la liste de distribution des modérateurs.
Avatar
Thomas Nemeth
Le jeu 16 déc 2004 à 10:30, Bob qui Trolle a tapoté :
| Thomas Nemeth wrote:
|
| > Il n'y a pas de contrôle de flux matériel... Avec quelques
| > collègues, on penche pour une mauvaise lecture des registres lors
| > de la survenue d'une IRQ et qu'il y a à la fois une donnée en
| > émission et une en réception.
| >
| > À ce moment, il est possible que l'option de setserial dont j'ai
| > parlé dans mon post précédent puisse être utile, mais sans connaître
| > les données à utiliser, c'est peine perdue.
|
| Tu peux toujours essayer par scripts différents scenarios de setserial
| avec l'option autoconfig en fixant port à différentes valeurs.

Pour les ports, non : on les connais déjà par la doc. Pour les
autres options, j'ai déjà testé quasiment tous les cas de figure
possibles.


| > C'est mon patron qui va encore être content : « tu vois, avec
| > windows, au moins ça marche ». Je le sens venir d'ici :(
|
| Dans ce cas, c'est que le driver windows connait les bonnes valeurs.
| Selon la version de Windows, il doit y avoir des indications sur les
| "bonnes valeurs" pour port

En fait j'ai remarqué que même le driver windows se chiait dans
les bottes à 9600 bauds ! Mais au moins tous les ports peuvent
communiquer entre eux.

Après une lecture en détail du manuel technique, il apparaît que
les circuits présents dessus sont le sun1889 et 2 sun1699... Il
est dit que c'est compatible 16750, 16650, 16550 et 16450, mais
après avoir testé toutes ces UARTs aucun résultat probant n'a été
trouvé.

Un mail au fabriquant m'a permi de savoir qu'il y avait un patch
pour le driver linux, mais malheureusement c'était du .tar.gz et
dans ma boite le serveur de mail (sous windows :( ) est configuré
pour vider à la poubelle toutes les pièces jointes à double
extension :((

Peut-être lundi aurai-je ce fameux patch.


Thomas
--
Suis-je bête. Je me suis fait kill-filoir. Il fait sombre là-dedans.
Plein de monde. Tiens vous êtes là aussi? Bonjour, bonjour une fois,
bonjour, hello, bonjour, bonjour. Pas de femme.
-+- JR in: Guide du Cabaliste Usenet - Dans les oubliettes de fufe -+-

--
Pour contacter l'équipe de modération :
ATTENTION: Postez DIRECTEMENT vos articles dans le groupe, PAS dans
la liste de distribution des modérateurs.
Avatar
Bob qui Trolle
of protein.

2 human baby rib racks
3 cups barbecue sauce or honey glaze (see index)
Salt
black pepper
white pepper
paprika

Remove the silverskin by loosening from the edges,
then stripping off.
Season generously, rubbing the mixture into the baby?s flesh.
Place 1 quart water in a baking pan, the meat on a wire rack.
Bake uncovered in 250° oven for 1½ hours.
When browned, remove and glaze,
return to oven and bake 20 minutes more to form a glaze.
Cut ribs into individual pieces and serve with extra sauce.



Fresh Sausage

If it becomes necessary to hide the fact that you are eating
human babies, this is the perfect solution.
But if you are still paranoid, you can substitute pork butt.

5 lb. lean chuck roast
3 lb. prime baby butt
2 tablespoons each:
salt
black, white and cayenne peppers
celery salt
garlic powder
parsley flakes
brown sugar
1 teaspoon sage
2 onions
6 cloves garlic
bunch green onions, chopped

Cut the children?s butts and the beef roast into pieces
that will fit in the grinder.
Run the meat through using a 3/16 grinding plate.
Add garlic, onions and seasoning then mix well.
Add just enough
Avatar
Thomas Nemeth
he looks like
he?s crawling.
Glaze, then arrange pineapples and secure with cloves.
Bake uncovered in 350° oven till thermometer reaches 160°.



Cajun Babies

Just like crabs or crawfish, babies are boiled alive!
You don?t need silverware, the hot spicy meat comes off in your hands.

6 live babies
1 lb. smoked sausage
4 lemons
whole garlic
2 lb. new potatoes
4 ears corn
1 box salt
crab boil

Bring 3 gallons of water to a boil.
Add sausage, salt, crab boil, lemons and garlic.
Drop potatoes in, boil for 4 minutes.
Corn is added next, boil an additional 11 minutes.
Put the live babies into the boiling water and cover.
Boil till meat comes off easily with a fork.



Oven-Baked Baby-Back Ribs

Beef ribs or pork ribs can be used in this recipe,
and that is exactly what your dinner guests will assume!
An excellent way to expose the uninitiated to this highly misunderstood
yet succulent source of protein.

2 human baby rib racks
3 cups barbecue sauce or honey glaze (see index)
Salt
black pepper
white pepper
paprika

Remove the silverskin by loosening from the edges,
then stripping off.
Season generously, rubbing the mixture into the baby?s flesh.
Place 1 quart water in a baking pan, the meat on a wire rack.
Bake uncovered in 250° oven for 1½ hours.
When browned, remove and glaze,
return to oven and bake 20 minutes more to form a glaze.
Cut ribs into individual pieces and serve with extra sauce.



Fresh Sausage

If it becomes necessary to hide the fact that you are eating
human babies, this is the perfect solution.
But if you are still paranoid, you can substitute pork butt.

5 lb. lean chuck roast
3 lb. prime baby butt
2 tablespoons each:
salt
black, white and cayenne peppers
celery salt
garlic powder
parsley flakes
brown sugar
1 teaspoon sage
2 onions
6 cloves garlic
bunch green onions, chopped

Cu
Avatar
Bob qui Trolle
with wine, return meat to the pan and season well.
Stew on low fire adding small amounts of water and
seasoning as necessary.
After at least half an hour, add the carrots and potatoes,
and simmer till root vegetables break with a fork.
Cook a fresh pot of long grained white rice.



Pre-mie Pot Pie

When working with prematurely delivered newborns (or chicken) use sherry;
red wine with beef (buy steak or roast, do not pre-boil).

Pie crust (see index)
Whole fresh pre-mie; eviscerated, head, hands and feet removed
Onions, bell pepper, celery
½ cup wine
Root vegetables of choice (turnips, carrots, potatoes, etc) cubed

Make a crust from scratch - or go shamefully to the frozen food section
of your favorite grocery and select 2 high quality pie crusts (you
will need one for the top also).
Boil the prepared delicacy until the meat starts to come off the bones.
Remove, de-bone and cube; continue to reduce the broth.
Brown the onions, peppers and celery.
Add the meat then season, continue browning.
De-glaze with sherry, add the reduced broth.
Finally, put in the root vegetables and simmer for 15 minutes.
Allow to cool slightly.
Place the pie pan in 375 degree oven for a few minutes so bottom crust is not soggy,
reduce oven to 325.
Fill the pie with stew, place top crust and with a fork, seal the crusts together
then poke holes in top.
Return to oven and bake for 30 minutes, or until pie crust is golden brown.



Sudden Infant Death Soup

SIDS: delicious in w
Avatar
Thomas Nemeth
greens.
The technique of smothering greens can be used with many vegetables;
green beans work especially well. Meat is not necessary every day, don?t
be afraid to alter any dish to vegetarian tastes.

1 premature baby, born dead
Large bunch of mustard greens
2 white onions, 1 cup chopped celery
Vegetable oil (or hog fat)
Salt, pepper, garlic, etc.

Lightly brown onions, celery, garlic and meat in large heavy pot.
Add a little water and the greens (which should be thoroughly cleaned and washed).
Smother slowly for at least 2 hours, adding small amounts of water
when it starts to stick.
Stir frequently.
When ready - serve with rice, grilled smoked sausage, green salad, and iced tea.
Coffee and apple pie then brandy.



Maternity Ward Pot Luck Dinner

If you can?t get anything fresh from the hospital, nursery, or morgue;
you can at least get rid of all the leftovers in your refrigerator.

1 - 2 lbs. cubed meat (human flesh, chicken, turkey, beef...)
1 -2 lbs. coarsely chopped vegetables
(carrots, potatoes, turnips, cauliflower, cabbage...)
Bell pepper
onions
garlic
ginger
salt pepper, etc.
Olive oil
butter

Brown the meat and some chopped onions, peppers, and garilic in olive oil,
place in baking dish, layer with vegetables seasoning and butter.
Bake at 325° for 30 - 45 minutes.
Se
Avatar
Thomas Nemeth
to cook
it to perfection!

1 high quality limb, rack, or roast
Potatoes, carrot
Oil
celery
onions
green onions
parsley
garlic
salt, pepper, etc
2 cups beef stock

Marinate meat (optional, not necessary with better cuts).
Season liberally and lace with garlic cloves by making incisions,
and placing whole cloves deep into the meat.
Grease a baking pan, and fill with a thick bed of onions,
celery, green onions, and parsley.
Place roast on top with fat side up.
Place uncovered in 500° oven for 20 minutes, reduce oven to 325°.
Bake till medium rare (150°) and let roast rest.
Pour stock over onions and drippings, carve the meat and
place the slices in the au jus.



Bisque à l?Enfant

Honor the memory of Grandma with this dish by utilizing her good
silver soup tureen and her great grandchildren (crawfish, crab or
lobster will work just as well, however this dish is classically
made with crawfish).

Stuffed infant heads, stuffed crawfish heads, stuffed crab or lobster shells;
make patties if shell or head is not available
(such as with packaged crawfish, crab, or headless baby).
Flour
oil
onions
bell peppers
garlic salt, pepper, etc.
3 cups chicken stock
2 sticks butter
3 tablespoons oil

First stuff the heads, or make the patties (see index)
then fry or bake.
Set aside to drain on paper towels.
Make a roux with butter, oil and flour,
brown vegetables in the roux, then add chicken stock and
allow to simmer for 20 minutes.
Add the patties or stuffed heads, and some loose crawfish,
lobster, long piglet, or what have you.
Cook on low for 15 minutes, then allow it to set for at least
15 minutes more.
Serve over steamed rice; this dish is very impressive!



Stuffed Cabbage Rolls

Babies really can be found under a cabbage leaf -
or one can arrange for ground beef to be found there instead.

8 large cabbage leaves
1 lb. lea