+my @channellist_cmd;
+my @channellist;
+
+if ( $wlanapsettings{'DRIVER'} eq 'NL80211' ){
+my $wiphy = `iw dev $wlanapsettings{'INTERFACE'} info | grep wiphy | cut -d" " -f2`;
+chomp $wiphy;
+
+@channellist_cmd = `iw phy phy$wiphy info | grep " MHz \\\[" | grep -v "(disabled)" | grep -v "no IBSS)" 2>/dev/null`;
+# get available channels
+
+my @temp;
+foreach (@channellist_cmd){
+$_ =~ /(.*) \[(\d+)(.*)\]/;
+$channel = $2;chomp $channel;
+if ( $channel =~ /\d+/ ){push(@temp,$channel);}
+}
+@channellist = @temp;
+} else {
+@channellist_cmd = `iwlist $monwlaninterface channel|tail -n +2 2>/dev/null`;