সংযোগ বিচ্ছিন্ন হওয়ার পরে কীভাবে একটি ওয়াইফাই সংযোগ অব্যাহত রাখবেন?


9

আমি একটি উবুন্টু মেশিন পেয়েছি যাতে একটি সফটওয়্যার চালিত হয় যার জন্য ইন্টারনেট প্রয়োজন। যাইহোক, কখনও কখনও ওয়াইফাই ব্যর্থ হয় (উদাহরণস্বরূপ রাউটার রিবুট) এবং নেটওয়ার্কটি আবার খুঁজে পাবে না, যতক্ষণ না আমি ম্যানুয়ালি নেটওয়ার্ক-ম্যানেজারটি পুনরায় চালু করি বা আমি এটি সন্ধানের জন্য সুইচ অফ করে এবং ওয়াইফাইটি চালু করি না।

সংযোগটি পর্যবেক্ষণ করার জন্য ক্রোন জব বা সুপারভাইজার কাজ চালানোর কোনও সম্ভাব্য উপায় আছে এবং যদি নেটওয়ার্কটি নেটওয়ার্ক-ম্যানেজার পরিষেবাটি পুনরায় চালু করতে এবং সেই নির্দিষ্ট এসএসআইডি-র সাথে সংযোগ স্থাপনের সন্ধান করতে না পারে?


আমি মনে করি এটি একটি নতুন নেটওয়ার্ক-ম্যানেজার বাগের কারণে হতে পারে, কারণ আমি সম্প্রতি সম্প্রতি এই সমস্যাটিও শুরু করেছি, আমি মনে করি উবুন্টু 15.04-এ উন্নীত করার পরে।
সাদি

1
বেশ কয়েকটি বাগ রিপোর্ট রয়েছে যা প্রস্তাব দেয় যে কোনও সমস্যা হতে পারে। আপনি কি আপনার কর্নেল (আনম-এ) এনডি নেটওয়ার্ক ম্যানেজার সংস্করণ এবং আপনার ওয়াইফাই কার্ডের বিশদ পোস্ট করতে পারেন।
ডেভএম

উত্তর:


7

আমি মনে করি এটি একটি নতুন নেটওয়ার্ক-ম্যানেজার বাগের কারণে হতে পারে, কারণ আমি সম্প্রতি সম্প্রতি এই সমস্যাটিও শুরু করেছি - আমি মনে করি উবুন্টু 15.04-এ উন্নীত করার পরে।

দেখে মনে হচ্ছে আমি এই দুটি ফাইলের সাহায্যে এই সমস্যাটি সাময়িকভাবে সমাধান করতে পেরেছি:

  1. আমার কাছে একটি স্ক্রিপ্ট ফাইল আছে যা ওয়াইফাই সংযোগটি দেখার জন্য এবং ওয়াইফাইটি টগল করার সময় এবং সংযোগ বিচ্ছিন্ন হওয়ার পরে, যেমন ~/.bin/WiFi-Keep-Connectedএই সামগ্রীটি সহ:


#!/bin/bash
while true; do
    LC_ALL=C nmcli -t -f TYPE,STATE dev | grep "^wifi:disconnected$"
    if [ $? -eq 0 ]; then
        rfkill block wifi && rfkill unblock wifi
        sleep 10
    fi
    sleep 10
done

  1. আমি লগইন প্রতিটি সময় এই স্ক্রিপ্ট চলমান রাখতে একটি .ডেস্কটপ ফাইল আছে যেমন ~/.config/autostart/KeepWifiConnected.desktop, এই সামগ্রী সহ:


[Desktop Entry]
Type=Application
Exec=/home/"username"/.bin/WiFi-Keep-Connected
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name=Keep WiFi Connected
Icon=networkmanager

দ্রষ্টব্য: Exec=উপরে বর্ণিত পথে আপনাকে আপনার ব্যবহারকারীর নাম লিখতে হবে ।

এনবি: কখনও কখনও এইভাবে ওয়াই-ফাই পুনরায় চালু করা যথেষ্ট নয়, সেক্ষেত্রে টার্মিনাল থেকে একবার বা এমনকি দু'বার এই কমান্ডটি প্রবেশ করে আমাকে নেটওয়ার্ক ম্যানেজারটি পুনরায় চালু করতে হবে :sudo service network-manager restart

অতএব, উপরের স্ক্রিপ্টটি (কেবলমাত্র ক্ষেত্রে) এটির মতো পরিবর্তন করা ভাল ধারণা হতে পারে :


#!/bin/bash
while true; do
    LC_ALL=C nmcli -t -f TYPE,STATE dev | grep "^wifi:disconnected$"
    if [ $? -eq 0 ]; then
        rfkill block wifi && rfkill unblock wifi
        sleep 10
    fi
    LC_ALL=C nmcli -t -f TYPE,STATE dev | grep "^wifi:disconnected$"
    if [ $? -eq 0 ]; then
        gksudo service network-manager restart
        sleep 10
    fi
    sleep 10
done


1

আমি জানি না, তবে আপনি যেমন উল্লেখ করেছেন, কখনও কখনও যখন ওয়াইফাই ব্যর্থ হয় তখন নেটওয়ার্ক-ম্যানেজার আবার নেটওয়ার্কটি খুঁজে পায় না।

আমি মনে করি যে সমস্যাটি নেটওয়ার্ক-ম্যানেজার, একটি ওয়াইফাই সংযোগ ব্যর্থতার পরে, ওয়াইফাই তালিকাটি রিফ্রেশ করে না (এবং মনে হচ্ছে নেটওয়ার্ক-ম্যানেজার সমস্যাযুক্ত নেটওয়ার্কটি লুকিয়ে রাখে)। নেটওয়ার্ক-ম্যানেজারের পুনরায় স্ক্যান মেনু বিকল্প নেই, এবং নেটওয়ার্ক-ম্যানেজার মেনুতে ওয়্যারলেস চেকবক্সটি নিষ্ক্রিয় করা এবং সক্ষম করা একটি নতুন ওয়াইফাই স্ক্যানকে বাধ্য করবে না (পরিষেবাটি পুনরায় চালু করার সাথে সাথে)।

যখন নেটওয়ার্ক-ম্যানেজার আমার ওয়্যারলেস সংযোগটি হারিয়ে ফেলে এবং এটি আমার ওয়াইফাইটি আবার খুঁজে পায় না (এবং আমি জানি যে ওয়াইফাই অপারেটিভ রয়েছে), আমি কমান্ডটি সম্পাদন করি:

sudo iwlist wlan0 scan

এটি wlan0 ইন্টারফেসে একটি ওয়াইফাই স্ক্যান করে (wlan0 আমার ল্যাপটপে ওয়্যারলেস ইন্টারফেসের নাম) এবং এটি আপনাকে উপলভ্য ওয়্যারলেস নেটওয়ার্কগুলি দেখায়, তবে পার্শ্ব প্রতিক্রিয়া হিসাবে নেটওয়ার্ক-ম্যানেজারটি স্বয়ংক্রিয়ভাবে তার তালিকাটি রিফ্রেশ করে এবং হারিয়ে যাওয়া নেটওয়ার্ক খুঁজে পায়।

যখন এই সমস্যাটি ঘটে তখন আমি কমান্ডটি ম্যানুয়ালি কার্যকর করতে পছন্দ করি (নেটওয়ার্ক পুনরায় সংযোগটি পুনরায় কাজ শুরু করার বিষয়টি নিশ্চিত করে না এবং কিছু প্রোগ্রাম পুনরায় আরম্ভ করার প্রয়োজন হবে)।

তবে, যেমন আপনি উল্লেখ করেছেন, আপনি এটি ক্রোন করতে পারেন এবং আপনি এটি সংযোগ পরীক্ষা না করেই করতে পারেন (স্ক্যান প্রক্রিয়াটি আপনার ওয়াইফাই তালিকা আপডেট করে তবে এটি যদি আপনি সংযুক্ত থাকেন তবে এটি আপনার বর্তমান বেতার সংযোগটি বন্ধ করে না)।

আপনি যদি পছন্দ করেন তবে আপনি পিং বা আইকনফিগ ব্যবহার করে সংযোগ পরীক্ষা করতে পারেন এবং যদি আপনি সংযুক্ত না হন তবে স্ক্যানটি চালু করুন।

কিছুটা এইরকম:

#!/bin/bash
if ! ping -c 1 -W 1 your_router_ip &> /dev/null
then
    iwlist wlan0 scan
fi

তবে মনে রাখবেন যে এই স্ক্রিপ্টটি অবশ্যই রুট সুবিধার সাথে sudoed বা সম্পাদন করতে হবে। এটি 1 সেকেন্ড টাইমআউট সহ মাত্র 1 পিং পাঠায়।


উপরের সমাধানটি ঠিক আছে তবে কীভাবে নেটওয়ার্ক ম্যানেজার (এনএম) থেকে বিজ্ঞপ্তিটি ধরবেন যে সংযোগটি বাদ পড়েছে। এনএম এর মধ্যে থেকেই এটি সম্ভব হওয়া উচিত, উত্সের মাধ্যমে একটি তাত্ক্ষণিক দৃষ্টিভঙ্গি দেখে মনে হবে যে মজাদারতা রয়েছে। বার্তাটি ডিবিএস এবং এনএম আইকন আপডেটগুলি থেকে নেওয়া হয়েছে, সুতরাং এটি সম্ভবত একটি বাগ, বা সম্ভবত সিস্টেমের অন্য একটি অংশ সংযোগের ড্রপটি ধরে এবং সংশোধন করা হয়েছে এবং নোটিশটি আর সংযোগের চেষ্টা করে না passes
ডেভএম

0

আমি কী সমস্যাটিকে সংযোগের মতো মনে করি তা রাউটারের সংযোগ সমস্যার কারণে হারিয়ে যায়। রাউটার নিজেই সমস্যা দেখা দিলে নেটওয়ার্ক ম্যানেজারটিকে পুনরায় চালু করা সাহায্য করতে পারে না। পরিবর্তে আপনি সংযোগটি হারিয়ে গেলে সিগস্টপ ব্যবহার করে স্থগিত করার জন্য সফ্টওয়্যারটি চালিত প্রক্রিয়াটি চালিত করার জন্য একটি স্ক্রিপ্ট তৈরি করতে পারেন এবং নেটওয়ার্ক উপলব্ধ হয়ে গেলে আবার সিগনকন্ট ব্যবহার করা চালিয়ে যেতে প্রক্রিয়া চালিত করতে পারেন। এবং আপনার ক্রোন জবগুলিতে স্ক্রিপ্টটি যুক্ত করুন, এটি প্রতি মিনিটে চালানোর জন্য নির্ধারিত।

আপনার রেফারেন্সের জন্য: http://hints.macworld.com/article.php?story=20030915193440334

আশাকরি এটা সাহায্য করবে.

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.