Jump to content

[ROM][beta]CyanogenMod 9


Guest Lens_flare

Recommended Posts

Guest Lens_flare

TexaS Instruments? Are you kidding?

Well... stock kernel without CA patches won't obviously work, as it's written for other than ours MSM7x30 chipset.

why it still works for most tasks? :D

Their github for U8800 is here https://github.com/dzo,

alright, I'm investigating it since a while (camera hal also from there :D)

I'll be able to help in development.

alright let the party begin :D

Link to comment
Share on other sites

Guest Lens_flare

I'm introducing new way to "recharge" phone(return ability to call) so you don't need to reboot:

-terminal emulator -> acquire root by typing

su
-type "ps", scroll list you got and remember its pid; for example you got something like that:
radio	 108   1	 21468  4728  ffffffff 40010d14 S /system/bin/rild[/code]


2nd number - 108 will be a pid, remember it.

-just type

[code]kill [pid you remembered][/code]
for example:
[code]kill 108[/code]
it will restart ril, so just a minute, and you are ready to go. Also my ril investigations went me to main reason of data connection hungs - qmuxd binary and maybe its link to kernel. As I investigated earlier- framework attempts to read setup_data_call request, so now I found that request is formed in qmux_connect_socket at data/radio by both qmuxd and netmgrd. But system just don't have qmux_client_socket, seems like a user-part socket for others. And that chain unlinks somewhere over these binaries which are proprietary. to trace ril binaries I used
[code]strace -f [binary name][/code]
command. last outputs gave me those errors:
[code][pid 970] unlink("/data/radio/qmux_client_socket 970") = -1 ENOENT (No such file or directory)[/code]
[CODE][pid 810] connect(3, {sa_family=AF_UNIX, path="/data/radio/qmux_connect_socket"}, 33) = -1 ECONNREFUSED (Connection refused)[/code]

it's in netmgrd, in qmuxd and rild errors are the same.

Link to comment
Share on other sites

Guest remisch

Also my ril investigations went me to main reason of data connection hungs - qmuxd binary and maybe its link to kernel. As I investigated earlier- framework attempts to read setup_data_call request, so now I found that request is formed in qmux_connect_socket at data/radio by both qmuxd and netmgrd. But system just don't have qmux_client_socket, seems like a user-part socket for others. And that chain unlinks somewhere over these binaries which are proprietary.

to trace ril binaries I used

strace -f [binary name]
command. last outputs gave me those errors:
[pid   970] unlink("/data/radio/qmux_client_socket	970") = -1 ENOENT (No such file or directory)[/code]


[CODE][pid 810] connect(3, {sa_family=AF_UNIX, path="/data/radio/qmux_connect_socket"}, 33) = -1 ECONNREFUSED (Connection refused)[/code]

it's in netmgrd, in qmuxd and rild errors are the same.

Well, me seems its about permissions in init scripts starting qmuxd:

chmod /dev/oncrpc and /dev/oncrpc/* to be writeable by qmuxd and rild (777 should work fine, but I don't know if it's the best way),

as well as created /data/radio/ and made it writeable by qmuxd and rild (777) - no socket, connection refused.

HTH.

Link to comment
Share on other sites

Guest Lens_flare
Well, me seems its about permissions in init scripts starting qmuxd:

chmod /dev/oncrpc and /dev/oncrpc/* to be writeable by qmuxd and rild (777 should work fine, but I don't know if it's the best way),

as well as created /data/radio/ and made it writeable by qmuxd and rild (777) - no socket, connection refused.

tommorow I will commit ramdisk changes that I got at the moment, so you could see and test them. All permissions were worked on gingerbread.

My "ps" out shows qmuxd, netmgrd and rild with right owner. Data/radio is on right permissions, maybe there should be also chown radio radio on that folder..

Link to comment
Share on other sites

Guest Lens_flare
[pid   970] unlink("/data/radio/qmux_client_socket	  970") = -1 ENOENT (No such file or directory)
sounds strange, but when deeply investigated strace outputs at gingerbread, found that error is COMMON! what the damn ril.. so for now it seems all is common, but error
[pid   810] connect(3, {sa_family=AF_UNIX, path="/data/radio/qmux_connect_socket"}, 33) = -1 ECONNREFUSED (Connection refused)[/code]


still persists at ics and don't even appears at gb.. oh how I wish to bash that qualcomm-acer mess..



so now mobile data and camera are working?
No, we even haven't started yet :P ADD: gingerbread:
[code]srwxrwxrwx 1 root root 4096 Jun 27 16:37 qmux_connect_socket[/code]
ics:
[CODE]srwxrwxrwx root root 2012-06-27 05:28 qmux_connect_socket[/code]

as I read, 1 is a link count.. ics one don't have any links.. and ics one is null byte(so placeholder)..

and seems qmux_client_socket is a free data connection representation, constructed by framework, so it's really means nothing binaries don't have access to it initially.

Edited by Lens_flare
Link to comment
Share on other sites

Guest vache

Just flashed the ROM to try out.

From what i see, there's no "/dev/diag" entry, RILD needs it.


[pid  1617] open("/dev/diag", O_RDWR)   = -1 ENOENT (No such file or directory)

[pid  1617] write(1, " Diag_LSM: Diag_LSM_Init: Failed"..., 74 Diag_LSM: Diag_LSM_Init: Failed to open handle to diag driver, error = 2

Can someone check if it exists in GingerBread ?

Link to comment
Share on other sites

Guest Lens_flare
From what i see, there's no "/dev/diag" entry, RILD needs it.

Vache, I have made it working by activating drivers/diag/char driver at kernel(was "m", I switched to "y"), I do had these lines too, but it's not a reason.

From what I could understand, the problem is somewhere on kernel<->qmuxd bridge.

As we could see, qmux_connect_socket is just a stub, and it should be mapped to 4k space as it used to be at gingerbread.

Edited by Lens_flare
Link to comment
Share on other sites

Guest vache

Did you check that the entry was created ?

Cause each time i'm trying to build the kernel, the .config is rewrited without the DIAG_CHAR option.

Link to comment
Share on other sites

Guest Lens_flare
Did you check that the entry was created ?

yeah, now I have:

open("/dev/diag", O_RDWR)   =3[/CODE]

and subsequent entry at dev - dev/diag with right permissions.

[color=#4E565E][font=Verdana, Tahoma, Arial,]Cause each time i'm trying to build the kernel, the .config is rewrited without the DIAG_CHAR option.[/font][/color][color=#4E565E][font=Verdana, Tahoma, Arial,] [/font][/color]

I used make menuconfig instead :P

Link to comment
Share on other sites

Guest vache

yeah, now I have:

open("/dev/diag", O_RDWR)   =3[/CODE]

and subsequent entry at dev - dev/diag with right permissions.

I used make menuconfig instead :P

Could you share this kernel ?

Edit : Wich branch i should use from your github ?

Edited by vache
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.