একটি রেডিওতে Wi-Fi ক্লায়েন্ট ও হটস্পট: কী ভাঙে
Pi-এর হটস্পট সুস্থ দেখাতে পারে, অথচ তার Wi-Fi আপলিংক আটকে যায়। VPN-কে দোষ দেওয়ার আগে ইনস্টল করা রেডিওর ইন্টারফেস সমন্বয় ও চ্যানেল সীমা পড়ুন।
আপনার ফোন হটস্পটে সংযুক্ত থাকে, অথচ আপলিংক কিছুই পার করে না। Pi এখনও Wi-Fi অ্যাসোসিয়েশন জানায়, অ্যাক্সেস পয়েন্ট এখনও beacon পাঠায়, এবং প্রতিটি অনুরোধ সময় শেষে থামে। একটি রেডিও একসঙ্গে দুটি ভূমিকা পালন করে, আর অন্যটির চ্যানেল দরকার হলে তাদের একটি জেতে। VPN স্পর্শ করার আগে নির্ধারণ করুন ইনস্টল করা ড্রাইভার ও ফার্মওয়্যার এমন ভূমিকা-জোড়া আদৌ গ্রহণ করে কি না।
লক্ষণ রেডিওর দিকে ইঙ্গিত করে, টানেলের দিকে নয়
ব্যর্থতা ক্রমে দেখুন, এটি রাউটিং বাগের মতো দেখানো বন্ধ করে। একটি ক্লায়েন্ট হটস্পটে যুক্ত হয়, ঠিকানা পায় এবং এক-দুই পৃষ্ঠা লোড করে। তারপর স্টেশন ইন্টারফেস রোমিং, কী নবায়ন বা সংকেতের ছোট পতনের পর আপস্ট্রিম রাউটারের সঙ্গে আবার সংযুক্ত হয়। অ্যাক্সেস পয়েন্ট হয় নিজের beacon পুনরায় চালু করে, নয় ক্লায়েন্টদের পথহীন রেখে দেয়, আর VPN লগ এমন পুনঃসংযোগ চেষ্টায় ভরে যায় যা কখনও কারণ ছিল না।
দুটি ইন্টারফেস নাম দুটি রেডিও বানায় না। wlan0 এবং অ্যাক্সেস পয়েন্টের ইন্টারফেস একই ডিভাইস, একই চ্যানেল-অবস্থা মেশিন ও একই ফার্মওয়্যার সময়সূচিকর্তা ভাগ করে। কার্নেল ঠিকঠাক দেখায় কোন ভূমিকা ও চ্যানেল সমন্বয় ওই ডিভাইস সমর্থন করে, তাই ওই তালিকা পড়ুন, দুটি ইন্টারফেস উঠে এসেছে বলে জোড়া কাজ করে ধরে নেওয়ার বদলে।
কিছু বদলানোর আগে সমন্বয় পড়ুন
ওয়্যারলেস স্ট্যাক তার চুক্তি ইন্টারফেস সমন্বয়ের অংশে কমান্ড iw list এর আউটপুটে জানায়। প্রতিটি ক্রমাঙ্কিত সমন্বয় অনুমোদিত ভূমিকা-সংখ্যা, কত ইন্টারফেস থাকতে পারে এবং ওই ইন্টারফেস একসঙ্গে কতগুলি আলাদা চ্যানেল নিতে পারে তা তালিকাভুক্ত করে। যে সমন্বয় একই চ্যানেলে একটি স্টেশন ও একটি অ্যাক্সেস পয়েন্ট বলে, এই স্থাপনার প্রয়োজন সেইটিই।
iw list | sed -n '/valid interface combinations/,/^$/p'
সংখ্যাগুলো পড়ুন, কেবল শব্দের উপস্থিতি নয়। ড্রাইভার স্টেশন মোড ও অ্যাক্সেস পয়েন্ট মোড আলাদাভাবে সমর্থন করতে পারে, অথচ দুটির একমাত্র বৈধ সমন্বয় কেবল একটি চ্যানেল, কম ইন্টারফেস-সংখ্যা বা এমন beacon ব্যবধান অনুমোদন করে যা হটস্পট পূরণ করতে পারে না। কিছু ফার্মওয়্যার স্ক্যান বা কী নবায়নের সময় একটি ভূমিকাও ফেলে দেয়, যা সক্ষমতার সীমার বদলে দোলায়মান আপলিংকের মতো দেখায়। যদি কোনো সমন্বয় দুই ভূমিকাই তালিকাভুক্ত না করে, জোড়াটি সমর্থিত নয়, ডেস্কটপের হটস্পট বোতাম যা-ই প্রস্তাব করুক।
cfg80211 ইন্টারফেস সমন্বয়ের নথি ক্ষেত্র ও beacon বাধার বর্ণনা দেয়। একটি অ্যাডাপ্টারের মান অন্যটি সম্পর্কে কিছুই বলে না, তাই আউটপুট মেশিনের সঙ্গে রাখুন, সাধারণীকরণ করার বদলে।
চ্যানেল ও ঠিকানা পরিকল্পনা বাকিটা ঠিক করে
অ্যাক্সেস পয়েন্টকে এমন চ্যানেলে বসতে হবে যা রেডিও সেবা দিতে পারে, আর স্টেশনের আপলিংককে আপস্ট্রিম অ্যাক্সেস পয়েন্ট অনুসরণ করতে হবে। এই দুই সিদ্ধান্ত না মিললে একটি ভূমিকা পুনরায় চালু করতে হয়। অনেক এক-রেডিও অ্যাডাপ্টারে হটস্পট তাই স্টেশনের চ্যানেল প্রতিফলিত করে, আর আপস্ট্রিমে চ্যানেল বদল হটস্পটকেও কিছুক্ষণ নামিয়ে দেয়।
IP দিকটি রেডিও থেকে আলাদাভাবে পরিকল্পনা করুন। রাউটেড হটস্পট সাধারণত 192.168.50.0/24-এর মতো ব্যক্তিগত সাবনেট ব্যবহার করে, Pi 192.168.50.1-এ, ওই সাবনেটের ভিতরে DHCP পুল এবং Pi রিজলভার ফরওয়ার্ডার হিসেবে। NetworkManager-এর শেয়ার্ড মোড ওই সাবনেটের জন্য ফরওয়ার্ডিং ও ঠিকানা অনুবাদ সেট করে, কিন্তু রেডিও সক্ষমতা যোগ করে না বা টানেলকে একমাত্র নির্গমন করে না। ক্লায়েন্ট দ্বিতীয় স্তরে ব্রিজ না তৃতীয় স্তরে রাউটেড, তা VPN নীতি নিয়ে বিতর্কের আগে লিখে রাখুন।
পরীক্ষার ক্রম যা রেডিওকে রাউটিং থেকে আলাদা করে
ডিভাইস থেকে বাইরের দিকে কাজ করুন এবং ব্যর্থ হওয়া প্রথম ধাপে থামুন। এই পাঠগুলি চলমান সিস্টেমে নিরাপদ এবং কোনো কনফিগারেশন বদলায় না। ক্লায়েন্ট সংযুক্ত থাকা এবং আপলিংক আপনি যে অবস্থা ডিবাগ করছেন তাতে থাকা অবস্থায় সেগুলি চালান।
iw dev
iw dev wlan0 link
nmcli -t -f DEVICE,STATE,CONNECTION device status
ip -br addr show
sysctl net.ipv4.ip_forward
যদি iw dev wlan0 link কোনো অ্যাসোসিয়েশন না দেখায়, রেডিওর সমস্যাটি আগে এবং টানেল অপ্রাসঙ্গিক। যদি আপলিংক সংযুক্ত থাকে আর ক্লায়েন্টের ঠিকানা না থাকে, সংযুক্তি ও DHCP কর্তৃত্ব ভুল। যদি ক্লায়েন্টের ঠিকানা থাকে কিন্তু পৌঁছানো না যায়, ফরওয়ার্ডিং, অনুবাদ বা রিজলভার সরবরাহ অনুপস্থিত। কেবল যখন হটস্পটের পথ ও আপলিংকের পথ দুটোই কাজ করে, ব্যর্থ টানেল পরীক্ষার পরের জিনিস হয়।
অ্যাডাপ্টার, ড্রাইভার ও ফার্মওয়্যার স্বীকৃত সমন্বয় ও চ্যানেল নিয়মের পাশে নথিভুক্ত করুন। পরে কার্নেল বা ফার্মওয়্যার হালনাগাদ সমর্থিত তালিকা বদলাতে পারে, আর সেই টীকাই রহস্যকে জ্ঞাত সীমায় বদলে দেয়।