2012-09-19 16 views
6

Yerel wifi cihazının başka bir wifi ağına bağlanmasına izin verirken, hotspot (wifi istemcilerine ağ erişimi sağlayan) gibi davranacak olan wifi API'sini kullanarak Android'de bir uygulama yazmak mümkün mü?Android'de çok yönlü hotspot

Test ettiğim, bir hotspot oluşturmak için yerel Wifi bağlantısını devre dışı bırakıyor.

cevap

9

Birkaç ay sonra buradan gönderiyorum, bu yüzden bunu bir Android cihazında uygulamak isteyen kullanıcılara yardımcı olabilir.

bir kablosuz çip hem istasyon modu (STA) ve erişim noktası modu ile hibrid modunda çalışan için bir yol yoktur (AP) sağladı.

Bunu yapmak için çipimin kablosuz sürücüsünü bir multi-role kablosuz sürücüsüyle değiştirdim. Neyse ki, çip bu modu destekliyordu, ancak her kablosuz yonga için geçerli değil. Benim çip bir TI tabanlı çip (wl1271) olmak, bir önceki sürücü ile mevcut olmasa da, çok rol desteklendi. Bu yeni sürücü aldığımda

, ben kablosuz sürücü ve üretilen (yeni sürücü tarafından gerekli API'leri sağlayan) ile ilgili mac80211 ve cfg80211 modülden .ko sahip olmak için benim kernel ile birlikte yeniden derlemek zorunda kaldı. Son adım, wpa_supplicant ve hostapd'un, TI tarafından sağlanan özel bir yama sürümü ile yükseltilmesiydi.

Yine, burada wl1271sadece ilgi duyanlar için sürücüleri/kullandığım araçlar karşılık gelen ve Android 4.0.4 ICS çalışan bildirdi:

https://github.com/TI-OpenLink/hostap/tree/ol_R5.SP3.01

https://github.com/TI-OpenLink/iw/tree/ol_R5.SP3.01

Kablosuz çip çoklu rol sürücüsü varsa

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/

, bu wpa_supplicant ve kullanmak zorundadır hostapd hangi sürümü veya yamalar bulma değer olabilir ve derleyin/deneyin.

İşlemin sonunda iki ağ arabirimine (wlan0 ve wlan1) erişebiliyordum ve wlan_supplicant'ı wlan0 ve hostapd üzerinde wlan1 üzerinde başlatabiliyordum.

1

Tanımladığınız şey WDS (Wireless Distribution System) olarak adlandırılır. Bu işlevselliğin Android wifi API'sında uygulanmadığını düşünüyorum. Kablosuz bir bağlantı noktasındaki kablosuz bağlantıyı sağlamak için kablosuz AP'lerde kullanılır.

+0

Gerçekten istediğimi ifade eder. Bununla birlikte, WDS birçok kavram ve protokolü sarmaktadır. Sadece bir AP paylaşım sistemine sahip olmanın nasıl yapıldığına dair basit bir tavsiyede bulunmak istedim. Bazıları bunu Android API ile (uygulanmamış görünüyor) veya elektronik olarak (belki ikinci bir wifi cihazı kullanarak) nasıl yapılacağı konusunda tavsiyede bulunuyorlar - ve bunu nasıl çekirdeği değiştirdiyse Android'de buna :). –

+0

@HQarroum Anlayışım (ve bu konuda uzman değilim) en azından WDS özellikli bir AP'ye ve Android'de WDS'nin uyumlu bir uygulamasına ihtiyacınız olacaktır. Bence bu şu anda Android'de uygulanmadı ve bu yüzden oldukça düşük seviyeli bir kodlama gerektiriyor ... – jhonkola

+0

Çok teşekkürler! Bunu daha derinden araştıracağım :) –

İlgili konular