Related
In amss.bin you can find several AT Commands...
Few short tested by me:
AT+DEVEXTMEMINSCHK?
Hmmm. returns only 2
No idea, I thought something for Memory...
AT+USERMEM
Returns 0k or maybe okay
AT+HEADERINFOSHOW?
Shows for instance the Memory name...
MemoryName:KAC007021M(S8500)
Btw... This is exact what we can read on Application Processor Chip.
1 hint that RAM is integrated with S5PC110 Processor...
Best Regards
TRY at your own risk. I have no idea what could happen.
s8500 support several types of at commands.
First type is common at commands set (70 commands), including AT+CPIN, AT+CMGR etc
the second (samsung specific, 171 commands) has many useful commands like etc
s8500 support 293 at commands (including common commands like AT+CPIN, AT+CMGR, and samsung specific like AT+IMEITEST, AT+CPU also)
complete list in attachment.
Do not use if you do not know what the command is for
AT+PRODUCTCODE?
Result:
AT+PRODUCTCODE? +PRODUCTCODE: GT-S8500BAADBT
If I enter:
AT+PRODCODE
Result:
Invalid Parameter
Hmmm. I'm not up to date in using AT commands.
Is it maybe possible to change Product Code via AT Command?
How is the correct Syntax for AT+PRODCODE ?
There are more interesting Commands.
Best Regards
P.S.:
I was only in Kies Mode, maybe other results in Debug Mode possible...
AT+DEVCONINFO
MN(GT-S8500);BASE(GT-S8500);VER(S8500XXKK7/S8500OXAKK7);HIDVER(S8500XXKK7/S8500OXAKK7);PRD(GT-S8500BAADBT);SN();IMEI(3xxxxxx3);PN();TZVER(20111025);CON(AT,MTP);HVID(Osp:2097153,IntSys:2097154);LOCK(NONE);LIMIT(FALSE)
Oh, not realized before... few changes...
On previous bada 1.x... looks like this:
MN(GT-S8530);VER(S8530XXJL2/S8530OXFJK3);HIDVER(S8530XXJL2/S8530OXFJK3);PRD(GT-S8530BAASEB)
MN should be manufacturer I think... this is very funny text string.
Best Regards
Edit 1.
My fault... MN is Model Name...
Ooh, this reminds me of the days when I had a SonyEricsson T68 and K750.... Good ol days ... One thing missing from those days .. Our samsung wave telephones don't do the Bluetooth HID protocol...
How do you send these commands?
Can you post output from:
AT+DGLOCK
AT+LVOFLOCK
AT+DETALOCK
?
How do you send these commands?
Click to expand...
Click to collapse
You can choose... there are hundrets of Tools, or write your own Terminal...
Few Tools I've used for this...
Revskills very often...
WinComm
QuB...
.
.
AT+DGLOCK
AT+LVOFLOCK
AT+DETALOCK
Click to expand...
Click to collapse
I'm little wimpy old man as you know...
But as I have 0 info about this... I'm scared to lock something and brick my handset...
No idea how to unlock ...
I'll investigate more...
Google research etc. and report later more... I'll try to be on the safer site...
About DELTA files/FOTA...
http://www.megaupload.com/?d=Z53R1IVX
I have upload few of S8500.
Maybe we find Commands or way to install manually these *.cfg Deltas...
Maybe AT Command also work...
Best Regards
Edit 1.:
Found this... untested yet:
Code:
AT+FOTALOC
AT+FOTAREADY
AT+FOTASTART
Edit 2...
Or maybe more such DEV Commands...
GetFotaEngineVer
Get FOTA Engine Version
Edit 3...
Maybe for Update... beter search for something like this:
SML_DM_FUMO_STATE
Or SCOMO
SCOMO Download Complete go to ui event 1...
SCOMO...Warning!!!! Delta Over Size
DownloadAndUpdate...org.openmobilealliance.dm.firmwareupdate.devicerequest
http://www.openmobilealliance.org/t...ram/docs/ets/oma-ets-fumo-v1_0-20061215-c.pdf
I'm sure LVOFLOCK gets level of lock - doesn't overwrite anything
The same about DETALOCK (detailed lock)
Just don't remember what was the code for DGLOCK, so don't use it for now if u're scared. You won't find these in google I think, these are Samsung specific, maybe only Mocha specific.
//edit:
Btw, many of AT commands goes to AMSS, but only what AMSS do is calling Mocha function in AP corresponding to AT command and returning result. For eg LVOFLOCK make AMSS invoke Bada function (also accessible from QuB) GetLevelOfLock and get it's return value. Can you compare result of these 2 maybe?
http://electronix.ru/forum/index.php?act=attach&type=post&id=46875
Tested by me...
AT+FOTALOC?
: Others
This seems location... folder... Others
AT+FOTAREADY?
COPYRETRY
But AT+FOTASTART seems correct...
Handset reboots... like if I delete *.cfg files...
Hmmmmmmmmm.
Will log with WinComm... maybe then more info...
Best Regards
At+preconfig=2,tmb
at+lvoflock=1,0
at+factrst=0,1
at+lvoflock=0,0
600 pages FOTA OTA Command with explain :
http://www.scribd.com/doc/63560940/47/FOTA-Commands
http://www.google.fr/url?sa=t&rct=j...sg=AFQjCNFTQzBSwRrZg82TEZSOleqClg4dbA&cad=rja
AT+FOTASTART 2400258.cfg
Error...
AT+FOTASTART after Download of package, not start downloaded update.
Maybe wrong syntax or FOTA of Qualcomm part only... amss.bin...
I can't see anything with WinComm... maybe next try with QXDM... if amss related...
@ Tigrouzen
Many thanx for helpfull Links.
Best Regards
adfree said:
AT+FOTASTART 2400258.cfg
Error...
AT+FOTASTART after Download of package, not start downloaded update.
Maybe wrong syntax or FOTA of Qualcomm part only... amss.bin...
I can't see anything with WinComm... maybe next try with QXDM... if amss related...
@ Tigrouzen
Many thanx for helpfull Links.
Best Regards
Click to expand...
Click to collapse
But i remember some time Samsung change this thing like not AT+FOTAUIMODE but
AT&FOTAUIMODE
Now its work but no Carrier
In our wave AT+CPIN doesnt work but AT&CPIN works
Code:
AT+FOTALOC?
AT+FOTAREADY?
AT+FOTASTART
Short tried on bada 1.0... JE7 Firmware...
All 3 output was Error...
Okay, not included in amss...
2400258.cfg also as text String in apps_compressed...
Will play little bit with Delta... then move to XXJL2...
Best Regards
Little progress...
AT+DEVCONINFO
Code:
MN(GT-S8600);VER(S8600XXKJC/S8600DBTKJ4);HIDVER(S8600XXKJC/S8600DBTKJ4)...
My S8500...
Best Regards
Did you get S8600 fw on your S8500 !!!!
Man this JTAG playing could kill your phone
Best Regards
Nah, he got FW ID from S8600 on S8500, while S8600 ShpApp & RC may be possible to run on S8500 and vice versa, rather no way about other things. ;P
"DEVCONINFO"="MN(GT-S8600);BASE(GT-S7250);VER(S8600XXKK5/S8600DBTKL1);HIDVER(S8600XXKK5/S8600DBTKL1);PRD(GT-S8600HKADBT)
Click to expand...
Click to collapse
Many thanx to S8600 user for nice info.
Best Regards
AT+SECUKEY +SECUKEY:"DXDxxxxxxxxxxxx=="
OK
AT+AUTHKEY +AUTHKEY:FAIL
OK
AT+DEVAUTH +DEVAUTH:SUCCESS
OK
AT+CERTKEY +CERTKEY:"X5Mxxxxxxxxxxx=="
OK
AT+PASSWORDINPUT +PASSWORDINPUT:SUCCESS
OK
Found Commands in WsSyncml.so, see here:
http://forum.xda-developers.com/showpost.php?p=21541765&postcount=4
No idea yet, what it is.
Best Regards
b.kubica said:
complete list in attachment.
Click to expand...
Click to collapse
Nice post b.kubica
Are you aware of the Qualcomm commands?
AT+CLAC lists these extra commands:
$QCSIMSTAT
$QCCNMI
$QCCLR
$QCDMG - Diagnostic Mode initiation.
$QCDMR - Diagnostic Mode (Baud) Rate. at$qcdmr=? shows available baud rates, at$qcdmr? shows current baud rate
$QCDNSP
$QCDNSS
$QCTER
$QCSLOT
$QCPINSTAT
$QCPDPP - Packet Data Protocol authentication Parameters - see w w w . shapeshifter . se/2008/04/30/list-of-at-commands/
$QCPDPLT
$QCPWRDN
$QCDGEN
$BREW
$QCSYSMODE
$QCCTM
$SUSBC
$NWMDCHNG
$SHPSLEEP
Not sure what they do. All I've found so far is at$qcsysmode restarts the phone with what looks like a file list coming out on the serial port. BREW is the Qualcomm application language.
Does AT_OWANCALL exist in the ROM? That is sometimes used to set up UMTS/HSDPA connections.
I hope all this is just a little bit interesting for some developers because I can't do any further investigations on ANDROID because my device is broken. At the moment it's on the way and I hope I will get a change of my broken HD2. I have summarized some more or less insteresting facts and I hope someone of you will think about all this informations and can work with them.
First at all: I'm not a developer but I have done some search on ANDROID and logged and logged and logged it again. All this is just a collection of facts and results of compare log files.
When you disassemble some Files within Android, you will see that something will not work because it can't. Let me start with the init.rc what is missing or might be wrong:
1. MISSING FOR BLUETOOTH:
Code:
# create mountpoints
mkdir /mnt_data/download 0777 root system
2. WRONG?
Code:
chmod 0666 /dev/ttyHS1
chown root radio /proc/cmdline
chmod 666 /proc/cmdline
There is no ttyHS1 device within the ANDROID. Can't find it.
3. NOT SURE
rfkill is seems not working. Recommendation on the website:
http://www.gitorious.org/openaos-te...5f360fec4c21c1e06d145a5fe?diffmode=sidebyside
Code:
chmod 0666 /sys/devices/platform/wifi_bt/bt_enable 0
write /sys/devices/platform/wifi_bt/bt_enable 1
but based on ANDROID Developer FAQ it should be:
Code:
chmod 0666 /sys/modules/board_[platform]/parameters/bluetooth_power_on
write /sys/modules/board_[platform]/parameters/bluetooth_power_on 1
and this MUST also done after the change:
Code:
on property:persist.service.bluetoothd.enable=0
write /sys/modules/board_htcleo/parameters/bluetooth_power_on 0
...depend of the settings it also could be:
Code:
write /sys/devices/platform/wifi_bt/bt_enable 0
on property:persist.service.bluetoothd.enable=1
write /sys/modules/board_htcleo/parameters/bluetooth_power_on 1
...depend of the settings it also could be:
Code:
write /sys/devices/platform/wifi_bt/bt_enable 1
Also interesting is the command write which is used a lot of times by the init.rc. I don't know where this command is located. But if you open a SHELL on Android and try to "write" something you will see that this command is not available. Can someone explain how this will work when this command is not available????
4. WRONG!
Code:
chmod 666 /dev/uinput
chmod 666 /etc/bluez/audio.conf
chmod 666 /etc/bluez/hcid.conf
chmod 666 /etc/bluez/input.conf
On the one hand this path is not existing and on the second hand the hcid.conf is also not existing. If you take a look only within /etc you will see that /etc/bluetooth is only existing.
5. BT INITIALIZATION
Code:
service hciattach /system/bin/brcm_patchram_plus --enable_hci –enable_lpm --baudrate 3000000 --patchram /etc/firmware/bcm4329.hcd /dev/ttyHS0
user bluetooth
group bluetooth net_bt_admin
disabled
This is also not working at all. If you try to run this command via the shell nothing will happens. And if you need to load the firmware into the device you need also setup this device by nvram.txt which you can see within the bluetooth.c file. The nvram.txt is important to get a valid MAC Address from the hardware. If you take a look into the source code of the BCM4329 you will see additional informations about this.
The second problem is the value of 3000000. This is to small. If you want to work with head set than a value of 4000000 is minimum required. From my point of view this initialization should be:
Code:
service hciattach /system/bin/logwrapper /system/bin/hciattach -s 57600 /dev/ttyHS0 any 4000000 flow
The value 57600 is the minimum value for initialize bluetooth and it could be that this value will downsize the standby drain. Not sure, just an idea.
Why? Lets take a look into the main.conf or hcid.conf:
Code:
# What value should be assumed for the adapter Powered property when
# SetProperty(Powered, ...) hasn't been called yet. Defaults to true
InitiallyPowered = true
# Remember the previously stored Powered state when initializing adapters
RememberPowered = true
This was the reason why I think the initialization speed "...-s 57000 /dev..." should be lowerd down which might also solve the battery drain issue. Again, not sure - just an idea.
Btw, if you open the ADB shell and try hciconfig, hciattach or hcitools non of this are working because there is no Bluetooth Adapter even if you have BT enabled. This tools are requried for BT analyse, test and command options. You can call each of the files within the Shell but whatever you try to do you it will fail because BT is not enabled. Try to run rfkill which could initiate a reset on the BT device. If you try to rfkill ttyHS0 which is the BT adapter on HD2 device this will not work. From my point of view all this problems are not only related to the kernel.
6. TAKE A LOOK INTO THE init.htcleo.rc
Code:
# Make sure we startup btld before hcid
# Set target address to emulator host loopback IF
# Limit baudrate to 460800 to ensure reliable uart operation
service btld /system/bin/logwrapper /system/bin/btld -hwtun 10.0.2.2 -hb 460800 3000000 -lpm 1
# service btld /system/bin/logwrapper /system/bin/btld -lpm 1 -hb 3000000
Not sure what will run first. The init.rc or the init.htcleo.rc. If the init.rc will run first this could be also a problem. Btw, the first value is 460800. From my point of view this is too much for initialization.
7. WiFi INITIALIZATION
Just an example but if you do a Google search for "BCM4329 nvram.txt" you will get more than 3 links. Let me show here an example:
http://android-wifi-tether.googlecode.com/svn-history/r465/trunk/res/raw/tether_edify
Search for Value 4329 and you will see SAMSUNG Device bla, bla – don't know from top of my head:
Code:
!file_exists("/sdcard/android.tether/bcm4329.bin") && ( module_loaded("dhd") || log(insmod("/lib/modules/dhd.ko", "firmware_path=/system/etc/wifi/bcm4329_mfg.bin nvram_path=/system/etc/wifi/nvram_mfg.txt"), "Loading dhd.ko module<br>(bcm4329_mfg.bin from /system/etc/wifi/)"); );
Hmm... That was the reason why I grabbed the SAMSUNG i9000 from a friend of me and double checked the device. If you take a look into the /etc/wifi you will see the nvram.txt. I'm not sure how this will be loaded into the device but the i9000 has the same BCM4329 Chipset.
Now let us take a look into the wifi.c for QUALCOMM devices which is also valid for the HD2:
http://gitorious.org/linux-on-qualc...f8dffe668c0448/libhardware_legacy/wifi/wifi.c
Code:
Line 61: Take a look. Nothing of this is existing on the HD2
Line 71: there is no wlan.ko on the HD2
But now, where the hell the MAC Address is stored for the WIFI Adapter? Just take a look at this location:
Code:
sys/module/board_htcleo/parameters/bdaddress
or use this:
Code:
/system/sysroot/module/board_htcleo/parameters/bdaddress
If you check this file you will see there your current MAC Address of the WIFI device. The stupid MAC for the BT device seems not stored on the device. And this is the point where I guess to need the fu***ing nvram.txt.
I have done a search for some BCM files and found something interesting which is attached as "Broadcom Files.7z." There are some (!) more or less firmware files within (?) and also the famous nvram.txt
For additional informations about WiFi and more just open the wifi_suplicant within the /system/bin directory with a simple text editor and browse down to the end. There you will see also a lot of interesting settings for the WiFi environment.
8. W.t.F. IS THIS STUPID NVRAM.TXT?
Download attached Broadcom.7z and check the txt file within. If you open the file you will see the nearly same content as within the
Code:
/etc/calibration
file.
But this file you can ignore on your HD2 device. Delete it, rename it – do whatever you want and you will see no changes on the device. The more interesting thing is within
Code:
/sys/calibration
Huhhhh...! The same file but less values. But where does it come from??? Currently I don't know.
It seems that the nvram.txt is as same as like a BIOS for the device. The BCM4329 is a BT AND WiFi Chip within one CHIP. It might be wrong but I guess this is the easy explanation for this.
And because of this the thing can't work. First it needs to load the BIOS (nvram.txt) and then it needs the OS for it (BCM4329 Firmware).
Okay here is something by reading and following your examples:
sys/module/board_htcleo/parameters/bdaddress
That lines exists in the current NAND Android roms, but this line:
/system/sysroot/module/board_htcleo/parameters/bdaddress
doesnt exist, not in Rafs rom or in imilka's 0.1 GB sense rom.
But here is my key interest: "bdaddress" is where the BLUETOOTH MAC Address is!
Another interesting thing, in imilka's 0.1 GB Sense rom, I can change this to whatever I want and it Sticks till I reboot, but in Rafs it does not.
Key Question, How do we make this file KEEP the changes we make to it??? I know its a dirty fix but none the less its a FIX!! So anyone got a clue?!??
First of all there is a WRONG that is big like an house
the init.rc "syntax" is not shell syntax.
so as example, command "write" will not work in shell... but only in init.rc
I see also a lot of confusions about stock froyo/gingerbread stuff and sense stuff.
Example: Sense uses it's own stuff for BT so a clean init.rc for sense is really different from the one for a non-sense build.
Also some stuff/commands needs to be changed/replaced to have them working with our hd2 kernel.
I have no time now but really this posts is about 30 different things that cannot be explained all togheter.
My suggestion is to google for "android init syntax" and start from there understanding all the android boot process and the android init syntax.
About the wifi mac address.
The wifi mac address is "read" from the libhardware_legacy.so
normmaly this lib reads the mac address in /etc/calibration
this file is a "kernel" file so you are not able to change it.
You can use a modified libhardware_legacy.so that reads the mac address in /system/etc/calibration so you can change it, as I did on my builds where you can change the wifi mac address.
Unfortunately the modified libs causes other issues like gps not working.
---------------------------------------------------------------------------
About the problem that you cannot write permanetly the changes on stuff inside the folders
/
/etc
/proc
/sys
and so on.. this is because those folders are the "kernel" that normally is read-only
you can make it write enabled but it's not a safe way to proceed...
so is there a chance to fix the issue with the bluetooth mac?!
would be important for me
(can't use my parrot car kit with my wifes hd2 because of the same mac adress )
rafpigna said:
First of all there is a WRONG that is big like an house
the init.rc "syntax" is not shell syntax.
so as example, command "write" will not work in shell... but only in init.rc
I see also a lot of confusions about stock froyo/gingerbread stuff and sense stuff.
Example: Sense uses it's own stuff for BT so a clean init.rc for sense is really different from the one for a non-sense build.
Also some stuff/commands needs to be changed/replaced to have them working with our hd2 kernel.
I have no time now but really this posts is about 30 different things that cannot be explained all togheter.
My suggestion is to google for "android init syntax" and start from there understanding all the android boot process and the android init syntax.
Click to expand...
Click to collapse
Thanks mate! The problem is that I have no clue how to do it but I hope someone outside who has more experience with all this knows what to do.
Btw, I have had also tried to do a simple test with this "write" command by fill a line within /etc/test and also /proc/test which fails. Usually I added some lines into the init.rc to see if this will work.
But I'm not sure if I have had something wrong.
rafpigna said:
About the wifi mac address.
The wifi mac address is "read" from the libhardware_legacy.so
normmaly this lib reads the mac address in /etc/calibration
Click to expand...
Click to collapse
Sorry, but this is not true. Check this:
http://developer.android.com/reference/android/net/wifi/WifiInfo.html
If you check this from Android SDK you will see that the wpa_supplicant is responsible for this. And this would be O.K. if you also check the BCM4329 source code.
First the CHIPSET will be initiated and prepared by the firmware and the nvram.txt and after that the wpa_supplicant do the rest.
How this exactly will work - sorry, too less coding knowledge
A good thing is it to compare the MAC & BT issue with the i9000 devices and Sony X10. The Sony X10 has the same QUALCOM chipset as the HD2.
Here are the files from the original Desire HD 1.8x.
The initrd.zip contains is the original file and the initrd~.7z is the extracted who is interested to read and compare.
see this http://gitorious.org/linux-on-wince...mmit/ce69804632e64b397758c1c9835f06efd0c8cb54
in file arch/arm/mach-msm/board-htcleo.c i see from markinus some changes to file bdaddress.but it is not in the main git tree we use for hd2 kernel
maybe someone kernel developer can see it and make a kernel for testing;
clio94 said:
see this http://gitorious.org/linux-on-wince...mmit/ce69804632e64b397758c1c9835f06efd0c8cb54
in file arch/arm/mach-msm/board-htcleo.c i see from markinus some changes to file bdaddress.but it is not in the main git tree we use for hd2 kernel
maybe someone kernel developer can see it and make a kernel for testing;
Click to expand...
Click to collapse
Looks good, but this is not valid for HD2. This is HTC Tattoo. If you check this code you will see "akm8973".
Damn!
http://nagaraj-embedded.blogspot.com/2011/02/guide-on-adding-wifi-drivers-on-android.html
and
http://www.jetdroid.org/forum/viewtopic.php?f=78&t=456&start=20#p4502
Can someone double check this???? From my point of view this looks quite good...
MrT69 said:
Sorry, but this is not true. Check this:
http://developer.android.com/reference/android/net/wifi/WifiInfo.html
If you check this from Android SDK you will see that the wpa_supplicant is responsible for this. And this would be O.K. if you also check the BCM4329 source code.
First the CHIPSET will be initiated and prepared by the firmware and the nvram.txt and after that the wpa_supplicant do the rest.
How this exactly will work - sorry, too less coding knowledge
A good thing is it to compare the MAC & BT issue with the i9000 devices and Sony X10. The Sony X10 has the same QUALCOM chipset as the HD2.
Click to expand...
Click to collapse
I'm wrong?
Sorry to say, I'm not an andorid guru but maybe I have a little bit more knoledge and trust me in our case, at least with our builds, the mac address is read from the calibration file.
So how is possible that in my builds you can change the wifi mac?
I just take yor desired wifi mac, write it in the /system/etc/calibration file and replace the libhardware_legacy.so that will read from that instead of /etc/calibration
MrT69 said:
Thanks mate! The problem is that I have no clue how to do it but I hope someone outside who has more experience with all this knows what to do.
Btw, I have had also tried to do a simple test with this "write" command by fill a line within /etc/test and also /proc/test which fails. Usually I added some lines into the init.rc to see if this will work.
But I'm not sure if I have had something wrong.
Click to expand...
Click to collapse
Already said... init.rc syntax is not shell syntax!!!
Anyway.. I still miss the purpose of this thread....
Just the first two google search links appearing with a simple "android init.rc" search
http://www.androidenea.com/2009/08/init-process-and-initrc.html
http://elinux.org/Android_Booting
Read that and something will be clearer.
rafpigna said:
I'm wrong?
Sorry to say, I'm not an andorid guru but maybe I have a little bit more knoledge and trust me in our case, at least with our builds, the mac address is read from the calibration file.
Click to expand...
Click to collapse
It might be that I have had something missunterstand but I only want to say by default (!) the MAC Address is not read from the calibration file by ANDROID. Of cause I have had tested your solution and it's working.
So how is possible that in my builds you can change the wifi mac?
I just take yor desired wifi mac, write it in the /system/etc/calibration file and replace the libhardware_legacy.so that will read from that instead of /etc/calibration
Click to expand...
Click to collapse
I know that the MAC Address could be changed within this way. I hope you don't understand it within the wrong way but from my point of view this is only a patch solution. Because of the fact that the BT & WiFi Chip is ONE (!) chip within HD2 there must be an other solution to read and get the MAC address for WiFi AND BT.
Already said... init.rc syntax is not shell syntax!!!
Click to expand...
Click to collapse
I only was asking why and where it was not working. In the mentime I know it because of your feedback. But I have add some lines into the init.rc and the files and changes was not written to the device. That was the reason why I was asking.
Anyway.. I still miss the purpose of this thread....
Click to expand...
Click to collapse
Hope to find some people who will help to fix all this issues and on the second hand I hope to find a solution for the BT and WiFi MAC to get it from the device.
It is proper time to make an open discussion about the 2.2.1 rom and more tweaks closer to HD2 reveal in the community.
MrT69 said:
I know that the MAC Address could be changed within this way. I hope you don't understand it within the wrong way but from my point of view this is only a patch solution. Because of the fact that the BT & WiFi Chip is ONE (!) chip within HD2 there must be an other solution to read and get the MAC address for WiFi AND BT.
Click to expand...
Click to collapse
maybe this is wrong but it is extremely good that in sense roms,you can change at any time wifi mac address.in my city municipality have free wifi hotspot but after sometime reads your wifi mac address and cut the connection for a time.so with dynamic wifi address i can be almost all time everywhere online and this saves me from a slow (because i live in a small greek city and 3g connection is not everywhere) data edge connection.
Just did a little research on the Kindle touchscreen controller ILITEK 2107QS001K (posted my results here).
Because I'm curious I Looked at the source code provided by Amazon.
Link: http://www.amazon.com/gp/help/customer/display.html?nodeId=200203720
Filename: Kindle_src_6.2_user_3003020.tar.gz
Found this file: kernel\android-2.6.35\drivers\input\touchscreen\ilitek.c
Lines 1135-1144:
Code:
// read touch resolution
[B]i2c.max_tp = 2;[/B]
if(ilitek_i2c_read_info(i2c.client, ILITEK_TP_CMD_GET_RESOLUTION, buf, res_len) < 0){
return -1;
}
[B]if(i2c.protocol_ver >= 0x200)[/B]{
// maximum touch point
[B]i2c.max_tp = buf[6];[/B]
// maximum button number
[B]i2c.max_btn = buf[7];[/B]
}
Those lines smell like they are the ones responsible for the amount of touch points enabled.
max_tp is defined in a struct near the top of the file with a comment stating "maximum touch point".
Thís file is also the only one that has different permissions than all the other files in this directory.
It would be interesting to get the debug output of the whole function ilitek_i2c_read_tp_info which is where the above lines are contained in (there are lot's of printk's in there).
Also it would be good to know what the value of i2c.protocol_ver is and if the if-clause evaluates TRUE.
Basically everything that goes on in those lines seems interesting so me.
Is there anybody out there who can tell me if I'm headed in the right direction?
EDIT
I also found this: http://wenku.baidu.com/view/77869053ad02de80d4d840ca.html - an Ilitek touch driver development manual for Android kernels. May be helpful.
Found this tool on the Android Market: ILITEK Touch Utility
Installed it on my KF and this is the main menu of the app:
Calibration - Calibrate touch screen
Upgrade - Upgrade new firmware from Hex file
Utility - Debug touch screen (submenus seen in screenshots below)
Information - Show touch screen information
Version - version 1.4.8 2011/04/11
The output of Information is this:
Code:
Firmware version: 10.2.5.0
Protocol version: 1.2
Max. X: 3968
Max. Y: 2304
Unfortunately it doesn't output something like max_tp.
I also ran Calibration and now touches seem to be registered more accurately.
emelie said:
Found this tool on the Android Market: ILITEK Touch Utility
Installed it on my KF and this is the main menu of the app:
Calibration - Calibrate touch screen
Upgrade - Upgrade new firmware from Hex file
Utility - Debug touch screen (submenus seen in screenshots below)
Information - Show touch screen information
Version - version 1.4.8 2011/04/11
The output of Information is this:
Code:
Firmware version: 10.2.5.0
Protocol version: 1.2
Max. X: 3968
Max. Y: 2304
Unfortunately it doesn't output something like max_tp.
I also ran Calibration and now touches seem to be registered more accurately.
Click to expand...
Click to collapse
This utility does "seem" to make the touchscreen more accurate. I'll have to spend time with my Fire though to be sure. Nice finds by the way!
*Btw, I think the firmware is the one responsible for setting multitouch points. The 2 is more like a default for when the version can't request the supported maximum number through the firmware.
yups have tried such stuff on X10, ARC, other deivces...
it all depends on the TS firmware...
we can improve the driver but if the firmware doesnt support it we cant do much...
also do keep in mind that Amazon got this tablet to the market at < 200$, so all the components (internally & externally) are NOT of highest caliber... cost reduction strategies...
DooMLoRD said:
yups have tried such stuff on X10, ARC, other deivces...
it all depends on the TS firmware...
we can improve the driver but if the firmware doesnt support it we cant do much...
also do keep in mind that Amazon got this tablet to the market at < 200$, so all the components (internally & externally) are of highest caliber... cost reduction strategies...
Click to expand...
Click to collapse
dont you mean are not? lol
death2all110 said:
dont you mean are not? lol
Click to expand...
Click to collapse
ya got disturbed by a p.m. so i forgot wht i was writing
I see you fixed it lol
More hints in dmesg output:
Code:
<6>[ 1.615631] ilitek_init
<6>[ 1.661468] ilitek_i2c_probe, i2c new style format
<4>[ 1.666473] ilitek_i2c_probe, IRQ: 0xC3
<6>[ 1.670593] ilitek_i2c_register_device, add i2c device, success
<6>[ 1.676818] ilitek_i2c_register_device, client.addr: 0x41
<6>[ 1.682495] ilitek_i2c_register_device, client.adapter: 0xDC839448
<6>[ 1.688995] ilitek_i2c_register_device, client.driver: 0xC06571CC
<6>[ 1.716339] ilitek_i2c_read_tp_info, firmware version 10.2.4.0
<6>[ 1.739715] ilitek_i2c_read_tp_info, protocol version: 1.2
<6>[ 1.763305] ilitek_i2c_read_tp_info, max_x: 3968, max_y: 2304, ch_x: 30, ch_y: 18
<6>[ 1.771148] ilitek_i2c_read_tp_info, max_tp: 2, max_btn: 0
<6>[ 1.777099] input: ilitek_i2c as /devices/platform/i2c_omap.2/i2c-2/2-0041/input/input1
<1>[ 1.785675] ilitek_i2c_register_device, register input device, success
<1>[ 1.792785] ilitek_i2c_register_device, request irq, success
<6>[ 1.798736] ilitek_init, register chrdev(246, 0)
Some time ago I found a module for the milestone that enables more touch points, it even let's you edit a config file where you set how many points you want. It worked (kinda) for my old d1 and my d2. I haven't tried it on my fire tho. I'll look around and see if i can find it if anyone is interested.
foxdog66 said:
Some time ago I found a module for the milestone that enables more touch points, it even let's you edit a config file where you set how many points you want. It worked (kinda) for my old d1 and my d2. I haven't tried it on my fire tho. I'll look around and see if i can find it if anyone is interested.
Click to expand...
Click to collapse
Definitely, let us know what you find out.
Sent from my Kindle Fire using xda premium
// read touch resolution
i2c.max_tp = 10;
if(ilitek_i2c_read_info(i2c.client, ILITEK_TP_CMD_GET_RESOLUTION, buf, res_len) < 0){
return -1;
}
if(i2c.protocol_ver >= 0x200){
// maximum touch point
i2c.max_tp = buf[6];
// maximum button number
i2c.max_btn = buf[7];
}
The code above would be my long life goal in fruit ninja.
has anyone gotten anywhere with this?
pyrostic said:
has anyone gotten anywhere with this?
Click to expand...
Click to collapse
i'm interested too, how can we enable more than 2 touch points?
Looking at the driver writing guide, it seems like the controller can't handle more than two points of input, or at least the guide only covers getting input from two points.
Sent from my Kindle Fire using Tapatalk
I compared the two Kernel source tars (6.2 and 6.2.1). There are various file differences, also in ilitek.c - that's the file I mentioned in the OP.
Here is a diff report of ilitek.c 6.2 and ilitek.c 6.2.1: http://jsbin.com/emuyot
That has to be the fix that amazon introduced which makes the screen a bit more responsive.
Would be interesting to know if everybody update their Kernel source to include this patch.
EDIT: Attached the diff as an image in case the jsbin disappears.
emelie said:
I compared the two Kernel source tars (6.2 and 6.2.1). There are various file differences, also in ilitek.c - that's the file I mentioned in the OP.
Here is a diff report of ilitek.c 6.2 and ilitek.c 6.2.1: http://jsbin.com/emuyot
That has to be the fix that amazon introduced which makes the screen a bit more responsive.
Would be interesting to know if everybody update their Kernel source to include this patch.
Click to expand...
Click to collapse
Thanks for the heads-up! I was planning on integrating the changes before but it got pushed to the sidelines and eventually forgotten. There are other changes in 6.2.1 which I'll integrate in my next release.
Hi,
I release final solution for the bluetooth calls echo issue. Solution is for the PX5 units. For now it works only with MD725 module.
Donate to me
If you want to use this solution in your custom ROM, please put my "Donate to me" button in a noticeable place.
Changelog:
26.08.2017:
-Added patched version of sdsdk
-Fixed problem with auto connect after sleep
24.08.2017:
-Added libgnustl_shared.so to zip archive because not all ROMs have it.
Click to expand...
Click to collapse
All needed files are available in the attachment
!! You have to be rooted in order to use this solution for the bluetooth echo !!
1. Copy gocsdk, sdsdk, libf1xaec.so, libgnustl_shared.so and f1xaec.ini files to your SD card
2. Install a file manager (like ES File Explorer) which supports exploration of Android system dirs.
3. Go to /system/bin directory
4. Find gocsdk file and rename it to gocsdk_backup
5. Copy gocsdk file from your SD card to /system/bin
6. Set permissions (access rights) to 777 for /system/bin/gocsdk
7. Find sdsdk file and rename it to sdsdk_backup
8. Copy sdsdk file from your SD card to /system/bin
9. Set permissions (access rights) to 777 for /system/bin/sdsdk
10. Copy libf1xaec.so to /system/lib directory
11. Set permissions (access rights) to 777 for /system/lib/libf1xaec.so
12. Copy libgnustl_shared.so to /system/lib directory
13. Set permissions (access rights) to 777 for /system/lib/libgnustl_shared.so
14. Copy f1xaec.ini to /system/etc directory
15. Set permissions (access rights) to 777 for /system/etc/f1xaec.ini
Now it is very important to figure out what binary is used by your Head Unit. It can be either sdsdk or gocsdk. Right now rules of choosing binary by a Head Unit are unknown - probably it depends on MCU.
16. Install a terminal emulator (like Termux)
17. Execute command ps | grep gocsdk and ps | grep sdsdk
18. Remember what process is running (gocsdk or sdsdk) (if execution one of these commands gave you more lines of output, it means that this binary is used by the Head Unit)
19. Open /system/etc/f1xaec.ini
20. If your Head Unit is using sdsdk, change value of the streamDelay parameter to 280
21. If your Head Unit is using gocsdk, change value of the streamDelay parameter to 210
22. Restart Head Unit.
Click to expand...
Click to collapse
gocsdk and sdsdk are taken from HA 20170726 rom. If someone of you would have a problem on newer firmware, then we will consider update of binaries.
Short info: libf1xaec.so is a shared library containing implementation of webrtc algorithms with my patches and adjustments for RK3688 SoC. Do not worry - any viruses or other spyware are not included .
I'm sorry and I personally disagree with what was done by XDA moderators, I hope the manufacturer will listen to you.
In any case thank you for all the hard work you have done.
I also disagree.. I will donate back. The donation is a thank you for all the hard work.
So thank you.
hi,
thank you for the refund, but i sent it to you back, it is for your hard work as write Nomader0, thank you
Joining the others here in what they say, I will also donate again. - your work is worth it regardless of this isolated fix.
Looking forward to what happens here, and to see what you can achieve with the manufacturers...
We have so many great people here . Guys, thank you very much for all your messages and donations - I really, really appreciate that . Now I see that is worth to sitting even 3 months in the car D) just to read such good words.
So, there is no time to wait. Please read the first post and enjoy .
Great! Is there any precautions in install if I already have one of your earlier fix? (testing the old "C" right now)
Is the old gosdk_orig ok, just rename to _backup? The other "sdk" file in the first fix should be taken back to original?
[email protected] said:
Great! Is there any precautions in install if I already have one of your earlier fix? (testing the old "C" right now)
Is the old gosdk_orig ok, just rename to _backup? The other "sdk" file in the first fix should be taken back to original?
Click to expand...
Click to collapse
Nothing special to upgrade from previous solution is needed. Just replace gocsdk from old solution with newer one and follow the README.
Yes, sdsdk can be taken back to original. Name of the gocsdk backup file does not matter - it can be _backup, _orig, etc.
What I observed, Sdsdk* binaries are not executed by Android at all. They are almost the same as gocsdk. The only difference is implementation of the audio pooling.
Hi, I have an xtrons PB7653BAP with the same problem. I tried your solution, but cannot rename or copy in the directory with ES File Explorer. It is read only. How can I change that? Afterwards, how can I set permission codes to 777?
Thanks
clsbuilder said:
Hi, I have an xtrons PB7653BAP with the same problem. I tried your solution, but cannot rename or copy in the directory with ES File Explorer. It is read only. How can I change that? Afterwards, how can I set permission codes to 777?
Thanks
Click to expand...
Click to collapse
you have to be root.
after that use root explorer
Nomader0 said:
you have to be root.
after that use root explorer
Click to expand...
Click to collapse
OK, thanks for that. Stupid question (I'm not used to Android) perhaps but how to get rooted? Do you mean at the reboot (menu) of the radio?
clsbuilder said:
OK, thanks for that. Stupid question (I'm not used to Android) perhaps but how to get rooted? Do you mean at the reboot (menu) of the radio?
Click to expand...
Click to collapse
ok..
1st, is your unit a PX3 or PX5?
there are 2 ways to root
1. install Malaysks ROM which is rooted
2. use tools like kingoroot etc..
Nomader0 said:
ok..
1st, is your unit a PX3 or PX5?
there are 2 ways to root
1. install Malaysks ROM which is rooted
2. use tools like kingoroot etc..
Click to expand...
Click to collapse
OK, I can manage that. About px3 or 5, no clue; where can I find that? Can you help me on that? I cannot post a link (because I am new), but if you search for xtrons PB7653BAP you will find it; It is a 7" HD Digital Octa-Core 64bit 32GB + 2G RAM Android 6.0 Multi Touch Screen Car DVD Player Custom Fit for BMW E53 / X5.
clsbuilder said:
OK, I can manage that. About px3 or 5, no clue; where can I find that?
Click to expand...
Click to collapse
Settings >> About tablet >> Build number - what is at the beginning of the line?
clsbuilder said:
OK, I can manage that. About px3 or 5, no clue; where can I find that? Can you help me on that? I cannot post a link (because I am new), but if you search for xtrons PB7653BAP you will find it; It is a 7" HD Digital Octa-Core 64bit 32GB + 2G RAM Android 6.0 Multi Touch Screen Car DVD Player Custom Fit for BMW E53 / X5.
Click to expand...
Click to collapse
ok this is a little off-topic.. but here it goes.
99% you unit is PX5. you can go to settings-->about.. and see.. you will also find the word "MTCD" tell me what 2 or 3 letters are next to that... (GS?, MX? KSP?)
this would be you manufacturer..
you will also find the word PX5 somewhere there or PX3..
now if it is PX5 (which probably it is) go to:
https://forum.xda-developers.com/an...lopment/rom-malaysk-roms-mtcd-device-t3598908
and you will find info there on how to install Malaysks ROM.. your unit will be reset. i advise you to install v.2 of the ROM, and not v.3/v.3.5/v4. v2 is the most stable for now.
Hi f1x,
Like everyone I renewed my donation too, you really deserve it.
I am among those who have the new Dasaita unit that uses a new Bluetooth module (SD-968 module) (see attached image)
I launched the two commands: `ps | Grep gocsdk` e `ps | Grep sdsdk`
With the first command (`ps | grep gocsdk`) Terminal Emulator does not return any result (see attached image)
With the second command (`ps | grep sdsdk`) Terminal Emulator returns this result (see attached image):
root 1643 1 35768 10552 do_wait 0000000000 S /system/bin/sdsdk968
root 17880 1643 45060 2900 futex_wait 0000000000 S /system/bin/sdsdk968
[email protected]:/ $
Hope this information can help extend the fix to this new Bluetooth module.
Thank you
Nomader0 said:
ok this is a little off-topic.. but here it goes.
99% you unit is PX5. you can go to settings-->about.. and see.. you will also find the word "MTCD" tell me what 2 or 3 letters are next to that... (GS?, MX? KSP?)
this would be you manufacturer..
you will also find the word PX5 somewhere there or PX3..
now if it is PX5 (which probably it is) go to:
https://forum.xda-developers.com/an...lopment/rom-malaysk-roms-mtcd-device-t3598908
and you will find info there on how to install Malaysks ROM.. your unit will be reset. i advise you to install v.2 of the ROM, and not v.3/v.3.5/v4. v2 is the most stable for now.
Click to expand...
Click to collapse
+ Please check in factory settings what bluetooth module is installed. For now solutions works only for MD725.
apollo1976 said:
Hi f1x,
Like everyone I renewed my donation too, you really deserve it.
I am among those who have the new Dasaita unit that uses a new Bluetooth module (SD-968 module) (see attached image)
I launched the two commands: `ps | Grep gocsdk` e `ps | Grep sdsdk`
With the first command (`ps | grep gocsdk`) Terminal Emulator does not return any result (see attached image)
With the second command (`ps | grep sdsdk`) Terminal Emulator returns this result (see attached image):
root 1643 1 35768 10552 do_wait 0000000000 S /system/bin/sdsdk968
root 17880 1643 45060 2900 futex_wait 0000000000 S /system/bin/sdsdk968
[email protected]:/ $
Hope this information can help extend the fix to this new Bluetooth module.
Thank you
Click to expand...
Click to collapse
my 2nd unit also has sd968. i will try tonight and post my results.. hope f1x can make it work for that too
apollo1976 said:
Hi f1x,
Like everyone I renewed my donation too, you really deserve it.
I am among those who have the new Dasaita unit that uses a new Bluetooth module (SD-968 module) (see attached image)
I launched the two commands: `ps | Grep gocsdk` e `ps | Grep sdsdk`
With the first command (`ps | grep gocsdk`) Terminal Emulator does not return any result (see attached image)
With the second command (`ps | grep sdsdk`) Terminal Emulator returns this result (see attached image):
root 1643 1 35768 10552 do_wait 0000000000 S /system/bin/sdsdk968
root 17880 1643 45060 2900 futex_wait 0000000000 S /system/bin/sdsdk968
[email protected]:/ $
Hope this information can help extend the fix to this new Bluetooth module.
Thank you
Click to expand...
Click to collapse
Yes, now I have all needed info to start work on solution for new bluetooth module. But I will not have possibilty to test it.
I hope I release it still today.
f1x said:
Yes, now I have all needed info to start work on solution for new bluetooth module. But I will not have possibilty to test it.
I hope I release it still today.
Click to expand...
Click to collapse
i can help you any way i can
Hello all,
I'm green with envy that you're the first to get a Snapdragon 8 Gen 1 processor! Since you can't get these yet in the US, I would appreciate if any of you can run a few commands under add shell - from http://NewAndroidBook.com/ddb - and get me info on the device and chipset for my Android Device Database, please?
All commands are entirely non harmful. It really helps if your device is rooted (because some low level commands might be permission denied), but even on a non rooted device these get important information.
Thanks,
J