⏱ O‘qish vaqti: 2 daqiqa
Qisqacha
- Skript ro‘yxatdagi barcha stansiyalarni tekshiradi
- CCQ 70% dan past bo‘lsa uzish amalga oshiriladi
- Stansiyalar eng yaxshi AP ga qayta ulanadi
Wi‑Fi tarmog‘ida ba’zi qurilmalar past signal tufayli ‘sticky node’ holatiga tushadi va yomon performans ko‘rsatadi. Bu skript CCQ darajasi past bo‘lgan stansiyalarni aniqlab, ularni majburan uzadi. Natijada qurilmalar eng kuchli AP ga qayta ulanishga majbur bo‘ladi.
Talablar
- MikroTik AP da administrator huquqi
- RouterOS terminalga kirish imkoniyati
Sozlash bosqichlari
1. Skriptni yaratish
/system script bo‘limiga kirib, yangi skript qo‘shing. Skript manbai barcha ro‘yxatga olingan stansiyalarni tekshiradi va CCQ 70% dan past bo‘lsa ularni uzadi. Skriptning to‘liq kodi manbada berilgan.
This script checks all registered stations and forces a disconnect for any station(s) which has a CCQ level less than that specified below (in this example it's set to 70% for TX and for RX).
The idea is that once they are forced to disconnect, the stations will attempt to reassociate with the best available AP, eliminating the 'sticky node' problem.
The only modifications you need to make is to change your minimum allowed CCQ level.
On your APs:
/system script
add name="station-check" source="/interface \
wireless registration-table\r:foreach i in=[ /interface wireless registration-table find ap=no] \
do={\r :if ([get \$i tx-ccq] < \"70\" && [get \$i rx-ccq] < \"70\") do={\r :log warning \
([get \$i radio-name] . \" was disconnected due to low CCQ - Tx: \" . [get \$i tx-ccq] . \"% / Rx: \" . \
[get \$i rx-ccq] . \"%\")\r /interface wireless registration-table remove \$i\r \
:delay 5s\r }\r}"
Important: Remember that non-MikroTik stations will not report back their received CCQ, so the TX-CCQ will always be 0%.
Once you have configured the script, set up a scheduler to run the script everytime you want it to check for low signals. In the example below, the script will run every day at 1 second after midnight!
On your APs:
/system scheduler
add disabled=no interval=1d name="station-check-schedule" on-event="/system script run \
station-check ;" start-time=00:00:01
Credit: wiki.mikrotik.com
2. Jadvalni sozlash
/system scheduler yordamida skriptni muntazam ravishda ishga tushiring. Misolda skript har kuni yarim tun 00:00:01 da bajariladi. Bu sizga tarmoqni doimiy nazoratda ushlab turish imkonini beradi.
3. CCQ chegarasini moslash
Skript ichidagi 70 qiymatini o‘zingizga mos ravishda o‘zgartiring. Masalan, agar 60% ga tushgan stansiyalarni ham uzmoqchi bo‘lsangiz, bu raqamni 60 ga o‘zgartiring.
Tekshirish
Skript ishga tushganda logda warning darajasida ‘was disconnected due to low CCQ’ xabari paydo bo‘ladi, bu uzilgan stansiyani ko‘rsatadi.
Diqqat:
- Non‑MikroTik qurilmalar TX‑CCQ har doim 0% bo‘lishi mumkin, bu ularni noto‘g‘ri uzishi mumkin
- Skript har uzishdan keyin 5 soniya kutadi, bu tarmoqqa qo‘shimcha kechikish kiritadi
Muammolar va yechimlar
CCQ 0% bo‘lgan stansiya uzilib qoladi
Shartni faqat rx-ccq ga asoslang yoki CCQ chegarasini pasaytiring
Xulosa
Bu skript past CCQ bo‘lgan stansiyalarni avtomatik uzib, tarmoq samaradorligini oshiradi. CCQ chegarasini ehtiyojingizga mos ravishda sozlang. Jadval orqali muntazam tekshirishni unutmang.
Manba: Force Disconnect Wireless Stations with Low CCQ — mikrotiktool.github.io
