عميل 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 كمعيد توجيه للـ resolver. وضع المشاركة في 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 خاطئان. إذا كان للعميل عنوان لكن بلا وصول، فإعادة التوجيه أو الترجمة أو تسليم الـ resolver ناقص. فقط عندما يعمل مسار نقطة الاتصال ومسار الرابط الصاعد معًا يصبح النفق الفاشل الشيء التالي الذي يُختبر.
سجّل المهايئ والمشغّل والبرنامج الثابت إلى جانب التركيبة وقاعدة القناة المقبولتين. قد يغيّر تحديث لاحق للنواة أو البرنامج الثابت القائمة المدعومة، وتلك الملاحظة هي ما يحوّل لغزًا إلى قيد معروف.