diff --git a/.gitignore b/.gitignore index c436d91..aa16496 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ linux-* open-ath9k-htc-firmware PrawnOS-Alpha-c201-libre-2GB.img +tmp.* diff --git a/resources/BuildResources/apt-preferences b/resources/BuildResources/apt-preferences index c185779..8ade422 100644 --- a/resources/BuildResources/apt-preferences +++ b/resources/BuildResources/apt-preferences @@ -5,3 +5,7 @@ Pin-Priority: 700 Package: * Pin: release a=testing Pin-Priority: 650 + +Package: * +Pin: release a=unstable +Pin-Priority: 600 diff --git a/resources/BuildResources/locale.gen b/resources/BuildResources/locale.gen new file mode 100644 index 0000000..75975b8 --- /dev/null +++ b/resources/BuildResources/locale.gen @@ -0,0 +1,503 @@ +# This file lists locales that you wish to have built. You can find a list +# of valid supported locales at /usr/share/i18n/SUPPORTED, and you can add +# user defined locales to /usr/local/share/i18n/SUPPORTED. If you change +# this file, you need to rerun locale-gen. + + +# aa_DJ ISO-8859-1 +# aa_DJ.UTF-8 UTF-8 +# aa_ER UTF-8 +# aa_ER@saaho UTF-8 +# aa_ET UTF-8 +# af_ZA ISO-8859-1 +# af_ZA.UTF-8 UTF-8 +# ak_GH UTF-8 +# am_ET UTF-8 +# an_ES ISO-8859-15 +# an_ES.UTF-8 UTF-8 +# anp_IN UTF-8 +# ar_AE ISO-8859-6 +# ar_AE.UTF-8 UTF-8 +# ar_BH ISO-8859-6 +# ar_BH.UTF-8 UTF-8 +# ar_DZ ISO-8859-6 +# ar_DZ.UTF-8 UTF-8 +# ar_EG ISO-8859-6 +# ar_EG.UTF-8 UTF-8 +# ar_IN UTF-8 +# ar_IQ ISO-8859-6 +# ar_IQ.UTF-8 UTF-8 +# ar_JO ISO-8859-6 +# ar_JO.UTF-8 UTF-8 +# ar_KW ISO-8859-6 +# ar_KW.UTF-8 UTF-8 +# ar_LB ISO-8859-6 +# ar_LB.UTF-8 UTF-8 +# ar_LY ISO-8859-6 +# ar_LY.UTF-8 UTF-8 +# ar_MA ISO-8859-6 +# ar_MA.UTF-8 UTF-8 +# ar_OM ISO-8859-6 +# ar_OM.UTF-8 UTF-8 +# ar_QA ISO-8859-6 +# ar_QA.UTF-8 UTF-8 +# ar_SA ISO-8859-6 +# ar_SA.UTF-8 UTF-8 +# ar_SD ISO-8859-6 +# ar_SD.UTF-8 UTF-8 +# ar_SS UTF-8 +# ar_SY ISO-8859-6 +# ar_SY.UTF-8 UTF-8 +# ar_TN ISO-8859-6 +# ar_TN.UTF-8 UTF-8 +# ar_YE ISO-8859-6 +# ar_YE.UTF-8 UTF-8 +# as_IN UTF-8 +# ast_ES ISO-8859-15 +# ast_ES.UTF-8 UTF-8 +# ayc_PE UTF-8 +# az_AZ UTF-8 +# be_BY CP1251 +# be_BY.UTF-8 UTF-8 +# be_BY@latin UTF-8 +# bem_ZM UTF-8 +# ber_DZ UTF-8 +# ber_MA UTF-8 +# bg_BG CP1251 +# bg_BG.UTF-8 UTF-8 +# bhb_IN.UTF-8 UTF-8 +# bho_IN UTF-8 +# bn_BD UTF-8 +# bn_IN UTF-8 +# bo_CN UTF-8 +# bo_IN UTF-8 +# br_FR ISO-8859-1 +# br_FR.UTF-8 UTF-8 +# br_FR@euro ISO-8859-15 +# brx_IN UTF-8 +# bs_BA ISO-8859-2 +# bs_BA.UTF-8 UTF-8 +# byn_ER UTF-8 +# ca_AD ISO-8859-15 +# ca_AD.UTF-8 UTF-8 +# ca_ES ISO-8859-1 +# ca_ES.UTF-8 UTF-8 +# ca_ES.UTF-8@valencia UTF-8 +# ca_ES@euro ISO-8859-15 +# ca_ES@valencia ISO-8859-15 +# ca_FR ISO-8859-15 +# ca_FR.UTF-8 UTF-8 +# ca_IT ISO-8859-15 +# ca_IT.UTF-8 UTF-8 +# ce_RU UTF-8 +# chr_US UTF-8 +# cmn_TW UTF-8 +# crh_UA UTF-8 +# cs_CZ ISO-8859-2 +# cs_CZ.UTF-8 UTF-8 +# csb_PL UTF-8 +# cv_RU UTF-8 +# cy_GB ISO-8859-14 +# cy_GB.UTF-8 UTF-8 +# da_DK ISO-8859-1 +# da_DK.UTF-8 UTF-8 +# de_AT ISO-8859-1 +# de_AT.UTF-8 UTF-8 +# de_AT@euro ISO-8859-15 +# de_BE ISO-8859-1 +# de_BE.UTF-8 UTF-8 +# de_BE@euro ISO-8859-15 +# de_CH ISO-8859-1 +# de_CH.UTF-8 UTF-8 +# de_DE ISO-8859-1 +# de_DE.UTF-8 UTF-8 +# de_DE@euro ISO-8859-15 +# de_IT ISO-8859-1 +# de_IT.UTF-8 UTF-8 +# de_LI.UTF-8 UTF-8 +# de_LU ISO-8859-1 +# de_LU.UTF-8 UTF-8 +# de_LU@euro ISO-8859-15 +# doi_IN UTF-8 +# dv_MV UTF-8 +# dz_BT UTF-8 +# el_CY ISO-8859-7 +# el_CY.UTF-8 UTF-8 +# el_GR ISO-8859-7 +# el_GR.UTF-8 UTF-8 +# en_AG UTF-8 +# en_AU ISO-8859-1 +# en_AU.UTF-8 UTF-8 +# en_BW ISO-8859-1 +# en_BW.UTF-8 UTF-8 +# en_CA ISO-8859-1 +# en_CA.UTF-8 UTF-8 +# en_DK ISO-8859-1 +# en_DK.ISO-8859-15 ISO-8859-15 +# en_DK.UTF-8 UTF-8 +# en_GB ISO-8859-1 +# en_GB.ISO-8859-15 ISO-8859-15 +# en_GB.UTF-8 UTF-8 +# en_HK ISO-8859-1 +# en_HK.UTF-8 UTF-8 +# en_IE ISO-8859-1 +# en_IE.UTF-8 UTF-8 +# en_IE@euro ISO-8859-15 +# en_IL UTF-8 +# en_IN UTF-8 +# en_NG UTF-8 +# en_NZ ISO-8859-1 +# en_NZ.UTF-8 UTF-8 +# en_PH ISO-8859-1 +# en_PH.UTF-8 UTF-8 +# en_SG ISO-8859-1 +# en_SG.UTF-8 UTF-8 +# en_US ISO-8859-1 +# en_US.ISO-8859-15 ISO-8859-15 +en_US.UTF-8 UTF-8 +# en_ZA ISO-8859-1 +# en_ZA.UTF-8 UTF-8 +# en_ZM UTF-8 +# en_ZW ISO-8859-1 +# en_ZW.UTF-8 UTF-8 +# eo UTF-8 +# es_AR ISO-8859-1 +# es_AR.UTF-8 UTF-8 +# es_BO ISO-8859-1 +# es_BO.UTF-8 UTF-8 +# es_CL ISO-8859-1 +# es_CL.UTF-8 UTF-8 +# es_CO ISO-8859-1 +# es_CO.UTF-8 UTF-8 +# es_CR ISO-8859-1 +# es_CR.UTF-8 UTF-8 +# es_CU UTF-8 +# es_DO ISO-8859-1 +# es_DO.UTF-8 UTF-8 +# es_EC ISO-8859-1 +# es_EC.UTF-8 UTF-8 +# es_ES ISO-8859-1 +# es_ES.UTF-8 UTF-8 +# es_ES@euro ISO-8859-15 +# es_GT ISO-8859-1 +# es_GT.UTF-8 UTF-8 +# es_HN ISO-8859-1 +# es_HN.UTF-8 UTF-8 +# es_MX ISO-8859-1 +# es_MX.UTF-8 UTF-8 +# es_NI ISO-8859-1 +# es_NI.UTF-8 UTF-8 +# es_PA ISO-8859-1 +# es_PA.UTF-8 UTF-8 +# es_PE ISO-8859-1 +# es_PE.UTF-8 UTF-8 +# es_PR ISO-8859-1 +# es_PR.UTF-8 UTF-8 +# es_PY ISO-8859-1 +# es_PY.UTF-8 UTF-8 +# es_SV ISO-8859-1 +# es_SV.UTF-8 UTF-8 +# es_US ISO-8859-1 +# es_US.UTF-8 UTF-8 +# es_UY ISO-8859-1 +# es_UY.UTF-8 UTF-8 +# es_VE ISO-8859-1 +# es_VE.UTF-8 UTF-8 +# et_EE ISO-8859-1 +# et_EE.ISO-8859-15 ISO-8859-15 +# et_EE.UTF-8 UTF-8 +# eu_ES ISO-8859-1 +# eu_ES.UTF-8 UTF-8 +# eu_ES@euro ISO-8859-15 +# eu_FR ISO-8859-1 +# eu_FR.UTF-8 UTF-8 +# eu_FR@euro ISO-8859-15 +# fa_IR UTF-8 +# ff_SN UTF-8 +# fi_FI ISO-8859-1 +# fi_FI.UTF-8 UTF-8 +# fi_FI@euro ISO-8859-15 +# fil_PH UTF-8 +# fo_FO ISO-8859-1 +# fo_FO.UTF-8 UTF-8 +# fr_BE ISO-8859-1 +# fr_BE.UTF-8 UTF-8 +# fr_BE@euro ISO-8859-15 +# fr_CA ISO-8859-1 +# fr_CA.UTF-8 UTF-8 +# fr_CH ISO-8859-1 +# fr_CH.UTF-8 UTF-8 +# fr_FR ISO-8859-1 +# fr_FR.UTF-8 UTF-8 +# fr_FR@euro ISO-8859-15 +# fr_LU ISO-8859-1 +# fr_LU.UTF-8 UTF-8 +# fr_LU@euro ISO-8859-15 +# fur_IT UTF-8 +# fy_DE UTF-8 +# fy_NL UTF-8 +# ga_IE ISO-8859-1 +# ga_IE.UTF-8 UTF-8 +# ga_IE@euro ISO-8859-15 +# gd_GB ISO-8859-15 +# gd_GB.UTF-8 UTF-8 +# gez_ER UTF-8 +# gez_ER@abegede UTF-8 +# gez_ET UTF-8 +# gez_ET@abegede UTF-8 +# gl_ES ISO-8859-1 +# gl_ES.UTF-8 UTF-8 +# gl_ES@euro ISO-8859-15 +# gu_IN UTF-8 +# gv_GB ISO-8859-1 +# gv_GB.UTF-8 UTF-8 +# ha_NG UTF-8 +# hak_TW UTF-8 +# he_IL ISO-8859-8 +# he_IL.UTF-8 UTF-8 +# hi_IN UTF-8 +# hne_IN UTF-8 +# hr_HR ISO-8859-2 +# hr_HR.UTF-8 UTF-8 +# hsb_DE ISO-8859-2 +# hsb_DE.UTF-8 UTF-8 +# ht_HT UTF-8 +# hu_HU ISO-8859-2 +# hu_HU.UTF-8 UTF-8 +# hy_AM UTF-8 +# hy_AM.ARMSCII-8 ARMSCII-8 +# ia_FR UTF-8 +# id_ID ISO-8859-1 +# id_ID.UTF-8 UTF-8 +# ig_NG UTF-8 +# ik_CA UTF-8 +# is_IS ISO-8859-1 +# is_IS.UTF-8 UTF-8 +# it_CH ISO-8859-1 +# it_CH.UTF-8 UTF-8 +# it_IT ISO-8859-1 +# it_IT.UTF-8 UTF-8 +# it_IT@euro ISO-8859-15 +# iu_CA UTF-8 +# ja_JP.EUC-JP EUC-JP +# ja_JP.UTF-8 UTF-8 +# ka_GE GEORGIAN-PS +# ka_GE.UTF-8 UTF-8 +# kk_KZ PT154 +# kk_KZ.RK1048 RK1048 +# kk_KZ.UTF-8 UTF-8 +# kl_GL ISO-8859-1 +# kl_GL.UTF-8 UTF-8 +# km_KH UTF-8 +# kn_IN UTF-8 +# ko_KR.EUC-KR EUC-KR +# ko_KR.UTF-8 UTF-8 +# kok_IN UTF-8 +# ks_IN UTF-8 +# ks_IN@devanagari UTF-8 +# ku_TR ISO-8859-9 +# ku_TR.UTF-8 UTF-8 +# kw_GB ISO-8859-1 +# kw_GB.UTF-8 UTF-8 +# ky_KG UTF-8 +# lb_LU UTF-8 +# lg_UG ISO-8859-10 +# lg_UG.UTF-8 UTF-8 +# li_BE UTF-8 +# li_NL UTF-8 +# lij_IT UTF-8 +# ln_CD UTF-8 +# lo_LA UTF-8 +# lt_LT ISO-8859-13 +# lt_LT.UTF-8 UTF-8 +# lv_LV ISO-8859-13 +# lv_LV.UTF-8 UTF-8 +# lzh_TW UTF-8 +# mag_IN UTF-8 +# mai_IN UTF-8 +# mg_MG ISO-8859-15 +# mg_MG.UTF-8 UTF-8 +# mhr_RU UTF-8 +# mi_NZ ISO-8859-13 +# mi_NZ.UTF-8 UTF-8 +# mk_MK ISO-8859-5 +# mk_MK.UTF-8 UTF-8 +# ml_IN UTF-8 +# mn_MN UTF-8 +# mni_IN UTF-8 +# mr_IN UTF-8 +# ms_MY ISO-8859-1 +# ms_MY.UTF-8 UTF-8 +# mt_MT ISO-8859-3 +# mt_MT.UTF-8 UTF-8 +# my_MM UTF-8 +# nan_TW UTF-8 +# nan_TW@latin UTF-8 +# nb_NO ISO-8859-1 +# nb_NO.UTF-8 UTF-8 +# nds_DE UTF-8 +# nds_NL UTF-8 +# ne_NP UTF-8 +# nhn_MX UTF-8 +# niu_NU UTF-8 +# niu_NZ UTF-8 +# nl_AW UTF-8 +# nl_BE ISO-8859-1 +# nl_BE.UTF-8 UTF-8 +# nl_BE@euro ISO-8859-15 +# nl_NL ISO-8859-1 +# nl_NL.UTF-8 UTF-8 +# nl_NL@euro ISO-8859-15 +# nn_NO ISO-8859-1 +# nn_NO.UTF-8 UTF-8 +# nr_ZA UTF-8 +# nso_ZA UTF-8 +# oc_FR ISO-8859-1 +# oc_FR.UTF-8 UTF-8 +# om_ET UTF-8 +# om_KE ISO-8859-1 +# om_KE.UTF-8 UTF-8 +# or_IN UTF-8 +# os_RU UTF-8 +# pa_IN UTF-8 +# pa_PK UTF-8 +# pap_AW UTF-8 +# pap_CW UTF-8 +# pl_PL ISO-8859-2 +# pl_PL.UTF-8 UTF-8 +# ps_AF UTF-8 +# pt_BR ISO-8859-1 +# pt_BR.UTF-8 UTF-8 +# pt_PT ISO-8859-1 +# pt_PT.UTF-8 UTF-8 +# pt_PT@euro ISO-8859-15 +# quz_PE UTF-8 +# raj_IN UTF-8 +# ro_RO ISO-8859-2 +# ro_RO.UTF-8 UTF-8 +# ru_RU ISO-8859-5 +# ru_RU.CP1251 CP1251 +# ru_RU.KOI8-R KOI8-R +# ru_RU.UTF-8 UTF-8 +# ru_UA KOI8-U +# ru_UA.UTF-8 UTF-8 +# rw_RW UTF-8 +# sa_IN UTF-8 +# sat_IN UTF-8 +# sc_IT UTF-8 +# sd_IN UTF-8 +# sd_IN@devanagari UTF-8 +# se_NO UTF-8 +# sgs_LT UTF-8 +# shs_CA UTF-8 +# si_LK UTF-8 +# sid_ET UTF-8 +# sk_SK ISO-8859-2 +# sk_SK.UTF-8 UTF-8 +# sl_SI ISO-8859-2 +# sl_SI.UTF-8 UTF-8 +# so_DJ ISO-8859-1 +# so_DJ.UTF-8 UTF-8 +# so_ET UTF-8 +# so_KE ISO-8859-1 +# so_KE.UTF-8 UTF-8 +# so_SO ISO-8859-1 +# so_SO.UTF-8 UTF-8 +# sq_AL ISO-8859-1 +# sq_AL.UTF-8 UTF-8 +# sq_MK UTF-8 +# sr_ME UTF-8 +# sr_RS UTF-8 +# sr_RS@latin UTF-8 +# ss_ZA UTF-8 +# st_ZA ISO-8859-1 +# st_ZA.UTF-8 UTF-8 +# sv_FI ISO-8859-1 +# sv_FI.UTF-8 UTF-8 +# sv_FI@euro ISO-8859-15 +# sv_SE ISO-8859-1 +# sv_SE.ISO-8859-15 ISO-8859-15 +# sv_SE.UTF-8 UTF-8 +# sw_KE UTF-8 +# sw_TZ UTF-8 +# szl_PL UTF-8 +# ta_IN UTF-8 +# ta_LK UTF-8 +# tcy_IN.UTF-8 UTF-8 +# te_IN UTF-8 +# tg_TJ KOI8-T +# tg_TJ.UTF-8 UTF-8 +# th_TH TIS-620 +# th_TH.UTF-8 UTF-8 +# the_NP UTF-8 +# ti_ER UTF-8 +# ti_ET UTF-8 +# tig_ER UTF-8 +# tk_TM UTF-8 +# tl_PH ISO-8859-1 +# tl_PH.UTF-8 UTF-8 +# tn_ZA UTF-8 +# tr_CY ISO-8859-9 +# tr_CY.UTF-8 UTF-8 +# tr_TR ISO-8859-9 +# tr_TR.UTF-8 UTF-8 +# ts_ZA UTF-8 +# tt_RU UTF-8 +# tt_RU@iqtelif UTF-8 +# ug_CN UTF-8 +# uk_UA KOI8-U +# uk_UA.UTF-8 UTF-8 +# unm_US UTF-8 +# ur_IN UTF-8 +# ur_PK UTF-8 +# uz_UZ ISO-8859-1 +# uz_UZ.UTF-8 UTF-8 +# uz_UZ@cyrillic UTF-8 +# ve_ZA UTF-8 +# vi_VN UTF-8 +# wa_BE ISO-8859-1 +# wa_BE.UTF-8 UTF-8 +# wa_BE@euro ISO-8859-15 +# wae_CH UTF-8 +# wal_ET UTF-8 +# wo_SN UTF-8 +# xh_ZA ISO-8859-1 +# xh_ZA.UTF-8 UTF-8 +# yi_US CP1255 +# yi_US.UTF-8 UTF-8 +# yo_NG UTF-8 +# yue_HK UTF-8 +# zh_CN GB2312 +# zh_CN.GB18030 GB18030 +# zh_CN.GBK GBK +# zh_CN.UTF-8 UTF-8 +# zh_HK BIG5-HKSCS +# zh_HK.UTF-8 UTF-8 +# zh_SG GB2312 +# zh_SG.GBK GBK +# zh_SG.UTF-8 UTF-8 +# zh_TW BIG5 +# zh_TW.EUC-TW EUC-TW +# zh_TW.UTF-8 UTF-8 +# zu_ZA ISO-8859-1 +# zu_ZA.UTF-8 UTF-8 +# agr_PE UTF-8 +# az_IR UTF-8 +# bho_NP UTF-8 +# bi_VU UTF-8 +# ca_ES@valencia UTF-8 +# dsb_DE UTF-8 +# el_GR@euro ISO-8859-7 +# en_SC.UTF-8 UTF-8 +# hif_FJ UTF-8 +# kab_DZ UTF-8 +# mai_NP UTF-8 +# mfe_MU UTF-8 +# miq_NI UTF-8 +# mjw_IN UTF-8 +# sah_RU UTF-8 +# shn_MM UTF-8 +# sm_WS UTF-8 +# to_TO UTF-8 +# tpi_PG UTF-8 +# yuw_PG UTF-8 \ No newline at end of file diff --git a/resources/BuildResources/regdb/wireless-regdb-2018.09.07.tar.gz b/resources/BuildResources/regdb/wireless-regdb-2018.09.07.tar.gz deleted file mode 100644 index b88610d..0000000 Binary files a/resources/BuildResources/regdb/wireless-regdb-2018.09.07.tar.gz and /dev/null differ diff --git a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/.gitignore b/resources/BuildResources/regdb/wireless-regdb-2018.09.07/.gitignore deleted file mode 100644 index a59d408..0000000 --- a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -key.priv.pem -dbparse.pyc diff --git a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/CONTRIBUTING b/resources/BuildResources/regdb/wireless-regdb-2018.09.07/CONTRIBUTING deleted file mode 100644 index f288959..0000000 --- a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/CONTRIBUTING +++ /dev/null @@ -1,49 +0,0 @@ - -This project embraces the Developer Certificate of Origin (DCO) for -contributions. This means you must agree to the following prior to submitting -patches, if you agree with this developer certificate you acknowledge this by -adding a Signed-off-by tag to your patch commit log. Every submitted patch -must have this. - -The source for the DCO: - -http://developercertificate.org/ - ------------------------------------------------------------------------ - -Developer Certificate of Origin -Version 1.1 - -Copyright (C) 2004, 2006 The Linux Foundation and its contributors. -660 York Street, Suite 102, -San Francisco, CA 94110 USA - -Everyone is permitted to copy and distribute verbatim copies of this -license document, but changing it is not allowed. - - -Developer's Certificate of Origin 1.1 - -By making a contribution to this project, I certify that: - -(a) The contribution was created in whole or in part by me and I - have the right to submit it under the open source license - indicated in the file; or - -(b) The contribution is based upon previous work that, to the best - of my knowledge, is covered under an appropriate open source - license and I have the right under that license to submit that - work with modifications, whether created in whole or in part - by me, under the same open source license (unless I am - permitted to submit under a different license), as indicated - in the file; or - -(c) The contribution was provided directly to me by some other - person who certified (a), (b) or (c) and I have not modified - it. - -(d) I understand and agree that this project and the contribution - are public and that a record of the contribution (including all - personal information I submit with it, including my sign-off) is - maintained indefinitely and may be redistributed consistent with - this project or the open source license(s) involved. diff --git a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/LICENSE b/resources/BuildResources/regdb/wireless-regdb-2018.09.07/LICENSE deleted file mode 100644 index 652a6dd..0000000 --- a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/LICENSE +++ /dev/null @@ -1,16 +0,0 @@ -Copyright (c) 2008, Luis R. Rodriguez -Copyright (c) 2008, Johannes Berg -Copyright (c) 2008, Michael Green - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - diff --git a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/Makefile b/resources/BuildResources/regdb/wireless-regdb-2018.09.07/Makefile deleted file mode 100644 index 2f1ed93..0000000 --- a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/Makefile +++ /dev/null @@ -1,129 +0,0 @@ -# Install prefix -PREFIX ?= /usr -CRDA_PATH ?= $(PREFIX)/lib/crda -CRDA_KEY_PATH ?= $(CRDA_PATH)/pubkeys -FIRMWARE_PATH ?= /lib/firmware - -MANDIR ?= $(PREFIX)/share/man/ - -SHA1SUM ?= /usr/bin/sha1sum -LSB_RELEASE ?= /usr/bin/lsb_release -WHOAMI ?= /usr/bin/whoami - -# Distro name: Ubuntu, Debian, Fedora, if not present you get -# "custom-distro", if your distribution does not have the LSB stuff, -# then set this variable when calling make if you don't want "custom-distro" -LSB_ID ?= $(shell if [ -f $(LSB_RELEASE) ]; then \ - $(LSB_RELEASE) -i -s; \ - else \ - echo custom-distro; \ - fi) - -DISTRO_PRIVKEY ?= ~/.wireless-regdb-$(LSB_ID).key.priv.pem -DISTRO_PUBKEY ?= ~/.wireless-regdb-$(LSB_ID).key.priv.pem - -REGDB_AUTHOR ?= $(shell if [ -f $(DISTRO_PRIVKEY) ]; then \ - echo $(LSB_ID) ; \ - elif [ -f $(WHOAMI) ]; then \ - $(WHOAMI); \ - else \ - echo custom-user; \ - fi) - -REGDB_PRIVKEY ?= ~/.wireless-regdb-$(REGDB_AUTHOR).key.priv.pem -REGDB_PUBKEY ?= $(REGDB_AUTHOR).key.pub.pem -REGDB_PUBCERT ?= $(REGDB_AUTHOR).x509.pem - -REGDB_UPSTREAM_PUBKEY ?= sforshee.key.pub.pem - -REGDB_CHANGED = $(shell $(SHA1SUM) -c --status sha1sum.txt >/dev/null 2>&1; \ - if [ $$? -ne 0 ]; then \ - echo maintainer-clean $(REGDB_PUBKEY) $(REGDB_PUBCERT); \ - fi) - -.PHONY: all clean mrproper install maintainer-clean install-distro-key - -all: $(REGDB_CHANGED) regulatory.bin sha1sum.txt regulatory.db.p7s - -clean: - @rm -f *.pyc *.gz - -maintainer-clean: clean - @rm -f regulatory.bin regulatory.db regulatory.db.p7s - -mrproper: clean maintainer-clean - @echo Removed public key, regulatory.bin, regulatory.db* and compressed man pages - @rm -f $(REGDB_PUBKEY) $(REGDB_PUBCERT) .custom - -regulatory.bin: db.txt $(REGDB_PRIVKEY) $(REGDB_PUBKEY) - @echo Generating $@ digitally signed by $(REGDB_AUTHOR)... - ./db2bin.py regulatory.bin db.txt $(REGDB_PRIVKEY) - -regulatory.db: db.txt db2fw.py - @echo "Generating $@" - ./db2fw.py regulatory.db db.txt - -regulatory.db.p7s: regulatory.db $(REGDB_PRIVKEY) $(REGDB_PUBCERT) - @echo "Signing regulatory.db (by $(REGDB_AUTHOR))..." - @openssl smime -sign \ - -signer $(REGDB_PUBCERT) \ - -inkey $(REGDB_PRIVKEY) \ - -in $< -nosmimecap -binary \ - -outform DER -out $@ - -sha1sum.txt: db.txt - sha1sum $< > $@ - -$(REGDB_PUBKEY): $(REGDB_PRIVKEY) - @echo "Generating public key for $(REGDB_AUTHOR)..." - openssl rsa -in $(REGDB_PRIVKEY) -out $(REGDB_PUBKEY) -pubout -outform PEM - -$(REGDB_PUBCERT): $(REGDB_PRIVKEY) - @echo "Generating certificate for $(REGDB_AUTHOR)..." - ./gen-pubcert.sh $(REGDB_PRIVKEY) $(REGDB_PUBCERT) - @echo $(REGDB_PUBKEY) > .custom - - -$(REGDB_PRIVKEY): - @echo "Generating private key for $(REGDB_AUTHOR)..." - openssl genrsa -out $(REGDB_PRIVKEY) 2048 - -ifneq ($(shell test -e $(DISTRO_PRIVKEY) && echo yes),yes) -$(DISTRO_PRIVKEY): - @echo "Generating private key for $(LSB_ID) packager..." - openssl genrsa -out $(DISTRO_PRIVKEY) 2048 -endif - -install-distro-key: maintainer-clean $(DISTRO_PRIVKEY) - -%.gz: % - gzip < $< > $@ - -# Users should just do: -# sudo make install -# -# Developers should do: -# make maintainer-clean -# make -# sudo make install -# -# Distributions packagers should do only once: -# make install-distro-key -# This will create a private key for you and install it into -# ~/.wireless-regdb-$(LSB_ID).key.priv.pem -# To make new releaes just do: -# make maintainer-clean -# make -# sudo make install -install: regulatory.bin.5.gz regulatory.db.5.gz - install -m 755 -d $(DESTDIR)/$(CRDA_PATH) - install -m 755 -d $(DESTDIR)/$(CRDA_KEY_PATH) - install -m 755 -d $(DESTDIR)/$(FIRMWARE_PATH) - if [ -f .custom ]; then \ - install -m 644 -t $(DESTDIR)/$(CRDA_KEY_PATH)/ $(shell cat .custom); \ - fi - install -m 644 -t $(DESTDIR)/$(CRDA_KEY_PATH)/ $(REGDB_UPSTREAM_PUBKEY) - install -m 644 -t $(DESTDIR)/$(CRDA_PATH)/ regulatory.bin - install -m 644 -t $(DESTDIR)/$(FIRMWARE_PATH) regulatory.db regulatory.db.p7s - install -m 755 -d $(DESTDIR)/$(MANDIR)/man5/ - install -m 644 -t $(DESTDIR)/$(MANDIR)/man5/ regulatory.bin.5.gz regulatory.db.5.gz diff --git a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/README b/resources/BuildResources/regdb/wireless-regdb-2018.09.07/README deleted file mode 100644 index 4028223..0000000 --- a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/README +++ /dev/null @@ -1,29 +0,0 @@ -This repository contains the plain text version of the regulatory -database file I maintain for use with Central Regulatory Database -Agent daemon. Also included is the compiled binary version of this -file signed with my RSA key. This represents a good faith attempt -to capture regulatory information that is correct at the time of its last -modification. This information is provided to you with no warranty -either expressed or implied. - -Also included are the tools used to compile and sign the regulatory.bin -file as well as a MoinMoin macro used for viewing the database. - - TECHNICAL INFORMATION -======================= - -The regulatory information in `db.txt' is stored in a human-readable -format which can be read using the `dbparse.py' python module. This -python module is used by the web viewer (Regulatory.py) which is -implemented as a MoinMoin macro (and used on http://wireless.kernel.org) -to allow viewing the database for verification. - -The dbparse module is also used by db2bin.py and db2fw.py, the `compilers' -that compile the database to its binary formats. - -For more information, please see the CRDA git repository: - - git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/crda.git - -John W. Linville -17 November 2008 diff --git a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/db.txt b/resources/BuildResources/regdb/wireless-regdb-2018.09.07/db.txt deleted file mode 100644 index bc64628..0000000 --- a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/db.txt +++ /dev/null @@ -1,1380 +0,0 @@ -wmmrule ETSI: - vo_c: cw_min=3, cw_max=7, aifsn=2, cot=2 - vi_c: cw_min=7, cw_max=15, aifsn=2, cot=4 - be_c: cw_min=15, cw_max=1023, aifsn=3, cot=6 - bk_c: cw_min=15, cw_max=1023, aifsn=7, cot=6 - vo_ap: cw_min=3, cw_max=7, aifsn=1, cot=2 - vi_ap: cw_min=7, cw_max=15, aifsn=1, cot=4 - be_ap: cw_min=15, cw_max=63, aifsn=3, cot=6 - bk_ap: cw_min=15, cw_max=1023, aifsn=7, cot=6 - -# This is the world regulatory domain -country 00: - (2402 - 2472 @ 40), (20) - # Channel 12 - 13. - (2457 - 2482 @ 20), (20), NO-IR, AUTO-BW - # Channel 14. Only JP enables this and for 802.11b only - (2474 - 2494 @ 20), (20), NO-IR, NO-OFDM - # Channel 36 - 48 - (5170 - 5250 @ 80), (20), NO-IR, AUTO-BW - # Channel 52 - 64 - (5250 - 5330 @ 80), (20), NO-IR, DFS, AUTO-BW - # Channel 100 - 144 - (5490 - 5730 @ 160), (20), NO-IR, DFS - # Channel 149 - 165 - (5735 - 5835 @ 80), (20), NO-IR - # IEEE 802.11ad (60GHz), channels 1..3 - (57240 - 63720 @ 2160), (0) - - -country AD: - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), wmmrule=ETSI - (5250 - 5330 @ 80), (20), DFS, wmmrule=ETSI - (5490 - 5710 @ 80), (27), DFS, wmmrule=ETSI - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country AE: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country AF: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -# Source: -# http://pucanguilla.org/Downloads/January2005-Anguilla%20Table%20of%20Allocations.pdf -country AI: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - -country AL: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20.00), AUTO-BW - (5250 - 5330 @ 80), (20.00), DFS, AUTO-BW - (5490 - 5710 @ 160), (27.00), DFS - -country AM: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 20), (18) - (5250 - 5330 @ 20), (18), DFS - -country AN: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -country AR: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country AS: DFS-FCC - (2402 - 2472 @ 40), (30) - (5170 - 5250 @ 80), (24), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country AT: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -# Source: -# https://www.legislation.gov.au/Details/F2016C00432 -# Both DFS-ETSI and DFS-FCC are acceptable per AS/NZS 4268 Appendix B. -# The EIRP for DFS bands can be increased by 3dB if TPC is implemented. -# In order to allow 80MHz operation between 5650-5730MHz the upper boundary -# of this more restrictive band has been shifted up by 5MHz from 5725MHz. -country AU: DFS-ETSI - (2400 - 2483.5 @ 40), (36) - (5150 - 5250 @ 80), (23), NO-OUTDOOR, AUTO-BW - (5250 - 5350 @ 80), (20), NO-OUTDOOR, AUTO-BW, DFS - (5470 - 5600 @ 80), (27), DFS - (5650 - 5730 @ 80), (27), DFS - (5730 - 5850 @ 80), (36) - (57000 - 66000 @ 2160), (43), NO-OUTDOOR - -country AW: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -country AZ: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (18), AUTO-BW - (5250 - 5330 @ 80), (18), DFS, AUTO-BW - -country BA: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country BB: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (23), AUTO-BW - (5250 - 5330 @ 80), (23), DFS, AUTO-BW - (5735 - 5835 @ 80), (30) - -country BD: DFS-JP - (2402 - 2482 @ 40), (20) - (5735 - 5835 @ 80), (30) - -country BE: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country BF: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -# Bulgarian rules as defined by the Communications Regulation Commission in the -# following documents: -# -# Rules for carrying out electronic communications through radio equipment using -# radio spectrum, which does not need to be individually assigned (the Rules): -# http://www.crc.bg/files/_bg/Pravila_09_06_2015.pdf -# -# List of radio equipment that uses harmonized within the European Union bands -# and electronic communications terminal equipment (the List): -# http://www.crc.bg/files/_bg/Spisak_2015.pdf -# -# Note: The transmit power limits in the 5250-5350 MHz and 5470-5725 MHz bands -# can be raised by 3 dBm if TPC is enabled. Refer to BDS EN 301 893 for details. -country BG: DFS-ETSI - # Wideband data transmission systems (WDTS) in the 2.4GHz ISM band, ref: - # I.22 of the List, BDS EN 300 328 - (2402 - 2482 @ 40), (20) - # 5 GHz Radio Local Area Networks (RLANs), ref: - # II.H01 of the List, BDS EN 301 893 - (5170 - 5250 @ 80), (23), AUTO-BW, wmmrule=ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - # II.H01 of the List, I.54 from the List, BDS EN 301 893 - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - # Short range devices (SRDs) in the 5725-5875 MHz frequency range, ref: - # I.43 of the List, BDS EN 300 440-2, BDS EN 300 440-1 - (5725 - 5875 @ 80), (14) - # 60 GHz Multiple-Gigabit RLAN Systems, ref: - # II.H03 of the List, BDS EN 302 567-2 - (57000 - 66000 @ 2160), (40), NO-OUTDOOR - -country BH: DFS-JP - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 20), (20) - (5250 - 5330 @ 20), (20), DFS - (5735 - 5835 @ 20), (20) - -country BL: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -country BM: DFS-FCC - (2402 - 2472 @ 40), (30) - (5170 - 5250 @ 80), (24), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country BN: DFS-JP - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5735 - 5835 @ 80), (20) - -country BO: DFS-JP - (2402 - 2482 @ 40), (20) - (5250 - 5330 @ 80), (30), DFS - (5735 - 5835 @ 80), (30) - -country BR: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country BS: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (24), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -# Source: -# http://www.bicma.gov.bt/paper/publication/nrrpart4.pdf -country BT: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -country BY: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -country BZ: DFS-JP - (2402 - 2482 @ 40), (30) - (5735 - 5835 @ 80), (30) - -# Source: -# https://www.ic.gc.ca/eic/site/smt-gst.nsf/vwapj/rss-247-i2-e.pdf/$file/rss-247-i2-e.pdf -country CA: DFS-FCC - (2402 - 2472 @ 40), (30) - (5150 - 5250 @ 80), (23), NO-OUTDOOR, AUTO-BW - (5250 - 5350 @ 80), (24), DFS, AUTO-BW - (5470 - 5600 @ 80), (24), DFS - (5650 - 5730 @ 80), (24), DFS - (5735 - 5835 @ 80), (30) - -# Source: -# http://www.art-rca.org -country CF: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 40), (17) - (5250 - 5330 @ 40), (24), DFS - (5490 - 5730 @ 40), (24), DFS - (5735 - 5835 @ 40), (30) - -# Source: -# https://www.ofcomnet.ch/#/fatTable -# Note that the maximum transmitter power can be doubled for 5250-5710MHz if -# transmitter power control is in use: 5250-5330@23db, 5490-5710@30db -country CH: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (23), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI - (5150 - 5330 @ 80), (20), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country CI: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country CL: DFS-JP - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5735 - 5835 @ 80), (20) - -country CN: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (23), AUTO-BW - (5250 - 5330 @ 80), (23), DFS, AUTO-BW - (5735 - 5835 @ 80), (30) - # 60 GHz band channels 1,4: 28dBm, channels 2,3: 44dBm - # ref: http://www.miit.gov.cn/n11293472/n11505629/n11506593/n11960250/n11960606/n11960700/n12330791.files/n12330790.pdf - (57240 - 59400 @ 2160), (28) - (59400 - 63720 @ 2160), (44) - (63720 - 65880 @ 2160), (28) - -country CO: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country CR: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 20), (17) - (5250 - 5330 @ 20), (24), DFS - (5490 - 5730 @ 20), (24), DFS - (5735 - 5835 @ 20), (30) - -# Source: -# http://www.mincom.gob.cu/?q=marcoregulatorio -# - Redes Informáticas -# Resolución 127- 2011 Reglamento de Banda de frecuencias de 2,4 GHz. -country CU: DFS-FCC - (2400 - 2483.5 @ 40), (200 mW) - -country CX: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (24), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country CY: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -# Data from http://www.ctu.eu/164/download/VOR/VOR-12-08-2005-34.pdf -# and http://www.ctu.eu/164/download/VOR/VOR-12-05-2007-6-AN.pdf -# Power at 5250 - 5350 MHz and 5470 - 5725 MHz can be doubled if TPC is -# implemented. -country CZ: DFS-ETSI - (2400 - 2483.5 @ 40), (100 mW) - (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI - (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI - (5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -# Allocation for the 2.4 GHz band (Vfg 10 / 2013, Allgemeinzuteilung von -# Frequenzen für die Nutzung in lokalen Netzwerken; Wireless Local Area -# Networks (WLAN-Funkanwendungen). -# https://www.bundesnetzagentur.de/SharedDocs/Downloads/DE/Sachgebiete/Telekommunikation/Unternehmen_Institutionen/Frequenzen/Allgemeinzuteilungen/2013_10_WLAN_2,4GHz_pdf.pdf -# -# Allocation for the 5 GHz band (Vfg. 7 / 2010, Allgemeinzuteilung von -# Frequenzen in den Bereichen 5150 MHz - 5350 MHz und 5470 MHz - 5725 MHz für -# Funkanwendungen zur breitbandigen Datenübertragung, WAS/WLAN („Wireless -# Access Systems including Wireless Local Area Networks“). -# https://www.bundesnetzagentur.de/SharedDocs/Downloads/DE/Sachgebiete/Telekommunikation/Unternehmen_Institutionen/Frequenzen/Allgemeinzuteilungen/2010_07_WLAN_5GHz_pdf.pdf -# The values for the 5 GHz have been reduced by a factor of 2 (3db) for non TPC -# devices (in other words: devices with TPC can use twice the tx power of this -# table). Note that the docs do not require TPC for 5150--5250; the reduction -# to 100mW thus is not strictly required -- however the conservative 100mW -# limit is used here as the non-interference with radar and satellite -# apps relies on the attenuation by the building walls only in the -# absence of DFS; the neighbour countries have 100mW limit here as well. -# -# The ETSI EN 300 440-1 standard for short range devices in the 5 GHz band has -# been implemented in Germany: -# https://www.bundesnetzagentur.de/SharedDocs/Downloads/DE/Sachgebiete/Telekommunikation/Unternehmen_Institutionen/Frequenzen/Allgemeinzuteilungen/2014_69_SRD_pdf.pdf -# -# Allocation for the 60 GHz band (Allgemeinzuteilung von Frequenzen im -# Bereich 57 GHz - 66 GHz für Funkanwendungen für weitbandige -# Datenübertragungssysteme; „Multiple Gigabit WAS/RLAN Systems (MGWS)“). -# https://www.bundesnetzagentur.de/SharedDocs/Downloads/DE/Sachgebiete/Telekommunikation/Unternehmen_Institutionen/Frequenzen/Allgemeinzuteilungen/2011_08_MGWS_pdf.pdf - -country DE: DFS-ETSI - (2400 - 2483.5 @ 40), (100 mW) - (5150 - 5250 @ 80), (100 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI - (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI - (5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI - # short range devices (ETSI EN 300 440-1) - (5725 - 5875 @ 80), (25 mW) - # 60 GHz band channels 1-4 (ETSI EN 302 567) - (57000 - 66000 @ 2160), (40) - -# Sources: -# 5GHz: https://erhvervsstyrelsen.dk/sites/default/files/007_interface-datanet_5-6_ghz.pdf.pdf -# 60GHz: https://erhvervsstyrelsen.dk/sites/default/files/radiograenseflader-63.pdf -country DK: DFS-ETSI - (2400 - 2483.5 @ 40), (20) - (5150 - 5250 @ 80), (23), AUTO-BW, wmmrule=ETSI - (5250 - 5350 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5470 - 5725 @ 160), (27), DFS, wmmrule=ETSI - # 60 GHz band channels 1-4 (ETSI EN 302 567) - (57000 - 66000 @ 2160), (40), NO-OUTDOOR - -# Source: -# http://www.ntrcdom.org/index.php?option=com_content&view=category&layout=blog&id=10&Itemid=55 -country DM: DFS-FCC - (2402 - 2472 @ 40), (30) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (23), DFS, AUTO-BW - (5735 - 5835 @ 80), (30) - -country DO: DFS-FCC - (2402 - 2472 @ 40), (30) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (23), DFS, AUTO-BW - (5735 - 5835 @ 80), (30) - -country DZ: DFS-JP - (2402 - 2482 @ 40), (20) - (5170.000 - 5250.000 @ 80.000), (23.00), AUTO-BW - (5250.000 - 5330.000 @ 80.000), (23.00), DFS, AUTO-BW - (5490.000 - 5670.000 @ 160.000), (23.00), DFS - -country EC: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 20), (17) - (5250 - 5330 @ 20), (24), DFS - (5490 - 5730 @ 20), (24), DFS - (5735 - 5835 @ 20), (30) - -country EE: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country EG: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 40), (20) - (5250 - 5330 @ 40), (20), DFS - -# Source: -# Cuadro nacional de atribución de frecuencias (CNAF) -# http://www.mincotur.gob.es/telecomunicaciones/espectro/paginas/cnaf.aspx -country ES: DFS-ETSI - (2400 - 2483.5 @ 40), (100 mW) - (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI - (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI - (5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI - # Short Range Devices (SRD) (ETSI EN 300 440) - (5725 - 5875 @ 80), (25 mW) - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country ET: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -country FI: DFS-ETSI - (2400 - 2483.5 @ 40), (20) - (5150 - 5250 @ 80), (23), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI - (5250 - 5350 @ 80), (20), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI - (5470 - 5725 @ 160), (27), DFS, wmmrule=ETSI - # short range devices (ETSI EN 300 440-1) - (5725 - 5875 @ 80), (25 mW) - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country FM: DFS-FCC - (2402 - 2472 @ 40), (30) - (5170 - 5250 @ 80), (24), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country FR: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - # short range devices (ETSI EN 300 440) - (5725 - 5875 @ 80), (25 mW) - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country GB: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country GD: DFS-FCC - (2402 - 2472 @ 40), (30) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country GE: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (18), AUTO-BW - (5250 - 5330 @ 80), (18), DFS, AUTO-BW - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country GF: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - -country GH: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country GL: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - -country GP: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - -country GR: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country GT: DFS-FCC - (2402 - 2472 @ 40), (30) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (23), DFS, AUTO-BW - (5735 - 5835 @ 80), (30) - -country GU: DFS-FCC - (2402 - 2472 @ 40), (30) - (5170 - 5250 @ 20), (17) - (5250 - 5330 @ 20), (24), DFS - (5490 - 5730 @ 20), (24), DFS - (5735 - 5835 @ 20), (30) - -country GY: - (2402 - 2482 @ 40), (30) - (5735 - 5835 @ 80), (30) - -country HK: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5710 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country HN: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country HR: DFS-ETSI - (2400 - 2483.5 @ 40), (20) - (5150 - 5250 @ 80), (23), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI - (5250 - 5350 @ 80), (20), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI - (5470 - 5725 @ 160), (27), DFS, wmmrule=ETSI - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country HT: DFS-FCC - (2402 - 2472 @ 40), (30) - (5170 - 5250 @ 80), (24), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -# http://stir.nmhh.hu/?oldal=dokumentumGeneralo&root_rendeletelem_id=3&hatalyos=1 -# http://english.nmhh.hu/cikk/297/Eljarasi_tajekoztato_a_24_GHzes_es_az_5_GHzes_savban_mukodo_berendezesek_engedelyezeserol -# http://nmhh.hu/dokumentum/319/kis_hatotavolsagu_eszkozok_srdk.pdf -country HU: DFS-ETSI - # ref: 2006/771/EK, (EU) 2017/1483, MSZ EN 300 328 - # additionally: 100mW @ 10MHz channels, 50mW @ 5MHz (max. 10mW/MHz) - (2400 - 2483.5 @ 40), (20) - # ref: 2005/513/EK - # note: TPC not needed @ 5150-5250 - (5150 - 5250 @ 80), (23), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI - # note: max would be +3dB with TPC @ 5250-5725 - (5250 - 5350 @ 80), (20), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI - (5470 - 5725 @ 160), (27), DFS, wmmrule=ETSI - # "Short Range Devices (SRD)" - # ref: 2006/771/EK, (EU) 2017/1483, MSZ EN 300 440, MSZ EN 302 064 - (5725 - 5875 @ 80), (25 mW) - # 60 GHz band channels 1-4, "Fixed outdoor installation not allowed" - # ref: 2006/771/EK, (EU) 2017/1483, MSZ EN 302 567 - (57000 - 66000 @ 2160), (40), NO-OUTDOOR - -country ID: DFS-JP - # ref: http://www.postel.go.id/content/ID/regulasi/standardisasi/kepdir/bwa%205,8%20ghz.pdf - (2402 - 2482 @ 20), (20) - (5735 - 5815 @ 20), (23) - -country IE: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country IL: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW - (5250 - 5350 @ 80), (200 mW), NO-OUTDOOR, DFS, AUTO-BW - -country IN: - (2402 - 2482 @ 40), (20) - (5150 - 5350 @ 160), (23) - (5725 - 5875 @ 80), (23) - -country IR: DFS-JP - (2402 - 2482 @ 40), (20) - (5735 - 5835 @ 80), (30) - -country IS: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country IT: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country JM: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country JO: DFS-JP - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (23) - (5735 - 5835 @ 80), (23) - -country JP: DFS-JP - (2402 - 2482 @ 40), (20) - (2474 - 2494 @ 20), (20), NO-OFDM - (4910 - 4990 @ 40), (23) - (5030 - 5090 @ 40), (23) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (23), DFS - # 60 GHz band channels 2-4 at 10mW, - # ref: http://www.arib.or.jp/english/html/overview/doc/1-STD-T74v1_1.pdf - (59000 - 66000 @ 2160), (10 mW) - -country KE: DFS-JP - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (23) - (5490 - 5570 @ 80), (30), DFS - (5735 - 5775 @ 40), (23) - -country KH: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -# Source -# http://ntrc.kn/?page_id=7 -country KN: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (30), DFS - (5735 - 5815 @ 80), (30) - -country KP: DFS-JP - (2402 - 2482 @ 20), (20) - (5170 - 5250 @ 20), (20) - (5250 - 5330 @ 20), (20), DFS - (5490 - 5630 @ 20), (30), DFS - (5735 - 5815 @ 20), (30) - -country KR: DFS-JP - (2402 - 2482 @ 40), (13) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (30), DFS - (5735 - 5835 @ 80), (30) - # 60 GHz band channels 1-4, - # ref: http://www.law.go.kr/%ED%96%89%EC%A0%95%EA%B7%9C%EC%B9%99/%EB%AC%B4%EC%84%A0%EC%84%A4%EB%B9%84%EA%B7%9C%EC%B9%99 - (57000 - 66000 @ 2160), (43) - -country KW: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - -country KY: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (24), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -# Source: -# http://mic.gov.kz/sites/default/files/pages/pravila_prisvoeniya_polos_chastot_no34.pdf -# http://adilet.zan.kz/rus/docs/P000001379_ -country KZ: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5150 - 5250 @ 80), (20), NO-OUTDOOR, AUTO-BW - (5250 - 5350 @ 80), (20), NO-OUTDOOR, DFS, AUTO-BW - (5470 - 5725 @ 80), (20), NO-OUTDOOR, DFS - -country LB: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -# Source: -# http://www.ntrc.org.lc/operational_structures.htm -country LC: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (30), DFS - (5735 - 5815 @ 80), (30) - -# Source: -# https://www.ofcomnet.ch/#/fatTable -# Note that the maximum transmitter power can be doubled for 5250-5710MHz if -# transmitter power control is in use: 5250-5330@23db, 5490-5710@30db -country LI: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (23), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI - (5150 - 5330 @ 80), (20), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country LK: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 20), (17) - (5250 - 5330 @ 20), (24), DFS - (5490 - 5730 @ 20), (24), DFS - (5735 - 5835 @ 20), (30) - -# Source: -# http://lca.org.ls/images/documents/lesotho_national_frequency_allocation_plan.pdf -country LS: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -country LT: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country LU: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country LV: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country MA: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - -country MC: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - -# Source: -# http://www.cnfr.md/index.php?pag=sec&id=117&l=en -country MD: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -# Source: -# http://www.cept.org/files/1050/Tools%20and%20Services/EFIS%20-%20ECO%20Frequency%20Information%20System/National%20frequency%20tables/Montenegro%20NAFT%20-%202010.pdf -country ME: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - -country MF: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - -country MH: DFS-FCC - (2402 - 2472 @ 40), (30) - (5170 - 5250 @ 80), (24), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country MK: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country MN: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (24), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country MO: DFS-FCC - (2402 - 2482 @ 40), (23) - (5170 - 5250 @ 80), (23), AUTO-BW - (5250 - 5330 @ 80), (23), DFS, AUTO-BW - (5490 - 5730 @ 160), (30), DFS - (5735 - 5835 @ 80), (30) - -country MP: DFS-FCC - (2402 - 2472 @ 40), (30) - (5170 - 5250 @ 80), (24), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country MQ: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - -# Source: -# http://www.are.mr/pdfs/telec_freq_TNAbf_2010.pdf -country MR: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -country MT: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country MU: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (24), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -# Source: -# http://www.cam.gov.mv/docs/tech_standards/TAM-TS-100-2004-WLAN.pdf -country MV: DFS-ETSI - (2400 - 2483.5 @ 40), (100 mW) - (5150 - 5250 @ 80), (200 mW), AUTO-BW - (5250 - 5350 @ 80), (100 mW), DFS, AUTO-BW - (5725 - 5850 @ 80), (100 mW) - -country MW: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -country MX: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country MY: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (24), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5650 @ 160), (24), DFS - (5735 - 5835 @ 80), (24) - -country NG: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5250 - 5330 @ 80), (30), DFS - (5735 - 5835 @ 80), (30) - -country NI: DFS-FCC - (2402 - 2472 @ 40), (30) - (5170 - 5250 @ 80), (24), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -# Regulation on the use of frequency space without a license and -# without notification 2015 -# -# http://wetten.overheid.nl/BWBR0036378/2015-03-05 - -country NL: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI - (5250 - 5330 @ 80), (20), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - # short range devices (ETSI EN 300 440-1) - (5725 - 5875 @ 80), (25 mW) - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -# Data from http://www.lovdata.no/dokument/SF/forskrift/2012-01-19-77 -# Power at 5250 - 5350 MHz, 5470 - 5725 MHz and 5815 – 5850 MHz can -# be doubled if TPC is implemented. -# Up to 2W (or 4W with TPC) is allowed in the 5725 – 5795 MHz band -# which has been merged with 5470 - 5725 MHz to allow wide channels -country NO: DFS-ETSI - (2400 - 2483.5 @ 40), (100 mW) - (5150 - 5250 @ 80), (200 mW), AUTO-BW, wmmrule=ETSI - (5250 - 5350 @ 80), (100 mW), DFS, AUTO-BW, wmmrule=ETSI - (5470 - 5795 @ 160), (500 mW), DFS, wmmrule=ETSI - (5815 - 5850 @ 35), (2000 mW), DFS - (17100 - 17300 @ 200), (100 mW) - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country NP: DFS-JP - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5735 - 5835 @ 80), (20) - -country NZ: DFS-ETSI - (2402 - 2482 @ 40), (30) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country OM: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -# Source: -# http://www.asep.gob.pa/images/telecomunicaciones/Anexos/PNAF-dic2015.pdf -country PA: DFS-FCC - (2400 - 2483.5 @ 40), (36) - (5150 - 5250 @ 80), (36), AUTO-BW - (5250 - 5350 @ 80), (30), AUTO-BW - (5470 - 5725 @ 160), (30) - (5725 - 5850 @ 80), (36) - (57000 - 64000 @ 2160), (43) - -country PE: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country PF: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - -country PG: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country PH: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country PK: DFS-JP - (2402 - 2482 @ 40), (20) - (5735 - 5835 @ 80), (30) - -country PL: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country PM: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - -country PR: DFS-FCC - (2402 - 2472 @ 40), (30) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country PT: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country PW: DFS-FCC - (2402 - 2472 @ 40), (30) - (5170 - 5250 @ 80), (24), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country PY: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (24), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country QA: DFS-ETSI - (2400 - 2483.5 @ 40), (100 mW), NO-OUTDOOR - (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW - (5250 - 5350 @ 80), (200 mW), NO-OUTDOOR, DFS, AUTO-BW - (5470 - 5725 @ 160), (100 mW), NO-OUTDOOR, DFS - (5725 - 5875 @ 80), (100 mW), NO-OUTDOOR, DFS - (57000 - 66000 @ 2160), (40), NO-OUTDOOR - -country RE: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - -country RO: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - - -# Source: -# http://www.ratel.rs/upload/documents/Plan_namene/Plan_namene-sl_glasnik.pdf -country RS: DFS-ETSI - (2400 - 2483.5 @ 40), (100 mW) - (5150 - 5350 @ 40), (200 mW), NO-OUTDOOR - (5470 - 5725 @ 20), (1000 mW), DFS - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country RU: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5650 - 5730 @ 80), (30), DFS - (5735 - 5835 @ 80), (30) - # 60 GHz band channels 1-4, ref: Changes to NLA 124_Order №129_22042015.pdf - (57000 - 66000 @ 2160), (40) - -country RW: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country SA: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -country SE: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -# Source -# https://www.imda.gov.sg/~/media/imda/files/regulation%20licensing%20and%20consultations/ict%20standards/telecommunication%20standards/radio-comms/imdatssrd.pdf?la=en -# page 12-14 -# The EIRP for 5250 – 5350 can be increased by 3dB if TPC is implemented. -country SG: DFS-FCC - (2400 - 2483.5 @ 40), (23) - (5150 - 5250 @ 80), (23), AUTO-BW - (5250 - 5350 @ 80), (20), DFS, AUTO-BW - # 5470 - 5725 is only allowed when TPC is implemented - # (5470 - 5725 @ 160), (30), DFS - (5725 - 5850 @ 80), (30) - -country SI: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country SK: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -# Source: -# Regulation N° 2004-005 ART/DG/DRC/D.Rég -country SN: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country SR: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -country SV: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 20), (17) - (5250 - 5330 @ 20), (23), DFS - (5735 - 5835 @ 20), (30) - -country SY: - (2402 - 2482 @ 40), (20) - -# Source: -# http://www.telecommission.tc/Spectrum-plan20110324-101210.html -country TC: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (24), AUTO-BW, wmmrule=ETSI - (5250 - 5330 @ 80), (24), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5730 @ 160), (24), DFS, wmmrule=ETSI - (5735 - 5835 @ 80), (30) - -country TD: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -country TG: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 40), (20) - (5250 - 5330 @ 40), (20), DFS - (5490 - 5710 @ 40), (27), DFS - -country TH: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country TN: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - -# Source: -# By-Law on Short Range Radio Devices (SRD) Oct 2015 -# https://www.btk.gov.tr/File/?path=ROOT%2f1%2fDocuments%2fOrdinance%2fBY%2DLAW%20ON%20SHORT%20RANGE%20DEVICES.pdf -# Article 8 -country TR: DFS-ETSI - (2400 - 2483.5 @ 40), (20) - (5170 - 5250 @ 80), (23), NO-OUTDOOR, AUTO-BW - (5250 - 5330 @ 80), (20), DFS, NO-OUTDOOR, AUTO-BW - (5470 - 5725 @ 160), (27), DFS - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country TT: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -# Source: -# Table of Frequency Allocations of Republic of China (Taiwan) / Feb 2017: -# https://www.motc.gov.tw/websitedowndoc?file=post/201702221012200.doc& \ -# filedisplay=Table%2Bof%2Bradio%2Bfrequency%2Ballocation.doc -# LP0002 Low-power Radio-frequency Devices Technical Regulations / 23 Aug 2016: -# http://www.ncc.gov.tw/english/show_file.aspx?table_name=news&file_sn=681 -country TW: DFS-FCC - # 2.4g band, LP0002 section 3.10.1 - (2400 - 2483.5 @ 40), (30) - # 5g U-NII band, LP0002 section 4.7 - # 5.15 ~ 5.25 GHz: 30 dBm for master mode, 23 dBm for clients - (5150 - 5250 @ 80), (23), AUTO-BW - (5250 - 5350 @ 80), (23), DFS, AUTO-BW - (5470 - 5725 @ 160), (23), DFS - (5725 - 5850 @ 80), (30) - # 60g band, LP0002 section 3.13.1.1 (3)(C), EIRP=40dBm(43dBm peak) - (57000 - 66000 @ 2160), (40) - -country TZ: - (2402 - 2482 @ 40), (20) - (5735 - 5835 @ 80), (30) - -# Source: -# #914 / 06 Sep 2007: http://www.ucrf.gov.ua/uk/doc/nkrz/1196068874 -# #1174 / 23 Oct 2008: http://www.nkrz.gov.ua/uk/activities/ruling/1225269361 -# (appendix 8) -# Listed 5GHz range is a lowest common denominator for all related -# rules in the referenced laws. Such a range is used because of -# disputable definitions there. -country UA: DFS-ETSI - (2400 - 2483.5 @ 40), (20), NO-OUTDOOR - (5150 - 5250 @ 80), (20), NO-OUTDOOR, AUTO-BW - (5250 - 5350 @ 80), (20), DFS, NO-OUTDOOR, AUTO-BW - (5490 - 5670 @ 160), (20), DFS - (5735 - 5835 @ 80), (20) - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country UG: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (24), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country US: DFS-FCC - (2402 - 2472 @ 40), (30) - # 5.15 ~ 5.25 GHz: 30 dBm for master mode, 23 dBm for clients - (5170 - 5250 @ 80), (23), AUTO-BW - (5250 - 5330 @ 80), (23), DFS, AUTO-BW - (5490 - 5730 @ 160), (23), DFS - (5735 - 5835 @ 80), (30) - # 60g band - # reference: http://cfr.regstoday.com/47cfr15.aspx#47_CFR_15p255 - # channels 1,2,3, EIRP=40dBm(43dBm peak) - (57240 - 63720 @ 2160), (40) - -country UY: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (23), AUTO-BW - (5250 - 5330 @ 80), (23), DFS, AUTO-BW - (5735 - 5835 @ 80), (30) - -# Source: -# http://cemc.uz/article/1976/ -country UZ: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - -# Source: -# http://www.ntrc.vc/regulations/Jun_2006_Spectrum_Managment_Regulations.pdf -country VC: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -# Source: -# Official Gazette (Gaceta Oficial) concerning Unlicensed transmitter use -# (10 June 2013) -# http://www.conatel.gob.ve/ -country VE: DFS-FCC - (2402 - 2482 @ 40), (30) - (5170 - 5250 @ 80), (23), AUTO-BW - (5250 - 5330 @ 80), (23), DFS, AUTO-BW - (5735 - 5835 @ 80), (30) - -country VI: DFS-FCC - (2402 - 2472 @ 40), (30) - (5170 - 5250 @ 80), (24), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country VN: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17) - (5250 - 5330 @ 80), (24), DFS - (5490 - 5730 @ 80), (24), DFS - (5735 - 5835 @ 80), (30) - -# Source: -# http://www.trr.vu/attachments/category/130/GURL_for_Short-range_Radiocommunication_Devices2.pdf -country VU: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country WF: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - -country WS: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 40), (20) - (5250 - 5330 @ 40), (20), DFS - (5490 - 5710 @ 40), (27), DFS - -country YE: - (2402 - 2482 @ 40), (20) - -country YT: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - -country ZA: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (30) - -country ZW: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - diff --git a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/db2bin.py b/resources/BuildResources/regdb/wireless-regdb-2018.09.07/db2bin.py deleted file mode 100755 index 28cd7d2..0000000 --- a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/db2bin.py +++ /dev/null @@ -1,147 +0,0 @@ -#!/usr/bin/env python - -from io import BytesIO, open -import struct -import hashlib -from dbparse import DBParser -import sys - -MAGIC = 0x52474442 -VERSION = 19 - -if len(sys.argv) < 3: - print('Usage: %s output-file input-file [key-file]' % sys.argv[0]) - sys.exit(2) - -def create_rules(countries): - result = {} - for c in countries.values(): - for rule in c.permissions: - result[rule] = 1 - return list(result) - -def create_collections(countries): - result = {} - for c in countries.values(): - result[c.permissions] = 1 - return list(result) - - -def be32(output, val): - output.write(struct.pack('>I', val)) - -class PTR(object): - def __init__(self, output): - self._output = output - self._pos = output.tell() - be32(output, 0xFFFFFFFF) - - def set(self, val=None): - if val is None: - val = self._output.tell() - self._offset = val - pos = self._output.tell() - self._output.seek(self._pos) - be32(self._output, val) - self._output.seek(pos) - - def get(self): - return self._offset - -p = DBParser() -countries = p.parse(open(sys.argv[2], 'r', encoding='utf-8')) - -countrynames = list(countries) -countrynames.sort() - -power = [] -bands = [] -for alpha2 in countrynames: - for perm in countries[alpha2].permissions: - if not perm.freqband in bands: - bands.append(perm.freqband) - if not perm.power in power: - power.append(perm.power) -rules = create_rules(countries) -rules.sort() -collections = create_collections(countries) -collections.sort() - -output = BytesIO() - -# struct regdb_file_header -be32(output, MAGIC) -be32(output, VERSION) -reg_country_ptr = PTR(output) -# add number of countries -be32(output, len(countries)) -siglen = PTR(output) - -power_rules = {} -for pr in power: - power_rules[pr] = output.tell() - pr = [int(v * 100.0) for v in (pr.max_ant_gain, pr.max_eirp)] - # struct regdb_file_power_rule - output.write(struct.pack('>II', *pr)) - -freq_ranges = {} -for fr in bands: - freq_ranges[fr] = output.tell() - fr = [int(f * 1000.0) for f in (fr.start, fr.end, fr.maxbw)] - # struct regdb_file_freq_range - output.write(struct.pack('>III', *fr)) - - -reg_rules = {} -for reg_rule in rules: - freq_range, power_rule = reg_rule.freqband, reg_rule.power - reg_rules[reg_rule] = output.tell() - # struct regdb_file_reg_rule - output.write(struct.pack('>III', freq_ranges[freq_range], power_rules[power_rule], - reg_rule.flags)) - - -reg_rules_collections = {} - -for coll in collections: - reg_rules_collections[coll] = output.tell() - # struct regdb_file_reg_rules_collection - coll = list(coll) - be32(output, len(coll)) - coll.sort() - for regrule in coll: - be32(output, reg_rules[regrule]) - -# update country pointer now! -reg_country_ptr.set() - -for alpha2 in countrynames: - coll = countries[alpha2] - # struct regdb_file_reg_country - output.write(struct.pack('>BBxBI', alpha2[0], alpha2[1], coll.dfs_region, reg_rules_collections[coll.permissions])) - - -if len(sys.argv) > 3: - # Load RSA only now so people can use this script - # without having those libraries installed to verify - # their SQL changes - from M2Crypto import RSA - - # determine signature length - key = RSA.load_key(sys.argv[3]) - hash = hashlib.sha1() - hash.update(output.getvalue()) - sig = key.sign(hash.digest()) - # write it to file - siglen.set(len(sig)) - # sign again - hash = hashlib.sha1() - hash.update(output.getvalue()) - sig = key.sign(hash.digest()) - - output.write(sig) -else: - siglen.set(0) - -outfile = open(sys.argv[1], 'wb') -outfile.write(output.getvalue()) diff --git a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/db2fw.py b/resources/BuildResources/regdb/wireless-regdb-2018.09.07/db2fw.py deleted file mode 100755 index 0c0f030..0000000 --- a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/db2fw.py +++ /dev/null @@ -1,158 +0,0 @@ -#!/usr/bin/env python - -from io import BytesIO, open -import struct -import hashlib -from dbparse import DBParser -import sys -from math import log - -MAGIC = 0x52474442 -VERSION = 20 - -if len(sys.argv) < 3: - print('Usage: %s output-file input-file' % sys.argv[0]) - sys.exit(2) - -def create_rules(countries): - result = {} - for c in countries.values(): - for rule in c.permissions: - result[rule] = 1 - return list(result) - -def create_collections(countries): - result = {} - for c in countries.values(): - result[(c.permissions, c.dfs_region)] = 1 - return list(result) - -def create_wmms(countries): - result = {} - for c in countries.values(): - for rule in c.permissions: - if rule.wmmrule is not None: - result[rule.wmmrule] = 1 - return list(result) - -def be32(output, val): - output.write(struct.pack('>I', val)) -def be16(output, val): - output.write(struct.pack('>H', val)) - -class PTR(object): - def __init__(self, output): - self._output = output - self._pos = output.tell() - be16(output, 0) - self._written = False - - def set(self, val=None): - if val is None: - val = self._output.tell() - assert val & 3 == 0 - self._offset = val - pos = self._output.tell() - self._output.seek(self._pos) - be16(self._output, val >> 2) - self._output.seek(pos) - self._written = True - - def get(self): - return self._offset - - @property - def written(self): - return self._written - -p = DBParser() -countries = p.parse(open(sys.argv[2], 'r', encoding='utf-8')) -rules = create_rules(countries) -rules.sort() -collections = create_collections(countries) -collections.sort() -wmms = create_wmms(countries) -wmms.sort() - -output = BytesIO() - -# struct regdb_file_header -be32(output, MAGIC) -be32(output, VERSION) - -country_ptrs = {} -countrynames = list(countries) -countrynames.sort() -for alpha2 in countrynames: - coll = countries[alpha2] - output.write(struct.pack('>BB', alpha2[0], alpha2[1])) - country_ptrs[alpha2] = PTR(output) -output.write(b'\x00' * 4) - -wmmdb = {} -for w in wmms: - assert output.tell() & 3 == 0 - wmmdb[w] = output.tell() >> 2 - for r in w._as_tuple(): - ecw = int(log(r[0] + 1, 2)) << 4 | int(log(r[1] + 1, 2)) - ac = (ecw, r[2],r[3]) - output.write(struct.pack('>BBH', *ac)) - -reg_rules = {} -flags = 0 -for reg_rule in rules: - freq_range, power_rule, wmm_rule = reg_rule.freqband, reg_rule.power, reg_rule.wmmrule - reg_rules[reg_rule] = output.tell() - assert power_rule.max_ant_gain == 0 - flags = 0 - # convert to new rule flags - assert reg_rule.flags & ~0x899 == 0 - if reg_rule.flags & 1<<0: - flags |= 1<<0 - if reg_rule.flags & 1<<3: - flags |= 1<<1 - if reg_rule.flags & 1<<4: - flags |= 1<<2 - if reg_rule.flags & 1<<7: - flags |= 1<<3 - if reg_rule.flags & 1<<11: - flags |= 1<<4 - rule_len = 16 - cac_timeout = 0 # TODO - if not (flags & 1<<2): - cac_timeout = 0 - if cac_timeout or wmm_rule: - rule_len += 2 - if wmm_rule is not None: - rule_len += 2 - output.write(struct.pack('>BBHIII', rule_len, flags, int(power_rule.max_eirp * 100), - int(freq_range.start * 1000), int(freq_range.end * 1000), int(freq_range.maxbw * 1000), - )) - if rule_len > 16: - output.write(struct.pack('>H', cac_timeout)) - - if rule_len > 18: - be16(output, wmmdb[wmm_rule]) - - while rule_len % 4: - output.write('\0') - rule_len += 1 - -for coll in collections: - for alpha2 in countrynames: - if (countries[alpha2].permissions, countries[alpha2].dfs_region) == coll: - assert not country_ptrs[alpha2].written - country_ptrs[alpha2].set() - slen = 3 - output.write(struct.pack('>BBBx', slen, len(list(coll[0])), coll[1])) - coll = list(coll[0]) - for regrule in coll: - be16(output, reg_rules[regrule] >> 2) - if len(coll) % 2: - be16(output, 0) - -for alpha2 in countrynames: - assert country_ptrs[alpha2].written - -outfile = open(sys.argv[1], 'wb') -outfile.write(output.getvalue()) diff --git a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/dbparse.py b/resources/BuildResources/regdb/wireless-regdb-2018.09.07/dbparse.py deleted file mode 100755 index 5fe752b..0000000 --- a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/dbparse.py +++ /dev/null @@ -1,516 +0,0 @@ -#!/usr/bin/env python - -from builtins import bytes -from functools import total_ordering -import sys, math -from math import ceil, log -from collections import defaultdict, OrderedDict -import attr - -# must match enum nl80211_reg_rule_flags - -flag_definitions = { - 'NO-OFDM': 1<<0, - 'NO-CCK': 1<<1, - 'NO-INDOOR': 1<<2, - 'NO-OUTDOOR': 1<<3, - 'DFS': 1<<4, - 'PTP-ONLY': 1<<5, - 'PTMP-ONLY': 1<<6, - 'NO-IR': 1<<7, - # hole at bit 8 - # hole at bit 9. FIXME: Where is NO-HT40 defined? - 'NO-HT40': 1<<10, - 'AUTO-BW': 1<<11, -} - -dfs_regions = { - 'DFS-FCC': 1, - 'DFS-ETSI': 2, - 'DFS-JP': 3, -} - -@total_ordering - -@attr.s(frozen=True, cmp=False) -class WmmRule(object): - vo_c = attr.ib() - vi_c = attr.ib() - be_c = attr.ib() - bk_c = attr.ib() - vo_ap = attr.ib() - vi_ap = attr.ib() - be_ap = attr.ib() - bk_ap = attr.ib() - - def _as_tuple(self): - return (self.vo_c, self.vi_c, self.be_c, self.bk_c, - self.vo_ap, self.vi_ap, self.be_ap, self.bk_ap) - - def __eq__(self, other): - if other is None: - return False - return (self._as_tuple() == other._as_tuple()) - - def __ne__(self, other): - return not (self == other) - - def __lt__(self, other): - if other is None: - return False - return (self._as_tuple() < other._as_tuple()) - - def __hash__(self): - return hash(self._as_tuple()) - -class FreqBand(object): - def __init__(self, start, end, bw, comments=None): - self.start = start - self.end = end - self.maxbw = bw - self.comments = comments or [] - - def _as_tuple(self): - return (self.start, self.end, self.maxbw) - - def __eq__(self, other): - return (self._as_tuple() == other._as_tuple()) - - def __ne__(self, other): - return not (self == other) - - def __lt__(self, other): - return (self._as_tuple() < other._as_tuple()) - - def __hash__(self): - return hash(self._as_tuple()) - - def __str__(self): - return '' % ( - self.start, self.end, self.maxbw) - -@total_ordering -class PowerRestriction(object): - def __init__(self, max_ant_gain, max_eirp, comments = None): - self.max_ant_gain = max_ant_gain - self.max_eirp = max_eirp - self.comments = comments or [] - - def _as_tuple(self): - return (self.max_ant_gain, self.max_eirp) - - def __eq__(self, other): - return (self._as_tuple() == other._as_tuple()) - - def __ne__(self, other): - return not (self == other) - - def __lt__(self, other): - return (self._as_tuple() < other._as_tuple()) - - def __hash__(self): - return hash(self._as_tuple()) - - def __str__(self): - return '' - -class DFSRegionError(Exception): - def __init__(self, dfs_region): - self.dfs_region = dfs_region - -class FlagError(Exception): - def __init__(self, flag): - self.flag = flag - -@total_ordering -class Permission(object): - def __init__(self, freqband, power, flags, wmmrule): - assert isinstance(freqband, FreqBand) - assert isinstance(power, PowerRestriction) - assert isinstance(wmmrule, WmmRule) or wmmrule is None - self.freqband = freqband - self.power = power - self.wmmrule = wmmrule - self.flags = 0 - for flag in flags: - if not flag in flag_definitions: - raise FlagError(flag) - self.flags |= flag_definitions[flag] - self.textflags = flags - - def _as_tuple(self): - return (self.freqband, self.power, self.flags, self.wmmrule) - - def __eq__(self, other): - return (self._as_tuple() == other._as_tuple()) - - def __ne__(self, other): - return not (self == other) - - def __lt__(self, other): - return (self._as_tuple() < other._as_tuple()) - - def __hash__(self): - return hash(self._as_tuple()) - - def __str__(self): - return str(self.freqband) + str(self.power) + str(self.wmmrule) - -class Country(object): - def __init__(self, dfs_region, permissions=None, comments=None): - self._permissions = permissions or [] - self.comments = comments or [] - self.dfs_region = 0 - - if dfs_region: - if not dfs_region in dfs_regions: - raise DFSRegionError(dfs_region) - self.dfs_region = dfs_regions[dfs_region] - - def add(self, perm): - assert isinstance(perm, Permission) - self._permissions.append(perm) - self._permissions.sort() - - def __contains__(self, perm): - assert isinstance(perm, Permission) - return perm in self._permissions - - def __str__(self): - r = ['(%s, %s)' % (str(b), str(p)) for b, p in self._permissions] - return '' % (', '.join(r)) - - def _get_permissions_tuple(self): - return tuple(self._permissions) - permissions = property(_get_permissions_tuple) - -class SyntaxError(Exception): - pass - -class DBParser(object): - def __init__(self, warn=None): - self._warn_callout = warn or sys.stderr.write - - def _syntax_error(self, txt=None): - txt = txt and ' (%s)' % txt or '' - raise SyntaxError("Syntax error in line %d%s" % (self._lineno, txt)) - - def _warn(self, txt): - self._warn_callout("Warning (line %d): %s\n" % (self._lineno, txt)) - - def _parse_band_def(self, bname, banddef, dupwarn=True): - try: - freqs, bw = banddef.split('@') - bw = float(bw) - except ValueError: - bw = 20.0 - - try: - start, end = freqs.split('-') - start = float(start) - end = float(end) - # The kernel will reject these, so might as well reject this - # upon building it. - if start <= 0: - self._syntax_error("Invalid start freq (%d)" % start) - if end <= 0: - self._syntax_error("Invalid end freq (%d)" % end) - if start > end: - self._syntax_error("Inverted freq range (%d - %d)" % (start, end)) - if start == end: - self._syntax_error("Start and end freqs are equal (%d)" % start) - except ValueError: - self._syntax_error("band must have frequency range") - - b = FreqBand(start, end, bw, comments=self._comments) - self._comments = [] - self._banddup[bname] = bname - if b in self._bandrev: - if dupwarn: - self._warn('Duplicate band definition ("%s" and "%s")' % ( - bname, self._bandrev[b])) - self._banddup[bname] = self._bandrev[b] - self._bands[bname] = b - self._bandrev[b] = bname - self._bandline[bname] = self._lineno - - def _parse_band(self, line): - try: - bname, line = line.split(':', 1) - if not bname: - self._syntax_error("'band' keyword must be followed by name") - except ValueError: - self._syntax_error("band name must be followed by colon") - - if bname in flag_definitions: - self._syntax_error("Invalid band name") - - self._parse_band_def(bname, line) - - def _parse_power(self, line): - try: - pname, line = line.split(':', 1) - if not pname: - self._syntax_error("'power' keyword must be followed by name") - except ValueError: - self._syntax_error("power name must be followed by colon") - - if pname in flag_definitions: - self._syntax_error("Invalid power name") - - self._parse_power_def(pname, line) - - def _parse_power_def(self, pname, line, dupwarn=True): - try: - max_eirp = line - if max_eirp == 'N/A': - max_eirp = '0' - max_ant_gain = float(0) - def conv_pwr(pwr): - if pwr.endswith('mW'): - pwr = float(pwr[:-2]) - return 10.0 * math.log10(pwr) - else: - return float(pwr) - max_eirp = conv_pwr(max_eirp) - except ValueError: - self._syntax_error("invalid power data") - - p = PowerRestriction(max_ant_gain, max_eirp, - comments=self._comments) - self._comments = [] - self._powerdup[pname] = pname - if p in self._powerrev: - if dupwarn: - self._warn('Duplicate power definition ("%s" and "%s")' % ( - pname, self._powerrev[p])) - self._powerdup[pname] = self._powerrev[p] - self._power[pname] = p - self._powerrev[p] = pname - self._powerline[pname] = self._lineno - - def _parse_wmmrule(self, line): - regions = line[:-1].strip() - if not regions: - self._syntax_error("'wmmrule' keyword must be followed by region") - - regions = regions.split(',') - - self._current_regions = {} - for region in regions: - if region in self._wmm_rules: - self._warn("region %s was added already to wmm rules" % region) - self._current_regions[region] = 1 - self._comments = [] - - def _validate_input(self, cw_min, cw_max, aifsn, cot): - if cw_min < 1: - self._syntax_error("Invalid cw_min value (%d)" % cw_min) - if cw_max < 1: - self._syntax_error("Invalid cw_max value (%d)" % cw_max) - if cw_min > cw_max: - self._syntax_error("Inverted contention window (%d - %d)" % - (cw_min, cw_max)) - if not (bin(cw_min + 1).count('1') == 1 and cw_min < 2**15): - self._syntax_error("Invalid cw_min value should be power of 2 - 1 (%d)" - % cw_min) - if not (bin(cw_max + 1).count('1') == 1 and cw_max < 2**15): - self._syntax_error("Invalid cw_max value should be power of 2 - 1 (%d)" - % cw_max) - if aifsn < 1: - self._syntax_error("Invalid aifsn value (%d)" % aifsn) - if cot < 0: - self._syntax_error("Invalid cot value (%d)" % cot) - - - def _validate_size(self, var, bytcnt): - return bytcnt < ceil(len(bin(var)[2:]) / 8.0) - - def _parse_wmmrule_item(self, line): - bytcnt = (2.0, 2.0, 1.0, 2.0) - try: - ac, cval = line.split(':') - if not ac: - self._syntax_error("wmm item must have ac prefix") - except ValueError: - self._syntax_error("access category must be followed by colon") - p = tuple([int(v.split('=', 1)[1]) for v in cval.split(',')]) - self._validate_input(*p) - for v, b in zip(p, bytcnt): - if self._validate_size(v, b): - self._syntax_error("unexpected input size expect %d got %d" - % (b, v)) - - for r in self._current_regions: - self._wmm_rules[r][ac] = p - - def _parse_country(self, line): - try: - cname, cvals= line.split(':', 1) - dfs_region = cvals.strip() - if not cname: - self._syntax_error("'country' keyword must be followed by name") - except ValueError: - self._syntax_error("country name must be followed by colon") - - cnames = cname.split(',') - - self._current_countries = {} - for cname in cnames: - if len(cname) != 2: - self._warn("country '%s' not alpha2" % cname) - cname = bytes(cname, 'ascii') - if not cname in self._countries: - self._countries[cname] = Country(dfs_region, comments=self._comments) - self._current_countries[cname] = self._countries[cname] - self._comments = [] - - def _parse_country_item(self, line): - if line[0] == '(': - try: - band, line = line[1:].split('),', 1) - bname = 'UNNAMED %d' % self._lineno - self._parse_band_def(bname, band, dupwarn=False) - except: - self._syntax_error("Badly parenthesised band definition") - else: - try: - bname, line = line.split(',', 1) - if not bname: - self._syntax_error("country definition must have band") - if not line: - self._syntax_error("country definition must have power") - except ValueError: - self._syntax_error("country definition must have band and power") - - if line[0] == '(': - items = line.split('),', 1) - if len(items) == 1: - pname = items[0] - line = '' - if not pname[-1] == ')': - self._syntax_error("Badly parenthesised power definition") - pname = pname[:-1] - flags = [] - else: - pname = items[0] - flags = items[1].split(',') - power = pname[1:] - pname = 'UNNAMED %d' % self._lineno - self._parse_power_def(pname, power, dupwarn=False) - else: - line = line.split(',') - pname = line[0] - flags = line[1:] - w = None - if flags and 'wmmrule' in flags[-1]: - try: - region = flags.pop().split('=', 1)[1] - if region not in self._wmm_rules.keys(): - self._syntax_error("No wmm rule for %s" % region) - except IndexError: - self._syntax_error("flags is empty list or no region was found") - w = WmmRule(*self._wmm_rules[region].values()) - - if not bname in self._bands: - self._syntax_error("band does not exist") - if not pname in self._power: - self._syntax_error("power does not exist") - self._bands_used[bname] = True - self._power_used[pname] = True - # de-duplicate so binary database is more compact - bname = self._banddup[bname] - pname = self._powerdup[pname] - b = self._bands[bname] - p = self._power[pname] - try: - perm = Permission(b, p, flags, w) - except FlagError as e: - self._syntax_error("Invalid flag '%s'" % e.flag) - for cname, c in self._current_countries.items(): - if perm in c: - self._warn('Rule "%s, %s" added to "%s" twice' % ( - bname, pname, cname)) - else: - c.add(perm) - - def parse(self, f): - self._current_countries = None - self._current_regions = None - self._bands = {} - self._power = {} - self._countries = {} - self._bands_used = {} - self._power_used = {} - self._bandrev = {} - self._powerrev = {} - self._banddup = {} - self._powerdup = {} - self._bandline = {} - self._powerline = {} - self._wmm_rules = defaultdict(lambda: OrderedDict()) - - self._comments = [] - - self._lineno = 0 - for line in f: - self._lineno += 1 - line = line.strip() - if line[0:1] == '#': - self._comments.append(line[1:].strip()) - line = line.replace(' ', '').replace('\t', '') - if not line: - self._current_regions = None - self._comments = [] - line = line.split('#')[0] - if not line: - continue - if line[0:4] == 'band': - self._parse_band(line[4:]) - self._current_countries = None - self._current_regions = None - self._comments = [] - elif line[0:5] == 'power': - self._parse_power(line[5:]) - self._current_countries = None - self._current_regions = None - self._comments = [] - elif line[0:7] == 'country': - self._parse_country(line[7:]) - self._comments = [] - self._current_regions = None - elif self._current_countries is not None: - self._current_regions = None - self._parse_country_item(line) - self._comments = [] - elif line[0:7] == 'wmmrule': - self._parse_wmmrule(line[7:]) - self._current_countries = None - self._comments = [] - elif self._current_regions is not None: - self._parse_wmmrule_item(line) - self._current_countries = None - self._comments = [] - else: - self._syntax_error("Expected band, power or country definition") - - countries = self._countries - bands = {} - for k, v in self._bands.items(): - if k in self._bands_used: - bands[self._banddup[k]] = v - continue - # we de-duplicated, but don't warn again about the dupes - if self._banddup[k] == k: - self._lineno = self._bandline[k] - self._warn('Unused band definition "%s"' % k) - power = {} - for k, v in self._power.items(): - if k in self._power_used: - power[self._powerdup[k]] = v - continue - # we de-duplicated, but don't warn again about the dupes - if self._powerdup[k] == k: - self._lineno = self._powerline[k] - self._warn('Unused power definition "%s"' % k) - return countries diff --git a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/debian-example/changelog b/resources/BuildResources/regdb/wireless-regdb-2018.09.07/debian-example/changelog deleted file mode 100644 index 7bbce5c..0000000 --- a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/debian-example/changelog +++ /dev/null @@ -1,5 +0,0 @@ -wireless-regdb (2009.01.15-1) unstable; urgency=low - - * Initial release - - -- Luis R. Rodriguez Thu, 22 Jan 2009 16:00:00 +0100 diff --git a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/debian-example/compat b/resources/BuildResources/regdb/wireless-regdb-2018.09.07/debian-example/compat deleted file mode 100644 index 7ed6ff8..0000000 --- a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/debian-example/compat +++ /dev/null @@ -1 +0,0 @@ -5 diff --git a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/debian-example/control b/resources/BuildResources/regdb/wireless-regdb-2018.09.07/debian-example/control deleted file mode 100644 index e6e7161..0000000 --- a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/debian-example/control +++ /dev/null @@ -1,15 +0,0 @@ -Source: wireless-regdb -Section: admin -Priority: optional -Maintainer: Luis R. Rodriguez -Build-Depends: cdbs, debhelper (>= 5), python -Standards-Version: 3.7.3 - -Package: wireless-regdb -Architecture: all -Depends: -Suggests: crda -Description: The Linux wireless regulatory database - This package contains the wireless regulatory database used by all - cfg80211 based Linux wireless drivers. The wireless database being - used is maintained by Seth Forshee. diff --git a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/debian-example/copyright b/resources/BuildResources/regdb/wireless-regdb-2018.09.07/debian-example/copyright deleted file mode 100644 index c01f1a0..0000000 --- a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/debian-example/copyright +++ /dev/null @@ -1,21 +0,0 @@ -This package was debianized by Luis Rodriguez on -Thu, 22 Jan 2009 16:00:00 +0100. - -The wireless-regdb packages was downloaded from - -Copyright (c) 2008, Luis R. Rodriguez -Copyright (c) 2008, Johannes Berg -Copyright (c) 2008, Michael Green - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - diff --git a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/debian-example/docs b/resources/BuildResources/regdb/wireless-regdb-2018.09.07/debian-example/docs deleted file mode 100644 index e845566..0000000 --- a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/debian-example/docs +++ /dev/null @@ -1 +0,0 @@ -README diff --git a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/debian-example/rules b/resources/BuildResources/regdb/wireless-regdb-2018.09.07/debian-example/rules deleted file mode 100755 index 34a08a5..0000000 --- a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/debian-example/rules +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/make -f - -include /usr/share/cdbs/1/rules/debhelper.mk - -PREFIX = /usr -CRDA_LIB ?= $(PREFIX)/lib/crda - -install/wireless-regdb:: - install -o 0 -g 0 -m 755 -d debian/$(cdbs_curpkg)/$(CRDA_LIB) - install -o 0 -g 0 -m 644 regulatory.bin debian/$(cdbs_curpkg)/$(CRDA_LIB)/regulatory.bin diff --git a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/gen-pubcert.sh b/resources/BuildResources/regdb/wireless-regdb-2018.09.07/gen-pubcert.sh deleted file mode 100755 index 1a4d579..0000000 --- a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/gen-pubcert.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash - -if [[ $# -ne 2 ]]; then - echo "Usage: $0 priv-key out-file" - exit 1 -fi - -openssl req -new -key "$1" -days 36500 -utf8 -nodes -batch \ - -x509 -outform PEM -out "$2" \ - -config <(cat <<-EOF - [ req ] - distinguished_name = req_distinguished_name - string_mask = utf8only - prompt = no - [ req_distinguished_name ] - commonName = sforshee - EOF - ) diff --git a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/regulatory.bin b/resources/BuildResources/regdb/wireless-regdb-2018.09.07/regulatory.bin deleted file mode 100644 index e0c1c17..0000000 Binary files a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/regulatory.bin and /dev/null differ diff --git a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/regulatory.bin.5 b/resources/BuildResources/regdb/wireless-regdb-2018.09.07/regulatory.bin.5 deleted file mode 100644 index b1862cd..0000000 --- a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/regulatory.bin.5 +++ /dev/null @@ -1,49 +0,0 @@ -.TH regulatory.bin 5 "21 December 2017" "regulatory.bin" "Linux" -.SH NAME -regulatory.bin, regulatory.db \- The Linux wireless regulatory database - -.ad l -.in +8 -.ti -8 - -.SS -.SH Description -.B regulatory.bin -and -.B regulatory.db -are the files used by the Linux wireless subsystem to keep its regulatory -database information. -.PP -.B regulatory.bin -is read by -.B crda -upon the Linux kernel's request for regulatory information for a specific -ISO / IEC 3166 alpha2 country code. -.PP -.B regulatory.db -is a newer, extensible database format which (since Linux 4.15) is read -by the kernel directly as a firmware file. - -The regulatory database is kept in a small binary format for size and code -efficiency. The -.B regulatory.bin -file can be parsed and read in human format by using the -.B regdbdump -command. The regulatory database files should be updated upon regulatory -changes or corrections. - -.SH Upkeeping -The regulatory database is maintained by the community as such -you are encouraged to send any corrections or updates to the -linux-wireless and wireless-regdb mailing lists: -.B linux-wireless@vger.kernel.org -and -.B wireless-regdb@lists.infradead.org - -.SH SEE ALSO -.BR regdbdump (8) -.BR crda (8) -.BR iw (8) - -.BR http://wireless.kernel.org/en/developers/Regulatory/ - diff --git a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/regulatory.db b/resources/BuildResources/regdb/wireless-regdb-2018.09.07/regulatory.db deleted file mode 100644 index b0d89c9..0000000 Binary files a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/regulatory.db and /dev/null differ diff --git a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/regulatory.db.5 b/resources/BuildResources/regdb/wireless-regdb-2018.09.07/regulatory.db.5 deleted file mode 100644 index 6c8aae3..0000000 --- a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/regulatory.db.5 +++ /dev/null @@ -1 +0,0 @@ -.so man5/regulatory.bin.5.gz diff --git a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/regulatory.db.p7s b/resources/BuildResources/regdb/wireless-regdb-2018.09.07/regulatory.db.p7s deleted file mode 100644 index 61dd4ec..0000000 Binary files a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/regulatory.db.p7s and /dev/null differ diff --git a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/sforshee.key.pub.pem b/resources/BuildResources/regdb/wireless-regdb-2018.09.07/sforshee.key.pub.pem deleted file mode 100644 index 73d580e..0000000 --- a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/sforshee.key.pub.pem +++ /dev/null @@ -1,9 +0,0 @@ ------BEGIN PUBLIC KEY----- -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtUDjnCiEOQPyOddmLEE4 -Fax+pYNxJX6QfGjdbz/Z11k4n3xqUsIDKi1+ZvQesxJwIFvUlzI9cYs7GwgXFGth -xFeLlhYc/STVCwn5aBGE+8pRDNFFGdoQRIrZ/nap/WAtGAsolbIt6oiYuNFWIfBT -H/ECb+lGm5NfKJAPrDb6aCNxV1b2zNPffSrZG3NF67onhe96f6XLgMcwNtJT7uys -Hucx8TainGPGZVt/JXVooerTfgBcml7YIBgydwcpEmYeNnPnlwRBN7Gxciv0oSkg -fJZ5CyvQ2N7IbD+T+8XueFIRFRt69uJomef7RhaE48eh5uDSRtXhxF+gZvTaxP+V -HQIDAQAB ------END PUBLIC KEY----- diff --git a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/sforshee.x509.pem b/resources/BuildResources/regdb/wireless-regdb-2018.09.07/sforshee.x509.pem deleted file mode 100644 index ebd0160..0000000 --- a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/sforshee.x509.pem +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN CERTIFICATE----- -MIICpDCCAYwCCQCyjd9HrvnOpzANBgkqhkiG9w0BAQsFADATMREwDwYDVQQDDAhz -Zm9yc2hlZTAgFw0xNzEwMDYxOTQwMzVaGA8yMTE3MDkxMjE5NDAzNVowEzERMA8G -A1UEAwwIc2ZvcnNoZWUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC1 -QOOcKIQ5A/I512YsQTgVrH6lg3ElfpB8aN1vP9nXWTiffGpSwgMqLX5m9B6zEnAg -W9SXMj1xizsbCBcUa2HEV4uWFhz9JNULCfloEYT7ylEM0UUZ2hBEitn+dqn9YC0Y -CyiVsi3qiJi40VYh8FMf8QJv6Uabk18okA+sNvpoI3FXVvbM0999Ktkbc0XruieF -73p/pcuAxzA20lPu7Kwe5zHxNqKcY8ZlW38ldWih6tN+AFyaXtggGDJ3BykSZh42 -c+eXBEE3sbFyK/ShKSB8lnkLK9DY3shsP5P7xe54UhEVG3r24miZ5/tGFoTjx6Hm -4NJG1eHEX6Bm9NrE/5UdAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAIcD2vKCwt2v -fEQvhtNfTJNIuf4HF7sh9yUjTqoiDBa5c66dRnx12cNJV0e/M7eX7PVAdcBGIvCg -XZx5E6H/uKMve44GP8i25Goo8jRcIz8ywOatD6zPVXRHc9MBhbcLIlYkfZ8JqQ6G -njdbnG0C2YzIUGriWfMWBuqyQrVY/rrRgVca77I4iFj2qsQui1on5KXopMpnXKxy -Z8NvE8MtNXnXiuf11CEwStX2o9l5VvIPEPd90FGTL0f4fUsKhFUSCn1OOx8rL/wo -s2k04YCAu+KvudYw8R1UhyOZn1EDTEV9AmVzq/3PlMwNOmD9PBQvFjOpIR/LULGP -A+6gZqkWeRQ= ------END CERTIFICATE----- diff --git a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/sha1sum.txt b/resources/BuildResources/regdb/wireless-regdb-2018.09.07/sha1sum.txt deleted file mode 100644 index 9512c6d..0000000 --- a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/sha1sum.txt +++ /dev/null @@ -1 +0,0 @@ -027c038d4bb051c1e0b17ec007ab9a283a21a06b db.txt diff --git a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/web/Regulatory.py b/resources/BuildResources/regdb/wireless-regdb-2018.09.07/web/Regulatory.py deleted file mode 100644 index f675921..0000000 --- a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/web/Regulatory.py +++ /dev/null @@ -1,166 +0,0 @@ -# -*- coding: iso-8859-1 -*- -""" - Regulatory Database - - @copyright: 2008 Johannes Berg - @license: ISC, see LICENSE for details. -""" - -import codecs, math -from dbparse import DBParser, flag_definitions - -Dependencies = ["time"] - -def _country(macro, countries, code): - result = [] - - f = macro.formatter - - result.extend([ - f.heading(1, 1), - f.text('Regulatory definition for %s' % _get_iso_code(code)), - f.heading(0, 1), - ]) - - try: - country = countries[code] - except: - result.append(f.text('No information available')) - return ''.join(result) - - - if country.comments: - result.extend([ - f.preformatted(1), - f.text('\n'.join(country.comments)), - f.preformatted(0), - ]) - - result.append(f.table(1)) - result.extend([ - f.table_row(1), - f.table_cell(1), f.strong(1), - f.text('Band [MHz]'), - f.strong(0), f.table_cell(0), - f.table_cell(1), f.strong(1), - f.text('Max BW [MHz]'), - f.strong(0), f.table_cell(0), - f.table_cell(1), f.strong(1), - f.text('Flags'), - f.strong(0), f.table_cell(0), - f.table_cell(1), f.strong(1), - f.text('Max antenna gain [dBi]'), - f.strong(0), f.table_cell(0), - f.table_cell(1), f.strong(1), - f.text('Max EIRP [dBm'), - f.hardspace, - f.text('(mW)]'), - f.strong(0), f.table_cell(0), - f.table_row(0), - ]) - - for perm in country.permissions: - def str_or_na(val, dBm=False): - if val and not dBm: - return '%.2f' % val - elif val: - return '%.2f (%.2f)' % (val, math.pow(10, val/10.0)) - return 'N/A' - result.extend([ - f.table_row(1), - f.table_cell(1), - f.text('%.3f - %.3f' % (perm.freqband.start, perm.freqband.end)), - f.table_cell(0), - f.table_cell(1), - f.text('%.3f' % (perm.freqband.maxbw,)), - f.table_cell(0), - f.table_cell(1), - f.text(', '.join(perm.textflags)), - f.table_cell(0), - f.table_cell(1), - f.text(str_or_na(perm.power.max_ant_gain)), - f.table_cell(0), - f.table_cell(1), - f.text(str_or_na(perm.power.max_eirp, dBm=True)), - f.table_cell(0), - f.table_row(0), - ]) - - result.append(f.table(0)) - - result.append(f.linebreak(0)) - result.append(f.linebreak(0)) - result.append(macro.request.page.link_to(macro.request, 'return to country list')) - return ''.join(result) - -_iso_list = {} - -def _get_iso_code(code): - if not _iso_list: - for line in codecs.open('/usr/share/iso-codes/iso_3166.tab', encoding='utf-8'): - line = line.strip() - c, name = line.split('\t') - _iso_list[c] = name - return _iso_list.get(code, 'Unknown (%s)' % code) - -def macro_Regulatory(macro): - _ = macro.request.getText - request = macro.request - f = macro.formatter - - country = request.form.get('alpha2', [None])[0] - - dbpath = '/tmp/db.txt' - if hasattr(request.cfg, 'regdb_path'): - dbpath = request.cfg.regdb_path - - result = [] - - if request.form.get('raw', [None])[0]: - result.append(f.code_area(1, 'db-raw', show=1, start=1, step=1)) - for line in open(dbpath): - result.extend([ - f.code_line(1), - f.text(line.rstrip()), - f.code_line(0), - ]) - result.append(f.code_area(0, 'db-raw')) - result.append(macro.request.page.link_to(macro.request, 'return to country list')) - return ''.join(result) - - warnings = [] - countries = DBParser(warn=lambda x: warnings.append(x)).parse(open(dbpath)) - - if country: - return _country(macro, countries, country) - - countries = countries.keys() - countries = [(_get_iso_code(code), code) for code in countries] - countries.sort() - - result.extend([ - f.heading(1, 1), - f.text('Countries'), - f.heading(0, 1), - ]) - - result.append(f.bullet_list(1)) - for name, code in countries: - result.extend([ - f.listitem(1), - request.page.link_to(request, name, querystr={'alpha2': code}), - f.listitem(0), - ]) - result.append(f.bullet_list(0)) - - if warnings: - result.append(f.heading(1, 2)) - result.append(f.text("Warnings")) - result.append(f.heading(0, 2)) - result.append(f.preformatted(1)) - result.extend(warnings) - result.append(f.preformatted(0)) - - result.append(request.page.link_to(request, 'view raw database', querystr={'raw': 1})) - - return ''.join(result) diff --git a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/wireless-regdb.spec b/resources/BuildResources/regdb/wireless-regdb-2018.09.07/wireless-regdb.spec deleted file mode 100644 index bb648ca..0000000 --- a/resources/BuildResources/regdb/wireless-regdb-2018.09.07/wireless-regdb.spec +++ /dev/null @@ -1,35 +0,0 @@ -Summary: Linux wireless regulatory database -Name: wireless-regdb -Version: 2009.01.15 -Release: 1 -License: ISC -Group: System Enviroment/Base -Source: http://wireless.kernel.org/download/wireless-regdb/wireless-regdb-2009-01-15.tar.bz2 -URL: http://wireless.kernel.org/en/developers/Regulatory/ -Packager: Luis R. Rodriguez -BuildRoot : /var/tmp/%{name}-buildroot -Requires: python -BuildArch: noarch - -%define crda_lib /usr/lib/crda - -%description -This package contains the wireless regulatory database used by all -cfg80211 based Linux wireless drivers. The wireless database being -used is maintained by Seth Forshee. -http://wireless.kernel.org/en/developers/Regulatory/ - -%prep -%setup -n %name-2009-01-15 -%build -%install -install -m 755 -d %buildroot/%crda_lib -install -m 644 regulatory.bin %buildroot/%{crda_lib}/regulatory.bin -%files -%crda_lib/regulatory.bin -%doc README LICENSE - -%changelog -* Fri Jan 23 2009 - mcgrof@gmail.com -- Started wireless-regdb package - diff --git a/resources/BuildResources/sources.list b/resources/BuildResources/sources.list index 713ce19..d551cae 100644 --- a/resources/BuildResources/sources.list +++ b/resources/BuildResources/sources.list @@ -9,4 +9,8 @@ deb-src http://security.debian.org/debian-security/ stretch/updates main #Add buster to grab a functional firefox release # /etc/apt/preferences prevents this from updating the whole system -deb http://deb.debian.org/debian/ testing main \ No newline at end of file +deb http://deb.debian.org/debian/ testing main + +#Add sid to grab a functional chromium release +# /etc/apt/preferences prevents this from updating the whole system +deb http://deb.debian.org/debian/ unstable main \ No newline at end of file diff --git a/resources/InstallResources/xfce-config/plank/plank-launchers/chromium.dockitem b/resources/InstallResources/xfce-config/plank/plank-launchers/chromium.dockitem new file mode 100644 index 0000000..4df8edf --- /dev/null +++ b/resources/InstallResources/xfce-config/plank/plank-launchers/chromium.dockitem @@ -0,0 +1,2 @@ +[PlankDockItemPreferences] +Launcher=file:///usr/share/applications/chromium.desktop \ No newline at end of file diff --git a/scripts/InstallScripts/InstallPackages.sh b/scripts/InstallScripts/InstallPackages.sh index 72cadc7..c412b9d 100755 --- a/scripts/InstallScripts/InstallPackages.sh +++ b/scripts/InstallScripts/InstallPackages.sh @@ -27,15 +27,17 @@ while true; do esac done -locale-gen #Install shared packages apt install -y xorg acpi-support lightdm tasksel dpkg librsvg2-common xorg xserver-xorg-input-libinput alsa-utils anacron avahi-daemon eject iw libnss-mdns xdg-utils mousepad vlc dconf-cli dconf-editor sudo dtrx emacs25 apt install -y network-manager-gnome network-manager-openvpn network-manager-openvpn-gnome -#install firefox from buster +# #install chromium from sid +# apt -t unstable install -y chromium + +# #install firefox from buster apt -t testing install -y firefox-esr -[ "$DE" = "xfce" ] && apt install -y xfce4 dbus-user-session system-config-printer tango-icon-theme xfce4-power-manager xfce4-terminal xfce4-goodies numix-gtk-theme plank accountsservice firefox-esr +[ "$DE" = "xfce" ] && apt install -y xfce4 dbus-user-session system-config-printer tango-icon-theme xfce4-power-manager xfce4-terminal xfce4-goodies numix-gtk-theme plank accountsservice [ "$DE" = "lxqt" ] && apt install -y lxqt pavucontrol-qt if [ "$DE" = "xfce" ] @@ -111,7 +113,11 @@ dmesg -D #Have the user set a root password echo " Enter a password for the root user" -passwd +until passwd +do + echo " Enter a password for the root user" + passwd +done #Force a safe username while true; do diff --git a/scripts/buildDebianFs.sh b/scripts/buildDebianFs.sh index 649eb35..61d4039 100755 --- a/scripts/buildDebianFs.sh +++ b/scripts/buildDebianFs.sh @@ -58,7 +58,7 @@ trap cleanup INT TERM EXIT create_image() { - # it's a sparse file - that's how we fit a 16GB image inside a 2GB one + # it's a sparse file - that's how we fit a 16GB image inside a 3GB one dd if=/dev/zero of=$1 bs=$3 count=$4 conv=sparse parted --script $1 mklabel gpt cgpt create $1 @@ -75,7 +75,7 @@ create_image() { mount -o noatime ${2}p2 $5 } -# create a 2GB image with the Chrome OS partition layout +# create a 3GB image with the Chrome OS partition layout create_image PrawnOS-Alpha-c201-libre-2GB.img $outdev 50M 40 $outmnt # install Debian on it @@ -99,7 +99,7 @@ cp $build_resources/sources.list $outmnt/etc/apt/sources.list cp $build_resources/apt-preferences $outmnt/etc/apt/preferences #Setup the locale -chroot $outmnt echo en_US.UTF-8 UTF-8 > /etc/locale.gen +cp $build_resources/locale.gen $outmnt/etc/locale.gen chroot $outmnt locale-gen #Install the base packages @@ -110,16 +110,20 @@ chroot $outmnt apt install -y initscripts udev kmod net-tools inetutils-ping tra chroot $outmnt apt-get autoremove --purge chroot $outmnt apt-get clean -#Download the packages to be installed by Install.sh: -chroot $outmnt apt-get install -y -d xorg acpi-support lightdm tasksel dpkg librsvg2-common xorg xserver-xorg-input-libinput alsa-utils anacron avahi-daemon eject iw libnss-mdns xdg-utils lxqt crda xfce4 dbus-user-session system-config-printer tango-icon-theme xfce4-power-manager xfce4-terminal xfce4-goodies mousepad vlc libutempter0 xterm numix-gtk-theme dconf-cli dconf-editor plank network-manager-gnome network-manager-openvpn network-manager-openvpn-gnome dtrx emacs25 accountsservice firefox-esr sudo pavucontrol-qt - -#Grab firefox from buster, since stretch is broken -chroot $outmnt apt -t testing install -y -d firefox-esr - #Download support for libinput-gestures chroot $outmnt apt install -y libinput-tools xdotool build-essential #Package is copied into /InstallResources/packages +#Download the packages to be installed by Install.sh: +chroot $outmnt apt-get install -y -d xorg acpi-support lightdm tasksel dpkg librsvg2-common xorg xserver-xorg-input-libinput alsa-utils anacron avahi-daemon eject iw libnss-mdns xdg-utils lxqt crda xfce4 dbus-user-session system-config-printer tango-icon-theme xfce4-power-manager xfce4-terminal xfce4-goodies mousepad vlc libutempter0 xterm numix-gtk-theme dconf-cli dconf-editor plank network-manager-gnome network-manager-openvpn network-manager-openvpn-gnome dtrx emacs25 accountsservice sudo pavucontrol-qt + +# #grab chromium from sid, since stretch and buster are broken +# chroot $outmnt apt-get -t unstable install -d -y chromium + +# #grab firefox from buster, since stretch is broken +chroot $outmnt apt-get -t testing install -d -y firefox-esr + + #Cleanup hosts rm -rf $outmnt/etc/hosts #This is what https://wiki.debian.org/EmDebian/CrossDebootstrap suggests echo -n "127.0.0.1 PrawnOS-Alpha" > $outmnt/etc/hosts @@ -132,9 +136,6 @@ rm -f $outmnt/lib/modules/3.14.0/{build,source} install -D -m 644 build/open-ath9k-htc-firmware/target_firmware/htc_9271.fw $outmnt/lib/firmware/ath9k_htc/htc_9271-1.4.0.fw install -D -m 644 build/open-ath9k-htc-firmware/target_firmware/htc_7010.fw $outmnt/lib/firmware/ath9k_htc/htc_7010-1.4.0.fw -#Install the regulatory.db files -install -m 644 $build_resources/regdb/wireless-regdb-2018.09.07/regulatory.db* $outmnt/lib/firmware/ - umount -l $outmnt > /dev/null 2>&1 rmdir $outmnt > /dev/null 2>&1 losetup -d $outdev > /dev/null 2>&1