Tôi đăng ở đây sau một vài tháng để những người muốn triển khai điều này trên thiết bị Android có thể được trợ giúp.
Có một cách để có một con chip không dây làm việc trong chế độ hybrid, với cả hai chế độ trạm (STA) và chế độ điểm truy cập (AP) được kích hoạt.
Để thực hiện việc này, tôi đã thay thế trình điều khiển không dây của chip bằng trình điều khiển không dây multi-role
. May mắn thay, chip của tôi đã hỗ trợ chế độ này, tuy nhiên nó không phải là trường hợp cho mọi chip không dây. Chip của tôi là chip dựa trên TI (wl1271), vai trò đa được hỗ trợ, mặc dù nó không khả dụng với trình điều khiển trước đó.
Khi tôi lái xe mới này, tôi đã phải biên dịch lại nó cùng với hạt nhân của tôi để có .ko
của trình điều khiển không dây và liên quan mac80211
và cfg80211
module (cung cấp các API cần thiết cho lái xe mới) tạo ra. Bước cuối cùng là nâng cấp wpa_supplicant
và hostapd
bằng phiên bản được vá tùy chỉnh do TI cung cấp.
Một lần nữa, đối với những người quan tâm trong wl1271
chỉ ở đây tương ứng trình điều khiển/công cụ tôi đã sử dụng và báo cáo làm việc trên Android 4.0.4 ICS:
https://github.com/TI-OpenLink/hostap/tree/ol_R5.SP3.01
https://github.com/TI-OpenLink/iw/tree/ol_R5.SP3.01
https://github.com/TI-OpenLink/ti-utils/tree/ol_R5.SP3.01
https://github.com/TI-OpenLink/wl12xx_target_scripts/tree/ol_R5.SP3.01/sta
https://github.com/TI-OpenLink/compat/tree/ol_R5.SP3.01/
https://github.com/TI-OpenLink/compat-wireless/tree/ol_R5.SP3.01/
Nếu có một vai trò điều khiển đa cho chip không dây của bạn, nó có thể là giá trị nó phát hiện ra những gì phiên bản hay bản vá lỗi của wpa_supplicant và hostapd bạn sẽ sử dụng, và biên dịch/thử chúng.
Khi kết thúc quá trình, tôi có quyền truy cập vào hai giao diện mạng (wlan0 và wlan1) và có thể khởi chạy wpa_supplicant trên wlan0 và hostapd trên wlan1.
Nó đề cập đến những gì tôi muốn. Tuy nhiên, WDS dường như bao bọc rất nhiều khái niệm và giao thức. Tôi chỉ muốn một số lời khuyên đơn giản về cách thực hiện điều đó bằng cách có một hệ thống chia sẻ toàn bộ AP. Một số tư vấn về làm thế nào để làm điều đó với API Android (có vẻ không được thực hiện) hoặc điện tử (có thể sử dụng một thiết bị wifi thứ hai) -> và làm thế nào để điều đó trong Android w/o thay đổi hạt nhân :). –
@HQarroum Sự hiểu biết của tôi (và tôi không phải là chuyên gia về điều này) là bạn sẽ cần ít nhất một AP có khả năng WDS và việc triển khai WDS tương thích trong Android. Tôi nghĩ rằng điều này hiện không được thực hiện trong Android, và do đó sẽ yêu cầu một số mã hóa khá thấp ... – jhonkola
Cảm ơn rất nhiều! Tôi sẽ điều tra về điều này sâu sắc hơn :) –