Socket
Socket
Sign inDemoInstall

wifi-channels

Package Overview
Dependencies
0
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    wifi-channels

Get available Wifi channels by country regulations and device capabilities.


Version published
Weekly downloads
3
Maintainers
1
Install size
272 kB
Created
Weekly downloads
 

Readme

Source

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'));
// ETSI

console.log(JSON.stringify(wifiChannels.getPermittedChannels('DE', '802.11a')))
// {"channel":"32","lower":"5150","upper":"5170","maxbw":80,"maxantgain":0,"no_outdoor":true,"no_ir":false,"dfs_required":false}
// {"channel":"34","lower":"5150","upper":"5190","maxbw":80,"maxantgain":0,"no_outdoor":true,"no_ir":false,"dfs_required":false}
// {"channel":"36","lower":"5170","upper":"5190","maxbw":80,"maxantgain":0,"no_outdoor":true,"no_ir":false,"dfs_required":false}
// ...

Methods

getDfsRegion(ISO)

Retrieves the DFS region for a given ISO-2 code. Returns one of the following strings:

  • UNSET
  • FCC
  • ETSI
  • JP
getPermittedChannels(ISO, band)

Retrieves a list of permitted channels for the ISO-2 code and band given. Band can be:

  • 802.11b
  • 802.11y
  • 802.11a

Returns an array of objects including the following properties:

MemberDescription
channelChannel number
lowerLowest frequency in MHz
upperHighest frequency in MHz
maxbwMaximum bandwidth in MHz
maxantgainMaximum antenna gain in db
no_outdoorNot allowed outside buildings (true/false)
dfs_requiredDFS capabilities required (true/false)
no_irDo 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

FAQs

Last updated on 17 Sep 2022

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc