হার্ডওয়্যার ও স্পেসিফিকেশন
রেডিও সনাক্ত করুন
OpenWrt ফ্ল্যাশের পর SSH করে radio চেক করুন:
# কোন radio কোন ব্যান্ড সেটা দেখুন iw list | grep -A2 "Wiphy\|band\|2.4\|5.8" # Mesh point সাপোর্ট আছে কিনা যাচাই iw phy phy0 info | grep "mesh point" iw phy phy1 info | grep "mesh point" # সফল হলে দেখাবে: * mesh point
| Interface | phy | Band | Mesh ব্যবহার |
|---|---|---|---|
radio0 | phy0 | 5 GHz (QCA9886) | ✅ Backhaul (mesh) |
radio1 | phy1 | 2.4 GHz (QCA9563) | 📶 Client AP |
ফার্মওয়্যার ডাউনলোড
OpenWrt Firmware Selector এ যান এবং আপনার ডিভাইস খুঁজুন:
https://firmware-selector.openwrt.org # সার্চ বক্সে টাইপ করুন: D-Link COVR-C1200 A1
| ফাইল | ব্যবহার | কখন |
|---|---|---|
dlink_covr-c1200-a1- |
OEM firmware থেকে প্রথমবার ফ্ল্যাশ | OpenWrt ইনস্টলের সময় |
dlink_covr-c1200-a1- |
OpenWrt থেকে আপগ্রেড | ভবিষ্যতে আপডেটের সময় |
sha256sum openwrt-ath79-generic-dlink_covr-c1200-a1-factory.bin
OpenWrt ফ্ল্যাশ করুন
পদ্ধতি ১: Factory Reset অবস্থায় (Wizard সম্পন্ন হয়নি)
-
1PC কে সরাসরি Point A তে Ethernet দিয়ে কানেক্ট করুন
PC তে ম্যানুয়ালি IP সেট করুন:
192.168.0.10, Subnet:255.255.255.0, Gateway:192.168.0.50 -
2Setup Wizard এড়িয়ে সরাসরি Firmware Update পেজে যান
http://192.168.0.50/UpdateFirmware_Simple.htmlChromium বা Chrome ব্রাউজার ব্যবহার করুন।
-
3
factory.binআপলোড করুনফাইল সিলেক্ট করে Upload দিন। প্রায় ২-৩ মিনিট সময় লাগবে।
-
4ফ্ল্যাশ শেষে ফ্যাক্টরি রিসেট দিন
Reset বাটন ১০ সেকেন্ড চেপে ধরুন — এতে OpenWrt UCI defaults রিস্টোর হবে।
পদ্ধতি ২: Setup Wizard সম্পন্ন থাকলে
# Web UI তে লগইন (পাসওয়ার্ড ফাঁকা) http://192.168.0.1 # তারপর: Management → Firmware Update → factory.bin আপলোড
-
1Point B কে পাওয়ার দিন, PC কানেক্ট করুন
IP সেট:
192.168.0.10, Gateway:192.168.0.50 -
2Web UI খুলুন, পাসওয়ার্ড ফাঁকা রাখুন
http://192.168.0.50 -
3
factory.binফ্ল্যাশ করুন, তারপর factory reset
-
1Reset বাটন চেপে ধরে পাওয়ার দিন
LED জ্বলে উঠলে রিসেট বাটন ছাড়ুন। Recovery mode চালু হবে।
-
2curl দিয়ে ফ্ল্যাশ করুন (Linux/Mac)Terminal
# আগে static IP দিন আপনার PC তে: 192.168.0.10/24 curl -F "firmware=@factory.bin" \ http://192.168.0.50/upgrade.cgi # Windows এ PowerShell দিয়ে: $wc = New-Object System.Net.WebClient $wc.UploadFile("http://192.168.0.50/upgrade.cgi","factory.bin")
http://192.168.0.50 এ যান এবং factory.bin আপলোড করুন।প্রাথমিক কনফিগারেশন
প্রতিটি নোডে OpenWrt ফ্ল্যাশের পর প্রথমে এই কাজগুলো করুন:
-
1SSH দিয়ে কানেক্ট করুনSSH
ssh root@192.168.1.1 # প্রথমবার পাসওয়ার্ড নেই, Enter চাপুন
-
2root পাসওয়ার্ড সেট করুন
passwd # শক্তিশালী পাসওয়ার্ড দিন — দুটো নোডে আলাদা বা একই যা চান
-
3Timezone সেট করুন
uci set system.@system[0].timezone='Asia/Dhaka' uci set system.@system[0].zonename='Asia/Dhaka' uci commit system
-
4Hostname সেট করুন (নোড আলাদা করতে)
# Gateway নোডে: uci set system.@system[0].hostname='mesh-gw' uci commit system # Satellite নোডে: uci set system.@system[0].hostname='mesh-sat1' uci commit system
প্যাকেজ ইনস্টল
opkg দিয়ে ইনস্টল করা যাবে। নইলে WAN পোর্টে ইন্টারনেট দিয়ে প্রথমে এই কাজ করুন।
# ১. প্যাকেজ লিস্ট আপডেট করুন opkg update # ২. ডিফল্ট wpad সরান (SAE encryption সাপোর্ট করে না) opkg remove wpad-basic-mbedtls # যদি wolfssl version থাকে: opkg remove wpad-basic-wolfssl 2>/dev/null # ৩. Mesh-capable wpad ইনস্টল করুন (WPA3-SAE সহ) opkg install wpad-mesh-wolfssl # ৪. batman-adv কার্নেল মডিউল opkg install kmod-batman-adv # ৫. batman-adv control tool (diagnostics এর জন্য জরুরি) opkg install batctl-full # ৬. LuCI GUI সাপোর্ট (ঐচ্ছিক — flash জায়গা বাঁচাতে বাদ দিতে পারেন) opkg install luci-proto-batman-adv # ৭. ইনস্টল যাচাই করুন opkg list-installed | grep -E "bat|wpad" # সফল হলে দেখাবে: batctl-full - 2024.x kmod-batman-adv - 6.x wpad-mesh-wolfssl - 2024.x # ৮. রিবুট করুন (kmod লোড হওয়ার জন্য জরুরি) reboot
luci-proto-batman-adv বাদ দিন এবং শুধু SSH দিয়ে কনফিগ করুন। Satellite নোডে LuCI-ই বাদ দিতে পারেন: opkg remove luci luci-base
নোডের ভূমিকা পরিকল্পনা
🟢 Point A — Gateway
- ইন্টারনেট সংযোগ (WAN পোর্ট)
- DHCP Server চালু
- DNS/Firewall/NAT চালু
- batman-adv:
servermode - 5 GHz: Mesh backhaul
- 2.4 GHz: Client AP
- Static IP:
192.168.1.1
🔵 Point B — Satellite
- Mesh দিয়ে Gateway এর সাথে যুক্ত
- DHCP Server বন্ধ
- Firewall/DNS বন্ধ
- batman-adv:
clientmode - 5 GHz: Mesh backhaul
- 2.4 GHz: Client AP
- Static IP:
192.168.1.2
Wireless কনফিগারেশন
এই কনফিগ দুটো নোডেই একই — শুধু radio0/radio1 এর channel/htmode নিশ্চিত করুন।
######################################## # radio0 = 5 GHz (QCA9886) — Mesh Backhaul ######################################## config wifi-device 'radio0' option type 'mac80211' option path 'pci0000:00/0000:00:00.0' # ath10k option band '5g' option channel '36' # DFS এড়াতে 36/40/44/48 ব্যবহার করুন option htmode 'VHT80' # QCA9886 সর্বোচ্চ 80MHz option country 'BD' # Bangladesh option disabled '0' # 5 GHz এ Mesh backhaul interface config wifi-iface 'wmesh5g' option device 'radio0' option network 'batmesh' # /etc/config/network এ এই নামে interface থাকতে হবে option mode 'mesh' # 802.11s mode option mesh_id 'OmegaMeshBD' # ⚠️ দুই নোডে হুবহু একই হতে হবে option encryption 'sae' # WPA3-SAE — wpad-mesh-wolfssl দরকার option key 'M3shS3cr3tK3y!BD' # ⚠️ দুই নোডে হুবহু একই option mesh_fwding '0' # ⚠️ 0 = batman-adv রুটিং করবে, 802.11s নয় option mesh_ttl '1' # TTL=1 যথেষ্ট 2-নোডে option mcast_rate '24000' # কম থ্রুপুট লিংক বাদ দেবে option disabled '0' ######################################## # radio1 = 2.4 GHz (QCA9563) — Client AP ######################################## config wifi-device 'radio1' option type 'mac80211' option band '2g' option channel '6' # 1, 6, বা 11 — non-overlapping option htmode 'HT20' option country 'BD' option disabled '0' # 2.4 GHz Client AP — সব ডিভাইস এখানে কানেক্ট হবে config wifi-iface 'wap24g' option device 'radio1' option network 'lan' option mode 'ap' option ssid 'OmegaHome' # ⚠️ দুই নোডে একই SSID — seamless roaming option encryption 'psk2' # WPA2 — সব ডিভাইসে কাজ করে option key 'HomeWifi2024!' option disabled '0'
wifi-iface তে option ieee80211r '1' যোগ করুন।
Network কনফিগারেশন
এই ফাইলে batman-adv interface, bat0 bridge, এবং LAN setup করতে হবে। Gateway ও Satellite এর কনফিগ আলাদা।
উভয় নোডে common অংশ
# Loopback — অপরিবর্তিত রাখুন config interface 'loopback' option device 'lo' option proto 'static' option ipaddr '127.0.0.1' option netmask '255.0.0.0' # batman-adv mesh interface # wmesh5g (wireless) → batmesh → bat0 তৈরি হবে config interface 'batmesh' option proto 'batadv' # batman-adv protocol option mesh 'bat0' # virtual batman device তৈরি হবে # MTU: batman-adv header এর জন্য 1560 bytes # (standard 1500 + 28 batman header + buffer) config device option name 'bat0' option mtu '1560' # br-lan bridge এ bat0 যোগ করুন # এতে Ethernet LAN + WiFi AP + Mesh backhaul একই network এ আসবে config device option name 'br-lan' option type 'bridge' list ports 'bat0' # mesh backhaul list ports 'eth0.1' # LAN Ethernet port
Gateway নোড সম্পূর্ণ কনফিগ
# loopback ও common অংশের পর... # WAN — ISP সংযোগ # DHCP বা PPPoE যা ISP দেয় config interface 'wan' option device 'eth0' # WAN port option proto 'dhcp' # ISP DHCP দিলে; PPPoE হলে 'pppoe' # LAN — Gateway এর static IP config interface 'lan' option device 'br-lan' option proto 'static' option ipaddr '192.168.1.1' option netmask '255.255.255.0' # batmesh + device config (common অংশ থেকে) config interface 'batmesh' option proto 'batadv' option mesh 'bat0' config device option name 'bat0' option mtu '1560' config device option name 'br-lan' option type 'bridge' list ports 'bat0' list ports 'eth0.1'
Gateway Mode সেট করুন
# batman-adv কে বলুন এটা Gateway batctl gw_mode server # স্থায়ী করতে rc.local এ যোগ করুন: cat >> /etc/rc.local << 'EOF' # batman-adv gateway mode echo "server" > /sys/class/net/bat0/mesh/gw_mode EOF # অথবা UCI দিয়ে (batman-adv UCI support থাকলে): uci set batman-adv.bat0.gw_mode='server' uci commit batman-adv
DHCP কনফিগ — Gateway তে চালু রাখুন
config dnsmasq option domainneeded '1' option boguspriv '1' option filterwin2k '0' option localise_queries '1' option rebind_protection '1' option local '/lan/' option domain 'lan' option expandhosts '1' option authoritative '1' option leasefile '/tmp/dhcp.leases' option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto' # LAN এ DHCP চালু — pool: .100 থেকে .200 config dhcp 'lan' option interface 'lan' option start '100' # 192.168.1.100 থেকে শুরু option limit '100' # সর্বোচ্চ 100টি ডিভাইস option leasetime '12h' option ignore '0' # DHCP চালু # WAN তে DHCP বন্ধ config dhcp 'wan' option interface 'wan' option ignore '1'
Satellite নোড সম্পূর্ণ কনফিগ
config interface 'loopback' option device 'lo' option proto 'static' option ipaddr '127.0.0.1' option netmask '255.0.0.0' # LAN — Satellite এর নিজস্ব management IP # ⚠️ Gateway এর DHCP pool এর বাইরে রাখুন (.2 - .99) config interface 'lan' option device 'br-lan' option proto 'static' option ipaddr '192.168.1.2' # Satellite management IP option netmask '255.255.255.0' option gateway '192.168.1.1' # Gateway এর IP option dns '192.168.1.1' # DNS = Gateway # batmesh ও device config (gateway এর মতোই) config interface 'batmesh' option proto 'batadv' option mesh 'bat0' config device option name 'bat0' option mtu '1560' config device option name 'br-lan' option type 'bridge' list ports 'bat0' list ports 'eth0.1'
Satellite এ Dumb AP সেটআপ — DHCP/Firewall বন্ধ করুন
# ১. DHCP বন্ধ করুন uci set dhcp.lan.ignore='1' uci commit dhcp # ২. dnsmasq service বন্ধ /etc/init.d/dnsmasq stop /etc/init.d/dnsmasq disable # ৩. odhcpd (IPv6 DHCP) বন্ধ /etc/init.d/odhcpd stop /etc/init.d/odhcpd disable # ৪. Firewall বন্ধ (optional কিন্তু recommended) /etc/init.d/firewall stop /etc/init.d/firewall disable # ৫. batman-adv client mode সেট batctl gw_mode client # স্থায়ী করতে: cat >> /etc/rc.local << 'EOF' echo "client" > /sys/class/net/bat0/mesh/gw_mode EOF # ৬. নেটওয়ার্ক রিস্টার্ট /etc/init.d/network restart /etc/init.d/wireless restart
DHCP, DNS ও IPv6
| সার্ভিস | Gateway (A) | Satellite (B) |
|---|---|---|
| DHCP Server | ✅ চালু (192.168.1.100–200) | ❌ বন্ধ (ignore=1) |
| DNS (dnsmasq) | ✅ চালু | ❌ বন্ধ |
| Firewall | ✅ চালু | ❌ বন্ধ |
| NAT/Masquerade | ✅ WAN এ | ❌ নেই |
| IPv6 (odhcpd) | ✅ চালু | ❌ বন্ধ |
| batman-adv mode | server | client |
| Static IP | 192.168.1.1 | 192.168.1.2 |
Static DHCP Lease (নির্দিষ্ট ডিভাইসে fixed IP)
# কোনো ডিভাইসে সবসময় একই IP দিতে: config host option name 'my-server' option mac 'AA:BB:CC:DD:EE:FF' option ip '192.168.1.50'
যাচাই ও পরীক্ষা
সফল হলে: অন্য নোডের MAC address ও throughput দেখাবে
# উভয় নোডে চালান: batctl n # output: [B.A.T.M.A.N. adv 2024.x, MainIF/MAC: wlan0-1/aa:bb:cc:dd:ee:ff (bat0)] Neighbor last-seen Flags [IF]Best TQ aa:bb:cc:11:22:33 0.830s [...] [wlan0-1] 255
batctl o — সব mesh node এর route দেখাবে
iw dev # mesh interface দেখাবে: Interface wlan0 type mesh point mesh_id: OmegaMeshBD
# Satellite থেকে Gateway ping: ping 192.168.1.1 64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=2.45 ms # Gateway থেকে Satellite ping: ping 192.168.1.2 # batman-adv layer-2 ping: batctl ping <OTHER-NODE-MAC>
brctl show br-lan # bat0 ও eth0.1 দুটোই bridge এ থাকতে হবে: br-lan ... bat0 eth0.1
Satellite নোডের AP (OmegaHome) তে ফোন কানেক্ট করে ব্রাউজ করুন।
সব মিলিয়ে চেক করুন
echo "=== batman-adv status ==="
batctl n
echo ""
echo "=== Originators ==="
batctl o
echo ""
echo "=== Gateway mode ==="
batctl gw_mode
echo ""
echo "=== Wireless interfaces ==="
iw dev
echo ""
echo "=== Bridge ports ==="
brctl show
echo ""
echo "=== IP addresses ==="
ip addr show
সমস্যা সমাধান
১. দুই নোডে
mesh_id হুবহু একই কিনা চেক করুন২. দুই নোডে
channel একই কিনা চেক করুন৩. দুই নোডে
key একই কিনা চেক করুন৪. wpad-mesh প্যাকেজ ইনস্টল আছে কিনা:
opkg list-installed | grep wpad৫. কার্নেল মডিউল লোড হয়েছে কিনা:
lsmod | grep batman৬. রিবুট করে আবার চেক করুন
১. Satellite এ
/etc/config/network এ static IP সেট করা আছে কিনা দেখুন২.
bat0 bridge এ আছে কিনা: brctl show৩. Gateway তে DHCP চালু কিনা:
/etc/init.d/dnsmasq status৪. Satellite থেকে Gateway ping করুন:
ping 192.168.1.1
-ct firmware ব্যবহার করলে mesh কাজ নাও করতে পারে।সমাধান: non-ct firmware ইনস্টল করুন:
opkg remove kmod-ath10k-ct ath10k-firmware-qca9887-ct opkg install kmod-ath10k ath10k-firmware-qca9887 reboot
gw_mode server কিনা: batctl gw_mode২. Satellite তে
client mode কিনা: batctl gw_mode৩. Satellite এ gateway route আছে কিনা:
ip route — default route via 192.168.1.1 থাকতে হবে৪. Gateway এর Firewall/NAT চালু কিনা:
/etc/init.d/firewall status
২. DFS channel (52–140) এড়িয়ে 36/40/44/48 ব্যবহার করুন
৩. দুই নোডের দূরত্ব কমান বা LOS (line of sight) নিশ্চিত করুন
৪.
mcast_rate কমিয়ে দেখুন: option mcast_rate '12000'
সমাধান: Satellite এ
/etc/init.d/firewall disable && /etc/init.d/firewall stop চালান।শুধু Gateway এ NAT/firewall থাকতে হবে।
Log দেখুন
# Live log দেখুন logread -f # batman-adv সংক্রান্ত log ফিল্টার logread | grep -i "batman\|bat0\|mesh" # Wireless log logread | grep -i "wlan\|80211\|hostapd"
পারফরম্যান্স টিপস
| বিষয় | পরামর্শ | কারণ |
|---|---|---|
| Backhaul Band | 5 GHz ব্যবহার করুন | কম interference, বেশি throughput |
| Client Band | 2.4 GHz AP রাখুন | বেশি range, দেয়াল ভেদ করে |
| Channel (5GHz) | 36, 40, 44, বা 48 | DFS এড়ানো, stable connection |
| Channel (2.4GHz) | 1, 6, বা 11 | Non-overlapping channels |
| HTMode (5GHz) | VHT80 | QCA9886 সর্বোচ্চ 80MHz সাপোর্ট |
| MTU | bat0: 1560 | batman-adv header overhead |
| মেশের দূরত্ব | ≤10 মিটার (LOS) | Signal strength ভালো থাকে |
| Ethernet backhaul | সম্ভব হলে ব্যবহার করুন | সবচেয়ে stable ও fast |
| 802.11r | উভয় AP তে enable করুন | Fast roaming — হাঁটতে থাকলেও কানেকশন |
Ethernet Backhaul (ঐচ্ছিক কিন্তু সেরা)
# যদি দুই নোড Ethernet দিয়ে যুক্ত থাকে # তাহলে wireless mesh ছাড়াও eth0 কে batmesh এ দিন: config interface 'bateth' option proto 'batadv' option mesh 'bat0' # bat0 এ eth0 যোগ করুন (wireless এর পাশাপাশি) # batman-adv স্বয়ংক্রিয়ভাবে best path বেছে নেবে
802.11r Fast Roaming
config wifi-iface 'wap24g' option ieee80211r '1' option nasid 'OmegaMeshNet' # উভয় নোডে একই option mobility_domain 'a1b2' # উভয় নোডে একই 4-hex option ft_over_ds '1' option ft_psk_generate_local '1'
সম্পূর্ণ কনফিগ রেফারেন্স
🟢 Gateway (Point A) — পূর্ণ /etc/config/wireless
config wifi-device 'radio0' option type 'mac80211' option band '5g' option channel '36' option htmode 'VHT80' option country 'BD' option disabled '0' config wifi-iface 'wmesh5g' option device 'radio0' option network 'batmesh' option mode 'mesh' option mesh_id 'OmegaMeshBD' option encryption 'sae' option key 'M3shS3cr3tK3y!BD' option mesh_fwding '0' option mesh_ttl '1' option mcast_rate '24000' option disabled '0' config wifi-device 'radio1' option type 'mac80211' option band '2g' option channel '6' option htmode 'HT20' option country 'BD' option disabled '0' config wifi-iface 'wap24g' option device 'radio1' option network 'lan' option mode 'ap' option ssid 'OmegaHome' option encryption 'psk2' option key 'HomeWifi2024!' option disabled '0'
🟢 Gateway — পূর্ণ /etc/config/network
config interface 'loopback' option device 'lo' option proto 'static' option ipaddr '127.0.0.1' option netmask '255.0.0.0' config interface 'wan' option device 'eth0' option proto 'dhcp' config interface 'lan' option device 'br-lan' option proto 'static' option ipaddr '192.168.1.1' option netmask '255.255.255.0' config interface 'batmesh' option proto 'batadv' option mesh 'bat0' config device option name 'bat0' option mtu '1560' config device option name 'br-lan' option type 'bridge' list ports 'bat0' list ports 'eth0.1'
🔵 Satellite — পূর্ণ /etc/config/network
config interface 'loopback' option device 'lo' option proto 'static' option ipaddr '127.0.0.1' option netmask '255.0.0.0' config interface 'lan' option device 'br-lan' option proto 'static' option ipaddr '192.168.1.2' option netmask '255.255.255.0' option gateway '192.168.1.1' option dns '192.168.1.1' config interface 'batmesh' option proto 'batadv' option mesh 'bat0' config device option name 'bat0' option mtu '1560' config device option name 'br-lan' option type 'bridge' list ports 'bat0' list ports 'eth0.1'
/etc/init.d/network restart && /etc/init.d/wireless restart # অথবা পুরো রিবুট: reboot
⚡ Quick Checklist
| চেকপয়েন্ট | Gateway | Satellite |
|---|---|---|
| OpenWrt ফ্ল্যাশ | ✅ | ✅ |
| wpad-mesh-wolfssl | ✅ | ✅ |
| kmod-batman-adv | ✅ | ✅ |
| mesh_id একই | ✅ | ✅ |
| key একই | ✅ | ✅ |
| channel একই (5GHz) | ✅ | ✅ |
| SSID একই (2.4GHz AP) | ✅ | ✅ |
| bat0 br-lan bridge এ | ✅ | ✅ |
| batman-adv mode | server | client |
| DHCP চালু | ✅ | ❌ |
| Firewall চালু | ✅ | ❌ |
| batctl n — neighbor দেখা | ✅ | ✅ |
| Cross-node ping | ✅ | ✅ |
| ইন্টারনেট from Satellite AP | — | ✅ |