Category: wireless

  • 台灣無線電頻率分配查詢 – Taiwan Radio Frequency Allocations Spectrum Search

    台灣無線電頻率分配查詢 – Taiwan Radio Frequency Allocations Spectrum Search

    輕鬆搜尋台灣無線電頻率分配狀況,提供頻段業務分配以及頻段細項狀況。Search Taiwan Radio Frequency Allocations easily, provide frequency allocation usage & detail. 搜尋來源:台灣無線電頻率分配表 (2020/09 核定本) GitHub: mlouielu/Taiwan-Radio-Frequency-Allocation-Spectrum

  • 台灣 NCC 規範可用之 5G 頻段列表 (Cellular)

    有關 IEEE 802.11 之 5GHz 開放頻段,請參考:台灣 NCC 規範可用之 5 GHz 頻段列表 (802.11) 有關台灣無線電頻率/頻段分配查詢,請參考:台灣無線電頻率分配查詢 – Taiwan Radio Frequency Allocations Spectrum Search 在美國,無線頻段是由 FCC (Federal Communications Commission) 管理,而在台灣則是由 NCC (National Communications Commission) 管理。 有關行動寬頻頻段的法源授權,母法係來自電信法第 14 條第六項:「電第一類電信事業之營業項目、營業區域、技術規範與審驗項目、特許之方式、條件與程序、特許執照有效期間、事業之籌設、履行保證金之繳交方式與核退條件及營運之監督與管理及其他應遵行事項之管理規則,由交通 部訂定之。」,而後由 NCC 制定於「行動寬頻業務管理規則」之中。修正時依據行政程序法提出修正。修正預告以及公佈可於行政院公報資訊網查詢。 目前最近一次的預告係在 2019 年 6 月 28 日預告,預告釋出 1775~1785 MHz 及 1870~1880 MHz、新增 3500 MHz (3528~3610 MHz) sub-6GHz 頻段以及…

  • An Overview of Wireless LAN Standards IEEE 802.11 and IEEE 802.11e

    如果我能早 2 年看到這篇文章該有多好: An Overview of Wireless LAN Standards IEEE 802.11 and IEEE 802.11e   詳盡的介紹了 CSMA/CA 的工作方式,講解了 IEEE 802.11 / IEEE 802.11e 的運作。

  • Python socket OSError: [Errno 105] No buffer space available

    今天在處理 netlink 的時候,使用 Python 當作 user-space 承接來自 kernel-space 訊息的工具。我的情況是大約每 10ms 會由 kernel-space 發起一次 netlink multicast 到 user-space。當在運行 user-space script 的時候,過一陣子會出現這個錯誤: Traceback (most recent call last): File “measure_netlink.py”, line 33, in <module> b = sock.recvfrom(NETLINK_BUF_LENGTH)[0] OSError: [Errno 105] No buffer space available 一陣搜尋後, 其中一個方法是調整 sysctl 的參數,沒用。 修改 net.ipv4.xfrm4_gc_thresh=999999,沒用。 來自 netfilter 的說明: 來自 netfilter 說明:這代表 kernel-side 的…

  • hostapd: Using DFS channel in AP mode (ath9k)

    今天在設定 hostapd 給 ath9k 的網卡使用時,遇到了這樣的問題: 無法在 AP mode 設定 channel 為 120, 124, 132 首先出現的是 DFS start_dfs_cac() failed, -1,照著這篇 mail 安裝 wireless-regdb 以及 crda 就不會出現問題。 接著出現了這樣的訊息: ➜ hostapd git:(master) ✗ sudo ./hostapd nems.conf Configuration file: nems.conf wlp0s20f0u5: interface state UNINITIALIZED->COUNTRY_UPDATE Channel 120 (primary) not allowed for AP mode wlp0s20f0u5: IEEE 802.11 Configured channel (120) not found from the channel…

  • Qualcomm ath9k 驅動程式解析 (二) – 幾個重要結構

    ieee80211_local *local 用途: contains information about the real hardware, and is created when the interface is first added. (Daniel Caps Mur, Linux Wi-Fi open source drivers-mac80211,ath9k/ath5k-, pp.1) each instance of these (hw is embedded into local) represents a wireless driver, ieee80211_hw is the part of the ieee80211_local that is visible to drivers, contains all operating…

  • Qualcomm ath9k 驅動程式解析 (一) – 初始化過程

    以 linux-4.19-rc2 為例,平台為 TP-Link WDR4300。程式碼以 linux-4.19-rc2 為準,有特別標示者以 OpenWrt/LEDE 為準。 1. ath9k 驅動程式註冊點:ath9k/init.c#ath9k_init(void) static int __init ath9k_init(void) { int error; error = ath_pci_init(); if (error < 0) { pr_err(“No PCI devices found, driver not installed\n”); error = -ENODEV; goto err_out; } error = ath_ahb_init(); if (error < 0) { error = -ENODEV; goto err_pci_exit; } dmi_check_system(ath9k_quirks);…

  • 在 TP-Link wdr4300 對 OpenWrt/LEDE 的 ath9k driver 打 patch

    在 TP-Link wdr4300 對 OpenWrt/LEDE 的 ath9k driver 打 patch

    1. 目標 透過 OpenWrt/LEDE 的 quilt 將 ath9k 打上 patch,把 ath9k/xmit.c、ath9k/recv.c、net/mac80211/tx.c 特定的 function static 修飾字消除,以利 ftrace / perf 能夠順利取得 symbol 進行追蹤。 2. 方法 a. 找出 ath9k 在 OpenWrt/LEDE 正確的 package b. 使用 quilt 對 ath9k 以及 mac80211 打 patch c. 重新編譯後替換 ath9k.ko / 或重新刷機 3. 實做 a. 找出 ath9k 在 OpenWrt/LEDE 正確的 package 一般來說,kernel code 應該是在…

  • LEDE/OpenWrt C2600 ath10k firmware crashed

    When using flent to test rrul_50_up, LEDE/OpenWrt C2600 will crash like this: [ 664.801738] ath10k_pci 0000:01:00.0: firmware crashed! (guid cf7a9dbc-bfbb-4513-9272-51c025a1b28f) [ 664.801788] ath10k_pci 0000:01:00.0: qca99x0 hw2.0 target 0x01000000 chip_id 0x003b01ff sub 168c:0002 [ 664.809597] ath10k_pci 0000:01:00.0: kconfig debug 1 debugfs 1 tracing 1 dfs 1 testmode 1 [ 664.821109] ath10k_pci 0000:01:00.0: firmware ver 10.4.1.00030-1 api…

  • Develop process in Linux ath10k driver with LEDE

    Develop process in Linux ath10k driver with LEDE

    ath repo: https://bitbucket.org/mlouielu/ath LEDE repo: https://github.com/lede-project/source, commit: 99be4170cb27e ath repo: git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git, commit: e72acb704e94   Modify ATH10k Most of the time ath repo’s ath10k source code will surpass LEDE’s ath10k source code, you will need to know this and change the code when building got conflict. The step I use is: Change code for ath10k driver git…