2012-03-02 14 views
7

Mam problem. Zajmuję się tworzeniem aplikacji na Androida, która skanuje bezprzewodowe punkty dostępowe/routery. Testowałem kilka urządzeń i uzyskuję skanowanie 2, 1, 0,5, 0,1 itd. Skanów na sekundę.Zwiększenie szybkości skanowania WiFi

Moim celem jest osiągnięcie 10 skanów na sekundę, ponieważ router może wysyłać sygnały nawigacyjne 10 razy na sekundę. I potrzebujemy tego dla naszej aplikacji.

Czy istnieje możliwość, aby było to możliwe? Perhapse włamać się do rom i wymienić sterowniki wifi? Zajmowałem się tym, ale nie mogę znaleźć nic o tym frequentie w kierowcy.

Używany sterownik to sterownik BCM4329, nie mogę znaleźć żadnych arkuszy danych w BCM4329, więc trochę trudno to rozgryźć.

Z góry dziękuję. flitjes

+0

Dowiedziałem się, że ma to coś wspólnego z WPA_SUPPLICANT. Zamierzam spróbować zbudować niestandardową WPA_SUPPLICANT, aby zwiększyć szybkość skanowania, ponieważ sterowniki wewnątrz WPA_SUPPLICANT zawierają parametry skanowania Wi-Fi. Nadal muszę to przetestować! – flitjes

+0

WPA_SUPPLICANT obsługuje zabezpieczenia, uważam, że bardzo trudno jest uwierzyć, że może kontrolować szybkość skanowania bezpośrednio (może to jednak być efekt uboczny). – SomeWittyUsername

Odpowiedz

0

Nie jestem zaznajomiony z rozwojem kierowcy, ale wiem, że to jedna z najtrudniejszych rzeczy w informatyce więc chyba, że ​​masz dobrą wiedzę w rozwoju jądra Linuksa chciałbym o tym zapomnieć.

Ponadto nadal trzeba skanować 12 kanałów Wi-Fi, aby upewnić się, że wykrywasz wszystkie punkty dostępu. Punkt dostępowy nadaje sygnał świetlny co 100 ms * 12 kanałów = 1,2 sekundy. Poświęcasz mniej czasu i ryzykujesz brak punktów dostępu.

+0

Wiele punktów dostępu wysyła jednocześnie sygnały nawigacyjne, więc jestem przekonany, że mogę to przyspieszyć. Jak stwierdziłem w drugiej odpowiedzi, myślę, że jedynym sposobem na uzyskanie tego szybciej jest wykluczenie kanałów ze skanowania. Perhapse z oknem kanału 1-4. – flitjes

+0

ok niektóre sterowniki umożliwiają dostosowanie czasu skanowania na kanał, ale ryzykujesz brak niektórych punktów dostępowych, co obniży twoją dokładność ... – chopchop

+0

Obecnie trwa skanowanie z 500 ms z aktualizacją, więc wygląda na to, że jest to możliwe. Ale nie mogę znaleźć żadnych ustawień, aby zmienić czas skanowania na kanał. Dowiedziałem się, że istnieje różnica między sterownikami a stosem wifi. Oznacza to wiele nowych możliwości, które mogą zawierać odpowiedź. – flitjes

0

Nie trzeba niczego zmieniać w sterowniku urządzenia, Android udostępnia go do skanowania punktów dostępowych. Zobacz documentation.

Chociaż zainteresowanie, że wiele skanów nie będzie prawdopodobnie bardzo dobre dla żywotności baterii i reagowania aplikacji ...

+0

Wiem, że mogę skanować w poszukiwaniu punktów dostępowych z Androidem, który nie jest problemem ... Nie ma znaczenia, jak będzie działać bateria. Trzeba tylko szybko przeskanować tę aplikację. Problem pozostaje nadal: jak mogę to zrobić. Próbuję teraz skanować jeden kanał zamiast wszystkich 11-14. – flitjes

0

Twoje założenie, że stopa nawigacyjny jest 10 na sekundę jest nieprawidłowy. Jest to rzeczywiście parametr konfiguracyjny AP, chociaż domyślnie 10 na sekundę. Poza tym, punkty AP nie wysyłają sygnałów nawigacyjnych jednocześnie, jeśli tak się stanie, nazywa się to kolizją, a do ponownego przesyłania wykorzystywany jest algorytm cofania. Co więcej, skanowanie nawet 10 razy na sekundę nie pozwala na uchwycenie wszystkich sygnałów nawigacyjnych, jak wskazano w poprzednich odpowiedziach.

0

jeśli u używać 4339 sterownik, nie można ustawić szybkość skanowania w sterowniku lub Android API, który jest zamocowany w 4339 oprogramowania, skanowanie jest o wszystkich kanałów & & czas u wydać na każdym kanale, w zależności od 80211 specyfikacją, która jest częścią mac & & phy. w tym przypadku musisz tylko uzyskać sygnał nawigacyjny, więc powinieneś użyć skanowania pasywnego i użyć stałego kanału & & MaxChannelTime chcesz.

u zadać Broadcom dla speical FW, aby dowiedzieć się problem,

IEEE Std 802.11-2012 strona 978 10.1.4.2 skanowanie pasywne Jeśli parametr ScanType wskazuje pasywnego skanowania, STA będą słuchać do każdego kanału skanowanego przez dłuższy czas niż maksymalny czas określony przez parametr MaxChannelTime.