[Babel-users] Bebel for hamradio frequency

sp2ong at wp.pl sp2ong at wp.pl
Tue Jun 9 05:10:52 UTC 2015


Hi,

We have hamradio Mesh network (it is 44/8 network) in different country.
Local network base on olsrd but I would like try use and maybe recommend
to change to use BABEL.
Hamradio licence operators have bandplan where we can use to communicate
WIFI
between 2300 - 2400 Mhz with channel width 5/10 Mhz.
We have use Ubiquiti / TP-Link, Mikrotik hardware which use Atheros radio
chip.
Atheros radio chip allow working on hamradio bandplan.
We have modified OpenWRT compat-wireless ATH drivers to use OpenWRT on
frequency below channel 1 (below 2400 Mhz). The channel below 1 hvae
numbering
0, -1,-2 -3 ....

We can use olsrd on our frequency and channels below 1 but when I try use
BABEL on our
frequency I have in log message

Couldn't determine channel of interface mesh0 ....

How to change sources BABEL v1.6 to use frequency below 2400 (channesl
below 1)

I have attached below main change from kernel or comapt-wireless from
net/wireless/util.c
where we can use openwrt/linux on hanradio frequency:

int ieee80211_channel_to_frequency(int chan, enum ieee80211_band band)
{
	/* see 802.11 17.3.8.3.2 and Annex J
	 * there are overlapping channel numbers in 5GHz and 2GHz bands */
	if (chan <= 0)
		return 0; /* not supported */
	switch (band) {
	case IEEE80211_BAND_2GHZ:

	chan = (int)(char)chan;  /* add 'int' for hamradio channels */

		if (chan == 14)
			return 2484;
		else if (chan < 14)
			return 2407 + chan * 5;
		break;
	case IEEE80211_BAND_5GHZ:
		if (chan >= 182 && chan <= 196)
			return 4000 + chan * 5;
		else
			return 5000 + chan * 5;
		break;
	case IEEE80211_BAND_60GHZ:
		if (chan < 5)
			return 56160 + chan * 2160;
		break;
	default:
		;
	}
	return 0; /* not supported */
}
EXPORT_SYMBOL(ieee80211_channel_to_frequency);

int ieee80211_frequency_to_channel(int freq)
{
	/* see 802.11 17.3.8.3.2 and Annex J */
	if (freq==2407)
	    return 0;
	if (freq == 2484)
		return 14;
	else if (freq < 2484 && freq > 2407)
		return (freq - 2407) / 5;
	else if (freq <2407)
		return 236 + (freq - 2307)/5;  /* Hamradio frequency/channesl */
	else if (freq >= 4910 && freq <= 4980)
		return (freq - 4000) / 5;
	else if (freq <= 45000) /* DMG band lower limit */
		return (freq - 5000) / 5;
	else if (freq >= 58320 && freq <= 64800)
		return (freq - 56160) / 2160;
	else
		return 0;
}


Best regards


Waldek sp2ong
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/babel-users/attachments/20150609/463b6b04/attachment.html>


More information about the Babel-users mailing list