HTC Stocks currency problem - Hero, G2 Touch General

The HTC Stocks app has the best widget of all other currency apps, so I was using it on my 1.5 Hero for displaying the EURO/GBP (EURGBP=X) rate.
After the 2.1 rom update I have a strange problem. When I try to add a new ticker for "eurgbp=x", I get the error message: "Unable to recognize the company name or stock symbol you typed. Please try again." However, this worked in the past like a charm. I have to note that adding "gbp=x" or "usd=x" works fine, with no problem at all.
Maybe this problem is related to an updated version of the Stocks app in the new rom. Is anyone experiencing the same problem? I haven't found a similar thread for a Sense Android phone. The same problem exists in the latest rom of HD2, but people have figured a work-around, by changing a file under "Application Data\HTC\", but this file doesn't exist on Android.
Any help would be more than welcome!

I experience the same problem (although I'm on VillainRom12). Previously adding currencies (EURUSD=X etc) was working, but right now I am unable to find it. This could be HTC problem as it was working fine on 1.5, but this could be also some Yahoo search glitch (I am unable to search for that quotes on mobile version of the Yahoo Finance page, while the desktop version works fine). The only workaround to that was to edit manually SQLite database of Stocks application (but this may require root - I can provide details if necessary). Once I added appropriate entries to the list of stocks, it seems to be working fine (it is displaying my currencies, but the search still does not work).
One other deficiency I found was the fact that graphs are not cached anymore - If I open the application and check for example a daily graph, I need to update it in order to see any chart - each time, even if I switch from 1D to 5D and back. It is also automatically updated each time I visit given tab, if I enable the automatic updates. Previously this app displayed previously cached graph. I'm not sure whether this happens also on stock 2.1 ROM.

Now that you mention it, I have the same problem with the graphs in the 2.1, too. It worked (showed the cashed graph) in the 1.5, but not any more. Blank graph until it updates.
Can you provide me some guidance about how to edit the Stocks' database? At least a link to something similar would be much appreciated. Can I access the phone's system folder without rooting it, through my PC (Win, Linux, whatever)?

eeVoskos said:
Can you provide me some guidance about how to edit the Stocks' database? At least a link to something similar would be much appreciated. Can I access the phone's system folder without rooting it, through my PC (Win, Linux, whatever)?
Click to expand...
Click to collapse
I'm new in the business, so I'm not sure if the root is necessary. You can try it, anyway to see if you will be able to push and pull files from the directory where Stocks stores its database.
Here's what I did:
Enable USB Debugging in Settings -> Applications -> Development -> USB Debugging
Download Android SDK from http://developer.android.com/sdk/index.html
In command line go to subdirectory tools of Android SDK
Close Stocks app and remove Stocks widget from the screen
Connect Phone via USB
... (Beginning of the optional part) ...
Go to Android shell
Code:
adb shell
List any processes to see if there's a com.htc.android.Stock process (like in this case)...
Code:
ps | grep Stock
7605 10007 130m S com.htc.android.Stock
7619 0 2156 S grep Stock
Kill any Stock processes (using the value in the first column):
Code:
kill 7605
Exit to command line
Code:
exit
... (End of the optional part) ...
Pull the Stock database:
Code:
adb pull /data/data/com.htc.dcs.service.stock/databases/stock.db stock.db
Sample output:
Code:
d:\Projects\Android\tools>adb pull /data/data/com.htc.dcs.service.stock/databases/stock.db stock.db
568 KB/s (5120 bytes in 0.008s)
Backup, just in case:
Code:
copy stock.db stock_backup.db
Run sqlite3
Code:
sqlite3 stock.db
Enable headers in sqlite:
Code:
.headers on
List contents of quotes table:
Code:
select * from quotes;
Sample output:
Code:
sqlite> select * from quotes;
_id|_name|_symbol|_price|_change|_percent|_open|_high|_low|_volume|_link|_type|_sequence|_updatetime
2|CHF/PLN|CHFPLN=X|3.08299994468689|0.0116999996826053|0.381900012493134|3.07209992408752|3.08550000190735|3.07010006904602|0|http://m.yahoo.com/htcwf/search?p=CHFPLN=X||0.0|1278490511305
3|USD/PLN|USDPLN=X|3.27649998664856|0.0200999993830919|0.617200016975403|3.25550007820129|3.27959990501404|3.24499988555908|0|http://m.yahoo.com/htcwf/search?p=USDPLN=X||100.0|1278490511305
4|EUR/PLN|EURPLN=X|4.1217999458313|0.0151000004261732|0.367700010538101|4.11250019073486|4.12349987030029|4.10799980163574|0|http://m.yahoo.com/htcwf/search?p=EURPLN=X||200.0|1278490511305
5|EUR/USD|EURUSD=X|1.25789999961853|-0.00469999993219972|-0.376199990510941|1.26170003414154|1.26259994506836|1.25689995288849|0|http://m.yahoo.com/htcwf/search?p=EURUSD=X||300.0|1278490511305
6|EUR/CHF|EURCHF=X|1.33689999580383|-0.000899999984540045|-0.0710000023245811|1.33879995346069|1.33910000324249|1.33609998226166|0|http://m.yahoo.com/htcwf/search?p=EURCHF=X||400.0|1278490511305
sqlite>
Note the last _id (here 6) and add new currency with _id higher by 1 (so here, 7):
Code:
insert into quotes (_id, _name, _symbol) values (7, "EUR/GBP", "EURGBP=X");
Check if it has been added:
Code:
select * from quotes;
Sample output:
Code:
sqlite> select * from quotes;
_id|_name|_symbol|_price|_change|_percent|_open|_high|_low|_volume|_link|_type|_sequence|_updatetime
2|CHF/PLN|CHFPLN=X|3.08299994468689|0.0116999996826053|0.381900012493134|3.07209992408752|3.08550000190735|3.07010006904602|0|http://m.yahoo.com/htcwf/search?p=CHFPLN=X||0.0|1278490511305
3|USD/PLN|USDPLN=X|3.27649998664856|0.0200999993830919|0.617200016975403|3.25550007820129|3.27959990501404|3.24499988555908|0|http://m.yahoo.com/htcwf/search?p=USDPLN=X||100.0|1278490511305
4|EUR/PLN|EURPLN=X|4.1217999458313|0.0151000004261732|0.367700010538101|4.11250019073486|4.12349987030029|4.10799980163574|0|http://m.yahoo.com/htcwf/search?p=EURPLN=X||200.0|1278490511305
5|EUR/USD|EURUSD=X|1.25789999961853|-0.00469999993219972|-0.376199990510941|1.26170003414154|1.26259994506836|1.25689995288849|0|http://m.yahoo.com/htcwf/search?p=EURUSD=X||300.0|1278490511305
6|EUR/CHF|EURCHF=X|1.33689999580383|-0.000899999984540045|-0.0710000023245811|1.33879995346069|1.33910000324249|1.33609998226166|0|http://m.yahoo.com/htcwf/search?p=EURCHF=X||400.0|1278490511305
7|EUR/GBP|EURGBP=X|||||||||||
sqlite>
Quit sqlite:
Code:
.quit
Push the file back to the phone:
Code:
adb push stock.db /data/data/com.htc.dcs.service.stock/databases/stock.db
Sample output:
Code:
d:\Projects\Android\tools>adb push stock.db /data/data/com.htc.dcs.service.stock/databases/stock.db
341 KB/s (5120 bytes in 0.014s)
Restart phone.
See if that worked
I hope HTC (or Yahoo) will be able to fix that, because the above is really a long process...

Anyway, I can't make it work. Entering "ps | grep Stock" gives me a "grep: permission denied" error message. I did some searching and I believe this is what people mean by saying "you need root access", right? I'll come back when I'm rooted (i.e. when I find a decent guide for rooting 2.1).
Thanks for your time & effort man. I really appreciate it.

eeVoskos said:
Anyway, I can't make it work. Entering "ps | grep Stock" gives me a "grep: permission denied" error message.
Click to expand...
Click to collapse
You can try to omit the "optional" part (steps 6-9) - the ps thing was just to make sure that Stock isn't running. But I noticed anyway that it never ran in the background when I closed it on the phone. Try to adb pull and adb push and see if you'll get any permission issues. If you do, then you indeed need a root (sorry I can't check that as I'm rooted)

A couple of days ago I updated the ROM of my HTC TD2, with the most recent one of HTC (WM6.5, Sense 2.5.20113030.0). Afterwards I noticed that I also could not get the stock app to accept the code EURUSD=X.
You mention the following
The same problem exists in the latest rom of HD2, but people have figured a work-around, by changing a file under "Application Data\HTC\", but this file doesn't exist on Android.
Click to expand...
Click to collapse
Can you tell me what that work-around is or point me to it? Hopefully this can help me.
Thank you in advance.

Check this thread:
http://forum.xda-developers.com/showthread.php?t=706732

eeVoskos said:
Check this thread:
Click to expand...
Click to collapse
Thank you for the link (which I am not allowed to repost ).
Last Monday I wrote an e-mail to HTC about this problem and a couple of days later I got a reply. They told me they tried to search for the currency rate (eurusd) and that they got a result. So I tried again and lo and behold I got a result as well. Searching for eurusd=x gave me a result while last weekend it was not working.
So I tried several other currency rates and they all rendered a result, also eurgbp=x. Perhaps it is also fixed for the Android app.
[Extra information added below]
Tried again and nothing
I was connected with a data connection to my carrier, so I switched to my wifi connection. Tried again and... result.
So it seems to be a difference in communication between an ordinary data connection and a wifi connection. Maybe this will help someone

Wird problem. I tried it too on both UK and Greek carriers and on WiFi, but nothing. No result for either of them: "eurgbp=x", "eurgbp", "eurusd=x", "eurusd". I have been trying occasioanly more than one month now.
I think I should drop them an email too...

Why don't you do a soft (temporary) root and make the database entries as described in here? I did it and now I got all the stuff I need, and no trace of root on the device.

Related

Dev tools setting causing reboot loop :(

Just installed Elelinux-7.1.0-Hero-v2.1, poked around in Dev Tools, and apparently turned on some debugging feature I should not have. Now my phone goes into a reboot loop. It isn't a full reboot... only the Android boot animation is shown, not the initial HTC splash screen. It makes it up to the lockscreen and the phone is responsive for about 10 seconds before it freezes up and reboots.
This isn't enough time for me to unlock the screen, open the app drawer, run Dev Tools, and change back the setting before the phone reboots. Is there another way of manually clearing the Dev Tools settings without having to do a factory wipe?
Since I can't get into Dev Tools now, I cannot say which options were enabled. I turned on one that shows the touch coordinates, and I think another that shows the running processes (trying to track down battery drain issues). There may have been a couple of others, but due to the delay in the reboot, it's hard to tell exactly which one is the culprit.
So I'm hoping there is some way to bring up the phone in single-user mode, edit or delete a settings file, and then rebooting the phone. I'm using the AmonRA recovery console, if that helps.
I'd just reflash...
Yeah, there isn't much on the phone yet, so I could do a wipe and not lose anything, but I'd rather see if there is a way to recover in case something like this happens again in the future.
I did find an issue tracker page on Google that describes the problem, and a couple of proposed fixes. I'm not allowed to post links yet, so demangle this to bring up the page. I'm going to try editing the settings.db file and hopefully that will fix things:
ht tp://code.google.com/p/cyanogenmod/issues/detail?id=1026
Hooray, editing the settings.db file worked! I followed the suggest posted by cryptographrix in post #14 of the code.google.com thread:
Code:
$ [B]./adb shell[/B]
/ # [B]mount /data[/B]
/ # [B]mount /system[/B]
/ # [B]/system/xbin/sqlite3 ./data/data/com.android.providers.settings/databases/settings.db[/B]
SQLite version 3.7.2
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> [B].header ON[/B]
sqlite> [B]select * from system where name="show_processes";[/B]
_id|name|value
109|show_processes|1
sqlite> [B]update system set value=0 where name="show_processes";[/B]
sqlite> [B]select * from system where name="show_processes";[/B]
_id|name|value
109|show_processes|0
sqlite> [B].quit[/B]
/ # [B]reboot[/B]

[PATCH 3.1][27-06-11] 100% Working 3g huawei compatible USB dongle

*I'm not updating it, but many users find this useful, so thread is kept as is for now*
Not sure if anyone got so far, to getting the honeycomb showing connection and selectable APN in settings?
anyways,
from my port of honeycomb to folio100, and now experiments with a500.. i got huawei dongle's running using the builtin functions.
you will need to have root'd your device. and this might break a system-update, if any of my files are updated during next OTA..
but back to the working 3G.
Working 3G USB dongles:
Do note, your modem version can be seen on its white label written with very small text.
some modems require zerocd (linuxtool) or commands executed in windows to disable the mass storage part of it. (search google for the commands)
* ZTE MF 639 (might need roaming enabled to get data working)
* Vodafone K3765-H
* Vodafone K3715
* Vodafone K3565 / Huawei E160
* Huawei E169
* Huawai E170
* Huawai E171
* Huawei E173
* Huawei E1550
* Huawei E1692
* Huawei E1750
* Huawei E1752
* Huawei E1820
* HUAWEI K3520
* HUAWEI K3565 -Rev 2
Download View attachment 3g-usb-stock1.zip for 3.0.1 stock release Acer_A500_1.141.01_EMEA_GEN3: (vermagic=2.6.36.3 SMP preempt mod_unload ARMv7)
Download View attachment 3g-acer31stock-usb.zip for 3.1 stock release Acer_A500_3.019.01_COM_GEN1 (vermagic=2.6.36.3-00005-g5dff38c SMP preempt mod_unload ARMv7)
HOWTO:
- first: Backup your /system/build.prop on the tablet , just copy the file to a safe place, as its important if you wish to do a online update later on.
- updated zip, so you can now install the zip as an "update" using ClockWorkMod/CWM if you got this installed.
- download the "system.zip" attached to this post.
- unpack all files to a temporary folder ie. C:\myfiles
- assuming you got adb running
* push files to your tablet with;
adb shell mkdir /data/local/temp
adb push C:\myfiles\system /data/local/temp/
* next run
adb shell
* then run all commands below in the shell
su -
mount -orw,remount /system (i forgot this line, ITS IMPORTANT)
cp -a /data/local/temp/* /system/
chmod 4755 /system/bin/pppd
chmod 4755 /system/bin/rild
chmod 755 /system/bin/rild.run
chmod -R 755 /system/etc/ppp
If you done these steps correctly, and you reboot.
you will now have a working 3G option in Settings -> wireless networks
so you can configure your APN now and connect to your 3G network.
and you got it all automated with honeycomb 3g! no terminal needed to start 3G!
HINTS
- Other reports are to remember to "Disable PIN" on the card.. I have no personal experience on this part, but check up on it, if its not working perfectly, or no data, but network is ok.
- I got reports back about enabling roaming to make it work, and also remember the story from Folio100 with 3G dongles..
so if you cannot get data connection at all, try to enable roaming and see if APN does not appear which matches your isp. maybe read you ISP website to confirm it.
- If you happen to remove the dongle, there is a solution (using as example gscript) to restart the ril daemon.
in a shell you can restart the ril-daemon if you reinsert the 3g usb dongle.
do it like this in the shell:
su -
stop ril-daemon
start ril-daemon
HOWTO FOR RESET'ing ,massstorage on Huawei modems.
tasmak said:
Insert modem into pc and wait for driver to install
check in device manager which com port is assignated to your modem
download putty
here the.earth.li/~sgtatham/putty/latest/x86/putty.exe
close every program related to modem
run putty
click serial below port number and then change port number to one previously founded
click open
write atz and press enter, modem should answer ok
write ati and press enter, modem should give name, type, etc
write AT^U2DIAG=0 and press enter, zero cd is now disabled
You need also put sim card from modem to any phone and disable pin checking.
Click to expand...
Click to collapse
Remember to press "thanks" if you find it useful
you forgot to say to remount the system to rw....
thor2002ro said:
you forgot to say to remount the system to rw....
Click to expand...
Click to collapse
i believe that line is even highlighted and commented as forgotten previously, so its there for sure..
you cannot miss it
or do you mean some other /system mount?
Looking forward to testing this. Mine is a Verizon Novatel Wireless, do you think this will work with it?
JackMetal said:
Looking forward to testing this. Mine is a Verizon Novatel Wireless, do you think this will work with it?
Click to expand...
Click to collapse
it would probably work, if you got the huawei dongles..
the major is if you need different kernel modules.. those are in the other thread if needed, i included those without -gxXXXX version info.. as thats the ones for the latest EU model update and works here.
Thanks Dexter. One question. Can these files be pushed using terminal emulator instead?
Sent from my A500 using Tapatalk
Yes,
this can of course be done in a terminal, if needed.
just forget the part with "adb",
but all the commands should be executed, and the files copied to a sdcard temporily and copy from that location to the /system
Dexter thanks. What Huawei modem do you recommend?
Sent from my A500 using Tapatalk
manfly9884 said:
Dexter thanks. What Huawei modem do you recommend?
Click to expand...
Click to collapse
i use a E1752 model myself, which i have disabled storage on, before using it on my tablets...
Thanks
Sent from my A500 using Tapatalk
this wil break the OTA ... because of the build.prop modifications...
thor2002ro said:
this wil break the OTA ... because of the build.prop modifications...
Click to expand...
Click to collapse
Correct, that is also mentioned in post #1.
custom build.prop can be made if the lines at the bottom are copied to your own version you got with a simple one-liner in a shell.
echo "picasso.3g=true
rild.libpath=/system/lib/libhuawei-ril.so
rild.libargs=-d /dev/ttyUSB2
ro.pad.features.modem=true " >>/system/build.prop
so it works on any new build.prop change..
Dexter_nlb said:
Correct, that is also mentioned in post #1.
custom build.prop can be made if the lines at the bottom are copied to your own version you got with a simple one-liner in a shell.
echo "picasso.3g=true
rild.libpath=/system/lib/libhuawei-ril.so
rild.libargs=-d /dev/ttyUSB2
ro.pad.features.modem=true " >>/system/build.prop
so it works on any new build.prop change..
Click to expand...
Click to collapse
got an idea.... make two scripts for applying and removing....
so we can maintain the OTA capability...
thor2002ro said:
got an idea.... make two scripts for applying and removing....
so we can maintain the OTA capability...
Click to expand...
Click to collapse
ill figure something out.. maybe an actual patch can be made?
i do know how to make the different update.zip's ... just got A500, so not sure what is possible and not, on this semi-blocked tablet..
but also know motorola mobiles, i have had my part of blocked devices, and do workarounds to make something work.
1 update.zip to install? and another to remove?
we dont have custom recovery working.... so update zip wont work... scripts or apk are the only choices i see...
thor2002ro said:
we dont have custom recovery working.... so update zip wont work... scripts or apk are the only choices i see...
Click to expand...
Click to collapse
no no, i dont talk CWM.. i use the builtin tegra recovery for the additional functions.. the recovery is very close to CWM, but uses the old htc way, and do have specific write command for writing images..
ill check it out soon.. a500 is still new to me, although tegra is not...
I know im probably not doing something right, i followed the steps, and when i tap mobile networks it force closes?
Good news. Thanks
manfly9884 said:
Thanks
Sent from my A500 using Tapatalk
Click to expand...
Click to collapse
wounderful work!
good point!
Any reason this wouldn't work on the asus transformer?

Atrix tether via adb & sqlite3

I'm working on a sqlite script that would let you enable tethering by simply doing:
adb pull /data/data/com.android.providers.telephony/databases/telephony.db
sqlite3 telephony.db < enable_tether.sql
adb push telephony.db /data/data/com.android.providers.telephony/databases/telephony.db
I'm still gathering info and testing. I just really like solutions that work for anyone with adb. Anyone else feel this way or am I just satisfying a command line fetish?
command line fetish for sure! (nothing wrong with that)
Okay, so I've chosen http://forum.xda-developers.com/showthread.php?t=980636 as the basis of my MOD. If anyone thinks there is a better howto, please let me know. I've read all 19 pages of the thread carefully. Although there are some confused people on that thread giving bad advice, I think I have a pretty clear picture.
I'll update this post in real time as I progress.
Step 7) equates to:
UPDATE carriers SET preloaded="false" WHERE name IN ("AT&T US HSDPA", "AT&T US Tether", "AT&T US");
Steps 7b) equates to:
UPDATE carriers SET type="default,supl,agps,fota,tether" WHERE name="AT&T US Tether";
Steps 7c) equates to:
UPDATE carriers SET apn="phone" WHERE name="AT&T US Tether";
Those 2 (b & c) can be combined into:
UPDATE carriers SET type="default,supl,agps,fota,tether", apn="phone" WHERE name="AT&T US Tether";
I still got the "account not set up" message. Based on http://forum.xda-developers.com/showthread.php?t=1160452
I'm tried to update:
/data/data/com.motorola.android.providers.settings/databases/settings.db
with:
UPDATE settings SET value=0 WHERE name='entitlement_check';
Victory! Now I just have to figure out how to script it.

Regulatory domain, Wifi channels 12 and 13

Hi all!
I have noticed that my Arc S does not receive AP on channels 12 and 13. After doing some searches I concluded that the Regulatory domain must be set to US which is incorrect in my case, as I live in Europe.
I tried following this guide http://forum.xda-developers.com/showthread.php?t=1067944 to enable these channels, of couse doing the necessary modifications for this to work on a SE, but with no results unfortunatly.
My phone still has a locked bootloader and I cannot try custom roms, but will a custom rom solve this problem?
Moveover I am curious to know if this is a problem of the kernel module used which is locked to 11 channels or if it is because of some setting hardcoded in android itself.
Thank you!
as i can see, for the european area the only restriction is the signal power<20db, channels 11-13 are allowed and are working in Europe! My arc S is also locked but i can see channels 11-13.
Tkx for you reply labrok!
Then I cannot understand. I verified this using an app on the market called "Wifi Analyser", and the fact is that even in the wifi connect menu, all AP with these channels are not visible.
Also in the sqllite database available with the command
# /system/bin/sqlite3 /data/data/com.android.providers.settings/databases/settin
gs.db "select * from secure"
I can see:
wifi_num_allowed_channels|11
If I try to change this number to 13, it allows the change, but whenever I deactivate/activate the wifi, the number goes back to 11..
What is the version of the firmware that you are running?
I have 4.0.2.A.0.42.
Tkx!
same version, phone is European like yous so it uses same region settings,router TP-link TL-WR1043ND WITH ddwrt and router`s region set to Canada (to gain an extra 3db of power) i can set it till channel 13 and i can see it and i can connect too, to use channel 14 i must change region to japan but channel 14 is not usable from my arc s! but channels 12-13 working, they are not so good for an N network but my phone can see them an connect to them, maybe you should try to reflash your phone!
It's good to know that it works ok and that the problem lies only in software. I have asked some other users of the Arc S/Neo and they report the same problem
Maybe with your help we can solve this problem once and for all for everyone.
If your phone is rooted all I need you to do, is send me your Wifi drivers, running the following commands on the adb shell. Adb comes with the android sdk and is located at C:\Program Files (x86)\Android\android-sdk\platform-tools and then run "adb shell" command on a command line. You also need to activate the usb debugging on your phone.
Code:
su
cp /system/lib/modules/tiwlan_drv.ko /mnt/sdcard
cp /system/lib/modules/sdio.ko /mnt/sdcard
You now should have 2 files on the root of your sdcard, sdio.ko and tiwlan_drv.ko.
Can you please send these files to me?
I will then replace them on my phone and effectively determine if the problem is actually caused by the drivers or by the Android system itself.
Thank you so much for your help!!
My friend my phone is not rooted, if there is a way to help you, but because my phone is new I cannot root it and avoid my guarrantee.
Sent from my LT18i using XDA App
Thank you anyway labrok! I will keep searching for someone that has this working and with root to see if I can solve my problem
Ok, actually I found out how you can do this without root and without touching the warranty.
I will guide you through the process.
Install the Android SDK available at http://developer.android.com/sdk/index.html
Activate the USB debugging on "Applications"->"Development"->"USB Debugging"
Then open a command line prompt on windows and go to the directory where you installed android, typically C:\Program Files\Android\android-sdk\platform-tools, with the command
Code:
cd "C:\Program Files\Android\android-sdk\platform-tools"
Copy the driver files now from the phone with the commands
Code:
adb pull /system/lib/modules/tiwlan_drv.ko
adb pull /system/lib/modules/sdio.ko
The command prompt should look like this
Code:
C:\Program Files\Android\android-sdk\platform-tools>adb pull /system/lib/modules
/tiwlan_drv.ko
4636 KB/s (973324 bytes in 0.205s)
C:\Program Files\Android\android-sdk\platform-tools>adb pull /system/lib/modules
/sdio.ko
1618 KB/s (26520 bytes in 0.016s)
Files tiwlan_drv.ko and sdio.ko should be on C:\Program Files\Android\android-sdk\platform-tools folder now. Zip them and send them to me plz
i will try, but i think is not drivers problem.More likely its region restrictions, in Greece its allowed channels from 1-13, maybe in your is different than Greece! but i will send you the drivers as soon as possible!
I'm having the same issues with Xperia Arc S in Bulgaria. The phone has set it's wifi radio to operate on channels 1-11 so any networks on channels 12, 13 and 14 aren't visible to me.
Pure Android has the option to set the regulatory domain, but SE has decided to disable (or hide) it.
Here you can see how to set it on a non-SE Android: firdouss.com/2011/07/wifi-network-android-reason/
I've asked SE to check this on their forum too:
talk.sonyericsson.com/message/127760
Thank you the_mouse_bg!
I have bootloader unlocked my Arc S and tried a few roms like CM7.2, MIUI where I can see all 13 channels fine, so from this I have concluded that the problem is really from the firmware as due to the lack of answers on this topic, I was getting really worried this could be a hardware problem from my phone..phewwww
I now have stock firmware .42 with DooMKernel installed and the regulatory domain does appear in the menu but fails to be changed
I asked in the DooMLord's kernel topic to see if I can in any way debug this problem to try to solve it as I'm still little experienced with linux android workings.
Let's see if we can solve this issue asap!!
Regulatory domain (Wi-Fi channels 12 and 13) fix for the factory (default) ROM
I managed to fix the regulatory domain in order to be able to use the wireless channels 12 and 13 in the factory ROM. I only tested this procedure in the Xperia Pro (MK16a) and using the factory GingerBread ROM, although the procedure should be similar for other Xperia models and for the ICS ROM.
Well, it still needs rooting, but for those worried about the warranty it should be better than unlocking the bootloader or installing another ROMs, because you can root your phone, apply the fix, then unroot it, and nobody will ever know the phone was once rooted unless they do a deep forensic analysis.
How the regulatory domain works in Xperia devices
Sony added a class named "com/android/server/WifiService$RegulatoryDomain" which isn't part of standard AOSP. This class checks in which country you currently are based on the current MCC (Mobile Country Code), extracted from the first 3 digits of the current PLMN. Then there is a list of MCCs of countries on which 13 Wi-Fi channels are allowed. If your MCC is on the list, it enables 13 channels, otherwise it only enables 11 channels.
If your current MCC is not on the list, your wifi_num_allowed_channels setting has no effect. It is always reseted to 11.
Note that this is an "Android framework-level lock", not a "Linux-level or driver-level lock", because if you try to run iwlist (you can build yours from this svn repo) it shows channel 12 and 13 Wi-Fi networks even without any modification to the factory ROM.
The problem
The problem is that not all countries which allow 13 Wi-Fi channels are listed in the "WifiService$RegulatoryDomain" class. Apparently, there are typo errors in some MCCs.
For example, Brazil is MCC 724, but the class lists MCC 742, which according to this listing is a non-existent MCC. So it's apparently a typo error. They typed 742 instead of 724.
Fixing it
First, root your device. I used FlashTool for this.
Then, copy /system/framework/services.jar from your device to your computer using adb. Then unpack it (unzip or 7zip or whatever), use baksmali for disassembling classes.dex, and open "com/android/server/WifiService$RegulatoryDomain.smali" in a text editor.
Look for something like:
Code:
const/16 v7, 0x24
const-string v8, "742"
aput-object v8, v6, v7
iput-object v6, p0, Lcom/android/server/WifiService$RegulatoryDomain;->mHighChannelsMccs:[Ljava/lang/String;
This is where the 13-channels-allowed MCC list is being built. The "742" is the apparently non-existent MCC. Just replace it by the MCC of your country. Look at this listing or look at the first 3 digits of the PLMN:
Code:
$ adb logcat | grep PLMN
E/WifiService( 241): Could not get PLMN!
E/WifiService( 241): Could not get PLMN!
E/WifiService( 241): Could not get PLMN!
I/WifiService( 241): PLMN = 72410
I/WifiService( 241): PLMN = 72410
In my case I just replaced "742" by "724".
Then use smali for assembling the code back to the classes.dex file, and repack the services.jar file using jar, zip or another tool.
Finally, copy your modified services.jar to your device's /system/framework/services.jar using adb, and reboot your phone. Now everything should work.
About the attached file
My modified services.jar is attached for reference. Remember it is for the Xperia Pro factory GB ROM. If you use ICS or if you have another Xperia device, you need to baksmali/modify/smali your own jar file as described above.

Guide to avoid registering a new GSF android_id at each clean install

As you may noticed since last week google wants us, the custom rom users to manually register our android_id to the link https://www.google.com/android/uncertified/
It looks simple isn't it?
But there's a catch. Each google account can register up to 100 ids. So if you keep registering new ids after every clean install you'll more likely to hit that 100 ids limit soon. That's even worse for fhe rom developers as they may flash up to 20-30 roms a day.
I'm figuring out that in a different way though. The procedure I'm following is:
A. BEFORE ANYTHING
If you're doing this first time:
1) Copy this database from /data/data/com.google.android.gsf/databases/gservices.db
2.1) Open the database with a sql editor or from adb shell or a terminal emulator in sqlite3, see android_id with this sql command:
SELECT *
FROM main
WHERE name="android_id";
2.2) OR from adb shell:
$ adb root
$ adb shell 'sqlite3 /data/data/com.google.android.gsf/databases/gservices.db "SELECT * FROM main WHERE name = \"android_id\";"'
3) Then save the value you're seeing to somewhere else, and register to your account at https://www.google.com/android/uncertified/
B. THEN FOR EVERY CLEAN INSTALL
1) Backups and wipes.
2) Flash rom (pt roms with vendors have the firmware included).
3) Flash gapps.
4) Optionally flash a custom kernel.
5) Reboot and configure your device.
6) Flash magisk, reboot.
THEN THIS PART IS IMPORTANT:
7.1) Again copy this database /data/data/com.google.android.gsf/databases/gservices.db and open in a sql editor (or with sqlite3 in terminal emulator, or adb shell) and execute this sql command:
UPDATE main
SET value=XXXXXXXXXXXXXXXXXXX
WHERE name="android_id";
7.2) OR from adb shell:
$ adb root
$ adb shell 'sqlite3 /data/data/com.google.android.gsf/databases/gservices.db "UPDATE main SET value=XXXXXXXXXXXXXXXXXXX WHERE name = \"android_id\";"'
Note: XXXXXXXXXXXXXXXXXXX is your android_id as you've learned and registered to your account before (You can see the android_id s you've registered at the same google link).
I just registered my IMEI, that one stays the same across factory resets.
Also, Titanium backup has an option to restore a previously used android ID.
Deleted
Deleted
muff99 said:
I just registered my IMEI, that one stays the same across factory resets.
Also, Titanium backup has an option to restore a previously used android ID.
Click to expand...
Click to collapse
Yes that works too but this is the manual method for the gsf android_id. Wifi only devices doesn't have IMEI for example.
https://www.xda-developers.com/google-removes-100-device-registration-limit-uncertified-device-page/
G4B33 said:
https://www.xda-developers.com/google-removes-100-device-registration-limit-uncertified-device-page/
Click to expand...
Click to collapse
Yes so now we don't have to do that much of hacky-wacky stuff just to get gsf certified status anymore. #YayGoogle? ?
What if you don't do that?
seems not working. After rebooting, it went back to previous id
You know I've just realized that doing exactly what's written on Google's page (that I've shared link of it) doesn't change my status too. My id is exactly what I've registered on the id registration page but no it stays uncertified so you can ignore this post too... I hope we can find a solution soon :/
ccelik97 said:
You know I've just realized that doing exactly what's written on Google's page (that I've shared link of it) doesn't change my status too. My id is exactly what I've registered on the id registration page but no it stays uncertified so you can ignore this post too... I hope we can find a solution soon :/
Click to expand...
Click to collapse
I think the display will always stay on "not certified", but you are atill able to use the Google services (which unregistered custom ROM users are not any more, if I understood correctly).
This is just a guess on my side, I have not tested this (and I can't since I added all kinds of IDs to that registration page ...).
All in all the information flow from Google on this topic has been spectacularly bad, imho.
When I register my GSF id, its not saved or a different number is display, see my correct I'd in the enter field vs ones registered.
image45 said:
When I register my GSF id, its not saved or a different number is display, see my correct I'd in the enter field vs ones registered.
Click to expand...
Click to collapse
That's because you entered it in hex format, it gets converted into decimal.
Also, don't post your id here ... Not sure what happens if other people register your id with their Google account.
muff99 said:
That's because you entered it in hex format, it gets converted into decimal.
Also, don't post your id here ... Not sure what happens if other people register your id with their Google account.
Click to expand...
Click to collapse
Do I need to convert it or is that an accepted way to submit the information please?
If I try to resubmit it advises already registered.

Categories

Resources