@bardia1990 This may sound strange to try, but it looks like gr-osmosdr also expects the user to add nchan=2 to the device arguments:
See: https://github.com/osmocom/gr-osmosdr/blob/master/lib/arg_helpers.h#L142
// try to parse device specific nchan values, assume 1 channel if none given
BOOST_FOREACH( std::string arg, arg_list )
{
dict_t dict = params_to_dict(arg);
if (dict.count("nchan"))
{
dev_nchan += boost::lexical_cast<size_t>( dict["nchan"] );
}
else // no channels given via args
{
dev_nchan++; // assume one channel
}
}
// if at least one nchan was given, perform a sanity check
if ( max_nchan && dev_nchan && max_nchan != dev_nchan )
throw std::runtime_error("Wrong device arguments specified. Missing nchan?");
I think the hardware was supposed to set nchan from the find arguments or the user is supposed to pass this in. Not entirely sure. Try this for device arguments:
driver=lime,soapy=0,serial=000etcabcef,nchan=2
So I think nchan is the number of hardware channels, and numchan is the number of requested channels on the gr-osmosdr block.