RE: 300bps soundmodem notes and Broken Pipe

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


Hi, Bernard

It has been a long time before responding your mail and suggestion.

Sorry.

Now, Spring is now at the corner and I wish to check the effectiveness of
your suggestion and typed the I-gate laptop keyboard located in the cold
room facing to north in my home.

My answer to you is "yes" and the soundmodem starts sending 1,200bps beacon
signals and they are properly received at neighbored stations.

According to the net search results, your suggested method is the common and
generic fix to the broken pipe or EPIPE errors but I do not know the exact
reason why ALSA returns this error message in soundmodem case.

Anyway, thank you for providing me the excellent suggestion.

Regards,

take

de JA5AEA
-----Original Message-----
From: linux-hams-owner@xxxxxxxxxxxxxxx
[mailto:linux-hams-owner@xxxxxxxxxxxxxxx] On Behalf Of f6bvp
Sent: Friday, December 10, 2010 5:15 AM
To: oakie@xxxxxxxxxxxxxxxxx; linux-hams
Cc: Bernard Pidoux
Subject: RE: 300bps soundmodem notes and Broken Pipe

Hi,

A SIGPIPE signal is generated by Linux kernel when a frame cannot
be sent to destination for the connexion has timed out (broken or closed).

This signal is received by the program, here xmodem.
If the program does not handle this signal it may fall down.

This is why there is a possibility to declare that a specific
signal, say SIGPIPE, must be ignored. This is the purpose of line

signal (SIGPIPE, SIG_IGN);

that you may include at the beginning of the main program in the
file containing

main()

Look at the beginning of the file and localize a number of #include 
lines like :

#include <stdio.h>

You should add there the following line :

#include<signal.h>

Then, you should add the signal line at the beginning of the main 
program somewhere after variable declarations. For example :

main(int argc, char *argv[])
{
in c;
char *tab;

signal (SIGPIPE, SIG_IGN);

...

If you want you can send me privately a copy of the first 50 lines of
main() function code. I will help you doing the patch.


After saving the file you can compile xmodem and tell us if it works.

73 de Bernard, f6bvp


-----Original Message-----

Hello Bernard,

Thank you for picking up my question about "Broken pipe" issue and sending
your suggestion.

Please be patient for a while as I am not any computer language programmer
at all.

I read the source file of soundmodem and I believe the error message comes
from the second logprintf statement (line 368) in alsaio.c program.

---------------------------alsaio.c--------------------------------
static inline void iotxstart(struct audioio_unix *audioio)
{
         int err;

         if (snd_pcm_prepare(audioio->playback_handle) < 0) {
                 logprintf(MLOG_ERROR, "Error preparing tx.\n");
         }
         err = snd_pcm_start(audioio->playback_handle);
         if (err < 0)
                 logprintf(MLOG_ERROR, "snd_pcm_start in iotxstart: %s",
snd_strerror(err));
}
-------------------------------------------------------------------

Can you explain me the following questions concerning your suggestion?

1. Are you suggesting adding additional three lines in alsaio.c program?
If yes, which exact lines should I add?

2. What is the purpose and expected result of signal (SIGPIPE, SIG_IGN)
addition?

I am waiting your response soon.

Regards,

take


--
To unsubscribe from this list: send the line "unsubscribe linux-hams" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-hams" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Linux Newbie]     [Kernel Newbies]     [Memory]     [Git]     [Security]     [Netfilter]     [Linux Admin]     [Bugtraq]     [Photo]     [Yosemite Photos]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [ARM Linux Kernel]     [Linux Networking]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linux Resources]

Add to Google Powered by Linux