kiến thức Cách setup Mesh wifi (aka fast roaming) với router chạy DD-WRT/openWRT

  • Người tạo chủ đề Người tạo chủ đề Anaksulnamun
  • Ngày bắt đầu Ngày bắt đầu

Anaksulnamun

Đã tốn tiền
Cách setup Mesh wifi (aka fast roaming)
với router chạy DD-WRT

Anaksulnamun

Xin phép anh em vì mình đã giật tít cho những anh em nào không rành, thật sự bài viết này mình tập trung vào cách setup fast-roaming hoặc auto-roaming cho những router nào cài DD-WRT, openWRT. Dĩ nhiên mình cũng sẽ trình bày 1 vài mẹo để router nào có thể chỉnh được độ mạnh của sóng thì cũng làm được việc này.

https://voz.vn/#_Toc44357672

1. Dẫn nhập
Năm nay ta dính 1 phốt lớn, đó là dụ cu em mua con hệ thống mesh “nội địa” tp-link wdr7651, sau khi login vào thì ôi thôi, thất bại ê chề, các password không được masked, giao diện thì tệ hại và đơn giản. Mặc dù con này vẫn làm tốt 2 cái tác vụ của nó là mesh wifi và fast roaming nhưng ta vẫn cảm giác sao sao đó.

01 - login page.png

Thế là tức, bắt đầu tự hỏi: liệu có thể setup auto roaming chỉ bằng phần mềm được không? Và đã có câu trả lời trên router dùng firmware của dd-wrt, open-wrt hoặc bất kỳ router nào cũng làm được nếu hiểu nguyên lý. Mong anh em đọc tiếp.

2. Các thuật ngữ
- WRT = wireless router, các router có chức năng phát sóng wifi.

- AP - Access point = điểm truy cập, nghĩa là một thiết bị phát sóng wifi để một client khác kết nối vào một hệ thống mạng khác (có dây hoặc không dây). Do chúng ta đang bàn về wifi nên trong bài này nên anh em cứ hiểu AP theo nghĩa thông thường mà chúng ta đang dùng.

- Mesh = mạng lưới, dành cho các node (router, AP, switch…). Là việc các node kết nối với nhau bằng dây (LAN, điện-lan, quang…) hoặc không dây (wifi, RF…), hãy tưởng tượng như các lưới của vợt cầu lông hoặc lưới đánh cá.

-> Mesh wifi system: nghĩa là các node có thêm 1 kênh wifi riêng để kết nối giữa các node với nhau, điều này khắc phục được nhược điểm của các repeater khi băng thông bị cắt đôi do phải tốn ½ băng thông để kết nối node, ½ băng thông còn lại để phát cho các client. Nhưng cái hot ở các mesh wifi system là nó có fast-roaming/seamless roaming, xin các bác đọc tiếp ở dưới.

- Roaming: chuyển vùng, là việc 1 client (phone, laptop, reciever…) chuyển kết nối từ một AP này sang 1 AP khác. Thật sự việc client kết nối vào 1 AP không đơn giản như chúng ta tưởng: client phải dò được sóng, hoàn tất authentication, xong nhận tín hiệu từ node…do đó khi client đã kết nối vào 1 AP thì nó sẽ dính cứng vào AP đó luôn (vì không có gì chắc chắn là client sẽ kết nối được vào 1 AP mới).

- Auto-roaming, fast-roaming, seamless-roaming. Việc client tự chuyển đổi kết nối từ 1 AP này sang 1 AP khác có sóng mạnh hơn. Điều kiện cần thiết là client có hỗ trợ chuẩn fast-roaming 802.11r. Seamless-roaming chuyên dùng cho những nơi nào có VoIP, khi việc chuyển vùng phải thấp hơn 50-100ms để không bị đứt cuộc gọi. Với một người dùng tại gia thì họ chỉ mong muốn auto-roaming, khi mình ngồi ở chỗ thường ngồi thì phone sẽ tự động kết nối vào AP trước mặt chứ không phải vẫn kết nối 1 vạch tới con AP ở xa miết chân trời nào đó.

Như đã nói ở trên, việc roaming là của client chứ không phải có node/AP, nên chắc chắn các AP sẽ được lập trình ra sao để bắt các client roaming, may là smallnetbuilder.com (SNB) đã test rõ ràng quá trình này.

https://www.smallnetbuilder.com/wireless/wireless-features/33195-wi-fi-roaming-secrets-revealed

2.4 GHz (Channel 6)
5 GHz (Channel 40)
Orbi Router (AP1)
0e:02:8e:9f:39:c5​
08:02:8e:9f:39:c8
Netgear_9f:39:c8​
Orbi Satellite (AP2)
0e:02:8e:9f:3a:f6​
08:02:8e:9f:3a:f9
Netgear_9f:3a:f9​
Pal-245
04:F0:21:28:C6:80 / CompexPt_28:c6:80​

02 - roaming RSSI.png

02 - packet_capture_band_steer.png


Trong trường hợp này, con AP đang được kết nối tới —0e:02:8e:9f:3a:f6— đang đề xuất chuyển vùng sang 08:02:8e:9f:3a:f9, cũng thuộc channel 40 ở tần số 5Ghz cùng con AP. Ghi chú là việc chuyển dùng không xảy ra cho tới tận 25 giây sau, khi con thiết bị Pal của SNB (CompexPt_28:c6:80 trong log) nói bye-bye và phát tín hiệu cắt kết nối.

Điều gì xảy ra trong 25 giây này? Tin tốt là client vẫn tiếp tục có kết nối. Nhưng điều ngạc nhiên là có nhiều tín hiệu thăm dò của Pal phát trong tần số radio đang được kết nối, ví như 0e:02:8e:9f:3a:f6. Đầu tiên Pal tốn khoảng 10 giây để thăm dò BSSID rằng nó đang kết nối vào channel 6, sau đó 2 giây để phát tín hiệu thăm dò tới cùng BSSID ở channel 40, sau đó quay lại channel 6 một vài giây nữa và cuối cùng tạm dừng khoảng 6 giây trước khi ngắt kết nối ở thời điểm 125.6 và kết thúc xác thực (authentication) và kết nối với BSSID được đề xuất bởi BSS Transition Management Request.

Đọc tới đây chắc các anh em đã hiểu rõ các khái niệm và nhu cầu của mình khi xem xét một hệ thống mesh-wifi : cần kết nối wirless giữa các node hay là cần auto-roaming/fast-roaming giữa các node. Phần tiếp theo sẽ nói về cách thực hiện.

3. Setup fast-roaming với firmware có hỗ trợ chuẩn 802.11r.
3.1 Trên dd-wrt: phiên bản mới từ 2018 trở đi

Wireless – Basic settings, chỉnh toàn bộ các node thành cùng SSID. Dù có support smart connect gộp 2 băng thông 2.4Ghz và 5Ghz đi nữa thì mình lúc nào cũng tách ra, vì gộp vào thường lắm chuyện lắm. Lưu ý là các node nên để channel khác nhau, đừng set chung channel, làm vậy sẽ dễ và nhanh roaming hơn.

03 - ddwrt - basic settings.png


Wireless – Wireless security, đặt cùng security mode, cùng dạng network authentication và WPA algorithms và password cho cùng 1 SSID. Enable 802.11r support. Theo kinh nghiệm của mình nếu để Mobility domain của 2.4Ghz và 5Ghz trùng nhau thì việc chuyển kết nối sẽ nhanh như chớp, nhưng khi roaming 5Ghz sẽ bị thỉnh thoảng bị lỗi, không connect được à để mobility domain khác nhau cho lành.

03 - ddwrt - wireless security.png


3.2 OpenWRT - 802.11r (Fast-Roaming) in LUCI
Phải cài đặt wpad bản full (bản wpad-mini mặc định sẽ không đủ). opkg update -- opkg remove wpad-mini -- opkg install wpad

Khi đã cài đặt xong wpad thì mình sẽ chỉnh được các option trên 802.11r

03 - openWRT.png

3.3 Trường hợp router cũ không có 802.11r hoặc router không cài được DD-WRT, openWRT.
- Đặt router khôn ngoan, mỗi nơi cover đủ sóng chứ đừng trùng nhau. Ví như mình có 6 căn phòng 3 căn nhà trước, 3 căn nhà sau thì mình sẽ đặt 2 con ở nhà trước tầng 1, 3 và 1 con phòng sau tầng 2 vậy.

- Chỉnh SSID khác nhau hoàn toàn trước, sau khi êm sẽ chỉnh lại sau.

- Kết nối vào con AP nào đó (AP A, sau đó đi tới trước 1 con AP khác (AP B), nếu thấy vẫn connect vào AP A mà sóng chỉ 1 vạch thì sẽ chỉnh để AP A đá client ra. Vào advance settings – Drop clients with low signal và dùng 1 con phone/laptop khác để chỉnh tăng lên (ví như -128 xuống -96) cho tới khi nào nó tự đá con client kia ra.

03 - ddwrt - drop clients with low signal.png

- Thực hiện tuần tự lại các điều trên…

- Sau đó thì chỉnh lại SSID trùng nhau ở tất cả các AP như trước.

- Nghe nói pandavan (lão mao tử) cũng làm được điều này, nhưng để ta mượn được con xiaomi rồi sẽ update lại sau.

4. Test lại fast roaming
1 con linsys ea8500 ( Firmware: DD-WRT v3.0-r43192 std (05/19/20) ) và 1 con tp-link archer c7 đều được cài dd-wrt bản 2020, nối với nhau bởi dây LAN, chung một subnet mask.

Mình cầm con iPhone 7plus di chuyển giữa 2 AP, đi vào các nơi mà con AP này sẽ bị chắn và sóng yếu (cách 3 bức tường chẳng hạn) để iPhone nó chắc chắn sẽ roaming.

4.1 Facebook video call
- Đi nhanh như chớp -> rớt

- Đi chầm chậm kiểu dưỡng sinh, không rớt -> nice

4.2 Ping
- App wifiman của unifi, đi chầm chầm, không rớt packet à nice.

4 - test mesh.jpg


5. Kết luận
- Mesh wifi (fast roaming) không khó, nếu chịu vọc.

- Nên phân biệt rõ mình muốn gì từ một wi-fi mesh systems: kết nối không dây nhanh chóng giữa các node hay là fast/seamless roaming à anh em sẽ dễ tư vấn hơn.

- Luôn cố gắng kết nối có dây giữa các node/AP. Nó bảo đảm băng thông và giảm độ trễ. Nên các anh em hãy cố gắng cắn răng mà kéo dây LAN 1 lần và mãi mãi đi. :beat_brick:

- Con router/AP nào mà không có custom firmware thì không thơm lắm. Chỉ sau khoảng 6 tháng là hết được uprade firmware.
 
Sửa lần cuối:
Hay quá bác ơi. Ủng hộ thím. Tiếc con mình ko có fast roaming trong ddwrt
 
Thêm quả hd mesh thật đi, openwrt có hỗ trợ :sexy_girl:
Lão nói “mesh thật” xịn như Netgear Orbi thì có 2 cái: 1. Wifi backhaul riêng để connect giữa các node và 2. Fast roaming cho tần số 2.4ghz hoặc 5ghz
Để làm được thì cũng ko khó, nhưng chúng ta phải disable 1 channel để làm backhaul hoặc chấp nhận cắt giảm 1/2 băng thông của 5ghz để làm backhaul qua chế độ wireless bridge.
Mà tin ta đi, ta setup wireless bridge 2 lần rồi và ta ko muốn làm việc đó thêm lần não nữa...
 
Lão nói “mesh thật” xịn như Netgear Orbi thì có 2 cái: 1. Wifi backhaul riêng để connect giữa các node và 2. Fast roaming cho tần số 2.4ghz hoặc 5ghz
Để làm được thì cũng ko khó, nhưng chúng ta phải disable 1 channel để làm backhaul hoặc chấp nhận cắt giảm 1/2 băng thông của 5ghz để làm backhaul qua chế độ wireless bridge.
Mà tin ta đi, ta setup wireless bridge 2 lần rồi và ta ko muốn làm việc đó thêm lần não nữa...
Không cần backhaul riêng. Có thì tốt nhưng mấy cục mesh giá rẻ có đâu :doubt:
Với nhu cầu lướt web thì việc mất băng thông cũng không phải vấn đề quá lớn.
Vừa mới tìm thử trên wiki có hd khá chi tiết, dùng 802.11s
 
Không cần backhaul riêng. Có thì tốt nhưng mấy cục mesh giá rẻ có đâu :doubt:
Với nhu cầu lướt web thì việc mất băng thông cũng không phải vấn đề quá lớn.
Vừa mới tìm thử trên wiki có hd khá chi tiết, dùng 802.11s
Ai yêu khoa học đi, ta chờ con r7800 của ta về ta tét :-)
 
Bổ sung cho chủ thớt 1 số lưu ý quan trọng:
- Với router xài chipset Broadcom cài dd-wrt/openwrt thì sẽ ko có fast roaming đâu nhé. và ko nên cài Openwrt.
- Router xài chipset Qualcomm/Atheros nên cài openwrt chạy ngon hơn dd-wrt.
- Với Openwrt bản 19.07 về sau này nên cài gói wpad-basic, ko cần cài gói wpad để tiết kiệm dung lượng bộ nhớ.
- Openwrt chỉ cần bật 802.11r fast transistion lên là xong, ko cần phải nhập NAS ID & Mobility Domain, 2c đó cứ để openwrt nó tự lo.
 
Bổ sung cho chủ thớt 1 số lưu ý quan trọng:
- Với router xài chipset Broadcom cài dd-wrt/openwrt thì sẽ ko có fast roaming đâu nhé. và ko nên cài Openwrt.
- Router xài chipset Qualcomm/Atheros nên cài openwrt chạy ngon hơn dd-wrt.
- Với Openwrt bản 19.07 về sau này nên cài gói wpad-basic, ko cần cài gói wpad để tiết kiệm dung lượng bộ nhớ.
- Openwrt chỉ cần bật 802.11r fast transistion lên là xong, ko cần phải nhập NAS ID & Mobility Domain, 2c đó cứ để openwrt nó tự lo.
ĐÚng chip broadcom trên con spectrum chả thấy đâu mục fast roanming,
 
Thật ra 802.11r là điều kiện tối thiểu thôi, đang chơi mesh 3 node openwrt.
 

Tệp đính kèm

  • Screenshot (139).jpg
    Screenshot (139).jpg
    22,3 KB · Lượt xem: 784

Thống kê chủ đề

Ngày tạo
Anaksulnamun,
Người trả lời cuối
Mie6996,
Trả lời
67
Lượt xem
28.309
Quay lại
Lên đầu trang