-
Hi, if( RegionCommonValueInRange( countNbOfEnabledChannelsParams->Datarate, |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 5 replies
-
In order to join a network under Fixed Channel plans such AU915 the specification says that the end-device must make use of 125 KHz and 500 kHz channels. DR_6 corresponds to a 500 kHz channel. Therefore, the only possibility to get a It is not recommended to restrict the number of channels being used. This is the reason why the Regional Parameters specification specification provides a recommendation on how to select the join channels in an efficient manner. The AU915 and similar regions are expected to run under 64+8 channels gateways and everything would work smoothly. However, a lot of LoRaWAN networks are only deploying 8 channels gateways. Doing so, introduces drawbacks and everyone must accept the compromises that come with it. The compromise is that one needs to accept that it may take several trials up until we reach the right sub-band. Once the network is joined then everything will work as expected as the Network Server will tell the end-devices what channels it can use. In case you still would like to restrict the number of channels to 8+1 the right procedure to do so is shown in below code example. /*!
* Main application entry point.
*/
int main( void )
{
BoardInitMcu( );
BoardInitPeriph( );
...
if ( LmHandlerInit( &LmHandlerCallbacks, &LmHandlerParams ) != LORAMAC_HANDLER_SUCCESS )
{
printf( "LoRaMac wasn't properly initialized\n" );
// Fatal error, endless loop.
while ( 1 )
{
}
}
// Set system maximum tolerated rx error in milliseconds
LmHandlerSetSystemMaxRxError( 20 );
// The LoRa-Alliance Compliance protocol package should always be
// initialized and activated.
LmHandlerPackageRegister( PACKAGE_ID_COMPLIANCE, &LmhpComplianceParams );
#if defined( REGION_AU915 ) || defined( REGION_US915 )
// Enabling 1st block of 8 channels (0-7) + channel 64
uint16_t channelMask[] = { 0x00FF, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000 };
mibReq.Type = MIB_CHANNELS_MASK;
mibReq.Param.ChannelsMask = channelMask;
LoRaMacMibSetRequestConfirm( &mibReq );
mibReq.Type = MIB_CHANNELS_DEFAULT_MASK;
mibReq.Param.ChannelsDefaultMask = channelMask;
LoRaMacMibSetRequestConfirm( &mibReq );
#endif
LmHandlerJoin( );
StartTxProcess( LORAMAC_HANDLER_TX_ON_TIMER );
while( 1 )
{
...
}
} In the future it would be nice if you could post this kind of questions on the project Discussions tab. It is a better place to engage discussions and then we can agree if it is an issue or not. |
Beta Was this translation helpful? Give feedback.
In order to join a network under Fixed Channel plans such AU915 the specification says that the end-device must make use of 125 KHz and 500 kHz channels.
DR_6 corresponds to a 500 kHz channel.
Therefore, the only possibility to get a
No channel found
notification is if that channel is not enabled within the channel mask.In your message you say that you enabled channels [0:7]+64 could you check that the channel mask you provide is correct?
It is not recommended to restrict the number of channels being used.
This is the reason why the Regional Parameters specification specification provides a recommendation on how to select the join channels in an efficient manner.
The AU915 and similar r…