Module for retrieving a list of valid Wifi channels for a country
Installation
Using npm:
$ npm install wifi-channels
To run the tests
$ node test.js
Description
You can use this module to get a list of Wifi channels that are permitted in a country.
The data is based on the linux wireless-regdb as of 2022/Aug/12.
Usage
const wifiChannels = require('wifi-channels');
console.log(wifiChannels.getDfsRegion('DE'));
console.log(JSON.stringify(wifiChannels.getPermittedChannels('DE', '802.11a')))
Methods
getDfsRegion(ISO)
Retrieves the DFS region for a given ISO-2 code. Returns one of the following strings:
getPermittedChannels(ISO, band)
Retrieves a list of permitted channels for the ISO-2 code and band given.
Band can be:
Returns an array of objects including the following properties:
Member | Description |
---|
channel | Channel number |
lower | Lowest frequency in MHz |
upper | Highest frequency in MHz |
maxbw | Maximum bandwidth in MHz |
maxantgain | Maximum antenna gain in db |
no_outdoor | Not allowed outside buildings (true/false) |
dfs_required | DFS capabilities required (true/false) |
no_ir | Do not initiate radiation (true/false) |
Updating the database
Updated json files can be generated using the utils/update.sh
script.
Python 3 is required and the jsonpickle module has to be available in your venv,
install it with python3 -m pip install jsonpickle
.
Then run
./update.sh https://mirrors.edge.kernel.org/pub/software/network/wireless-regdb/wireless-regdb-2021.08.28.tar.gz
This will create a temp directory, extract the data and convert it to the json file.
LICENSE
The MIT License (MIT)
Copyright (c) 2018-2021 Daniel Arnold