<style>blockquote {padding-left: 1ex; margin: 0px 0px 0px 0.8ex; border-left: #cccccc 1px solid;} p {margin: 0px;padding: 0px;} </style>
<p>I have found in sources BABEL where is used channels where is possible to change for use hamradio frequnecy: </p>
<p> </p>
<p>interface.c<br />===============<br /><br />check_interface_channel(struct interface *ifp)<br />{<br /> int channel = IF_CONF(ifp, channel);<br /><br /> if(channel == IF_CHANNEL_UNKNOWN) {<br /> if((ifp->flags & IF_WIRED)) {<br /> channel = IF_CHANNEL_NONINTERFERING;<br /> } else {<br
/> channel = kernel_interface_channel(ifp->name, ifp->ifindex);<br /> if(channel < 0)<br /> fprintf(stderr,<br /> "Couldn't
determine channel of interface %s: %s.\n",<br /> ifp->name, strerror(errno));<br /> if(channel <= 0)<br /> channel = IF_CHANNEL_INTERFERING;<br /> }<br
/> }<br /><br /> if(ifp->channel != channel) {<br /> ifp->channel = channel;<br /> return 1;<br /> }<br /> return 0;<br />}<br /><br />----------------------------------------------------<br /><br />configuration.c<br />================<br /><br /> if(strcmp(t,
"noninterfering") == 0)<br /> if_conf->channel = IF_CHANNEL_NONINTERFERING;<br /> else if(strcmp(t, "interfering") == 0)<br /> if_conf->channel = IF_CHANNEL_INTERFERING;<br /> else
{<br /> if_conf->channel = strtol(t, &end, 0);<br /> if(*end != '\0')<br /> goto error;<br /> }<br /><br
/> free(t);<br /><br /> if((if_conf->channel < 1 || if_conf->channel > 255) &&<br /> if_conf->channel != IF_CHANNEL_NONINTERFERING)<br /> goto error;<br /><br
/>-------------------------------------------------------------------<br /><br />kernel_netlink.c<br />================<br /><br />static int<br />freq_to_chan(struct iw_freq *freq)<br />{<br /> int m = freq->m, e = freq->e;<br /><br /> /* If exponent is 0, assume the channel is encoded directly in m. */<br /> if(e == 0 && m > 0 && m < 254)<br /> return m;<br /><br
/> if(e <= 6) {<br /> int mega, step, c, i;<br /><br /> /* This encodes 1 MHz */<br /> mega = 1000000;<br /> for(i = 0; i < e; i++)<br /> mega /= 10;<br /><br /> /* Channels 1 through 13 are 5 MHz
apart, with channel 1 at 2412. */<br /> step = 5 * mega;<br /> c = 1 + (m - 2412 * mega + step / 2) / step;<br /> if(c >= 1 && c <= 13)<br /> return c;<br /><br /> /* Channel 14 is at 2484 MHz */<br />
if(c >= 14 && m < 2484 * mega + step / 2)<br /> return 14;<br /><br /> /* 802.11a channel 36 is at 5180 MHz */<br /> c = 36 + (m - 5180 * mega + step / 2) / step;<br /> if(c >= 34 && c <= 165)<br /> return c;<br
/> }<br />--------------------------------------------------------------------------</p><br />