> When linking my shack PC running Linrad, sending data on the network
> to a second computer running MAP65-IQ, it seems to work (at least I
> have not "No RX data" at the bottom of the MAP65 window but "Drop
> 0.00%" => MAP65 is well linked to Linrad and both are well
> communicating I guess).
>
> But when I run Linrad on the second computer, trying to retrieve data
> from the shack computer through the network, I get the following error
> message on the second computer :
>
> INTERNAL ERROR: 1268
> [1268]Error in attempt to use setsockopt() to request that the kernel
> joins a multicast group
>
> Is there something I'm missing ? Could somebody help me ?
The code that fails looks like this:
// use setsockopt() to request that the kernel join a multicast group
mreq.imr_multiaddr.s_addr=inet_addr(netrec_rx_multi_group);
mreq.imr_interface.s_addr=htonl(INADDR_ANY);
if (setsockopt(netfd.rec_rx,IPPROTO_IP,IP_ADD_MEMBERSHIP,
(char*)&mreq,sizeof(mreq)) < 0)
{
lirerr(1268);
return;
}
Since MAP65-IQ works the nework must be working properly so the only
error I can imagine is that netrec_rx_multi_group is wrong.
Press N on the Linrad main menu and check the receive address.
Presumably it comes from a file par_netrec_ip in which you have
stored the address that MAP65-IQ uses.
(I just discovered that the dialog message is incorrect and
says par_netsend_ip but the error message that follows if
par_netrec_ip is not in place should give a hint...)
If you type something like 10.0.0.278 into par_netrec_ip, Linrad
will just use that string without testing anything and that would
cause the 1268 error. (No number must be larger than 255 in an IP
address)
I have added this info to the 1268 error message and corrected
the dialog. Please tell me if the above info helped.
The address that Linrad extracts from your file is shown in the
Network setup menu. Check that it looks ok.
73
Leif / SM5BSZ
> I still have to "play" however because the master computer is sampling
> the band at 192 kHz while the slave is a laptop with max 48 kHz
> sampling capability. Nevertheless, there should be no impact as the
> slave computer is not sampling. My purpose is just to listen (then
> only the D/A plays a role on the slave I guess) on the slave what has
> been sampled on the master.
Sampling rates are determined by the input device. With the network
as input you will get the 192 kHz of the master if you do not have
switches and/or other things in your network that limit the data rate.
The slave will fill in zeroes for missing packages so the input rate
in the slave will remain 192 kHz anyway.
> So, I'm still wondering how to do it (sending Raw, FFT or resampled BB
> from the master to the slave ?)
> I'm going to investigate this, unless you have an advise that would
> allow me to save some testing time ?
I do not know what you want to do so I have no idea what to suggest;-)
73
Leif
> On the slave computer, I set the RECEIVE address (through the
> par_netrec_ip file) to the IP address of the slave computer itself
> (and not the one of the master computer !!!).
> That works fine, though either my laptop soundboard/my network are
> limiting the bandwidth to be monitored to 20 kHz (above, I have too
> many "network errors" = 0 fillings).
When the Network is the limiting factor I think you should use
the 16 bit raw data format. Presumably your analog hardware is the
limiting factor anyway...
> That is enough to stay tuned to
> 144.300 from everywhere in the house or garden through my WiFi...
OK. If you need it, it should be possible to run WiFi at much higher
bandwidth - but I know nothing about the details. Maybe someone
else does...
> One nice improvement feature of Linrad should be to have a squelch.
I know what a squelch is in FM mode. That is something I might add
some day, but you mentioned 144.300 so perhaps you want some kind
of squelch in SSB mode. It is not obvious to me what purpose an
SSB squelch should serve.
Also squelches in general. I do not use them myself and I do not
quite know what purpose they serve to others. Do you want to monitor
a particular channel or do you want to hear any activity within a
certain frequency range?
73
Leif / SM5BSZ
> About the squelch, I'm interested in monitoring a particular channel
> (SSB) without hearing all the time the noise hiss, though I admit this
> is a bit wasting the WB rx capabilities of Linrad.
Ok. You need the wideband for good noise blanking so it is no waste:-)
The standard procedure would be to have AGC enabled and to
turn the volume bar in the baseband graph down to make the
noise hiss rather weak.
The problem with SSB squelch is that the SSB signal is likely to
be off frequency and that auto tuning is very difficult in SSB mode.
(An unprocessed voice is fairly easy, but when a good speech
processor has been used it is difficult. I have tried and failed...)
> I guess it is
> difficult to implement for a particular channel (or the sampling BW
> has to be limited to a few kHz around that channel). The easiest would
> be to define a threshold below which the receiver is muted but at 96
> or 192 kHz sampling, there would always be some birdies (eventually
> not removed by the autospur) triggering the squelch.
A squelch would operate on whatever comes out from the baseband
filter and it would be possible to set a threshold for average power
below which the output would be muted. Very easy, but there has
to be some kind of user interface with yet another control bar....
Comments from others?
73
Leif
> For what it worth, FM squelsh works on quieting so is always less
> sensitive than the receiver.
That would not be true if I would add a squelch in Linrad.
The baseband is available in several forms and I guess
the most sensitive squelch would be based on the same
spectral information used to produce waterfall graphs.
I think the FM squelch is a well defined problem, few operators
use Linrad for FM as far as I know so priority is low....
> We would rather squelsh on subaudible tone
> or some digital pattern. These are not available in the standard ssb
> signal. I once worked for Harris RF, they had an ssb (reduced carrier)
> squelsh that worked on the recovered carrier, again not available here.
OK. - But we need backwards compatibility to conventional SSB:-)
An SSB squelch could be based on RMS power in the passband. That
would open it on lightening crasches and any other noise burst.
One could look at RMS power in relation to the surrounding noise
floor. That would be problematic in crowded bands. One could
look for a non-flat power spectrum which would not open the squelch
for stations using really heavy speech processing.
I can hear by ear when a station is properly tuned. Also when
speech processing is allowed to distort the signal heavily. I
have tried, but failed, to find an algorithm that could do the
tuning automatically in the computer. It must be possible since
my ear-brain system can do it, but I do not know how to compute
whatever cross-correlation in the frequency or time domain that
would say "yes. This is a voice signal and the carrier frequency
is....." Once I know what is needed for that, any output would
be a suitable control signal for squelch/muting.
73
Leif / SM5BSZ