আমি কীভাবে কার্নেলটিকে এপি দ্বারা বিজ্ঞাপন হিসাবে TX শক্তি সীমাবদ্ধ করা থেকে রোধ করতে পারি


6

আমি একটি অ্যাথেরোস এআর 49285 চিপের সাহায্যে একটি বাহ্যিক 23 ডিবিএম অ্যান্টেনা এবং একটি ইউবুইকিটি এসআর 71-ই ব্যবহার করে প্রায় 150 মিটার দূরত্বে এডুরোমের সাথে সংযোগ করছি। আমার সিস্টেমটি হ'ল ডেবিয়ান জেসি সার্ভার - সুতরাং সংযোগটি ডাব্লুপিএ_সমর্থক দ্বারা পরিচালিত হয়। প্রমাণীকরণের সময়সীমা সংযোগের সাথে স্থিতিশীলতার সমস্যা তৈরি করে। ব্যাকপোর্টে কার্নেল ৪.7.০ এ স্থানান্তরিত এগুলি সমাধান করেছে।

তবে এখন কার্নেলটি (সিসকো) এপি দ্বারা বিজ্ঞাপন হিসাবে tx- শক্তি হ্রাস করছে। এই ফাংশনটি "has_80211h_pwr" এবং "has_cisco_pwr" এর মধ্যে পাওয়া যাবে

http://lxr.free-electrons.com/source/net/mac80211/mlme.c

সমস্যাটি হ'ল iwconfig wlan0 txpower XX iw dev wlan0 set txpower fixed XXXX কেবলমাত্র 0 এবং নতুন সীমাটির মধ্যে টেক্সপাওয়ার স্থাপনের অনুমতি দেয়। এপি 8 ডিবিএমের সীমাবদ্ধতার বিজ্ঞাপন দেওয়ার কারণে সংযোগটি 1 এমবি / সেকেন্ডে যেতে বাধ্য হয় এবং এখনও "টিএক্স অতিরিক্ত মাত্রার চেষ্টা" এবং "অবৈধ মিসক" এর উচ্চ গুণনা রয়েছে।

উত্তর:


0

এখানে এমন একটি প্যাচ রয়েছে যা টিপসপাওয়ারকে "স্থির" করার সময় এপি থেকে বিরক্তিকর 802.11h ফ্রেমগুলি উপেক্ষা করা উচিত।

diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c
index d6a1a46..f3ee9ab 100644
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
@@ -61,7 +61,8 @@  bool __ieee80211_recalc_txpower(struct ieee80211_sub_if_data *sdata)
    if (sdata->user_power_level != IEEE80211_UNSET_POWER_LEVEL)
        power = min(power, sdata->user_power_level);

-   if (sdata->ap_power_level != IEEE80211_UNSET_POWER_LEVEL)
+   if (sdata->ap_power_level != IEEE80211_UNSET_POWER_LEVEL &&
+       sdata->vif.bss_conf.txpower_type != NL80211_TX_POWER_FIXED)
        power = min(power, sdata->ap_power_level);

    if (power != sdata->vif.bss_conf.txpower) {
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.