Jump to content

Android 2.2 Development


Guest eckengucker1

Recommended Posts

Guest DanWilson
that's stretching the definition of stable a bit! :D

Well, I thought stable would've been it boots, it doesn't crash, but nothing about everything working... :)

Link to comment
Share on other sites

Guest gusthy
Well, I thought stable would've been it boots, it doesn't crash, but nothing about everything working... :)

There was a certificate of Microsoft Windows NT 4.0 that it is secure at military level if not connected to a network :D

I hope, you see the analogue :D

Link to comment
Share on other sites

Guest DanWilson
There was a certificate of Microsoft Windows NT 4.0 that it is secure at military level if not connected to a network :)

I hope, you see the analogue :D

ROFLCOPTER!!!

Wait, so I could say that I made a stable gingerbread, but it's only stable if you don't switch it on. :D

Edited by DanWilson
Link to comment
Share on other sites

Guest Epic-Emodude
ROFLCOPTER!!!

Wait, so I could say that I made a stable gingerbread, but it's only stable if you don't switch it on. :)

by stable I meant it doesn't crash or force close(not that there's anything to force close) and its probably better than t-mobile could do =)

Link to comment
Share on other sites

Guest Tom G
Tom G: It's been a good while since I was looking at it, but when I was going through the Donut code there was definitely a place in some of the Android wifi gubbins where you told it which network adapter/module it was supposed to be using. Without that, the module would load and ifconfig etc would work, but no Android.

There is some settings for it and you can see the results of those settings in the build.prop. The init.rc also needed to be modified to start wpa_supplicant on the right interface.

The problem I think is

mkdir[ctrl_interface]: Read-only file system
A bit more looking around shows
mkdir("eth0", 0770)					 = -1 EROFS (Read-only file system)

write(2, "mkdir[ctrl_interface]", 21mkdir[ctrl_interface])   = 21

write(2, ": ", 2: )					   = 2

write(2, "Read-only file system", 21Read-only file system)   = 21

write(2, "\n", 1

)					   = 1

open("/dev/log/main", O_WRONLY|O_LARGEFILE) = 6

open("/dev/log/radio", O_WRONLY|O_LARGEFILE) = 7

open("/dev/log/events", O_WRONLY|O_LARGEFILE) = 10

open("/dev/log/system", O_WRONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)

writev(6, [{"\6", 1}, {"wpa_supplicant\", 15}, {"Failed to initialize control interface 'eth0'.\nYou may have another wpa_supplicant process already running or the file was\nleft by an unclean termination of wpa_supplicant in which case you will need\nto manually remove this file before starting wpa_supplicant again.\n\", 268}], 3) = 284

writev(6, [{"\4", 1}, {"wpa_supplicant\", 15}, {"CTRL-EVENT-STATE-CHANGE id=-1 state=0\", 38}], 3) = 54

Looks like permissions, but I don't know where its trying to create ctrl_interface.

Link to comment
Share on other sites

Guest gusthy
ROFLCOPTER!!!

Wait, so I could say that I made a stable gingerbread, but it's only stable if you don't switch it on. :D

Definitely. that's what I suggested :)

Link to comment
Share on other sites

Guest Daz555
ROFLCOPTER!!!

Wait, so I could say that I made a stable gingerbread, but it's only stable if you don't switch it on. :)

To be fair Foryo does feel a bit more stable when not switched on. I suspect this is due to the amount of free RAM available when power_on_status=0. I need to do a bit more testing to confirm this however.

Link to comment
Share on other sites

Guest david_dawkins
To be fair Foryo does feel a bit more stable when not switched on. I suspect this is due to the amount of free RAM available when power_on_status=0. I need to do a bit more testing to confirm this however.

Battery life is incredible too.

Link to comment
Share on other sites

Guest hungary
There is some settings for it and you can see the results of those settings in the build.prop. The init.rc also needed to be modified to start wpa_supplicant on the right interface.

The problem I think is

mkdir[ctrl_interface]: Read-only file system
A bit more looking around shows
mkdir("eth0", 0770)					 = -1 EROFS (Read-only file system)

write(2, "mkdir[ctrl_interface]", 21mkdir[ctrl_interface])   = 21

write(2, ": ", 2: )					   = 2

write(2, "Read-only file system", 21Read-only file system)   = 21

write(2, "\n", 1

)					   = 1

open("/dev/log/main", O_WRONLY|O_LARGEFILE) = 6

open("/dev/log/radio", O_WRONLY|O_LARGEFILE) = 7

open("/dev/log/events", O_WRONLY|O_LARGEFILE) = 10

open("/dev/log/system", O_WRONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)

writev(6, [{"\6", 1}, {"wpa_supplicant\", 15}, {"Failed to initialize control interface 'eth0'.\nYou may have another wpa_supplicant process already running or the file was\nleft by an unclean termination of wpa_supplicant in which case you will need\nto manually remove this file before starting wpa_supplicant again.\n\", 268}], 3) = 284

writev(6, [{"\4", 1}, {"wpa_supplicant\", 15}, {"CTRL-EVENT-STATE-CHANGE id=-1 state=0\", 38}], 3) = 54

Looks like permissions, but I don't know where its trying to create ctrl_interface.

http://www.mail-archive.com/android-portin...m/msg11514.html

http://www.mail-archive.com/android-portin...m/msg04139.html

http://osdir.com/ml/android-porting/2009-04/msg00325.html

Edited by hungary
Link to comment
Share on other sites

Guest de_shepherd
Battery life is incredible too.

... is wifi working? I found the 2.1 battery life "incredible" (compared to 1.5) till I discovered that on default setting it was disabling wifi when the screen blanked.

Link to comment
Share on other sites

Guest gusthy
... is wifi working? I found the 2.1 battery life "incredible" (compared to 1.5) till I discovered that on default setting it was disabling wifi when the screen blanked.

He mentioned the battery life when phone with froyo is turned off :)

Link to comment
Share on other sites

Guest david_dawkins
He mentioned the battery life when phone with froyo is turned off :)

Guilty - I was being a t*t :D

Edited by david_dawkins
Link to comment
Share on other sites

Guest Tom G

Thank you.

I was missing the ctrl_interface definition in wpa_supplicant.conf. I don't know how I missed that.

Now on to the next error.

mkdir("/data/misc/wpa_supplicant", 0770) = -1 EEXIST (File exists)

chown32("/data/misc/wpa_supplicant", -1, 1000) = -1 EPERM (Operation not permitted)

write(2, "chown[ctrl_interface]", 21chown[ctrl_interface])   = 21

write(2, ": ", 2: )					   = 2

write(2, "Operation not permitted", 23Operation not permitted) = 23

write(2, "\n", 1

)					   = 1

open("/dev/log/main", O_WRONLY|O_LARGEFILE) = 6

open("/dev/log/radio", O_WRONLY|O_LARGEFILE) = 7

open("/dev/log/events", O_WRONLY|O_LARGEFILE) = 10

open("/dev/log/system", O_WRONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)

writev(6, [{"\6", 1}, {"wpa_supplicant\", 15}, {"Failed to initialize control interface 'DIR=/data/misc/wpa_supplicant GROUP=system'.\nYou may have another wpa_supplicant process already running or the file was\nleft by an unclean termination of wpa_supplicant in which case you will need\nto manually remove this file before starting wpa_supplicant again.\n\", 306}], 3) = 322

Link to comment
Share on other sites

Guest david_dawkins
Thank you.

I was missing the ctrl_interface definition in wpa_supplicant.conf. I don't know how I missed that.

Now on to the next error.

mkdir("/data/misc/wpa_supplicant", 0770) = -1 EEXIST (File exists)

chown32("/data/misc/wpa_supplicant", -1, 1000) = -1 EPERM (Operation not permitted)

write(2, "chown[ctrl_interface]", 21chown[ctrl_interface])   = 21

write(2, ": ", 2: )					   = 2

write(2, "Operation not permitted", 23Operation not permitted) = 23

write(2, "\n", 1

)					   = 1

open("/dev/log/main", O_WRONLY|O_LARGEFILE) = 6

open("/dev/log/radio", O_WRONLY|O_LARGEFILE) = 7

open("/dev/log/events", O_WRONLY|O_LARGEFILE) = 10

open("/dev/log/system", O_WRONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)

writev(6, [{"\6", 1}, {"wpa_supplicant\", 15}, {"Failed to initialize control interface 'DIR=/data/misc/wpa_supplicant GROUP=system'.\nYou may have another wpa_supplicant process already running or the file was\nleft by an unclean termination of wpa_supplicant in which case you will need\nto manually remove this file before starting wpa_supplicant again.\n\", 306}], 3) = 322
This looks promising: http://osdir.com/ml/android-porting/2010-01/msg00367.html "chown" gives "operation not permitted" if the process doesn't have the SU bit set, and I think this chap's solution is to run the script in such a way that it does: (from the linked thread)
I went through the source code and modified wpa_supplicant configuration file and then I enabled it as service in init.rc file and its working.(verified on viewing the log of router).
service wpa_supplicant /system/bin/wpa_supplicant \

		   -D wext -i eth1 -c /system/etc/wpasup.conf

		   group wifi

Edited by david_dawkins
Link to comment
Share on other sites

Guest Tom G
This looks promising:

http://osdir.com/ml/android-porting/2010-01/msg00367.html

"chown" gives "operation not permitted" if the process doesn't have the SU bit set, and I think this chap's solution is to run the script in such a way that it does: (from the linked thread)

The chown error is because it is trying to chgrp to system but isn't a member of system. Changing the group on the ctrl_interface definition to wifi fixes the chown and wpa_supplicant appears to work.

So, next problem...

D/NetdConnector( 1113): RCV <- {600 Iface added eth0}

D/Tethering( 1113): eth0 is not a tetherable iface, ignoring

E/QC-DSS-LIB( 1049): unrecognized ifindex 8

E/QC-DSS-LIB( 1049): unrecognized ifindex 8

E/QC-DSS-LIB( 1049): unrecognized ifindex 8

E/QC-DSS-LIB( 1049): unrecognized ifindex 8

D/WifiService( 1113): ACTION_BATTERY_CHANGED pluggedType: 2

E/WifiHW  ( 1113): Unable to open connection to supplicant on "eth0": No such file or directory

D/WifiStateTracker( 1113): Reset connections and stopping DHCP

E/QC-DSS-LIB( 1049): unrecognized ifindex 8

D/WifiStateTracker( 1113): Disabling interface

E/QC-DSS-LIB( 1049): unrecognized ifindex 8

E/WifiHW  ( 1113): Unable to open connection to supplicant on "eth0": No such file or directory

E/WifiHW  ( 1113): Unable to open connection to supplicant on "eth0": No such file or directory

E/WifiHW  ( 1113): Unable to open connection to supplicant on "eth0": No such file or directory

V/WifiStateTracker( 1113): Supplicant died unexpectedly

D/WifiStateTracker( 1113): Reset connections and stopping DHCP

D/WifiStateTracker( 1113): Disabling interface

D/NetworkStateTracker( 1113): setDetailed state, old =DISCONNECTED and new state=DISCONNECTED

D/WifiStateTracker( 1113): Reset connections and stopping DHCP

D/WifiStateTracker( 1113): Disabling interface

E/QC-DSS-LIB( 1049): unrecognized ifindex 8

D/NetdConnector( 1113): RCV <- {600 Iface removed eth0}

E/Tethering( 1113): attempting to remove unknown iface (eth0), ignoring

I think maybe the pid that runs WifiHW needs to be a member of wifi. We must be getting close.

I'll find the source for WifiHW and have a read.

Link to comment
Share on other sites

Guest david_dawkins
The chown error is because it is trying to chgrp to system but isn't a member of system. Changing the group on the ctrl_interface definition to wifi fixes the chown and wpa_supplicant appears to work.

So, next problem...

D/NetdConnector( 1113): RCV <- {600 Iface added eth0}

D/Tethering( 1113): eth0 is not a tetherable iface, ignoring

E/QC-DSS-LIB( 1049): unrecognized ifindex 8

E/QC-DSS-LIB( 1049): unrecognized ifindex 8

E/QC-DSS-LIB( 1049): unrecognized ifindex 8

E/QC-DSS-LIB( 1049): unrecognized ifindex 8

D/WifiService( 1113): ACTION_BATTERY_CHANGED pluggedType: 2

E/WifiHW  ( 1113): Unable to open connection to supplicant on "eth0": No such file or directory

...

I think maybe the pid that runs WifiHW needs to be a member of wifi. We must be getting close.

I'll find the source for WifiHW and have a read.

Here's another thread that describes a similar problem:

http://osdir.com/ml/android-porting/2009-02/msg00139.html

Is /dev/eth0 missing perhaps? Or has wrong permissions? (A variant on your suggestion of the pid's group needing to be wifi).

Link to comment
Share on other sites

Guest Tom G
Here's another thread that describes a similar problem:

http://osdir.com/ml/android-porting/2009-02/msg00139.html

Is /dev/eth0 missing perhaps? Or has wrong permissions? (A variant on your suggestion of the pid's group needing to be wifi).

It is normal for there to be no /dev/eth0.

hardware/libhardware_legacy/wifi/wifi.c defines a static location where Android will look for the socket.

static const char IFACE_DIR[]		   = "/data/system/wpa_supplicant";
The AOSP 2.1 code has the same path, but the Huawei 2.1 wpa_supplicant.conf uses a different path (so I guess Huawei modified wifi.c for their builds). Because I was using a wpa_supplicant.conf based on the Huawei 2.1 roms I was putting the socket in the wrong directory. Next problem.
E/WifiHW  ( 1114): Unable to open connection to supplicant on "/data/system/wpa_supplicant/eth0": No such file or directory
/data/system/wpa_supplicant/eth0 does exist (but its a socket, not really a file or directory) so I'm a bit confused by this one.
# ls -l /data/system/wpa_supplicant/eth0

srwxrwx--- wifi	 wifi			  2010-08-06 10:09 eth0

Link to comment
Share on other sites

maybe this will help you....

Maybe this can work for me, you have to tell me ~ ^ ^

Look at the hardware / libhardware / wifi / wifi.c file

There is a static path for the sockets file, that is used by android.

static const char IFACE_DIR [] = "/ data / system / wpa_supplicant";

If the directory exists it uses it

int wifi_connect_to_supplicant ()

(

char ifname [256];

static int cleaned_up = 0;

property_get ("wifi.interface", iface, "sta");

if (access (IFACE_DIR, F_OK) == 0) (

snprintf (ifname, sizeof (ifname), "% s /% s", IFACE_DIR, iface); <----- this one

) Else (

strlcpy (ifname, iface, sizeof (ifname));

)

ook at the hardware / libhardware / wifi / wifi.c file

There is a static path for the sockets file, that is used by android.

static const char IFACE_DIR [] = "/ data / system / wpa_supplicant";

If the directory exists it uses it

int wifi_connect_to_supplicant ()

(

char ifname [256];

static int cleaned_up = 0;

property_get ("wifi.interface", iface, "sta");

if (access (IFACE_DIR, F_OK) == 0) (

snprintf (ifname, sizeof (ifname), "% s /% s", IFACE_DIR, iface); <----- this one

) Else (

strlcpy (ifname, iface, sizeof (ifname));

)

ifname is eth0.

The wpa_supplicant conf is modified according to the / data / system / wpa_supplicant directory

like this:

ctrl_interface = DIR = / data / system / wpa_supplicant GROUP = 1010

I'm not sure but I force the UNIX socket in target config file.

vendor / neo / freerunner / BoardConfig.mk

CONFIG_CTRL_IFACE: = y

Now I can se the wireless in the interface but when I choose one of them, android open a dialog box

and leave the keyboard in background.

ifname is eth0.

Change:

The wpa_supplicant conf is modified according to the / data / system / wpa_supplicant directory

like this:

ctrl_interface = DIR = / data / system / wpa_supplicant GROUP = 1010

I'm not sure but I force the UNIX socket in target config file.

vendor / neo / freerunner / BoardConfig.mk

CONFIG_CTRL_IFACE: = y

Now I can se the wireless in the interface but when I choose one of them, android open a dialog box

and leave the keyboard in background.

http://www.aesop.or.kr/?mid=Board_QA_Andro...order_type=desc

use google translate for some of the comments :)

Link to comment
Share on other sites

Guest Epic-Emodude

I just got powned by T-mobile.

After the release of the 2.1 just I know I tweeted them saying what about 2.2?

They replied with "Hi Aaron, thought you already had 2.2 :) as ever, we'll tweet any updates we get."

=(

Link to comment
Share on other sites

Guest DanWilson
I just got powned by T-mobile.

After the release of the 2.1 just I know I tweeted them saying what about 2.2?

They replied with "Hi Aaron, thought you already had 2.2 :) as ever, we'll tweet any updates we get."

=(

OWNED!!!!

Link to comment
Share on other sites

Guest david_dawkins
I just got powned by T-mobile.

After the release of the 2.1 just I know I tweeted them saying what about 2.2?

They replied with "Hi Aaron, thought you already had 2.2 :) as ever, we'll tweet any updates we get."

=(

Well, at least it wasn't "fat chance, pulse-loser-boy!"

...and what's this about you hoarding 2.2 to yourself?

Link to comment
Share on other sites

Guest Epic-Emodude
Well, at least it wasn't "fat chance, pulse-loser-boy!"

...and what's this about you hoarding 2.2 to yourself?

It was the thing that TOM G released that you had to flash in fastboot.

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.