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 <[email protected]>
> 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 <[email protected]> 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 <[email protected]>
>>>> 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 <[email protected]> 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 <[email protected]> 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)
>>>>>>> I//system/bin/wpa_supplicant( 2127): Scan results: 0
>>>>>>> I//system/bin/wpa_supplicant( 2127): CTRL-EVENT-SCAN-RESULTS Ready
>>>>>>>
>> Hi, the problem here is the java parsing function wait a minus after if
>> I remember
>> the signal streght, and It can't parse. When you receive the scan result
>> event, the
>> comunicattion with wpa supplicant is up. Android lunch the wpa_supplicant
>>
>> Michael>>>>> I//system/bin/wpa_supplicant( 2127): No suitable AP found.
>>
>>>>>>> I//system/bin/wpa_supplicant( 2127): Setting scan request: 0 sec 0
>>>>>>> usec
>>>>>>> I//system/bin/wpa_supplicant( 2127): No enabled networks - do not scan
>>>>>>> I//system/bin/wpa_supplicant( 2127): State: SCANNING -> INACTIVE
>>>>>>> I//system/bin/wpa_supplicant( 2127): CTRL-EVENT-STATE-CHANGE id=-1
>>>>>>> state=1
>>>>>>> .....
>>>>>>> .....
>>>>>>> I//system/bin/wpa_supplicant( 2127): RX ctrl_iface - hexdump_ascii
>>>>>>> (len=6):
>>>>>>> I//system/bin/wpa_supplicant( 2127): 53 54 41 54 55
>>>>>>> 53 STATUS
>>>>>>> I//system/bin/wpa_supplicant( 2127): RX ctrl_iface - hexdump_ascii
>>>>>>> (len=11):
>>>>>>> I//system/bin/wpa_supplicant( 2127): 44 52 49 56 45 52 20 52 53
>>>>>>> 53 49 DRIVER RSSI
>>>>>>> I//system/bin/wpa_supplicant( 2127): RX ctrl_iface - hexdump_ascii
>>>>>>> (len=16):
>>>>>>> I//system/bin/wpa_supplicant( 2127): 44 52 49 56 45 52 20 4c 49
>>>>>>> 4e 4b 53 50 45 45 44 DRIVER LINKSPEED
>>>>>>> I//system/bin/wpa_supplicant( 2127): RX ctrl_iface - hexdump_ascii
>>>>>>> (len=14):
>>>>>>> I//system/bin/wpa_supplicant( 2127): 44 52 49 56 45 52 20 4d 41
>>>>>>> 43 41 44 44 52 DRIVER MACADDR
>>>>>>> V/WifiStateTracker( 2137): Connection to supplicant established,
>>>>>>> state=INACTIVE
>>>>>>> I//system/bin/wpa_supplicant( 2127): RX ctrl_iface - hexdump_ascii
>>>>>>> (len=21):
>>>>>>> I//system/bin/wpa_supplicant( 2127): 44 52 49 56 45 52 20 52 58
>>>>>>> 46 49 4c 54 45 52 2d DRIVER RXFILTER-
>>>>>>> I//system/bin/wpa_supplicant( 2127): 41 44 44 20
>>>>>>> 30 ADD 0
>>>>>>> I//system/bin/wpa_supplicant( 2127): RX ctrl_iface - hexdump_ascii
>>>>>>> (len=22):
>>>>>>> I//system/bin/wpa_supplicant( 2127): 44 52 49 56 45 52 20 42 54
>>>>>>> 43 4f 45 58 53 43 41 DRIVER BTCOEXSCA
>>>>>>> I//system/bin/wpa_supplicant( 2127): 4e 2d 53 54 4f
>>>>>>> 50 N-STOP
>>>>>>> ....
>>>>>>> ....
>>>>>>> I//system/bin/wpa_supplicant( 2127): 42 4c 41 43 4b 4c 49 53 54
>>>>>>> 20 63 6c 65 61 72 BLACKLIST clear
>>>>>>> I//system/bin/wpa_supplicant( 2127): CTRL_IFACE: bssid=' clear'
>>>>>>> I//system/bin/wpa_supplicant( 2127): Setting scan request: 0 sec 0
>>>>>>> usec
>>>>>>> I//system/bin/wpa_supplicant( 2127): No enabled networks - do not scan
>>>>>>> I//system/bin/wpa_supplicant( 2127): State: INACTIVE -> INACTIVE
>>>>>>> I//system/bin/wpa_supplicant( 2127): CTRL-EVENT-STATE-CHANGE id=-1
>>>>>>> state=1
>>>>>>> I//system/bin/wpa_supplicant( 2127): CTRL_IFACE monitor send - hexdump
>>>>>>> (len=40): 2f 64 61 74 61 2f 6d 69 73 63 2f 77 69 66 69 2f 73 6f 63 6b
>>>>>>> 65 74 73 2f 77 70 61 5f 63 74 72 6c 5f 32 31 33 37 2d 31 00
>>>>>>>
> >
>
>
--~--~---------~--~----~------------~-------~--~----~
unsubscribe: [email protected]
website: http://groups.google.com/group/android-porting
-~----------~----~----~----~------~----~------~--~---