Android wifi Porting
Android :
2009. 10. 1. 18:11
반응형
출처 : http://www.mail-archive.com/android-porting@googlegroups.com/msg04139.html
[android-porting] Re: wpa_supplicant wifi problems no scan results
Leon
Fri, 24 Apr 2009 07:47:35 -0700
Another way/thought: In include/linux/wireless.h of linux kernel struct iw_quality { __u8 level; /* signal level (dBm) */ }; The value should be negative, but it is stored in the unsigned value. Therefore in iwlib.c of the wireless tool void iw_print_stats(char * buffer, iwqual * qual, iwrange * range, int has_range) { /* Statistics are in dBm (absolute power measurement) */ sprintf(buffer, "Quality:%d/%d Signal level:%d dBm Noise level:%d dBm%s", qual->qual, range->max_qual.qual, qual->level - 0x100, qual->noise - 0x100, (qual->updated & 0x7) ? " (updated)" : ""); } "qual->level - 0x100" restores to its origin negative value. In driver.h of external/wpa_supplicant struct wpa_scan_result { int level; } level can be negative. And it should get the negative value. So, In driver_wext.c int wpa_driver_wext_get_scan_results(void *priv, struct wpa_scan_result *results, size_t max_size) { case IWEVQUAL: results[ap_num].level = iwe->u.qual.level - 0x100; } Is it better to make conversion in wpa_supplicant ? Regards, Leon On Apr 24, 5:16 pm, Michael Trimarchi <trimar...@gandalf.sssup.it> wrote: > Gani Bhagavathula wrote: > > Michael: > > > I have read a reference to the java parser function in some other post > > too, but not sure what it means... Can you give me any more > > information to work with? > > vi ./base/services/java/com/android/server/WifiService.java > > take a look of the code and in particular here > for (int i = lineBeg; i < lineEnd; ++i) { > - char ch = reply.charAt(i); > - /* > - * Assume that the signal level starts > with a '-' > - */ > - if (ch == '-') { > - /* > - * Skip whatever instances of '-' we > may have > - * after we parse the signal level > - */ > - parsingScanResultLevel = > (scanResultLevel == 0); > - } else if (parsingScanResultLevel) { > > As you can see it expect a minus. You can obtain it in the > wpa_supplicant response > or just revert this change and don't look for -. Add a print in this > function to see > if it return the list of the wifi network and > good luck > > > Regards, > > Gani > > > On Apr 24, 9:21 am, Michael Trimarchi <trimar...@gandalf.sssup.it> > > wrote: > > >> Gani Bhagavathula wrote: > > >>> Luca: > > >>> I thought I posted this yesterday, but looks like I sent it as a > >>> Author only reply. I thought I would put this here for everyone's > >>> benefit. > > >>> In the changes we both initially did in the wifi.c, the path to the > >>> module needs to be /lib/modules/ath5k.ko and not /system/lib/modules/ > >>> ath5k.ko. If you change that, the Module gets loaded properly. Not > >>> that the WLAN works, but you dont go into the Airplane Mode. > > >>> The next thing I did was to comment out the line set_prop > >>> ("ctrl.status", WLAN_LOADER); since the logs showed that it was trying > >>> to load the firmware - ATH5K driver does not need any firmware as far > >>> as I know. The error related to this goes away, but I am no closer to > >>> getting the driver to work. > > >>> Gani > > >>> On Apr 21, 9:41 pm, Luca Belluccini <lucabellucc...@gmail.com> wrote: > > >>>> It is not working for me. I did the same changes onwifi.c as you > >>>> pasted here. > >>>> In Android GUI, I can press Enablewifiand I get: > >>>> -module insmodded > >>>> -GUI locked for some seconds > >>>> -reboot > >>>> -Android in airplane mode > >>>> I'm running on a real eeepc701. > >>>> It seems the hot code causing error is: > >>>> wifi_load_driver inwifi.c > > >>>> By the way I think we need wpa_supplicant (or it will be launched by > >>>> Android?). > >>>> The property wlan.driver.status must be set. But I don't know which > >>>> value must be set. > > >>>> On 21 Apr, 19:40, Gani Bhagavathula <gani.bhagavath...@gmail.com> > >>>> wrote: > > >>>>> Luca: > > >>>>> If I dont use WPA (and have no wpa_supplicant) is it OK just to change > >>>>> thewifi.c like this, and compile the module and make sure it is in > >>>>> the init.rc? Will it connect to a WEP protected network at that > >>>>> point? > > >>>>> static const char IFACE_DIR[] = "/data/system/ > >>>>> wpa_supplicant"; > >>>>> static const char DRIVER_MODULE_NAME[] = "ath5k"; > >>>>> static const char DRIVER_MODULE_TAG[] = "ath5k "; > >>>>> static const char DRIVER_MODULE_PATH[] = "/system/lib/modules/ > >>>>> ath5k.ko"; > >>>>> static const char FIRMWARE_LOADER[] = "wlan_loader"; > >>>>> static const char DRIVER_PROP_NAME[] = "wlan.driver.status"; > > >>>>> Regards, > >>>>> Gani > > >>>>> On Apr 21, 3:54 pm, Luca Belluccini <lucabellucc...@gmail.com> wrote: > > >>>>>> I'm with the same module. I set it NOT built-in. > >>>>>> You are planning to makewifiinteract with Android GUI? > >>>>>> I modifiedwifi.c specifying the right path to module to be insmodded. > >>>>>> By the way I'm having the same SIOCSIWAUTH error, starting manually > >>>>>> the wpa_supplicant. > >>>>>> I think it's the main problem. > > >>>>>> On 21 Apr, 12:59, Androidphan <niels.kee...@tass.nl> wrote: > > >>>>>>> I have an Atheros 5007EG wireless network card at my hardware > >>>>>>> platform. I compiled the kernel(2.6.27) with ath5k built in. > > >>>>>>> Then I compiled wpa_supplicant with CONFIG_WIRELESS_EXTENSIONS=y > >>>>>>> CONFIG_DRIVER_WEXT=y and CONFIG_CTRL_IFACE=y. > > >>>>>>> Then in my init.rc : > >>>>>>> mkdir /data/misc/wifi0770wifiwifi > >>>>>>> mkdir /data/misc/wifi/sockets 0770wifiwifi > >>>>>>> mkdir /data/system/wpa_supplicant 0770wifiwifi > >>>>>>> mkdir /data/misc/dhcp 0770 dhcp dhcp > >>>>>>> chown dhcp dhcp /data/misc/dhcp > > >>>>>>> ifup wlan0 > > >>>>>>> service wpa_supplicant /system/bin/logwrapper /system/bin/ > >>>>>>> wpa_supplicant -Dwext -iwlan0 -c/system/etc/wifi/wpa_supplicant.conf - > >>>>>>> dd > >>>>>>> groupwifi > > >>>>>>> My wpa_supplicant.conf at /system/etc/wifi/wpa_supplicant.conf : > > >>>>>>> update_config=1 > >>>>>>> ctrl_interface=DIR=/data/system/wpa_supplicant GROUP=system > > >>>>>>> Then when I try to scan with: wpa_cli -p/data/system/wpa_supplicant - > >>>>>>> iwlan0 and then scan & scan_results, I'm getting no scan results, when > >>>>>>> I know there are definitly scan results. Because when I scanned with > >>>>>>> Windows, I do get to see scan results. > > >>>>>>> What is wrong with my configuration? > > >>>>>>> My logcat output from wpa_supplicant: > > >>>>>>> I//system/bin/wpa_supplicant( 2127): Initializing interface 'wlan0' > >>>>>>> conf '/system/etc/wifi/wpa_supplicant.conf' driver 'wext' > >>>>>>> ctrl_interface 'N/A' bridge 'N/A' > >>>>>>> I//system/bin/wpa_supplicant( 2127): Configuration file '/system/etc/ > >>>>>>> wifi/wpa_supplicant.conf' -> '/system/etc/wifi/wpa_supplicant.conf' > >>>>>>> I//system/bin/wpa_supplicant( 2127): Reading configuration file '/ > >>>>>>> system/etc/wifi/wpa_supplicant.conf' > >>>>>>> I//system/bin/wpa_supplicant( 2127): update_config=1 > >>>>>>> I//system/bin/wpa_supplicant( 2127): ctrl_interface='DIR=/data/system/ > >>>>>>> wpa_supplicant' > >>>>>>> I//system/bin/wpa_supplicant( 2127): Initializing interface (2) > >>>>>>> 'wlan0' > >>>>>>> I//system/bin/wpa_supplicant( 2127): EAPOL: SUPP_PAE entering state > >>>>>>> DISCONNECTED > >>>>>>> I//system/bin/wpa_supplicant( 2127): EAPOL: KEY_RX entering state > >>>>>>> NO_KEY_RECEIVE > >>>>>>> I//system/bin/wpa_supplicant( 2127): EAPOL: SUPP_BE entering state > >>>>>>> INITIALIZE > >>>>>>> I//system/bin/wpa_supplicant( 2127): EAP: EAP entering state DISABLED > >>>>>>> I//system/bin/wpa_supplicant( 2127): EAPOL: External notification - > >>>>>>> portEnabled=0 > >>>>>>> I//system/bin/wpa_supplicant( 2127): EAPOL: External notification - > >>>>>>> portValid=0 > >>>>>>> I//system/bin/wpa_supplicant( 2127): SIOCGIWRANGE: WE(compiled)=22 WE > >>>>>>> (source)=21 enc_capa=0xf > >>>>>>> I//system/bin/wpa_supplicant( 2127): capabilities: key_mgmt 0xf enc > >>>>>>> 0xf > >>>>>>> I//system/bin/wpa_supplicant( 2127): WEXT: Operstate: linkmode=1, > >>>>>>> operstate=5 > >>>>>>> I//system/bin/wpa_supplicant( 2127): Own MAC address: > >>>>>>> 00:22:43:2c:fa:a6 > >>>>>>> I//system/bin/wpa_supplicant( 2127): wpa_driver_wext_set_wpa > >>>>>>> I//system/bin/wpa_supplicant( 2127): wpa_driver_wext_set_key: alg=0 > >>>>>>> key_idx=0 set_tx=0 seq_len=0 key_len=0 > >>>>>>> I//system/bin/wpa_supplicant( 2127): wpa_driver_wext_set_key: alg=0 > >>>>>>> key_idx=1 set_tx=0 seq_len=0 key_len=0 > >>>>>>> I//system/bin/wpa_supplicant( 2127): wpa_driver_wext_set_key: alg=0 > >>>>>>> key_idx=2 set_tx=0 seq_len=0 key_len=0 > >>>>>>> I//system/bin/wpa_supplicant( 2127): wpa_driver_wext_set_key: alg=0 > >>>>>>> key_idx=3 set_tx=0 seq_len=0 key_len=0 > >>>>>>> I//system/bin/wpa_supplicant( 2127): > >>>>>>> wpa_driver_wext_set_countermeasures > >>>>>>> I//system/bin/wpa_supplicant( 2127): ioctl[SIOCSIWAUTH]: Operation not > >>>>>>> supported on transport endpoint > >>>>>>> I//system/bin/wpa_supplicant( 2127): WEXT auth param 4 value 0x0 - > >>>>>>> wpa_driver_wext_set_drop_unencrypted > >>>>>>> I//system/bin/wpa_supplicant( 2127): Setting scan request: 0 sec > >>>>>>> 100000 usec > >>>>>>> I//system/bin/wpa_supplicant( 2127): Using existing control interface > >>>>>>> directory. > >>>>>>> I//system/bin/wpa_supplicant( 2127): ctrl_iface bind(PF_UNIX) failed: > >>>>>>> Address already in use > >>>>>>> I//system/bin/wpa_supplicant( 2127): ctrl_iface exists, but does not > >>>>>>> allow connections - assuming it was leftover from forced program > >>>>>>> termination > >>>>>>> I//system/bin/wpa_supplicant( 2127): Successfully replaced leftover > >>>>>>> ctrl_iface socket '/data/system/wpa_supplicant/wlan0' > >>>>>>> I//system/bin/wpa_supplicant( 2127): Added interface wlan0 > >>>>>>> I//system/bin/wpa_supplicant( 2127): RTM_NEWLINK: operstate=0 > >>>>>>> ifi_flags=0x1003 ([UP]) > >>>>>>> I//system/bin/wpa_supplicant( 2127): RTM_NEWLINK, IFLA_IFNAME: > >>>>>>> Interface 'wlan0' added > >>>>>>> I//system/bin/wpa_supplicant( 2127): Wireless event: cmd=0x8b06 len=8 > >>>>>>> I//system/bin/wpa_supplicant( 2127): State: DISCONNECTED -> SCANNING > >>>>>>> I//system/bin/wpa_supplicant( 2127): CTRL-EVENT-STATE-CHANGE id=-1 > >>>>>>> state=2 > >>>>>>> I//system/bin/wpa_supplicant( 2127): Starting AP scan (broadcast SSID) > >>>>>>> I//system/bin/wpa_supplicant( 2127): Trying to get current scan > >>>>>>> results first without requesting a new scan to speed up initial > >>>>>>> association > >>>>>>> I//system/bin/wpa_supplicant( 2127): Received 0 bytes of scan results > >>>>>>> (0 BSSes) > > ... > > read more » --~--~---------~--~----~------------~-------~--~----~ unsubscribe: android-porting+unsubscr...@googlegroups.com website: http://groups.google.com/group/android-porting -~----------~----~----~----~------~----~------~--~---
-
-
-
- [android-porting] Re: wpa_supplicant wifi problems no scan results Luca Belluccini
- [android-porting] Re: wpa_supplicant wifi problems no scan results Gani Bhagavathula
- [android-porting] Re: wpa_supplicant wifi problems no scan results Gani Bhagavathula
- [android-porting] Re: wpa_supplicant wifi problems no scan results Luca Belluccini
- [android-porting] Re: wpa_supplicant wifi problems no scan results Gani Bhagavathula
- [android-porting] Re: wpa_supplicant wifi problems no scan results Luca Belluccini
- [android-porting] Re: wpa_supplicant wifi problems no scan results Gani Bhagavathula
- [android-porting] Re: wpa_supplicant wifi problems no scan results Gani Bhagavathula
- [android-porting] Re: wpa_supplicant wifi problems no scan results Michael Trimarchi
- [android-porting] Re: wpa_supplicant wifi problems no scan results Gani Bhagavathula
- [android-porting] Re: wpa_supplicant wifi problems no scan results Michael Trimarchi
- [android-porting] Re: wpa_supplicant wifi problems no scan results Michael Trimarchi
-
[android-porting] Re: wpa_supplicant wifi problems no scan results Leon
- [android-porting] Re: wpa_supplicant wifi problems no scan results Gani Bhagavathula
- [android-porting] Re: wpa_supplicant wifi problems no scan results Michael Trimarchi
- [android-porting] Re: wpa_supplicant wifi problems no scan results Gani Bhagavathula
- [android-porting] Re: wpa_supplicant wifi problems no scan results Luca Belluccini
-
-
반응형
'Android' 카테고리의 다른 글
OpenCore에서 log 찍기 (0) | 2009.10.06 |
---|---|
Android rotates LCD (안드로이드 화면 돌리기) (0) | 2009.09.26 |
Android용 busybox (0) | 2009.09.26 |