Socket
Socket
Sign inDemoInstall

wifi-channels

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

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
Maintainers
1
Created
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

Package last updated on 17 Sep 2022

Did you know?

Socket

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
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc