adb send events - General Questions and Answers

0
down vote
favorite
I want to simulate a touch in an android device, the fastest way possible. I think the fastest is low level (sendevents). I tried with "shell input tap" but it is too slow.
To do this I did:
adb shell getevent
and I've copied the output of my touch event:
Code:
/dev/input/event1: 0003 0039 00000867
/dev/input/event1: 0003 0035 00000095
/dev/input/event1: 0003 0036 00000233
/dev/input/event1: 0001 014a 00000001
/dev/input/event1: 0000 0000 00000000
/dev/input/event1: 0003 0039 ffffffff
/dev/input/event1: 0001 014a 00000000
/dev/input/event1: 0000 0000 00000000
After that I did a simple python script to run send this sendevents.
Code:
def sendevent (device,event):
command = "adb -s " + device + " shell sendevent /dev/input/event1 " + event
print (command)
os.popen(command)
def touch_position():
sendevent("fbc690357d04","0003 0039 00000867")
sendevent("fbc690357d04","0003 0035 00000095")
sendevent("fbc690357d04","0003 0036 00000233")
sendevent("fbc690357d04","0001 014a 000000010")
sendevent("fbc690357d04","0000 0000 00000000")
sendevent("fbc690357d04","0003 0039 ffffffff")
sendevent("fbc690357d04","0001 014a 00000000")
sendevent("fbc690357d04","0000 0000 00000000")
It is now working as I cant see any touch! Can you help me?

Getevent, gets the event as HEX. But sendevent requiers decimals as input.
Sorry for this late reply, but i'm searching for a sollution to a diffrent problem i have with sendevent, also you would need to put in some "sleep 0.05" for it to run properly. That's an issue i've noticed.

Related

[Q] [Verified Android Trojan] Unknown app sends hidden sms to +493394991625

Hi,
After downloading dozens of apps from appbrain last night
I've noticed an unknown app sending a sms to +493394991625
30.7.2011 1 : 25 : 59 493394991625 1,00Stk. 1,00Stk. 0,20 EUR
from my htc wildfire S A510e in my service providers logs last night.
and looks like it's hiding and wiping traces by disabling storing sent sms messages and other notification settings.
Furthermore I noticed disabled Lookout security app update setting,
I've installed a bunch of popular malware detectors, let's see who wins...
Code:
$ ps
USER PID PPID VSIZE RSS WCHAN PC NAME
root 1 0 388 240 ffffffff 00000000 S /init
root 2 0 0 0 ffffffff 00000000 S kthreadd
root 3 2 0 0 ffffffff 00000000 S ksoftirqd/0
root 4 2 0 0 ffffffff 00000000 S watchdog/0
root 5 2 0 0 ffffffff 00000000 S events/0
root 6 2 0 0 ffffffff 00000000 S khelper
root 7 2 0 0 ffffffff 00000000 S async/mgr
root 8 2 0 0 ffffffff 00000000 S suspend
root 9 2 0 0 ffffffff 00000000 S sync_supers
root 10 2 0 0 ffffffff 00000000 S bdi-default
root 11 2 0 0 ffffffff 00000000 S kblockd/0
root 12 2 0 0 ffffffff 00000000 S kmmcd
root 13 2 0 0 ffffffff 00000000 S kondemand/0
root 14 2 0 0 ffffffff 00000000 S smd_tty
root 15 2 0 0 ffffffff 00000000 D rpcrouter
root 16 2 0 0 ffffffff 00000000 S krpcserversd
root 17 2 0 0 ffffffff 00000000 S qmi
root 18 2 0 0 ffffffff 00000000 S kadspd
root 19 2 0 0 ffffffff 00000000 S microp_work_q
root 20 2 0 0 ffffffff 00000000 S detect/0
root 21 2 0 0 ffffffff 00000000 S button/0
root 22 2 0 0 ffffffff 00000000 S detect/0
root 23 2 0 0 ffffffff 00000000 S button/0
root 24 2 0 0 ffffffff 00000000 S HS_GPIO_DETECT/
root 25 2 0 0 ffffffff 00000000 S HS_GPIO_BUTTON/
root 26 2 0 0 ffffffff 00000000 S khungtaskd
root 27 2 0 0 ffffffff 00000000 S kswapd0
root 28 2 0 0 ffffffff 00000000 S aio/0
root 29 2 0 0 ffffffff 00000000 S crypto/0
root 40 2 0 0 ffffffff 00000000 S panel_on/0
root 41 2 0 0 ffffffff 00000000 S diag_wq
root 42 2 0 0 ffffffff 00000000 S msm_serial_hs
root 43 2 0 0 ffffffff 00000000 S msm_serial_hs
root 44 2 0 0 ffffffff 00000000 S msm_serial_hs
root 45 2 0 0 ffffffff 00000000 S mtdblockd
root 52 2 0 0 ffffffff 00000000 S msm_hsusb
root 53 2 0 0 ffffffff 00000000 S usb_mass_storag
root 54 2 0 0 ffffffff 00000000 S gs_tty
root 55 2 0 0 ffffffff 00000000 S cypress_touch
root 56 2 0 0 ffffffff 00000000 S synaptics_wq
root 57 2 0 0 ffffffff 00000000 S ki_queue
root 58 2 0 0 ffffffff 00000000 S cm3628_wq
root 59 2 0 0 ffffffff 00000000 S kstriped
root 60 2 0 0 ffffffff 00000000 S binder
root 61 2 0 0 ffffffff 00000000 S l2cap
root 62 2 0 0 ffffffff 00000000 S krfcommd
root 63 1 300 140 ffffffff 00000000 S /sbin/ueventd
system 65 1 856 160 ffffffff 00000000 S /system/bin/servicemanager
root 66 2 0 0 ffffffff 00000000 S sd-qd
root 67 1 3940 348 ffffffff 00000000 S /system/bin/vold
root 68 1 3952 288 ffffffff 00000000 S /system/bin/netd
root 69 1 3260 216 ffffffff 00000000 S /system/bin/debuggerd
radio 70 1 14240 560 ffffffff 00000000 S /system/bin/rild
root 71 1 98644 22776 ffffffff 00000000 S zygote
media 72 1 44440 3164 ffffffff 00000000 S /system/bin/mediaserver
root 73 1 12344 780 ffffffff 00000000 S /system/bin/htcfs
bluetooth 74 1 1312 168 ffffffff 00000000 S /system/bin/dbus-daemon
root 75 1 880 268 ffffffff 00000000 S /system/bin/installd
keystore 76 1 1824 184 ffffffff 00000000 S /system/bin/keystore
root 77 1 840 148 ffffffff 00000000 S /system/bin/ipd
compass 79 1 3180 300 ffffffff 00000000 S /system/bin/akmd
root 81 1 1100 288 ffffffff 00000000 S /system/bin/htc_ebdlogd
root 87 81 2152 1664 ffffffff 00000000 S /system/bin/logcat2
root 116 2 0 0 ffffffff 00000000 D snd_rpc
system 118 71 246828 38828 ffffffff 00000000 S system_server
root 140 2 0 0 ffffffff 00000000 D audmgr_rpc
system 187 71 143140 26508 ffffffff 00000000 S com.android.systemui
app_11 209 71 131368 20700 ffffffff 00000000 S com.htc.android.htcime
radio 216 71 155760 26148 ffffffff 00000000 S com.android.phone
app_21 221 71 248620 51508 ffffffff 00000000 S android.process.acore
app_17 245 71 187440 24360 ffffffff 00000000 S com.google.process.gapps
root 431 2 0 0 ffffffff 00000000 S flush-0:17
root 552 2 0 0 ffffffff 00000000 S flush-179:0
root 803 2 0 0 ffffffff 00000000 D audmgr_rpc
app_126 981 1 5368 376 ffffffff 00000000 S ./smrsd
app_126 983 981 2140 1664 ffffffff 00000000 S /system/bin/logcat
root 1487 2 0 0 ffffffff 00000000 S flush-31:0
app_72 2482 71 113872 15820 ffffffff 00000000 S org.sipdroid.sipua
app_6 2534 71 193320 31532 ffffffff 00000000 S com.android.vending
app_101 2586 1 944 472 ffffffff 00000000 S logcat
app_86 3159 71 169616 20608 ffffffff 00000000 S com.lookout
app_101 3167 71 128972 18376 ffffffff 00000000 S com.antivirus
app_101 3203 3167 944 468 ffffffff 00000000 S logcat
app_86 3341 3159 1888 1412 ffffffff 00000000 S logcat
app_7 3404 71 147256 17180 ffffffff 00000000 S android.process.media
nobody 3635 71 146292 33480 ffffffff 00000000 S com.htc.launcher
app_21 3738 71 129612 20424 ffffffff 00000000 S com.android.htccontacts
app_52 3861 71 126588 16900 ffffffff 00000000 S com.android.mms
app_40 4468 71 127588 16696 ffffffff 00000000 S com.htc.cspeoplesync
app_121 4617 71 108112 14208 ffffffff 00000000 S com.zrgiu.antivirus
app_47 4631 71 107632 13392 ffffffff 00000000 S com.htc.wotaproviders
system 4784 71 107632 12704 ffffffff 00000000 S com.android.server.vpn:remote
app_122 4833 71 108588 14044 ffffffff 00000000 S com.netqin.antivirussc
app_130 4846 71 111336 15288 ffffffff 00000000 S com.trustmobi.MobiShield
app_12 4859 71 117108 22404 ffffffff 00000000 S com.htc.bgp
app_124 5059 71 111520 15684 ffffffff 00000000 S com.zoner.android.antivirus
app_27 5268 71 119504 15020 ffffffff 00000000 S com.google.android.googlequicksearchbox
app_58 5277 71 133176 20560 ffffffff 00000000 S com.htc.lmw
root 5317 2 0 0 ffffffff 00000000 S flush-7:8
root 5319 2 0 0 ffffffff 00000000 S loop8
root 5320 2 0 0 ffffffff 00000000 S kdmflush
root 5321 2 0 0 ffffffff 00000000 S kcryptd_io
root 5322 2 0 0 ffffffff 00000000 S kcryptd
root 5345 2 0 0 ffffffff 00000000 S flush-7:9
root 5348 2 0 0 ffffffff 00000000 S loop9
root 5349 2 0 0 ffffffff 00000000 S kdmflush
root 5350 2 0 0 ffffffff 00000000 S kcryptd_io
root 5351 2 0 0 ffffffff 00000000 S kcryptd
root 5373 2 0 0 ffffffff 00000000 S flush-7:10
root 5376 2 0 0 ffffffff 00000000 S loop10
root 5377 2 0 0 ffffffff 00000000 S kdmflush
root 5378 2 0 0 ffffffff 00000000 S kcryptd_io
root 5379 2 0 0 ffffffff 00000000 S kcryptd
root 5397 2 0 0 ffffffff 00000000 S flush-7:11
root 5401 2 0 0 ffffffff 00000000 S loop11
root 5402 2 0 0 ffffffff 00000000 S kdmflush
root 5403 2 0 0 ffffffff 00000000 S kcryptd_io
root 5404 2 0 0 ffffffff 00000000 S kcryptd
root 5421 2 0 0 ffffffff 00000000 S flush-7:12
root 5424 2 0 0 ffffffff 00000000 S loop12
root 5425 2 0 0 ffffffff 00000000 S kdmflush
root 5426 2 0 0 ffffffff 00000000 S kcryptd_io
root 5427 2 0 0 ffffffff 00000000 S kcryptd
root 5445 2 0 0 ffffffff 00000000 S flush-7:13
root 5448 2 0 0 ffffffff 00000000 S loop13
root 5449 2 0 0 ffffffff 00000000 S kdmflush
root 5450 2 0 0 ffffffff 00000000 S kcryptd_io
root 5451 2 0 0 ffffffff 00000000 S kcryptd
root 5466 2 0 0 ffffffff 00000000 S flush-7:14
root 5472 2 0 0 ffffffff 00000000 S loop14
root 5473 2 0 0 ffffffff 00000000 S kdmflush
root 5474 2 0 0 ffffffff 00000000 S kcryptd_io
root 5475 2 0 0 ffffffff 00000000 S kcryptd
app_63 5483 71 118580 20480 ffffffff 00000000 S com.google.android.gm
root 5501 2 0 0 ffffffff 00000000 S flush-7:15
root 5508 2 0 0 ffffffff 00000000 S loop15
root 5509 2 0 0 ffffffff 00000000 S kdmflush
root 5510 2 0 0 ffffffff 00000000 S kcryptd_io
root 5511 2 0 0 ffffffff 00000000 S kcryptd
root 5527 2 0 0 ffffffff 00000000 S flush-7:16
root 5539 2 0 0 ffffffff 00000000 S loop16
root 5540 2 0 0 ffffffff 00000000 S kdmflush
root 5541 2 0 0 ffffffff 00000000 S kcryptd_io
root 5542 2 0 0 ffffffff 00000000 S kcryptd
root 5550 2 0 0 ffffffff 00000000 S flush-7:17
root 5562 2 0 0 ffffffff 00000000 S loop17
root 5563 2 0 0 ffffffff 00000000 S kdmflush
root 5564 2 0 0 ffffffff 00000000 S kcryptd_io
root 5565 2 0 0 ffffffff 00000000 S kcryptd
app_56 5579 71 174784 28264 ffffffff 00000000 S com.htc.cs
root 5587 2 0 0 ffffffff 00000000 S flush-7:18
root 5603 2 0 0 ffffffff 00000000 S loop18
root 5604 2 0 0 ffffffff 00000000 S kdmflush
root 5605 2 0 0 ffffffff 00000000 S kcryptd_io
root 5606 2 0 0 ffffffff 00000000 S kcryptd
root 5650 2 0 0 ffffffff 00000000 S flush-7:19
root 5656 2 0 0 ffffffff 00000000 S loop19
root 5657 2 0 0 ffffffff 00000000 S kdmflush
root 5658 2 0 0 ffffffff 00000000 S kcryptd_io
root 5659 2 0 0 ffffffff 00000000 S kcryptd
root 5708 2 0 0 ffffffff 00000000 S flush-7:20
root 5712 2 0 0 ffffffff 00000000 S loop20
root 5713 2 0 0 ffffffff 00000000 S kdmflush
root 5714 2 0 0 ffffffff 00000000 S kcryptd_io
root 5715 2 0 0 ffffffff 00000000 S kcryptd
app_59 5856 71 109988 16604 ffffffff 00000000 S com.htc.recommend
root 5916 2 0 0 ffffffff 00000000 S flush-7:21
root 5919 2 0 0 ffffffff 00000000 S loop21
root 5920 2 0 0 ffffffff 00000000 S kdmflush
root 5921 2 0 0 ffffffff 00000000 S kcryptd_io
root 5922 2 0 0 ffffffff 00000000 S kcryptd
app_16 5993 71 107696 14992 ffffffff 00000000 S com.htc.htchubsyncprovider
app_20 6014 71 107808 16072 ffffffff 00000000 S com.htc.messagecs
app_28 6021 71 107924 16172 ffffffff 00000000 S com.htc.musicmarkeditems
app_128 6026 71 109936 15720 ffffffff 00000000 S com.opensystem.terminator
app_11 6044 71 136420 17812 ffffffff 00000000 S com.htc.android.htcime:provider
app_120 6091 71 109956 16904 ffffffff 00000000 S com.drweb:monitor
app_67 6117 71 122120 19548 ffffffff 00000000 S com.google.android.apps.maps:NetworkLocationService
app_12 6137 71 113356 18940 ffffffff 00000000 S com.htc.bg
app_138 6145 71 114012 20244 ffffffff 00000000 S com.mymobileprotection15
app_79 6164 71 109788 15888 ffffffff afd0c64c S br.com.bott.droidsshd
app_76 6177 71 121940 21804 ffffffff 00000000 S com.wefi.wefi
system 6235 71 113144 17280 ffffffff 00000000 S com.android.settings
app_79 6251 6465 1212 496 c00f98cc 00063324 S /data/data/br.com.bott.droidsshd/files/bin/dropbear
app_79 6252 6251 728 316 c0083920 afd0c4dc S -sh
app_79 6259 6252 876 300 00000000 afd0b58c R ps
app_79 6465 1 1212 180 c00f98cc 00063324 S /data/data/br.com.bott.droidsshd/files/bin/dropbear
root 9575 2 0 0 ffffffff 00000000 S flush-7:0
root 9581 2 0 0 ffffffff 00000000 S loop0
root 9582 2 0 0 ffffffff 00000000 S kdmflush
root 9583 2 0 0 ffffffff 00000000 S kcryptd_io
root 9584 2 0 0 ffffffff 00000000 S kcryptd
root 10019 2 0 0 ffffffff 00000000 S flush-7:1
root 10025 2 0 0 ffffffff 00000000 S loop1
root 10026 2 0 0 ffffffff 00000000 S kdmflush
root 10027 2 0 0 ffffffff 00000000 S kcryptd_io
root 10028 2 0 0 ffffffff 00000000 S kcryptd
root 10179 2 0 0 ffffffff 00000000 S flush-7:2
root 10185 2 0 0 ffffffff 00000000 S loop2
root 10186 2 0 0 ffffffff 00000000 S kdmflush
root 10187 2 0 0 ffffffff 00000000 S kcryptd_io
root 10188 2 0 0 ffffffff 00000000 S kcryptd
root 10293 2 0 0 ffffffff 00000000 S flush-7:3
root 10299 2 0 0 ffffffff 00000000 S loop3
root 10300 2 0 0 ffffffff 00000000 S kdmflush
root 10301 2 0 0 ffffffff 00000000 S kcryptd_io
root 10302 2 0 0 ffffffff 00000000 S kcryptd
root 10860 2 0 0 ffffffff 00000000 S flush-7:4
root 10867 2 0 0 ffffffff 00000000 S loop4
root 10868 2 0 0 ffffffff 00000000 S kdmflush
root 10869 2 0 0 ffffffff 00000000 S kcryptd_io
root 10870 2 0 0 ffffffff 00000000 S kcryptd
root 11330 2 0 0 ffffffff 00000000 S flush-7:5
root 11332 2 0 0 ffffffff 00000000 S loop5
root 11333 2 0 0 ffffffff 00000000 S kdmflush
root 11334 2 0 0 ffffffff 00000000 S kcryptd_io
root 11335 2 0 0 ffffffff 00000000 S kcryptd
root 11353 2 0 0 ffffffff 00000000 S flush-7:6
root 11360 2 0 0 ffffffff 00000000 S loop6
root 11361 2 0 0 ffffffff 00000000 S kdmflush
root 11362 2 0 0 ffffffff 00000000 S kcryptd_io
root 11363 2 0 0 ffffffff 00000000 S kcryptd
root 11376 2 0 0 ffffffff 00000000 S flush-7:7
root 11378 2 0 0 ffffffff 00000000 S loop7
root 11379 2 0 0 ffffffff 00000000 S kdmflush
root 11380 2 0 0 ffffffff 00000000 S kcryptd_io
root 11381 2 0 0 ffffffff 00000000 S kcryptd
app_56 13589 71 112512 17840 ffffffff 00000000 S com.htc.cs:remote
app_78 21827 71 117468 16508 ffffffff 00000000 S com.skype.raider
app_78 21917 21827 14616 10268 ffffffff 00000000 S /data/data/com.skype.raider/files/skypekit
root 22015 2 0 0 ffffffff 00000000 S iscan_sysioc
root 22016 2 0 0 ffffffff 00000000 S dhcp_sysioc
root 22017 2 0 0 ffffffff 00000000 S ap_sysioc
root 22018 2 0 0 ffffffff 00000000 S dhd_watchdog
root 22019 2 0 0 ffffffff 00000000 S dhd_dpc
root 22020 2 0 0 ffffffff 00000000 S dhd_sysioc
log 22021 1 708 152 ffffffff 00000000 S /system/bin/logwrapper
wifi 22023 22021 2480 744 ffffffff 00000000 S /system/bin/wpa_supplicant
app_101 24919 1 944 468 ffffffff 00000000 S logcat
app_101 26402 1 944 468 ffffffff 00000000 S logcat
dhcp 29044 1 900 212 ffffffff 00000000 S /system/bin/dhcpcd
app_101 29471 1 944 472 ffffffff 00000000 S logcat
app_123 29948 1 952 444 ffffffff 00000000 S /data/data/jp.ktinc.fastscan/fseng
app_125 31043 71 173488 42988 ffffffff 00000000 S com.morrison.applocklite
app_125 31056 31043 944 472 ffffffff 00000000 S logcat
app_125 31083 31043 944 468 ffffffff 00000000 S logcat
app_126 32496 71 146544 23948 ffffffff 00000000 S com.symantec.mobilesecurity
app_126 32763 32496 1588 1112 ffffffff 00000000 S logcat
$
Code:
Aug 1 15:54:12 freshclam[6026]: main.cvd is up to date (version: 53, sigs: 846214, f-level: 53, builder: sven)
Aug 1 15:54:12 freshclam[6026]: daily.cld is up to date (version: 13385, sigs: 166221, f-level: 60, builder: ccordes)
Aug 1 15:54:12 freshclam[6026]: bytecode.cld is up to date (version: 144, sigs: 41, f-level: 60, builder: edwin)
Code:
$ clamscan -r --bell --detect-pua=yes --heuristic-scan-precedence=yes sdcard16GB-virus
sdcard16GB-virus/google_*****.vcf: OK
sdcard16GB-virus/setup_3.0.5551.exe: OK
sdcard16GB-virus/pcsc_pcsc_00001.vcf: OK
sdcard16GB-virus/Android/data/com.google.android.apps.maps/cache/cache_its.m: OK
sdcard16GB-virus/Android/data/com.google.android.apps.maps/cache/cache_vts_tran_GMM.m: OK
sdcard16GB-virus/Android/data/com.google.android.apps.maps/cache/cache_its_ter.m: OK
sdcard16GB-virus/Android/data/com.google.android.apps.maps/cache/cache_vts_GMM.m: OK
sdcard16GB-virus/Android/data/com.google.android.apps.maps/cache/cache_r.m: OK
sdcard16GB-virus/Android/data/com.google.android.apps.maps/cache/cache_vts_labl_GMM.m: OK
sdcard16GB-virus/Android/data/.nomedia: Empty file
sdcard16GB-virus/svox/en-GB_ta.bin: OK
sdcard16GB-virus/svox/en-US_lh0_sg.bin: OK
sdcard16GB-virus/svox/fr-FR_ta.bin: OK
sdcard16GB-virus/svox/es-ES_zl0_sg.bin: OK
sdcard16GB-virus/svox/fr-FR_nk0_sg.bin: OK
sdcard16GB-virus/svox/it-IT_ta.bin: OK
sdcard16GB-virus/svox/es-ES_ta.bin: OK
sdcard16GB-virus/svox/en-GB_kh0_sg.bin: OK
sdcard16GB-virus/svox/it-IT_cm0_sg.bin: OK
sdcard16GB-virus/svox/en-US_ta.bin: OK
sdcard16GB-virus/svox/de-DE_gl0_sg.bin: OK
sdcard16GB-virus/svox/de-DE_ta.bin: OK
sdcard16GB-virus/download/DroidSSHdv06.apk: OK
sdcard16GB-virus/download/Apps_Installer_0.2.1.apk: OK
sdcard16GB-virus/download/org.mozilla.firefox.apk: OK
sdcard16GB-virus/download/com.wefi.wefi.apk: OK
sdcard16GB-virus/download/com.faststring.fastappinstaller.apk: OK
sdcard16GB-virus/download/de.schildbach.oeffi.apk: OK
sdcard16GB-virus/download/org.mozilla.firefox_beta.apk: OK
sdcard16GB-virus/google_******_00002.vcf: OK
sdcard16GB-virus/Quick Start Guide/20110413_Marvel_HTC_Italian_QSG.pdf: OK
sdcard16GB-virus/Quick Start Guide/20110414_Marvel_HTC_German_QSG.pdf.pdf: OK
sdcard16GB-virus/Quick Start Guide/20110413_Marvel_HTC_French_QSG.pdf: OK
sdcard16GB-virus/*********/Sipdroid-2.3.apk: OK
sdcard16GB-virus/sim_SIM_00001.vcf: OK
sdcard16GB-virus/sim_SIM_00002.vcf: Empty file
sdcard16GB-virus/pcsc_pcsc_00002.vcf: OK
sdcard16GB-virus/Safety Guide/20110406_Marvel_HTC_Italian_Safety-regulatory_guide.pdf: OK
sdcard16GB-virus/Safety Guide/20110325_Marvel_HTC_French_Safety-regulatory_guide.pdf: OK
sdcard16GB-virus/Safety Guide/20110324_Marvel_HTC_German_Safety-regulatory_guide.pdf: OK
sdcard16GB-virus/miren_browser/.cache/CacheList: OK
sdcard16GB-virus/miren_browser/.cache/databases/ApplicationCache.db: OK
sdcard16GB-virus/miren_browser/.cache/geolocation/CachedGeoposition.db: OK
sdcard16GB-virus/miren_browser/.cache/geolocation/GeolocationPermissions.db: Empty file
sdcard16GB-virus/miren_browser/imagecaches/rssIcon/3d87920807b05c46ee34b296fc331cdf.png: OK
sdcard16GB-virus/miren_browser/imagecaches/rssIcon/8a1f63f02b6f44fb91bd197dd5dfdc9e.png: OK
sdcard16GB-virus/miren_browser/imagecaches/rssIcon/a7e4cbd44379085999164a851497a8fa.png: OK
sdcard16GB-virus/miren_browser/imagecaches/rssIcon/39fbd541589b2ec6a36d872e02514412.png: OK
sdcard16GB-virus/miren_browser/imagecaches/rssIcon/3f7f3c517a020bf4836368e24830632f.png: OK
sdcard16GB-virus/miren_browser/.persist/webview_pictures/webview_0: OK
sdcard16GB-virus/DCIM/sample01.jpg: OK
sdcard16GB-virus/DCIM/sample07.jpg: OK
sdcard16GB-virus/DCIM/sample06.jpg: OK
sdcard16GB-virus/DCIM/sample09.jpg: OK
sdcard16GB-virus/DCIM/sample03.jpg: OK
sdcard16GB-virus/DCIM/.thumbnails/4-712AC800-2155097-480.jpg: OK
sdcard16GB-virus/DCIM/.thumbnails/2-9683FC85-3126664-480.jpg: OK
sdcard16GB-virus/DCIM/.thumbnails/2-3C600F01-2699282-480.jpg: OK
sdcard16GB-virus/DCIM/.thumbnails/2-92F65F82-3806217-480.jpg: OK
sdcard16GB-virus/DCIM/.thumbnails/4-4D34F029-7255294-480.jpg: OK
sdcard16GB-virus/DCIM/.thumbnails/2-C1F43D8A-4013455-480.jpg: OK
sdcard16GB-virus/DCIM/.thumbnails/2-58111224-2901259-480.jpg: OK
sdcard16GB-virus/DCIM/.thumbnails/4-9683FC85-3126664-480.jpg: OK
sdcard16GB-virus/DCIM/.thumbnails/4-58111224-2901259-480.jpg: OK
sdcard16GB-virus/DCIM/.thumbnails/2-4D34F029-7255294-480.jpg: OK
sdcard16GB-virus/DCIM/.thumbnails/2-712AC800-2155097-480.jpg: OK
sdcard16GB-virus/DCIM/.thumbnails/2-D37EF1ED-4197534-480.jpg: OK
sdcard16GB-virus/DCIM/.thumbnails/4-D37EF1ED-4197534-480.jpg: OK
sdcard16GB-virus/DCIM/.thumbnails/4-92F65F82-3806217-480.jpg: OK
sdcard16GB-virus/DCIM/.thumbnails/4-C1F43D8A-4013455-480.jpg: OK
sdcard16GB-virus/DCIM/.thumbnails/2-13D94E9B-1919498-480.jpg: OK
sdcard16GB-virus/DCIM/sample05.jpg: OK
sdcard16GB-virus/DCIM/sample04.jpg: OK
sdcard16GB-virus/DCIM/sample02.jpg: OK
sdcard16GB-virus/DCIM/sample08.jpg: OK
sdcard16GB-virus/background.log: OK
sdcard16GB-virus/User Manual/20110413_Marvel_HTC_German_UM.pdf: OK
----------- SCAN SUMMARY -----------
Known viruses: 1012338
Engine version: 0.97
Scanned directories: 38
Scanned files: 74
Infected files: 0
Data scanned: 153.86 MB
Data read: 227.97 MB (ratio 0.67:1)
Time: 79.317 sec (1 m 19 s)
What to do now?
If that app really is a virus then it's very nasty :O
I recon you hard reset your whole phone. Backup your contacts, maybe sms, but not your apps of course, and simply reset your device =/.
This is an example of the ineffectiveness of todays antiviruses for android. They can detect, generally too late, but can't fix anything... Not much of an proper antivirus around for the time being, it's just fancy apps that don't do much and reassure people...
-Deleted Post-
my android trojan desaster recovery continued
crakeron said:
I recon you hard reset your whole phone. Backup your contacts, maybe sms, but not your apps of course, and simply reset your device
Click to expand...
Click to collapse
Not possible, the setup wizard after factory reset + reboot on this marvel HTC Wildfire S requires google + htc sense account access to have the google and htc apps configured and working correctly (there's a warning in the manual not to disable that),
and this will auto-restore all settings and apps to the desaster state far before you get the chance to disable the auto-restore and sync in settings, surely including the trojan,
You notice that behaviour first if you changed your wlan AP key for desaster recovery and a few minutes after setup wizard run your old wlan key is silently restored despite explicitly disabled sync + auto restore settings:
Code:
01.08.11 01:49:00 WLAN-Gerät Anmeldung gescheitert (2,4 GHz): ungültiger WLAN-Schlüssel. Name: htc.
01.08.11 01:48:48 WLAN-Gerät Anmeldung gescheitert (2,4 GHz): ungültiger WLAN-Schlüssel. Name: htc.
01.08.11 01:48:45 WLAN-Gerät angemeldet, WLAN wird mit voller Leistung reaktiviert (2,4 GHz).
01.08.11 01:38:52 Kein WLAN-Gerät mehr angemeldet, Stromverbrauch wird reduziert (2,4 GHz).
01.08.11 01:36:39 WLAN-Gerät Anmeldung gescheitert (2,4 GHz): ungültiger WLAN-Schlüssel. Name: htc.
01.08.11 01:36:28 WLAN-Gerät hat sich abgemeldet (2,4 GHz). Name: htc.
01.08.11 01:27:42 WLAN-Gerät angemeldet (2,4 GHz). Name: htc, Geschwindigkeit 54 Mbit/s.
01.08.11 01:27:42 WLAN-Gerät angemeldet, WLAN wird mit voller Leistung reaktiviert (2,4 GHz).
"ungültiger WLAN-Schlüssel" means invalid EAP-PSK, sorry avm.de is uncapable of english language.
The attackers possibly compromised my AVM fritzbox router, too, they tried to download a malware firmware image to it over the marvel (web management showed warning about failed firmware update yesterday morning) or the newly setup AVM VPN access is insecure , had to factory reset and reinstall the firmware for another desaster recovery,
but I don't know if they managed to have the device memory still compromised using one of the methods known by ip-phone-forum.de to debrand the product, etc.
And well, it's very hard to get a verified clean genuine firmware image file over a possibly compromised and redirecting router from a manufacturer not supporting https certificate auth or crypto signed software on his servers, had to verify sha1sums with another guy over phone before download the image to the box..
Another trojan verification evidence is that the hackers incoming phone/sms account +493394991625 where the sms was sent is no longer reachable or my provider has got wrong data in costs logs.
Code:
01.08.11 14:49:55 Internettelefonie mit [email protected] über sip.qsc.de war nicht erfolgreich. Ursache: Not Found (404)
01.08.11 14:49:41 Internettelefonie mit [email protected] über sip.12voip.com war nicht erfolgreich. Ursache: User not found (404)
Theres neither a way to remove marvel configuration data from your google account or htc sync account, this is absolutely not acceptable,
The only desaster recovery option this marvel accepts is to enable accept of official market apps only, so some apps from appbrain.com were hopefully left out from the auto-restore, is this rechecked?
OK, lets do a remote virus scan of the marvel wildfire S over WLAN (needs e.g. sshdroid app with sftp support running as ROOT ):
Code:
[email protected]:~/htc$ sshfs htc:/ /home/xxxxxxx/htc/sshfs -p xx -o ro,reconnect
[email protected]'s password:
[email protected]:~/htc$
[email protected]:~/htc$ #clamscan -r --bell --no-summary --infected --detect-pua=yes --heuristic-scan-precedence=yes sshfs/app-cache
[email protected]:~/htc$ ls -l sshfs
insgesamt 208
drwxr-xr-x 1 root root 0 1. Aug 04:03 acct
drwxr-xr-x 1 root xxxxxxx 60 1. Aug 04:03 app-cache
-rw-r--r-- 1 root root 460 1. Jan 1970 bootcomplete.rc
drwxrwx--- 1 xxxxxxx 2001 4096 1. Aug 21:11 cache
dr-x------ 1 root root 0 1. Aug 04:03 config
-rw-r--r-- 1 root root 1398 1. Jan 1970 cwkeys
drwxrwx--x 1 xxxxxxx xxxxxxx 4096 1. Aug 01:10 data
-rw-r--r-- 1 root root 118 1. Jan 1970 default.prop
drwxr-xr-x 1 root root 1600 1. Aug 18:47 dev
drwx------ 1 root root 4096 1. Aug 15:25 devlog
lrwxrwxrwx 1 root root 11 1. Aug 04:03 etc -> /system/etc
-rwxr-x--- 1 root root 107244 1. Jan 1970 init
-rwxr-x--- 1 root root 1677 1. Jan 1970 init.goldfish.rc
-rwxr-x--- 1 root root 5396 1. Jan 1970 init.marvel.rc
-rwxr-x--- 1 root root 20294 1. Jan 1970 init.rc
-rw-r--r-- 1 root root 11336 1. Jan 1970 logo.rle
drwxrwxr-x 1 root xxxxxxx 0 1. Aug 04:03 mnt
dr-xr-xr-x 1 root root 0 1. Jan 1970 proc
drwx------ 1 root root 0 16. Apr 19:08 root
drwxr-x--- 1 root root 0 1. Jan 1970 sbin
lrwxrwxrwx 1 root root 11 1. Aug 04:03 sdcard -> /mnt/sdcard
drwxr-xr-x 1 root root 0 1. Aug 04:03 sys
drwxr-xr-x 1 root root 4096 16. Apr 20:31 system
-rw-r--r-- 1 root root 0 1. Jan 1970 ueventd.goldfish.rc
-rw-r--r-- 1 root root 4311 1. Jan 1970 ueventd.rc
lrwxrwxrwx 1 root root 14 1. Aug 04:03 vendor -> /system/vendor
[email protected]:~/htc$
[email protected]:~/htc$ clamscan -r --bell --no-summary --infected --detect-pua=yes --heuristic-scan-precedence=yes sshfs/app-cache
xxxxx[email protected]:~/htc$ clamscan -r --bell --no-summary --infected --detect-pua=yes --heuristic-scan-precedence=yes sshfs/cache
[email protected]:~/htc$ clamscan -r --bell --no-summary --infected --detect-pua=yes --heuristic-scan-precedence=yes sshfs/data
[email protected]:~/htc$ clamscan -r --bell --no-summary --infected --detect-pua=yes --heuristic-scan-precedence=yes sshfs/mnt
[email protected]:~/htc$ clamscan -r --bell --no-summary --infected --detect-pua=yes --heuristic-scan-precedence=yes sshfs/sdcard
[email protected]:~/htc$ clamscan -r --bell --no-summary --infected --detect-pua=yes --heuristic-scan-precedence=yes sshfs/system
[email protected]:~/htc$
[email protected]:~/htc$ clamscan -r --bell --no-summary --infected --detect-pua=yes sshfs/app-cache
[email protected]:~/htc$ clamscan -r --bell --no-summary --infected --detect-pua=yes sshfs/cache
[email protected]:~/htc$ clamscan -r --bell --no-summary --infected --detect-pua=yes sshfs/data
[email protected]:~/htc$ clamscan -r --bell --no-summary --infected --detect-pua=yes sshfs/mnt
[email protected]:~/htc$ clamscan -r --bell --no-summary --infected --detect-pua=yes sshfs/sdcard
[email protected]:~/htc$ clamscan -r --bell --no-summary --infected --detect-pua=yes sshfs/system
[email protected]:~/htc$ fusermount -u /home/xxxxxxx/htc/sshfs
[email protected]:~/htc$
Maybe many files left out due to permissions and ro mount:
~# chown xxxxxxx.xxxxxx /home/xxxxxxx/htc/sshfs
chown: Zugriff auf „/home/xxxxxxx/htc/sshfs“ nicht möglich: Keine Berechtigung
The 3 installed EICAR Testfiles cannot be missed by clamav.
Some more console apps on the market like iptraf were helpful to track down the trojan if we got x-permissions at all from ssh.
I'm out of options for now, HTC Europe support has taken over the case, will report.
Just wanted to let You know the trojan is still on the device and active:
Today he moved one of the EICAR virus testfiles to the sipdroid app's space (is this possible without root?), Lookout reported it.
If you're rooted, why not do terminal
su
ls -la (virus listed)
chmod +000 the apk
reboot
rm -rf
woprr said:
Just wanted to let You know the trojan is still on the device and active:
Today he moved one of the EICAR virus testfiles to the sipdroid app's space (is this possible without root?), Lookout reported it.
Click to expand...
Click to collapse
Indirect said:
If you're rooted, why not do terminal
su
ls -la (virus listed)
chmod +000 the apk
reboot
rm -rf
Click to expand...
Click to collapse
i think he isnt on root..
Still, it is a valid option.
No. Rooting voids warranty. I've bought this product for fun not for having work with it.
Then I don't know what to tell you dude.
I'm just on my 5th try to factory reset the phone and using my google account without htc sense, hopefully it does not restore the trojan again, if it does, htc support has one week to fix it or the product is sent back to the seller, I should do this anyway, there much better phones.
Does not work, google is restoring the phone now, despite explicitly disabled sync settings.
What a crap!
HTC cannot fix that, problem with google, I'll try without setting up Google account access and using only googlemail par IMAP/SMTP access to get rid of the stored android phone sync data on google account.
woprr said:
I'm just on my 5th try to factory reset the phone and using my google account without htc sense, hopefully it does not restore the trojan again, if it does, htc support has one week to fix it or the product is sent back to the seller, I should do this anyway, there much better phones.
Does not work, google is restoring the phone now, despite explicitly disabled sync settings.
What a crap!
Click to expand...
Click to collapse
Seems your trojan is re-enabling those settings somehow, and a factory reset only wipes /data, therefore, the trojan must be in /system, which would only be possible if the device is rooted, try typing "su" in terminal emulator, or check if / is r/w in root explorer, if either of those are right, then your device is rooted, and you should install a custom recovery and wipe everything except /boot. (Note: make sure to have a ROM (should be .zip) on the root of you sdcard to flash after you wipe everything, otherwise, the device will not boot)
1. I've said I do not want root. rooting voids warranty, I've paid HTC and google to manage the Product for me.
2. I do not have root:
Code:
ssh htc -p 2222
$ su
su: permission denied
$ echo test > /system/test
cannot create /system/test: read-only file system
$
If you were rooted, you would learn to fix things like this and wouldn't need a warranty unless it was accidental damage and even then, you can easily unroot your device and put s-on. It's not impossible. People unroot their devices to send in for warranty all the time.
I've said I've not yet decided to keep the phone. There're better ones for little money more around. In Germany You can revoke contracts with online sellers and return within 2 weeks.
woprr said:
I've said I've not yet decided to keep the phone. There're better ones for little money more around. In Germany You can revoke contracts with online sellers and return within 2 weeks.
Click to expand...
Click to collapse
Just return it and get something else since you don't want to root. You could root though, remove the virus, then unroot, as if you never had it touched...I don't see what use xda is if you're an unrooted user anyway, many things here require it, and i'm not trying to be rude to you.
How can a virus get the privileges on android you assume it's got without root access?
The virus itself could be running an exploit to allow root privledges also, it doesn't need root to be sending texts, only just to install itself into /system. Although it could also be hiding in dalvik
An exploit ^^. Scenario?
Ok, factory reset and not setup google +htc sense account in first run setup wizard should do the trick.
The Phone should be clean now.
I'm setting up google mail with the standard mua app, not the gmail app.
BTW, I've found the settings option to delete the sync data from google servers:
I'ts under Settings->Privacy->Backup and Restore->Uncheck Automatic restore (Msgbox popup warning: "...erase all copies on google servers?") but leave Back up my setting checked, if all is setup then setup google account in phone and sync.
Let's see if this works...
Looks like. But I dont know if the data on google servers got overwritten or merged.
I'will know when re-enabling automatic restore...

TUTORIAL: Remote Control Touch Screen

Do you want to activate the screen wirelessly, or play some music at your phone over SSH because you don't know where you left it?
THIS IS YOUR PLACE!!!
This tutorial will show you how to create a file, that simulates a keypress, swipe, button press.
You can even draw something, save a file of data, and then replay it so android draws the same something.
You can simulate somebody writing text with the default android keyboard, over SSH, etc.
The options are unlimited!
Let's start by the beginning: I will add a zip package with my working directory at my phone, all tools are included there.
The dropbear ssh server is included because it's practical because it can be turned on with your android terminal. You can also access the other tools using another ssh server.
The media player control is a very simple script that takes an argument and then translates it to the android "input keyevent" command.
And the low level screen events is what i'm going to talk about most.
From here on, this will be a tutorial that will focus on screen events
I will cover the following topics:
1) Understanding and getting screen events.
2) Simulating keypressess, creating and sending screen events.
3) Automating the tasks.
​
UNDERSTANDING AND GETTING SCREEN EVENTS
Android provides two commandline tools for managing screen events: getevent and sendevent.
These commands are kinda cryptic:
We'll take a look at the "getevent" command. This command outputs all events of a given device (or all if no device is given)
What i'll do is open a SSH session, and run the commands from my PC, so that it does not interfere with my fingers pressing the keyboard.
I just use getevent (hint, press Control+C to terminate the command and stop getting events):
Code:
[email protected]:/ # getevent
add device 1: /dev/input/event8
name: "compass_sensor"
add device 2: /dev/input/event7
name: "sec_touchkey"
add device 3: /dev/input/event6
name: "gyro_sensor"
add device 4: /dev/input/event5
name: "light_sensor"
add device 5: /dev/input/event4
name: "proximity_sensor"
add device 6: /dev/input/event3
name: "sii9234_rcp"
add device 7: /dev/input/event2
name: "sec_touchscreen"
could not get driver version for /dev/input/mice, Not a typewriter
add device 8: /dev/input/event1
name: "gpio-keys"
add device 9: /dev/input/event0
name: "max8997-muic"
You may notice the "add device X" number is not matching the /dev/input/eventX number. I will use the latter to refer to an event, as we will use this command a lot, believe me.
I will be only talking about devices 1, 2 and 7, i don't care about the rest.
/dev/input/event1 (gpio-keys): This are the hardware keys.
On my Samsung Galaxy SII, these keys are POWER, HOME, VOLUP, and VOLDOWN keys.
/dev/input/event2 (sec_touchscreen): is the touch-screen (they're not very creative at android developing department)
My galaxy has a screen of 480x800 (XY), this is important!.
/dev/input/event7 (sec_touckey): The touch keys.
On my Galaxy, i have the MENU and BACK buttons as touchkeys. This touchkeys are not part of the touchscreen, thats why its another device.
Note though that the touch_screen and the touck_keys devices ARE connected, i'll later have you remember this line.
The numbers of the devices may change from device to device, as not all phones have touchkeys, or a touch screen.
Well, now you know how to list the devices.
The next step is to see how each device works:
Device 1: HWKEYS
I recommend following these steps on your device, and comment any changes at this thread, thank you.
Let's try out short-pressing just the POWER button of our phone (or unlock button)
When i refer to short-pressing, i mean pressing and immediately releasing the button. You'll soon understand why.
Use getevent, press the key, and finish with Control + C.
Code:
[email protected]:/ # getevent /dev/input/event1
0001 0074 00000001
0000 0000 00000000
0001 0074 00000000
0000 0000 00000000
^C
130|[email protected]:/
WTF is this?! Yes, i said that too when i first saw this, (and you havent seen a swipe with 4 fingers yet, haha)
Well, let's go line by line:
0001 0074 00000001
This is a KEYDOWN line (sorry for using my own syntax here)
What can we observe? There are 3 fields, and all numbers.
The first field will always be 1 except in separator lines (see the second line)
The second field is the identifier for the POWER key.
The third field is a boolean value, it will be 1 when the key is pressed and 0 when it is released.
0000 0000 00000000
This is a simple separator, it it means android just processed everything ultil here.
0001 0074 00000000
This is a KEYUP line, as you can see, the identifier field is 1, the keycode field is 74, and the third boolean field is set to 0, what indicates the key is released.
0000 0000 00000000
And another separator so android process it.
^C
This is the Control+C character, it is used to terminate the running program in linux terminal.
Actually quite simple, isn't it? Lets take a look at the touchkeys device (it's simpler as the screen)
Device 7: MENU and BACK
Yes, android has set up a whole device driver only for 2 stupid keys.
Let's see them in action. I will first press the MENU key, and then the BACK key.
Note that now i use "getevent /dev/input/event7", and not event1.
Oh, i will make some comments on the output so you can see it more clear.
Code:
[email protected]:/ # getevent /dev/input/event7
0001 008b 00000001 [FD] KEYDOWN (8b)
0000 0000 00000000 [S] SEPARATOR
0001 008b 00000000 [FU] KEYUP (8b)
0000 0000 00000000 [S] SEPARATOR
0001 009e 00000001 [FD] KEYDOWN (9e)
0000 0000 00000000 [S] SEPARATOR
0001 009e 00000000 [FU] KEYUP (9e)
0000 0000 00000000 [S] SEPARATOR
^C
130|[email protected]:/ #
Wow, hex!!, the POWER button we pressed before, was also hex.
Remember that getevents are all in hex.
Explanation:
[FD] Is (in my syntax), a FINGERDOWN event, that means the finger touches the screen.
[FU] FINGERUP event, the finger leaves the screen.
Separator, processess the event.
The parentheses i put after the FU and FD events are the ID of the key.
Remember i told you that the touch_keys and touch_screen devices were connected?
I dont know why but the first fields of the non-separator events are also 1 (same as the HWKEYS)
You'l see that with touchscreen events this is different (it uses number 3 always)
Well, the syntax of the events in the touchkeys are the same as the hardware keys.
Actually, i consider this touch keys to be hardware, with the consideration that they only work when the screen is on.
Device 2: SCREEN TOUCHES AND SWIPES (The interesting part)
Now it's getting really interesting.
Let's get a simple tap somewhere random at the screen:
Code:
[email protected]:/ # getevent /dev/input/event2
0003 0039 0000024f [FD] FingerDown (24f)
0003 0035 00000163 [X] X coordinate
0003 0036 000001dd [Y] Y coordinate
// NOTE LINE
0000 0000 00000000 [S] Separator
0003 0039 ffffffff [FU] FingerUp (24f)
0000 0000 00000000 [S] Separator
^C
130|[email protected]:/ #
NOTE: At the NOTE LINE you MAY get 2 other events, 0030 and 003a. I have no idea what these two are for.
Besides, to simulate a click we don't need them, so if anyone know what these two events are, you're welcome to comment.
If you enable the Show touches & Pointer location, you see that it has some fields: PRS and SIZE,
Those are for pressure and size, of course, but i don't know if they have something to do with this 0030 and 003a.
Tip for those of you that are debugging: if you increase pressure, your finger's contact area with the device grows, as your sking gets down.
I realised this thinking of somebody pushing his face to a glass surface and somebody watching at the other side.​
NOTE 2: You are recommended to enable Settings -> Developer Options -> Show touches & Pointer location​
Understanding touchscreen events is more complicated. All buttons from HWKEYS and TOUCHKEYS, were quite simple: they only have a key identifier, and a boolean state: Pressed (1) or not pressed (0).
However, when we use the touchscreen, every single tap has the following elements (events):
[ID] Identifier (ill explain this in the double tap section)
[FD] Finger Down (The finger enters the screen)
NOTE: The third field at the figerdown event, is a sort of simple counter, across different taps, swipes, etc. I dont know yet when it is resetted, but for sure at reboot as this counter will probably reside in ram.​[X] Number of pixels counted from left side.
[Y] Number of pixels counted from top.
Separator / process trigger.
[FU] Finger Up (The finger exits the screen completely)
Another separator.
Notice that the 0030 and 003a events are not in my list. I've made a tool to simulate keypressess, and those two events are NEVER included, but my script works always. So something tells me these two events are worthless.
Introduction to swipe
With the pointer location enabled in settins, try swiping somewhere random.
As you may notice, you aren't perfect, so you can't draw a straight line.
Everytime your finger changes direction, a new point is added. this means that if you want to make a square, you would need 4 points, imagining all lines are straight.
If you take a close look at the screen, the POINTER LOCATION shows a colored dot, everytime you set some coordinates (this means, by a single click, or by a direction change with a swipe, or with a double tap it would make two dots).
I will unlock my screen with my finger, and then analyze the output of getevent:
Lets analize this simple swipe, and quicly move on to the last teorichal part: Multiple taps.
Code:
[email protected]:/ # getevent /dev/input/event2
0003 0039 000002ba [FD]
0003 0035 000000e6 [X]
0003 0036 00000290 [Y]
0003 0030 00000032 [?]
0003 003a 00000003 [?]
0000 0000 00000000 [S]
0003 0035 000000fb [X]
0003 0036 00000296 [Y]
0000 0000 00000000 [S]
0003 0035 00000120 [X]
0003 003a 00000004 [?]
0000 0000 00000000 [S]
0003 0035 00000161 [X]
0003 0036 00000292 [Y]
0003 003a 00000003 [?]
0000 0000 00000000 [S]
0003 0035 000001aa [X]
0003 0036 0000029a [Y]
0003 0030 00000018 [?]
0003 003a 00000001 [?]
0000 0000 00000000 [S]
0003 0039 ffffffff [FU]
0000 0000 00000000 [S]
^C
130|[email protected]:/ #
Take a look at the above code. You should already get the point, at every separator the events are processed.
You can use a separator to update coordinates (this includes when a finger enters the screen), and to release a finger (at the last coordinates inputted for that finger).
This that the 2nd to 5th block, only update the coordinates of the finger that is pressing the screen.
Multiple taps
Multiple taps introduces something new: Identificators [ID]
For this i will use the following: a thriple tap.
There is a order in which the fingers enter and leave the screen, while one finger is still pressed, another one can get pressed and released.
Lets see some code:
Code:
130|[email protected]:/ # getevent /dev/input/event2
0003 0039 000002c0 [FD]
0003 0035 00000057 [X]
0003 0036 00000129 [Y]
0000 0000 00000000 [S]
0003 002f 00000001 [ID] 1
0003 0039 000002c1 [FD]
0003 0035 00000169 [X]
0003 0036 000001bb [Y]
0000 0000 00000000 [S]
0003 002f 00000002 [ID] 2
0003 0039 000002c2 [FD]
0003 0035 000000de [X]
0003 0036 00000187 [Y]
0000 0000 00000000 [S]
0003 0039 ffffffff [FU] // NOTE 1
0000 0000 00000000 [S]
0003 002f 00000000 [ID] 0 // NOTE 2
0003 0039 ffffffff [FU]
0000 0000 00000000 [S]
0003 002f 00000001 [ID] 1
0003 0039 ffffffff [FU]
0000 0000 00000000 [S]
^C
130|[email protected]:/ #
Well, its actually quite simple. As there are multiple fingers, android adds ID's to this new fingers.
The default ID = 0, android doesn't know if you're gonna press 1 finger or 200, so it doesnt add a ID to the first.
The first finger's ID is always 0.
When you add a finger, android adds ID=1
If you release a finger, ID=0 is available again.
Important: When an ID is set, all actions that are processed, are affecting the finger of that ID, this means that if you set the coordinates 10 times in a row they will all affect that finger, until you specify another ID event. (You just learned to combine swipe with multiple touches)
Thats why at the line i marked with NOTE 1, there is no ID, because the first finger i released, was finger ID=2 (the last that touched the screen)
Important: When you release a finger, you MUST set an ID, because android only keeps track of the CID (Current ID), but not of the previus.
So if you release a finger, and then set some coordinates, they will affect an ID that is no longer pressed, and it could either do NOTHING, or output some error message
SIMULATING KEYPRESSESS, CREATING AND SENDING EVENTS
NOTE: When we use "getevent", we get some hex codes. When we use "sendevent" we have to use decimal values.
Why? I don't know, maybe bothering is the point. Anyway, it's like that, and we'll have to manage, right?
Sendevent takes the EXACT same input that getevent outputs, except that GETEVENT outputs [HEX]adecimal, and Sendevents wants [DEC]imal characters
To simulate the POWER button key, for one single click, it would take this steps:
STEP 1
STEP 2
STEP 3
Edit: I'm currently making the SENDEVENT TUTORIAL part, in about 2 hours it will be done.
Vote for newsworthy if you think it was!!!
Twin0ne said:
Do you want to activate the screen wirelessly, or play some music at your phone over SSH because you don't know where you left it?
THIS IS YOUR PLACE!!!
Click to expand...
Click to collapse
Welcome to XDA, This is a great way to "roll into to town" :good:
I've been planning to research getevent/sendevent command input for a while, ever since one of my tablet touchscreens decided to die, Mainly to simulate long pressing.
If you don't want to write to the /dev nodes directly you can always step up a level of abstraction and use the /system/bin/input commnd. Prior to jelly bean this used to only support KEYEVENT codes and text input. The JB version however now supports tap and swipe aswell.
Code:
/system/bin/input
usage: input ...
input text <string>
input keyevent <key code number or name>
input tap <x> <y>
input swipe <x1> <y1> <x2> <y2>
Here (androidxref) is a list of Valid KeyCodes for use with the keyevent parameter.
I've gone a bit nuts with a custom adb that I use so i've wrapped a lot of commnds into one word adb commands like "adb power" , "adb back" etc :laugh:
Once again thanks for sharing, low level android tricks are always welcome!
Very useful description thank you. I've found some other relevant info...
Adding -l to the command line of getevent adds the event names, also adding -d preserves the HID descriptor. A single touch event looks like this...
[email protected]:/ # getevent -d -l /dev/input/event2
EV_ABS ABS_MT_TRACKING_ID 00000071
EV_ABS ABS_MT_POSITION_X 0000020d
EV_ABS ABS_MT_POSITION_Y 00000160
EV_SYN SYN_REPORT 00000000
EV_ABS ABS_MT_TRACKING_ID ffffffff
EV_SYN SYN_REPORT 00000000 ​
Also, there is a description of the linux multi-touch protocol here: http://www.kernel.org/doc/Documentation/input/multi-touch-protocol.txt
Thank you very much for this thread.
This helps me better understand how Android works. :good:
And I have chance to use Touch "simulation"...
http://forum.xda-developers.com/showpost.php?p=54953993&postcount=701
Best Regards
Only as info or example...
Code:
adb shell sendevent /dev/input/event3 3 57 0
adb shell sendevent /dev/input/event3 3 53 4
adb shell sendevent /dev/input/event3 3 54 326
adb shell sendevent /dev/input/event3 3 48 28
adb shell sendevent /dev/input/event3 0 2 0
adb shell sendevent /dev/input/event3 0 0 0
adb shell sendevent /dev/input/event3 3 57 0
adb shell sendevent /dev/input/event3 3 53 4
adb shell sendevent /dev/input/event3 3 54 327
adb shell sendevent /dev/input/event3 3 48 32
adb shell sendevent /dev/input/event3 0 2 0
adb shell sendevent /dev/input/event3 0 0 0
adb shell sendevent /dev/input/event3 3 57 0
adb shell sendevent /dev/input/event3 3 53 5
adb shell sendevent /dev/input/event3 3 54 327
adb shell sendevent /dev/input/event3 3 48 48
adb shell sendevent /dev/input/event3 0 2 0
adb shell sendevent /dev/input/event3 0 0 0
adb shell sendevent /dev/input/event3 3 57 0
adb shell sendevent /dev/input/event3 3 53 6
adb shell sendevent /dev/input/event3 3 54 327
adb shell sendevent /dev/input/event3 3 48 49
adb shell sendevent /dev/input/event3 0 2 0
adb shell sendevent /dev/input/event3 0 0 0
adb shell sendevent /dev/input/event3 3 57 0
adb shell sendevent /dev/input/event3 3 53 8
adb shell sendevent /dev/input/event3 3 54 328
adb shell sendevent /dev/input/event3 3 48 51
adb shell sendevent /dev/input/event3 0 2 0
adb shell sendevent /dev/input/event3 0 0 0
adb shell sendevent /dev/input/event3 3 57 0
adb shell sendevent /dev/input/event3 3 53 9
adb shell sendevent /dev/input/event3 3 54 329
adb shell sendevent /dev/input/event3 3 48 52
adb shell sendevent /dev/input/event3 0 2 0
adb shell sendevent /dev/input/event3 0 0 0
adb shell sendevent /dev/input/event3 3 57 0
adb shell sendevent /dev/input/event3 3 53 11
adb shell sendevent /dev/input/event3 3 54 330
adb shell sendevent /dev/input/event3 3 48 53
adb shell sendevent /dev/input/event3 0 2 0
adb shell sendevent /dev/input/event3 0 0 0
adb shell sendevent /dev/input/event3 3 57 0
adb shell sendevent /dev/input/event3 3 53 13
adb shell sendevent /dev/input/event3 3 54 331
adb shell sendevent /dev/input/event3 3 48 54
adb shell sendevent /dev/input/event3 0 2 0
adb shell sendevent /dev/input/event3 0 0 0
adb shell sendevent /dev/input/event3 3 57 0
adb shell sendevent /dev/input/event3 3 53 18
adb shell sendevent /dev/input/event3 3 54 332
adb shell sendevent /dev/input/event3 3 48 54
adb shell sendevent /dev/input/event3 0 2 0
adb shell sendevent /dev/input/event3 0 0 0
adb shell sendevent /dev/input/event3 3 57 0
adb shell sendevent /dev/input/event3 3 53 28
adb shell sendevent /dev/input/event3 3 54 333
adb shell sendevent /dev/input/event3 3 48 54
adb shell sendevent /dev/input/event3 0 2 0
adb shell sendevent /dev/input/event3 0 0 0
adb shell sendevent /dev/input/event3 3 57 0
adb shell sendevent /dev/input/event3 3 53 54
adb shell sendevent /dev/input/event3 3 54 336
adb shell sendevent /dev/input/event3 3 48 55
adb shell sendevent /dev/input/event3 0 2 0
adb shell sendevent /dev/input/event3 0 0 0
adb shell sendevent /dev/input/event3 3 57 0
adb shell sendevent /dev/input/event3 3 53 63
adb shell sendevent /dev/input/event3 3 54 336
adb shell sendevent /dev/input/event3 3 48 56
adb shell sendevent /dev/input/event3 0 2 0
adb shell sendevent /dev/input/event3 0 0 0
adb shell sendevent /dev/input/event3 3 57 0
adb shell sendevent /dev/input/event3 3 53 74
adb shell sendevent /dev/input/event3 3 54 336
adb shell sendevent /dev/input/event3 3 48 56
adb shell sendevent /dev/input/event3 0 2 0
adb shell sendevent /dev/input/event3 0 0 0
adb shell sendevent /dev/input/event3 3 57 0
adb shell sendevent /dev/input/event3 3 53 89
adb shell sendevent /dev/input/event3 3 54 336
adb shell sendevent /dev/input/event3 3 48 57
adb shell sendevent /dev/input/event3 0 2 0
adb shell sendevent /dev/input/event3 0 0 0
adb shell sendevent /dev/input/event3 3 57 0
adb shell sendevent /dev/input/event3 3 53 101
adb shell sendevent /dev/input/event3 3 54 336
adb shell sendevent /dev/input/event3 3 48 59
adb shell sendevent /dev/input/event3 0 2 0
adb shell sendevent /dev/input/event3 0 0 0
adb shell sendevent /dev/input/event3 3 57 0
adb shell sendevent /dev/input/event3 3 53 115
adb shell sendevent /dev/input/event3 3 54 335
adb shell sendevent /dev/input/event3 3 48 59
adb shell sendevent /dev/input/event3 0 2 0
adb shell sendevent /dev/input/event3 0 0 0
adb shell sendevent /dev/input/event3 3 57 0
adb shell sendevent /dev/input/event3 3 53 131
adb shell sendevent /dev/input/event3 3 54 335
adb shell sendevent /dev/input/event3 3 48 60
adb shell sendevent /dev/input/event3 0 2 0
adb shell sendevent /dev/input/event3 0 0 0
adb shell sendevent /dev/input/event3 3 57 0
adb shell sendevent /dev/input/event3 3 53 146
adb shell sendevent /dev/input/event3 3 54 334
adb shell sendevent /dev/input/event3 3 48 61
adb shell sendevent /dev/input/event3 0 2 0
adb shell sendevent /dev/input/event3 0 0 0
adb shell sendevent /dev/input/event3 3 57 0
adb shell sendevent /dev/input/event3 3 53 162
adb shell sendevent /dev/input/event3 3 54 334
adb shell sendevent /dev/input/event3 3 48 61
adb shell sendevent /dev/input/event3 0 2 0
adb shell sendevent /dev/input/event3 0 0 0
adb shell sendevent /dev/input/event3 3 57 0
adb shell sendevent /dev/input/event3 3 53 179
adb shell sendevent /dev/input/event3 3 54 333
adb shell sendevent /dev/input/event3 3 48 62
adb shell sendevent /dev/input/event3 0 2 0
adb shell sendevent /dev/input/event3 0 0 0
adb shell sendevent /dev/input/event3 3 57 0
adb shell sendevent /dev/input/event3 3 53 197
adb shell sendevent /dev/input/event3 3 54 333
adb shell sendevent /dev/input/event3 3 48 62
adb shell sendevent /dev/input/event3 0 2 0
adb shell sendevent /dev/input/event3 0 0 0
adb shell sendevent /dev/input/event3 3 57 0
adb shell sendevent /dev/input/event3 3 53 216
adb shell sendevent /dev/input/event3 3 54 333
adb shell sendevent /dev/input/event3 3 48 63
adb shell sendevent /dev/input/event3 0 2 0
adb shell sendevent /dev/input/event3 0 0 0
adb shell sendevent /dev/input/event3 3 57 0
adb shell sendevent /dev/input/event3 3 53 232
adb shell sendevent /dev/input/event3 3 54 333
adb shell sendevent /dev/input/event3 3 48 64
adb shell sendevent /dev/input/event3 0 2 0
adb shell sendevent /dev/input/event3 0 0 0
adb shell sendevent /dev/input/event3 3 57 0
adb shell sendevent /dev/input/event3 3 53 252
adb shell sendevent /dev/input/event3 3 54 333
adb shell sendevent /dev/input/event3 3 48 64
adb shell sendevent /dev/input/event3 0 2 0
adb shell sendevent /dev/input/event3 0 0 0
adb shell sendevent /dev/input/event3 3 57 0
adb shell sendevent /dev/input/event3 3 53 270
adb shell sendevent /dev/input/event3 3 54 334
adb shell sendevent /dev/input/event3 3 48 64
adb shell sendevent /dev/input/event3 0 2 0
adb shell sendevent /dev/input/event3 0 0 0
adb shell sendevent /dev/input/event3 3 57 0
adb shell sendevent /dev/input/event3 3 53 290
adb shell sendevent /dev/input/event3 3 54 335
adb shell sendevent /dev/input/event3 3 48 64
adb shell sendevent /dev/input/event3 0 2 0
adb shell sendevent /dev/input/event3 0 0 0
adb shell sendevent /dev/input/event3 3 57 0
adb shell sendevent /dev/input/event3 3 53 373
adb shell sendevent /dev/input/event3 3 54 335
adb shell sendevent /dev/input/event3 3 48 64
adb shell sendevent /dev/input/event3 0 2 0
adb shell sendevent /dev/input/event3 0 0 0
adb shell sendevent /dev/input/event3 3 57 0
adb shell sendevent /dev/input/event3 3 53 451
adb shell sendevent /dev/input/event3 3 54 332
adb shell sendevent /dev/input/event3 3 48 54
adb shell sendevent /dev/input/event3 0 2 0
adb shell sendevent /dev/input/event3 0 0 0
adb shell sendevent /dev/input/event3 3 57 0
adb shell sendevent /dev/input/event3 3 53 463
adb shell sendevent /dev/input/event3 3 54 332
adb shell sendevent /dev/input/event3 3 48 42
adb shell sendevent /dev/input/event3 0 2 0
adb shell sendevent /dev/input/event3 0 0 0
adb shell sendevent /dev/input/event3 3 57 0
adb shell sendevent /dev/input/event3 3 53 470
adb shell sendevent /dev/input/event3 3 54 330
adb shell sendevent /dev/input/event3 3 48 32
adb shell sendevent /dev/input/event3 0 2 0
adb shell sendevent /dev/input/event3 0 0 0
adb shell sendevent /dev/input/event3 3 57 0
adb shell sendevent /dev/input/event3 3 53 470
adb shell sendevent /dev/input/event3 3 54 330
adb shell sendevent /dev/input/event3 3 48 0
adb shell sendevent /dev/input/event3 0 2 0
adb shell sendevent /dev/input/event3 0 0 0
I have created simple Batch file... *.bat
I can unlock Screenlock/Screensaver with this...
Tested on my S8600 with I9001 Firmware... because unsupported Hardware and Touch not working yet....
Also on I8150 tested successfully... because taken from I8150...
Here Log, which I have converted into Dec Values by my little brain... line by line...
Code:
getevent /dev/input/event3
0003 0039 00000000
0003 0035 00000004
0003 0036 00000146
0003 0030 0000001c
0000 0002 00000000
0000 0000 00000000
0003 0039 00000000
0003 0035 00000004
0003 0036 00000147
0003 0030 00000020
0000 0002 00000000
0000 0000 00000000
0003 0039 00000000
0003 0035 00000005
0003 0036 00000147
0003 0030 00000030
0000 0002 00000000
0000 0000 00000000
0003 0039 00000000
0003 0035 00000006
0003 0036 00000147
0003 0030 00000031
0000 0002 00000000
0000 0000 00000000
0003 0039 00000000
0003 0035 00000008
0003 0036 00000148
0003 0030 00000033
0000 0002 00000000
0000 0000 00000000
0003 0039 00000000
0003 0035 00000009
0003 0036 00000149
0003 0030 00000034
0000 0002 00000000
0000 0000 00000000
0003 0039 00000000
0003 0035 0000000b
0003 0036 0000014a
0003 0030 00000035
0000 0002 00000000
0000 0000 00000000
0003 0039 00000000
0003 0035 0000000d
0003 0036 0000014b
0003 0030 00000036
0000 0002 00000000
0000 0000 00000000
0003 0039 00000000
0003 0035 00000012
0003 0036 0000014c
0003 0030 00000036
0000 0002 00000000
0000 0000 00000000
0003 0039 00000000
0003 0035 0000001c
0003 0036 0000014d
0003 0030 00000036
0000 0002 00000000
0000 0000 00000000
0003 0039 00000000
0003 0035 00000036
0003 0036 00000150
0003 0030 00000037
0000 0002 00000000
0000 0000 00000000
0003 0039 00000000
0003 0035 0000003f
0003 0036 00000150
0003 0030 00000038
0000 0002 00000000
0000 0000 00000000
0003 0039 00000000
0003 0035 0000004a
0003 0036 00000150
0003 0030 00000038
0000 0002 00000000
0000 0000 00000000
0003 0039 00000000
0003 0035 00000059
0003 0036 00000150
0003 0030 00000039
0000 0002 00000000
0000 0000 00000000
0003 0039 00000000
0003 0035 00000065
0003 0036 00000150
0003 0030 0000003b
0000 0002 00000000
0000 0000 00000000
0003 0039 00000000
0003 0035 00000073
0003 0036 0000014f
0003 0030 0000003b
0000 0002 00000000
0000 0000 00000000
0003 0039 00000000
0003 0035 00000083
0003 0036 0000014f
0003 0030 0000003c
0000 0002 00000000
0000 0000 00000000
0003 0039 00000000
0003 0035 00000092
0003 0036 0000014e
0003 0030 0000003d
0000 0002 00000000
0000 0000 00000000
0003 0039 00000000
0003 0035 000000a2
0003 0036 0000014e
0003 0030 0000003d
0000 0002 00000000
0000 0000 00000000
0003 0039 00000000
0003 0035 000000b3
0003 0036 0000014d
0003 0030 0000003e
0000 0002 00000000
0000 0000 00000000
0003 0039 00000000
0003 0035 000000c5
0003 0036 0000014d
0003 0030 0000003e
0000 0002 00000000
0000 0000 00000000
0003 0039 00000000
0003 0035 000000d8
0003 0036 0000014d
0003 0030 0000003f
0000 0002 00000000
0000 0000 00000000
0003 0039 00000000
0003 0035 000000e8
0003 0036 0000014d
0003 0030 00000040
0000 0002 00000000
0000 0000 00000000
0003 0039 00000000
0003 0035 000000fc
0003 0036 0000014d
0003 0030 00000040
0000 0002 00000000
0000 0000 00000000
0003 0039 00000000
0003 0035 0000010e
0003 0036 0000014e
0003 0030 00000040
0000 0002 00000000
0000 0000 00000000
0003 0039 00000000
0003 0035 00000122
0003 0036 0000014f
0003 0030 00000040
0000 0002 00000000
0000 0000 00000000
0003 0039 00000000
0003 0035 00000175
0003 0036 0000014f
0003 0030 00000040
0000 0002 00000000
0000 0000 00000000
0003 0039 00000000
0003 0035 000001c3
0003 0036 0000014c
0003 0030 00000036
0000 0002 00000000
0000 0000 00000000
0003 0039 00000000
0003 0035 000001cf
0003 0036 0000014c
0003 0030 0000002a
0000 0002 00000000
0000 0000 00000000
0003 0039 00000000
0003 0035 000001d6
0003 0036 0000014a
0003 0030 00000020
0000 0002 00000000
0000 0000 00000000
0003 0039 00000000
0003 0035 000001d6
0003 0036 0000014a
0003 0030 00000000
0000 0002 00000000
0000 0000 00000000
I am using old Android Version, where only input text and input keyevent is supported...
I can't install Android 4.x during incompatibility on my GT-S8600 yet...
Best Regards
Hi,
what i understand so far.
for each device you have different "targets" to simulate e.g. the press/hold of a key. Actually i found it for my device and managed to simulate my hardware/soft keys with tasker-run shell and sendevent...
Question1: how do key-remapper handle that ? Do they question the system e.g. what device the menu-key is ?
But more important to me is Question2: How can i simulate CTRL-C assuming that it is copy (and CTRL-V,CTRL-a) for a floating addition for my soft keyboard. I already managed to have a taker-scene, which floats as an overlay an by pressing my button called "test" the scene(overlay) hides and i can simulate a (sequence of keys or i can sendevent-stuff)...and there i would call Select-All,copy,paste.... Any idea (and no, the standard bar popping up when editing text with these functions does not pop up with swiftkey or in other situations i might want to use that). The keyboard "programmer keyboard" has this as buttons..so the function must be there somewhere...
In short: how to emulate CTRL-C ?
I need to emulate a swipe up and down the side of my screen, in a single touch. I'm trying to go from x=1350 y=1350 to x=1350 y=750 and back down to x=1350 y=1350
I can do this in two distinct touches with:
input swipe 1350 1350 1350 750
input swipe 1350 750 1350 1350
But I need it completed in one single touch, so I'm trying to use sendevent for the first time. I thought this would get me there, but I'm not doing something right:
sendevent /dev/input/event1 3 57 0
sendevent /dev/input/event1 3 53 1350
sendevent /dev/input/event1 3 54 1350
sendevent /dev/input/event1 0 2 0
sendevent /dev/input/event1 0 0 0
sendevent /dev/input/event1 3 57 0
sendevent /dev/input/event1 3 53 1350
sendevent /dev/input/event1 3 54 750
sendevent /dev/input/event1 0 2 0
sendevent /dev/input/event1 0 0 0
sendevent /dev/input/event1 3 57 0
sendevent /dev/input/event1 3 53 1350
sendevent /dev/input/event1 3 54 1350
sendevent /dev/input/event1 0 2 0
sendevent /dev/input/event1 0 0 0
When I do this, I don't get any swipe at all, and my touchscreen gets extremely laggy, then unresponsive to single taps or swipe gestures...but double taps work.
I need to reboot by Vol Down + Power to rescue the device.
Sent from my S6 Edge+ g928c
BobCatRom
trevd said:
I've been planning to research getevent/sendevent command input for a while, ever since one of my tablet touchscreens decided to die, Mainly to simulate long pressing.
Click to expand...
Click to collapse
Were you able to simulate a long press? I'm currently stuck on that with my project. I want to simulate a long press in Chrome so I can open the share dialog for a link and extract the URL. I was hoping to be able to do this through the Accessibility service but it seems long press isn't supported. Thanks!

[Q] How to write a shell script for android?

Is there any guide for writing a shell script over here?
I have been reading up for hours and unfortunately and still plague by the 1 problem,
I am unable to start the shell script in android.
However to run the script via Putty and SSHdroid, the script runs smoothly but
my TF101 transformer gets very very hot.
I am wondering if anyone can help me with my script.
Thanks!
Here is the body/context for the script.
sendevent /dev/input/event1 0003 57 0
sendevent /dev/input/event1 0003 48 96
sendevent /dev/input/event1 0003 58 96
sendevent /dev/input/event1 0003 53 380
sendevent /dev/input/event1 0003 54 550
sendevent /dev/input/event1 0000 2 0
sendevent /dev/input/event1 0000 0 0
sendevent /dev/input/event1 0000 2 0
sendevent /dev/input/event1 0000 0 0
sendevent /dev/input/event1 0003 57 0
sendevent /dev/input/event1 0003 48 96
sendevent /dev/input/event1 0003 58 96
sendevent /dev/input/event1 0003 53 67
sendevent /dev/input/event1 0003 54 536
sendevent /dev/input/event1 0000 2 0
sendevent /dev/input/event1 0000 0 0
sendevent /dev/input/event1 0000 2 0
sendevent /dev/input/event1 0000 0 0
sendevent /dev/input/event1 0003 57 0
sendevent /dev/input/event1 0003 48 96
sendevent /dev/input/event1 0003 58 96
sendevent /dev/input/event1 0003 53 224
sendevent /dev/input/event1 0003 54 552
sendevent /dev/input/event1 0000 2 0
sendevent /dev/input/event1 0000 0 0
sendevent /dev/input/event1 0000 2 0
sendevent /dev/input/event1 0000 0 0
What this script does is emulate a tap on 3 different spots on the screen to move the character in a game.
I need help completing the script by getting it to execute in android and looping it!
Thanks again

[Q] How to write a shell script for android for use on tf101?

Is there any guide for writing a shell script over here?
I have been reading up for hours and unfortunately and still plague by the 1 problem,
I am unable to start the shell script in android.
However to run the script via Putty and SSHdroid, the script runs smoothly but
my TF101 transformer gets very very hot.
I am wondering if anyone can help me with my script.
Thanks!
Here is the body/context for the script.
sendevent /dev/input/event1 0003 57 0
sendevent /dev/input/event1 0003 48 96
sendevent /dev/input/event1 0003 58 96
sendevent /dev/input/event1 0003 53 380
sendevent /dev/input/event1 0003 54 550
sendevent /dev/input/event1 0000 2 0
sendevent /dev/input/event1 0000 0 0
sendevent /dev/input/event1 0000 2 0
sendevent /dev/input/event1 0000 0 0
sendevent /dev/input/event1 0003 57 0
sendevent /dev/input/event1 0003 48 96
sendevent /dev/input/event1 0003 58 96
sendevent /dev/input/event1 0003 53 67
sendevent /dev/input/event1 0003 54 536
sendevent /dev/input/event1 0000 2 0
sendevent /dev/input/event1 0000 0 0
sendevent /dev/input/event1 0000 2 0
sendevent /dev/input/event1 0000 0 0
sendevent /dev/input/event1 0003 57 0
sendevent /dev/input/event1 0003 48 96
sendevent /dev/input/event1 0003 58 96
sendevent /dev/input/event1 0003 53 224
sendevent /dev/input/event1 0003 54 552
sendevent /dev/input/event1 0000 2 0
sendevent /dev/input/event1 0000 0 0
sendevent /dev/input/event1 0000 2 0
sendevent /dev/input/event1 0000 0 0
What this script does is emulate a tap on 3 different spots on the screen to move the character in a game.
I need help completing the script by getting it to execute in android and looping it!
I am running on EOS 4.
Thanks again
How do you try to run it/call it?
For example...
Code:
#!/system/bin/sh
sendevent /dev/input/event1 0003 57 0
sendevent /dev/input/event1 0003 48 96
sendevent /dev/input/event1 0003 58 96
...
saved in a chmod'ed +x file should run when you run ./file as long as you call a compatible shell as the first line. I strongly suggest looking into busybox as it provides much improvements to the base shell/system.
For the loop you need a condition. You can't just "loop" really otherwise the script will just run endlessly until you kill it. What you want is that if a condition is met, then loop and eventually exit. You can see it explained very well here. Given that, if you provide more details as to what you want to accomplish and how, I may be able to provide some more assistance with the loop itself.
See this for an example.
Lethe6 said:
How do you try to run it/call it?
For example...
Code:
#!/system/bin/sh
sendevent /dev/input/event1 0003 57 0
sendevent /dev/input/event1 0003 48 96
sendevent /dev/input/event1 0003 58 96
...
saved in a chmod'ed +x file should run when you run ./file as long as you call a compatible shell as the first line. I strongly suggest looking into busybox as it provides much improvements to the base shell/system.
For the loop you need a condition. You can't just "loop" really otherwise the script will just run endlessly until you kill it. What you want is that if a condition is met, then loop and eventually exit. You can see it explained very well here. Given that, if you provide more details as to what you want to accomplish and how, I may be able to provide some more assistance with the loop itself.
See this for an example.
Click to expand...
Click to collapse
Thanks for offering your help!
I have no knowledge in programming and scripting and this is my first attempt to create a looping script that emulates 3 touchscreen taps on my transformer.
What i want my script to do, is basically tap left, right and click on the ingame Dpad.
The location of the touchscreen is provided in the context. However I am not sure of how to call or execute the script.
I used ES file manager to paste the script inside /system/bin as click.sh. Following that, i use ES to change permission to read write execute for all 3 groups.
Then I used smanager to locate the click.sh and attempted to execute it. But I get permission denied and unable to call error messege.
As for the loop, I just want it to loop infinitely until killed because it is supposed to grind the levels for me overnight.
Thanks
Easy enough, try this:
Code:
#!/system/bin/sh
while :
do
sendevent /dev/input/event1 0003 57 0
sendevent /dev/input/event1 0003 48 96
sendevent /dev/input/event1 0003 58 96
sendevent /dev/input/event1 0003 53 380
sendevent /dev/input/event1 0003 54 550
sendevent /dev/input/event1 0000 2 0
sendevent /dev/input/event1 0000 0 0
sendevent /dev/input/event1 0000 2 0
sendevent /dev/input/event1 0000 0 0
done
Make sure it's chmod'ed +x or 755 or something with execute permission for your user. If you edit it as root then you need to be root if you just chmod +x it, 755 would allow everyone to execute/read it.
Let me know how it works out!
What is chmoded? How do I go about setting it? Btw Where did you learn to write scripts? I would like to learn more.
Thanks
I tried with your script and I got this.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Here's a step by step guide.
First you need to determine where it's allowed to run. Basically, for protection, linux has an option when mouting filesystems to prevent execution of files. Most of what you have write access to has that option enabled, to help prevent malware and such. You'll need a terminal emulator or ADB installed to run the following (I much prefer ADB):
At a root shell prompt, figure out which partition is mounted read-write without the noexec option:
mount |grep -vE 'noexec|tmpfs|debugfs|proc|pts|none|fuse|cache'| grep rw
This would return something like:
Code:
sysfs /sys sysfs rw,relatime 0 0
/dev/block/mmcblk0p7 /data ext4 rw,nosuid,nodev,noatime,user_xattr,acl,barrier=1,data=ordered,discard 0 0
It might differ depending on with rom you're running. We don't want to go in /sys though I guess we could. I'd prefer going to /data, it just seems more suited. So now we know /data is read-write and you can exec on it. As I said I prefer ADB so I'll first explain how to do it through ADB.
Open up a text editor on your computer, and put the following in it (everything in the code tag):
Code:
#!/system/bin/sh
while :
do
sendevent /dev/input/event1 0003 57 0
sendevent /dev/input/event1 0003 48 96
sendevent /dev/input/event1 0003 58 96
sendevent /dev/input/event1 0003 53 380
sendevent /dev/input/event1 0003 54 550
sendevent /dev/input/event1 0000 2 0
sendevent /dev/input/event1 0000 0 0
sendevent /dev/input/event1 0000 2 0
sendevent /dev/input/event1 0000 0 0
sendevent /dev/input/event1 0003 57 0
sendevent /dev/input/event1 0003 48 96
sendevent /dev/input/event1 0003 58 96
sendevent /dev/input/event1 0003 53 67
sendevent /dev/input/event1 0003 54 536
sendevent /dev/input/event1 0000 2 0
sendevent /dev/input/event1 0000 0 0
sendevent /dev/input/event1 0000 2 0
sendevent /dev/input/event1 0000 0 0
sendevent /dev/input/event1 0003 57 0
sendevent /dev/input/event1 0003 48 96
sendevent /dev/input/event1 0003 58 96
sendevent /dev/input/event1 0003 53 224
sendevent /dev/input/event1 0003 54 552
sendevent /dev/input/event1 0000 2 0
sendevent /dev/input/event1 0000 0 0
sendevent /dev/input/event1 0000 2 0
sendevent /dev/input/event1 0000 0 0
done
Save that file as script.txt in your ADB directory, or on your desktop if you put ADB in your $PATH during install. Now in a windows/linux/osx console, type:
adb push script.txt /data
adb chmod 755 /data/script.txt
Alternatively, if you don't want to use ADB, save it on your desktop, copy it to your sdcard through the USB cable, then using a terminal emulator (as root):
cp /sdcard/script.txt /data
chmod 755 /data/script.txt
Or a final option, use a text editor on the device itself and do the same commands assuming you save it on your sdcard:
cp /sdcard/script.txt /data
chmod 755 /data/script.txt
Now obviously you want to run it! In the terminal, again as root (make sure to type "su" without the quotes), simply type:
/data/script.txt
I made a script that just prints "TEST" on the screen in the console to show I can execute the script:
Code:
[email protected]:/data # /data/script.txt
TEST
[email protected]:/data #
If you want to learn more, Google is your friend. Android is just a layer on top of a stripped down Linux. Most of what applies to Linux applies in some form under Android, usually in some modified form with less options. For example, the shell used in the script, sh, is very basic and "old", there are newer / more powerful versions like ash, bash, dash, and many other variations found in Linux but not Android.
I started making scripts to automate stuff, make my life easier, pretty much like what you're doing now
Edit: the "while" in the script is the loop. While "condition", do ... done. The colon ":" used to be a placeholder for "true", before true and false were added to sh/bash. Alternatively, you could use "while true" instead of "while :". True is the condition and is always true, obvisouly. So it will just loop forever.
How do i run the terminal as root? where do i place the script.txt in my tf101 or sdcard?
Thanks
bladez87 said:
How do i run the terminal as root?
Click to expand...
Click to collapse
In the terminal window, type: su
bladez87 said:
where do i place the script.txt in my tf101 or sdcard?
Thanks
Click to expand...
Click to collapse
First put it on your sdcard, then copy it to /data as specified above. Make sure to make it 755.
Lethe6 said:
In the terminal window, type: su
First put it on your sdcard, then copy it to /data as specified above. Make sure to make it 755.
Click to expand...
Click to collapse
Here is what I did.
ADB shell
mount |grep -vE 'noexec|tmpfs|debugfs|proc|pts|none|fuse|cache'| grep rw
adb push script.txt /data
It failed at this step.
By $PATH, I take it you mean environment variable?
Attempted your second method. This is the result.
Attempted to execute using command prompt
What does it return when you run mount |grep -vE 'noexec|tmpfs|debugfs|proc|pts|none|fuse|cache'| grep rw
?
It does it just /sys ? Nothing at all?
Please show me the result of the "mount" command.
Lethe6 said:
What does it return when you run mount |grep -vE 'noexec|tmpfs|debugfs|proc|pts|none|fuse|cache'| grep rw
?
It does it just /sys ? Nothing at all?
Please show me the result of the "mount" command.
Click to expand...
Click to collapse
It is in the 1st of the 3 pictures I posted.
That is what was returned when I typed that super long command.
Ah sorry. Yeah device not found is a pretty obvious error
We you already IN your device when you did that? You shouldn't be if you're using adb. Exit from adb shell before you run adb push and it'll work!
Bladez,
Not That I do too many scripts, but if you are going to play more with them.. download NotePad++
http://notepad-plus-plus.org/
Lethe6 said:
Ah sorry. Yeah device not found is a pretty obvious error
We you already IN your device when you did that? You shouldn't be if you're using adb. Exit from adb shell before you run adb push and it'll work!
Click to expand...
Click to collapse
Sorry but can you explain that again?
I tried to use the mount command "mount |grep -vE 'noexec|tmpfs|debugfs|proc|pts|none|fuse|cache'| grep rw" without adb shell, but it failed.
Lethe6 said:
In the terminal window, type: su
First put it on your sdcard, then copy it to /data as specified above. Make sure to make it 755.
Click to expand...
Click to collapse
I just noticed you mentioned type su.
I have been using the adb shell command for windows 8 cmd. Is that the same?
Yeah it's the same. But if you use adb you don't need su, it's just for the terminal.
You only need to run that long command once, it was just to confirm that /data was mounted read-write without noexec, so that the script can run.
After that, without being in adb shell, just do the adb push and it should work! don't forget to chmod 755 too
Edit: So you understand that command:
mount |grep -vE 'noexec|tmpfs|debugfs|proc|pts|none|fuse|cache'| grep rw
mount = displays the mounted filesystems with options
grep = allows to display only some part of the text, or in this case, ignore some part. The -E is to allow extended regular expressions and the -v to invert match (ignore instead of display).
So the command would display all mount points on the device, then ignore those matching noexec,tmpfs,debugfs,proc,pts,none,fuse and cache, and display what's left that matches "rw".
And pipe | is to send the results of the first command over to the second command.
Mount is not recognized as a internal or external command...operable program or batch file.
Actually the problem I am facing now is executing the script.txt
When i type /data/script.txt in adb shell, it says no such file or directory. As per my third picture.
When I try executing with smanager app, the error on my second picture appears.
But checking on my tf101 with es explorer, i do see the script.txt in data folder with the content copied and pasted from you.
So why cant I execute the txt?
Mount will only work on the device itself, either in the terminal or in adb.
It's just weird now. What happens if you type:
adb shell
cat /data/script.txt
?
Lethe6 said:
Mount will only work on the device itself, either in the terminal or in adb.
It's just weird now. What happens if you type:
adb shell
cat /data/script.txt
?
Click to expand...
Click to collapse
Ok I got the script to run without the while loop.
That would mean that the while loop was incomplete, do you have any idea what is missing?
Thanks.
First error came with the "unexpected done" message. Removing the done from the script resulted in "while unmatched", removing the while loop allowed the script to run once.
YES! Thanks! Got it running! The problem lies with the done command. There was supposed to be a space between the last command and done. Thanks

[Q] Android rot, gemilins, kernel segfaults etc...

Hi, I have a transformer infinity, rooted (via copy su over debug) and bootloader unlocked, but running stock kernel plus one update jelly bean (I've never installed any new kernel etc..)
The only reason I updated to jellybean was because apps kept crashing due to a memory allocation error with opengl, a known fault on the transformer. other than that things seemed pretty fast and stable, even if multitasking was non existant.
anyhow, now around 700-800mb of memory is used at startup, background apps get closed even if there is still free memory and usually only if switching between one or two apps and doing very little, the touch screen has stoped responsing (even though evtest on the correct /dev/input (event3) shows that the input device is actually working, when I copy and paste into the browser 99% of the time it pastes at the begning of the text box not the cursor position, frequent pauses, the launcher (homescreen etc..) seem to do nothing for ages (tens of seconds0, even though it's using loads of ram (presumably for caching the graphics... or just for a laugh), staart up time is well over a minute (longer than my wildfire phone from years ago) and I'm getting segfaults fro time to time: wtf is going on, I'm thinkig of wiping and just runniing gnu/linux on the device as android is seriously borked and the few feature rich apps that are on android, well, I'll just have to use my phone for that, at least I get pro apps on gnu/linux not very poor substitutes, if you could even call them that... that's a short list, including the 'mysterious' transformer screen crack that happened overnight with no one around, anyhow here's the segv (yes I had to cut and paste what I'd written so it came in above the segv I'd cut and pasted).
[ [114440.417747] [VIB]: vibrator_enable: 40
[114440.639822] cpu_up(1)+
[114440.647251] CPU1: Booted secondary processor
[114440.649618] Switched to NOHz mode on CPU #1
[114440.652067] tegra_cpu_init : emc_clk->min_rate to 204M
[114440.652283] cpu_up(1)-
[114440.739873] cpu_up(2)+
[114440.743553] CPU2: Booted secondary processor
[114440.744427] tegra_cpu_init : emc_clk->min_rate to 204M
[114440.744869] cpu_up(2)-
[114440.749407] Switched to NOHz mode on CPU #2
[114441.639826] cpu_up(3)+
[114441.644556] CPU3: Booted secondary processor
[114441.645097] tegra_cpu_init : emc_clk->min_rate to 204M
[114441.645415] cpu_up(3)-
[114441.649444] Switched to NOHz mode on CPU #3
[114443.639911] cpu_down(1)+
[114443.642338] CPU1: shutdown
[114443.644451] cpu_down(1)-
[114443.749829] Internal error: Oops - undefined instruction: 0 [#1] PREEMPT SMP
[114443.750090] Modules linked in: bcmdhd cfg80211 texfat(P) tntfs(P)
[114443.750829] CPU: 0 Tainted: P W (3.1.10-00001-gdc9b6cf #1)
[114443.751070] PC is at 0xc0b1d00c
[114443.751215] LR is at call_timer_fn+0x50/0x190
[114443.751460] pc : [<c0b1d00c>] lr : [<c00835e0>] psr: 60000113
[114443.751470] sp : c0a31dc0 ip : c0a31dc0 fp : c0a31dfc
[114443.751828] r10: c1711060 r9 : c0b1cb7c r8 : c0a30000
[114443.751965] r7 : c0a32080 r6 : c0b1cb6c r5 : 00000102 r4 : c0a30000
[114443.752205] r3 : c0b1cb7c r2 : 00000000 r1 : c0b1cb7c r0 : c0b1cb7c
[114443.752345] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
[114443.752584] Control: 10c5387d Table: 9749004a DAC: 00000015
[114443.752820]
[114443.752825] PC: 0xc0b1cf8c:
[114443.753066] cf8c c0b1cf8c c0b1cf8c c0b1cf94 c0b1cf94 c0b1cf9c c0b1cf9c c0b1cfa4 c0b1cfa4
[114443.754355] cfac c0b1cfac c0b1cfac c0b1cfb4 c0b1cfb4 c0b1cfbc c0b1cfbc c0b1cfc4 c0b1cfc4
[114443.755543] cfcc c0b1cfcc c0b1cfcc c0b1cfd4 c0b1cfd4 c0b1cfdc c0b1cfdc c0b1cfe4 c0b1cfe4
[114443.756862] cfec c0b1cfec c0b1cfec c0b1cff4 c0b1cff4 c0b1cffc c0b1cffc c0b1d004 c0b1d004
[114443.758176] d00c d6c91d30 d6c91d30 c0b1d014 c0b1d014 c0b1d01c c0b1d01c c0b1d024 c0b1d024
[114443.759483] d02c c0b1d02c c0b1d02c c0b1d034 c0b1d034 c0b1d03c c0b1d03c c0b1d044 c0b1d044
[114443.760691] d04c c0b1d04c c0b1d04c c0b1d054 c0b1d054 c0b1d05c c0b1d05c c0b1d064 c0b1d064
[114443.762004] d06c c0b1d06c c0b1d06c c0b1d074 c0b1d074 c0b1d07c c0b1d07c c0b1d084 c0b1d084
[114443.763317]
[114443.763322] LR: 0xc0083560:
[114443.763566] 3560 e592e00c e0010193 e24b0014 e3a03002 e3a02001 e58e3000 e3a03000 e50bc014
[114443.764870] 3580 e50b3010 eb196054 e24bd00c e89da800 e1a0c00d e92ddff0 e24cb004 e24dd014
[114443.766185] 35a0 e92d4000 e8bd4000 e59f3160 e1a09002 e1a0c00d e3cc4d7f e1a06000 e5932018
[114443.767391] 35c0 e3c4403f e50b1030 e3520000 e5945004 1a000035 e51b3030 e1a00009 e12fff33
[114443.768698] 35e0 e59f3128 e593202c e3520000 1a000014 e5943004 e1530005 0a000004 e59f6110
[114443.770011] 3600 e5563fb7 e3530001 1a000002 e5845004 e24bd028 e89daff0 e58d5000 e3a01e43
[114443.771287] 3620 e594c004 e51b3030 e59f00e8 e59f20e8 e58dc004 ebffc523 e3a03001 e5463fb7
[114443.772498] 3640 eafffff1 e5942004 e2822001 e5842004 e5938038 e3580000 0a00000b e5983000
[114443.773816]
[114443.773821] SP: 0xc0a31d40:
[114443.774061] 1d40 00cfd000 a560e39a 18109375 0000021b c0a31dbc c0a31d60 c0b1d010 60000113
[114443.775365] 1d60 c000f094 00000000 c0a31dfc c0a31d78 c000edc8 c00081a8 c0b1cb7c c0b1cb7c
[114443.776666] 1d80 00000000 c0b1cb7c c0a30000 00000102 c0b1cb6c c0a32080 c0a30000 c0b1cb7c
[114443.777973] 1da0 c1711060 c0a31dfc c0a31dc0 c0a31dc0 c00835e0 c0b1d00c 60000113 ffffffff
[114443.779175] 1dc0 2c1bea79 c00a6608 c0a31e20 c0b1cb7c c0a31dec c0a31e20 c0b1c820 c0b1cb6c
[114443.780483] 1de0 c0a32080 c0a30000 00ce5000 c1711060 c0a31e54 c0a31e00 c0084348 c008359c
[114443.781792] 1e00 c0b1cb90 00000000 02789879 c0a31e20 c0b1cb7c c0b1cb7c 00200200 c0b1d034
[114443.783091] 1e20 e63923f4 e61215f4 c0a31e54 00000101 c0a32044 c0a30000 00000000 00000001
[114443.784285]
[114443.784290] IP: 0xc0a31d40:
[114443.784639] 1d40 00cfd000 a560e39a 18109375 0000021b c0a31dbc c0a31d60 c0b1d010 60000113
[114443.785845] 1d60 c000f094 00000000 c0a31dfc c0a31d78 c000edc8 c00081a8 c0b1cb7c c0b1cb7c
[114443.787143] 1d80 00000000 c0b1cb7c c0a30000 00000102 c0b1cb6c c0a32080 c0a30000 c0b1cb7c
[114443.788425] 1da0 c1711060 c0a31dfc c0a31dc0 c0a31dc0 c00835e0 c0b1d00c 60000113 ffffffff
[114443.789746] 1dc0 2c1bea79 c00a6608 c0a31e20 c0b1cb7c c0a31dec c0a31e20 c0b1c820 c0b1cb6c
[114443.790955] 1de0 c0a32080 c0a30000 00ce5000 c1711060 c0a31e54 c0a31e00 c0084348 c008359c
[114443.792263] 1e00 c0b1cb90 00000000 02789879 c0a31e20 c0b1cb7c c0b1cb7c 00200200 c0b1d034
[114443.793567] 1e20 e63923f4 e61215f4 c0a31e54 00000101 c0a32044 c0a30000 00000000 00000001
[114443.794863]
[114443.794868] FP: 0xc0a31d7c:
[114443.795108] 1d7c c0b1cb7c 00000000 c0b1cb7c c0a30000 00000102 c0b1cb6c c0a32080 c0a30000
[114443.796422] 1d9c c0b1cb7c c1711060 c0a31dfc c0a31dc0 c0a31dc0 c00835e0 c0b1d00c 60000113
[114443.797625] 1dbc ffffffff 2c1bea79 c00a6608 c0a31e20 c0b1cb7c c0a31dec c0a31e20 c0b1c820
[114443.798930] 1ddc c0b1cb6c c0a32080 c0a30000 00ce5000 c1711060 c0a31e54 c0a31e00 c0084348
[114443.800228] 1dfc c008359c c0b1cb90 00000000 02789879 c0a31e20 c0b1cb7c c0b1cb7c 00200200
[114443.801530] 1e1c c0b1d034 e63923f4 e61215f4 c0a31e54 00000101 c0a32044 c0a30000 00000000
[114443.802741] 1e3c 00000001 00ce5000 c1711060 c0a31e9c c0a31e58 c007c010 c0084204 027859f9
[114443.803938] 1e5c 00006816 027859f9 0000000a 00000000 00000102 0310c580 c0a30000 c0a53018
[114443.805232]
[114443.805237] R0: 0xc0b1cafc:
[114443.805476] cafc c0b1cafc c0b1cafc c0b1cb04 c0b1cb04 c0b1cb0c c0b1cb0c c0b1cb14 c0b1cb14
[114443.806783] cb1c c0b1cb1c c0b1cb1c c0b1cb24 c0b1cb24 c0b1cb2c c0b1cb2c c0b1cb34 c0b1cb34
[114443.808090] cb3c c0b1cb3c c0b1cb3c c0b1cb44 c0b1cb44 c0b1cb4c c0b1cb4c c0b1cb54 c0b1cb54
[114443.809299] cb5c c0b1cb5c c0b1cb5c c0b1cb64 c0b1cb64 00000000 00200200 e605c558 e605c558
[114443.810610] cb7c c0b1cb7c c0b1cb7c c0b1cb84 c0b1cb84 c0b1cb8c c0b1cb8c c0b1cb94 c0b1cb94
[114443.811809] cb9c c0b1cb9c c0b1cb9c c0b1cba4 c0b1cba4 c0b1cbac c0b1cbac c0b1cbb4 c0b1cbb4
[114443.813103] cbbc c0b1cbbc c0b1cbbc c0b1cbc4 c0b1cbc4 c0b1cbcc c0b1cbcc c0b1cbd4 c0b1cbd4
[114443.814301] cbdc c0b1cbdc c0b1cbdc c0b1cbe4 c0b1cbe4 c0b1cbec c0b1cbec c0b1cbf4 c0b1cbf4
[114443.815612]
[114443.815617] R1: 0xc0b1cafc:
[114443.815862] cafc c0b1cafc c0b1cafc c0b1cb04 c0b1cb04 c0b1cb0c c0b1cb0c c0b1cb14 c0b1cb14
[114443.817172] cb1c c0b1cb1c c0b1cb1c c0b1cb24 c0b1cb24 c0b1cb2c c0b1cb2c c0b1cb34 c0b1cb34
[114443.818484] cb3c c0b1cb3c c0b1cb3c c0b1cb44 c0b1cb44 c0b1cb4c c0b1cb4c c0b1cb54 c0b1cb54
[114443.819689] cb5c c0b1cb5c c0b1cb5c c0b1cb64 c0b1cb64 00000000 00200200 e605c558 e605c558
[114443.820984] cb7c c0b1cb7c c0b1cb7c c0b1cb84 c0b1cb84 c0b1cb8c c0b1cb8c c0b1cb94 c0b1cb94
[114443.822258] cb9c c0b1cb9c c0b1cb9c c0b1cba4 c0b1cba4 c0b1cbac c0b1cbac c0b1cbb4 c0b1cbb4
[114443.823546] cbbc c0b1cbbc c0b1cbbc c0b1cbc4 c0b1cbc4 c0b1cbcc c0b1cbcc c0b1cbd4 c0b1cbd4
[114443.824842] cbdc c0b1cbdc c0b1cbdc c0b1cbe4 c0b1cbe4 c0b1cbec c0b1cbec c0b1cbf4 c0b1cbf4
[114443.826046]
[114443.826051] R3: 0xc0b1cafc:
[114443.826399] cafc c0b1cafc c0b1cafc c0b1cb04 c0b1cb04 c0b1cb0c c0b1cb0c c0b1cb14 c0b1cb14
[114443.827603] cb1c c0b1cb1c c0b1cb1c c0b1cb24 c0b1cb24 c0b1cb2c c0b1cb2c c0b1cb34 c0b1cb34
[114443.828912] cb3c c0b1cb3c c0b1cb3c c0b1cb44 c0b1cb44 c0b1cb4c c0b1cb4c c0b1cb54 c0b1cb54
[114443.830223] cb5c c0b1cb5c c0b1cb5c c0b1cb64 c0b1cb64 00000000 00200200 e605c558 e605c558
[114443.831525] cb7c c0b1cb7c c0b1cb7c c0b1cb84 c0b1cb84 c0b1cb8c c0b1cb8c c0b1cb94 c0b1cb94
[114443.832719] cb9c c0b1cb9c c0b1cb9c c0b1cba4 c0b1cba4 c0b1cbac c0b1cbac c0b1cbb4 c0b1cbb4
[114443.834036] cbbc c0b1cbbc c0b1cbbc c0b1cbc4 c0b1cbc4 c0b1cbcc c0b1cbcc c0b1cbd4 c0b1cbd4
[114443.835355] cbdc c0b1cbdc c0b1cbdc c0b1cbe4 c0b1cbe4 c0b1cbec c0b1cbec c0b1cbf4 c0b1cbf4
[114443.836557]
[114443.836562] R4: 0xc0a2ff80:
[114443.836803] ff80 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[114443.838080] ffa0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[114443.839275] ffc0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[114443.840577] ffe0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[114443.841881] 0000 00000002 00000104 00000000 c0a5a598 c0a8fd30 00000000 00000015 c0a5a598
[114443.843177] 0020 c17134c0 e5c9b240 c0a30000 00000000 e6102380 d5ac1140 c0a31f7c c0a31ee0
[114443.844386] 0040 c06d9cec 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[114443.845693] 0060 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[114443.846991]
[114443.846996] R6: 0xc0b1caec:
[114443.847235] caec c0b1caec c0b1caec c0b1caf4 c0b1caf4 c0b1cafc c0b1cafc c0b1cb04 c0b1cb04
[114443.848543] cb0c c0b1cb0c c0b1cb0c c0b1cb14 c0b1cb14 c0b1cb1c c0b1cb1c c0b1cb24 c0b1cb24
[114443.849863] cb2c c0b1cb2c c0b1cb2c c0b1cb34 c0b1cb34 c0b1cb3c c0b1cb3c c0b1cb44 c0b1cb44
[114443.851070] cb4c c0b1cb4c c0b1cb4c c0b1cb54 c0b1cb54 c0b1cb5c c0b1cb5c c0b1cb64 c0b1cb64
[114443.852379] cb6c 00000000 00200200 e605c558 e605c558 c0b1cb7c c0b1cb7c c0b1cb84 c0b1cb84
[114443.853688] cb8c c0b1cb8c c0b1cb8c c0b1cb94 c0b1cb94 c0b1cb9c c0b1cb9c c0b1cba4 c0b1cba4
[114443.854972] cbac c0b1cbac c0b1cbac c0b1cbb4 c0b1cbb4 c0b1cbbc c0b1cbbc c0b1cbc4 c0b1cbc4
[114443.856177] cbcc c0b1cbcc c0b1cbcc c0b1cbd4 c0b1cbd4 c0b1cbdc c0b1cbdc c0b1cbe4 c0b1cbe4
[114443.857495]
[114443.857500] R7: 0xc0a32000:
[114443.857743] 2000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[114443.859047] 2020 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[114443.860347] 2040 c007b700 c00841f8 c0550b28 c05559f4 c0275acc c02762f0 c007b8c0 c006f8ec
[114443.861658] 2060 c009bc9c c00c7214 00000000 00000000 00000000 00000000 00000000 00000000
[114443.862859] 2080 00ae2b71 00000001 00000000 00000000 00000000 00000000 00000000 00000000
[114443.864159] 20a0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[114443.865456] 20c0 014a62ba 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[114443.866760] 20e0 c0a320e0 c0a320e0 00000000 00000000 00000000 00000000 00000000 00000000
[114443.867954]
[114443.867959] R8: 0xc0a2ff80:
[114443.868302] ff80 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[114443.869501] ffa0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[114443.870786] ffc0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[114443.872071] ffe0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[114443.873376] 0000 00000002 00000104 00000000 c0a5a598 c0a8fd30 00000000 00000015 c0a5a598
[114443.874580] 0020 c17134c0 e5c9b240 c0a30000 00000000 e6102380 d5ac1140 c0a31f7c c0a31ee0
[114443.875891] 0040 c06d9cec 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[114443.877203] 0060 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[114443.878504]
[114443.878510] R9: 0xc0b1cafc:
[114443.878750] cafc c0b1cafc c0b1cafc c0b1cb04 c0b1cb04 c0b1cb0c c0b1cb0c c0b1cb14 c0b1cb14
[114443.880059] cb1c c0b1cb1c c0b1cb1c c0b1cb24 c0b1cb24 c0b1cb2c c0b1cb2c c0b1cb34 c0b1cb34
[114443.881250] cb3c c0b1cb3c c0b1cb3c c0b1cb44 c0b1cb44 c0b1cb4c c0b1cb4c c0b1cb54 c0b1cb54
[114443.882557] cb5c c0b1cb5c c0b1cb5c c0b1cb64 c0b1cb64 00000000 00200200 e605c558 e605c558
[114443.883762] cb7c c0b1cb7c c0b1cb7c c0b1cb84 c0b1cb84 c0b1cb8c c0b1cb8c c0b1cb94 c0b1cb94
[114443.885076] cb9c c0b1cb9c c0b1cb9c c0b1cba4 c0b1cba4 c0b1cbac c0b1cbac c0b1cbb4 c0b1cbb4
[114443.886295] cbbc c0b1cbbc c0b1cbbc c0b1cbc4 c0b1cbc4 c0b1cbcc c0b1cbcc c0b1cbd4 c0b1cbd4
[114443.887580] cbdc c0b1cbdc c0b1cbdc c0b1cbe4 c0b1cbe4 c0b1cbec c0b1cbec c0b1cbf4 c0b1cbf4
[114443.888871]
[114443.888876] R10: 0xc1710fe0:
[114443.889121] 0fe0 57f9e4b2 85e3a3dc 03486f79 578fdfc2 cb36c3b4 0fb16f75 4e279d4c 511b46be
[114443.890431] 1000 004c0000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[114443.891736] 1020 00000000 00000001 00000000 c0aa8bc8 ef939a40 c1719034 c0aa8bd8 c0aa8be8
[114443.892944] 1040 c0aa8bd8 c0aa8900 ef9369f8 00000003 00000007 c0a5a598 004c0000 00000000
[114443.894261] 1060 c009b940 c001589c 0310c580 00006816 35e50d83 00000004 000003e8 00000000
[114443.895465] 1080 1e666666 0000001f 00000003 00000007 0000072b c0014aac c0015834 0000000f
[114443.896775] 10a0 ffffffff c0855460 0000015e 0000001d c06f68ec c0a92610 c0a5c8b4 00000000
[114443.897984] 10c0 c1711060 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[114443.899304] Process swapper (pid: 0, stack limit = 0xc0a302f0)
[114443.899544] Stack: (0xc0a31dc0 to 0xc0a32000)
[114443.899688] 1dc0: 2c1bea79 c00a6608 c0a31e20 c0b1cb7c c0a31dec c0a31e20 c0b1c820 c0b1cb6c
[114443.899939] 1de0: c0a32080 c0a30000 00ce5000 c1711060 c0a31e54 c0a31e00 c0084348 c008359c
[114443.900190] 1e00: c0b1cb90 00000000 02789879 c0a31e20 c0b1cb7c c0b1cb7c 00200200 c0b1d034
[114443.900335] 1e20: e63923f4 e61215f4 c0a31e54 00000101 c0a32044 c0a30000 00000000 00000001
[114443.900583] 1e40: 00ce5000 c1711060 c0a31e9c c0a31e58 c007c010 c0084204 027859f9 00006816
[114443.900836] 1e60: 027859f9 0000000a 00000000 00000102 0310c580 c0a30000 c0a53018 c0a2ddf8
[114443.900981] 1e80: 00000000 c0a2c060 00ce5000 c1711060 c0a31eb4 c0a31ea0 c007c6d4 c007bf40
[114443.901227] 1ea0: 00000000 c0a30000 c0a31ee4 c0a31eb8 c000838c c007c638 c028ee48 c004c334
[114443.901473] 1ec0: 20000013 fe040100 c0a31f1c e66fe400 412fc099 00000000 c0a31f54 c0a31ee8
[114443.901722] 1ee0: c000ecb8 c0008314 00001a9b 00000000 00000000 000f4240 02104571 00006816
[114443.901867] 1f00: 00000000 e66fe410 e66fe400 412fc099 00000000 c0a31f54 3b9ac9ff c0a31f30
[114443.902114] 1f20: c028ee48 c004c334 20000013 ffffffff 027832e9 00006816 00000000 00001a9b
[114443.902359] 1f40: c0a30000 c0a30000 c0a31f8c c0a31f58 c049a130 c004c2d4 02102631 00006816
[114443.902604] 1f60: c009ce58 c0a30000 c0af4d04 c06f6974 c0a5b7b4 8000406a 412fc099 00000000
[114443.902749] 1f80: c0a31fac c0a31f90 c0010278 c049a058 c0a30000 00000000 c0a07f7c c170e2a0
[114443.902997] 1fa0: c0a31fc4 c0a31fb0 c06ae798 c00101bc c0a0c150 c0a52e2c c0a31ff4 c0a31fc8
[114443.903245] 1fc0: c09d1864 c06ae710 c09d12c4 00000000 00000000 c0a07f7c 10c5387d c0a51650
[114443.903493] 1fe0: c0a07f74 c0a5b7ac 00000000 c0a31ff8 80008040 c09d15a0 00000000 00000000
[114443.903654] [<c00835e0>] (call_timer_fn+0x50/0x190) from [<c0084348>] (run_timer_softirq+0x150/0x2a8)
[114443.903915] [<c0084348>] (run_timer_softirq+0x150/0x2a8) from [<c007c010>] (__do_softirq+0xdc/0x278)
[114443.904168] [<c007c010>] (__do_softirq+0xdc/0x278) from [<c007c6d4>] (irq_exit+0xa8/0xb0)
[114443.904420] [<c007c6d4>] (irq_exit+0xa8/0xb0) from [<c000838c>] (do_local_timer+0x84/0xa4)
[114443.904571] [<c000838c>] (do_local_timer+0x84/0xa4) from [<c000ecb8>] (__irq_svc+0x38/0xd0)
[114443.904806] Exception stack(0xc0a31ee8 to 0xc0a31f30)
[114443.905045] 1ee0: 00001a9b 00000000 00000000 000f4240 02104571 00006816
[114443.905189] 1f00: 00000000 e66fe410 e66fe400 412fc099 00000000 c0a31f54 3b9ac9ff c0a31f30
[114443.905434] 1f20: c028ee48 c004c334 20000013 ffffffff
[114443.905685] [<c000ecb8>] (__irq_svc+0x38/0xd0) from [<c004c334>] (tegra_idle_enter_lp3+0x6c/0x74)
[114443.905847] [<c004c334>] (tegra_idle_enter_lp3+0x6c/0x74) from [<c049a130>] (cpuidle_idle_call+0xe4/0x290)
[114443.906112] [<c049a130>] (cpuidle_idle_call+0xe4/0x290) from [<c0010278>] (cpu_idle+0xc8/0x11c)
[114443.906375] [<c0010278>] (cpu_idle+0xc8/0x11c) from [<c06ae798>] (rest_init+0x94/0xac)
[114443.906641] [<c06ae798>] (rest_init+0x94/0xac) from [<c09d1864>] (start_kernel+0x2d0/0x324)
[114443.906786] Code: c0b1cffc c0b1cffc c0b1d004 c0b1d004 (d6c91d30)
[114443.907123] ---[ end trace e6a0be6a6a3309db ]---
[114443.907263] Kernel panic - not syncing: Fatal exception in interrupt
[114443.907529] [<c0016410>] (unwind_backtrace+0x0/0x144) from [<c06c47e0>] (dump_stack+0x20/0x24)
[114443.907784] [<c06c47e0>] (dump_stack+0x20/0x24) from [<c06c6574>] (panic+0x88/0x1b4)
[114443.907931] [<c06c6574>] (panic+0x88/0x1b4) from [<c001347c>] (die+0xd0/0xe4)
[114443.908184] [<c001347c>] (die+0xd0/0xe4) from [<c00134b8>] (arm_notify_die+0x28/0x60)
[114443.908437] [<c00134b8>] (arm_notify_die+0x28/0x60) from [<c00082e4>] (do_undefinstr+0x148/0x16c)
[114443.908695] [<c00082e4>] (do_undefinstr+0x148/0x16c) from [<c000edc8>] (__und_svc+0x48/0x60)
[114443.908831] Exception stack(0xc0a31d78 to 0xc0a31dc0)
[114443.909067] 1d60: c0b1cb7c c0b1cb7c
[114443.909315] 1d80: 00000000 c0b1cb7c c0a30000 00000102 c0b1cb6c c0a32080 c0a30000 c0b1cb7c
[114443.909458] 1da0: c1711060 c0a31dfc c0a31dc0 c0a31dc0 c00835e0 c0b1d00c 60000113 ffffffff
[114443.909713] [<c000edc8>] (__und_svc+0x48/0x60) from [<c0b1d00c>] (0xc0b1d00c)
[114443.909985] CPU3: stopping
[114443.910149] [<c0016410>] (unwind_backtrace+0x0/0x144) from [<c06c47e0>] (dump_stack+0x20/0x24)
[114443.910403] [<c06c47e0>] (dump_stack+0x20/0x24) from [<c0008590>] (do_IPI+0x1e4/0x218)
[114443.910554] [<c0008590>] (do_IPI+0x1e4/0x218) from [<c000ecb8>] (__irq_svc+0x38/0xd0)
[114443.910797] Exception stack(0xef8d7f18 to 0xef8d7f60)
[114443.910933] 7f00: 0000c404 00000000
[114443.911078] 7f20: 00000000 000f4240 090790e1 00006816 00000000 e67da810 e67da800 412fc099
[114443.911324] 7f40: 00000003 ef8d7f84 3b9ac9ff ef8d7f60 c028ee48 c004c334 20000013 ffffffff
[114443.911578] [<c000ecb8>] (__irq_svc+0x38/0xd0) from [<c004c334>] (tegra_idle_enter_lp3+0x6c/0x74)
[114443.911734] [<c004c334>] (tegra_idle_enter_lp3+0x6c/0x74) from [<c049a130>] (cpuidle_idle_call+0xe4/0x290)
[114443.911890] [<c049a130>] (cpuidle_idle_call+0xe4/0x290) from [<c0010278>] (cpu_idle+0xc8/0x11c)
[114443.912158] [<c0010278>] (cpu_idle+0xc8/0x11c) from [<c06c16c8>] (secondary_start_kernel+0x138/0x158)
[114443.912413] [<c06c16c8>] (secondary_start_kernel+0x138/0x158) from [<806c0fd4>] (0x806c0fd4)
[114443.912663] CPU2: stopping
[114443.912825] [<c0016410>] (unwind_backtrace+0x0/0x144) from [<c06c47e0>] (dump_stack+0x20/0x24)
[114443.913079] [<c06c47e0>] (dump_stack+0x20/0x24) from [<c0008590>] (do_IPI+0x1e4/0x218)
[114443.913232] [<c0008590>] (do_IPI+0x1e4/0x218) from [<c000ecb8>] (__irq_svc+0x38/0xd0)
[114443.913475] Exception stack(0xef8cbf18 to 0xef8cbf60)
[114443.913717] bf00: 0001d570 00000000
[114443.913861] bf20: 00000000 000f4240 04db8301 00006816 00000000 e67dac10 e67dac00 412fc099
[114443.914107] bf40: 00000002 ef8cbf84 3b9ac9ff ef8cbf60 c028ee48 c004c334 20000013 ffffffff
[114443.914359] [<c000ecb8>] (__irq_svc+0x38/0xd0) from [<c004c334>] (tegra_idle_enter_lp3+0x6c/0x74)
[114443.914612] [<c004c334>] (tegra_idle_enter_lp3+0x6c/0x74) from [<c049a130>] (cpuidle_idle_call+0xe4/0x290)
[114443.914764] [<c049a130>] (cpuidle_idle_call+0xe4/0x290) from [<c0010278>] (cpu_idle+0xc8/0x11c)
[114443.915022] [<c0010278>] (cpu_idle+0xc8/0x11c) from [<c06c16c8>] (secondary_start_kernel+0x138/0x158)
[114443.915276] [<c06c16c8>] (secondary_start_kernel+0x138/0x158) from [<806c0fd4>] (0x806c0fd4)
[114443.915528] Rebooting in 10 seconds..
[114453.925853] Restarting Linux version 3.1.10-00001-gdc9b6cf ([email protected]) (gcc version 4.6.x-google 20120106 (prerelease) (GCC) ) #1 SMP PREEMPT Fri Dec 28 19:02:52 CST 2012
[114453.925877]
No errors detected
I should add that there also seems to be some major 2d graphics performance issues, for instance GMIP, over tightvncserver, over xrdp, over and xrdp client is about as laggy as a native android painting app which drawing some simple airbrush lines. using top etc.. the xrdp client is CPU limiting the whole lot, using say, 150% CPU, where as tightvncserver and xrdp are using under 30% each (that should be doing harder graphics processing work) and gimp about 10%
there are also lots of other random bugs, for instance if i have the charger plugged in, from time to time, the black and white image you get when the charger plugs in appears on the screen.. sometimes it seems like external storage unmounts too, sometimes the pointer clickins on the screen when I am typing (though this may be the trackpad being annoyingly over sensitive), filemanager wont open flv files, files don't show up when apps try to open pictures or videos (presumably using some built in android cache) though if I use an app that just looks at the files (like vnc or a filebrowser) the files are there and open just fine.
oliverthered said:
anyhow, now around 700-800mb of memory is used at startup, background apps get closed even if there is still free memory and usually only if switching between one or two apps and doing very little
Click to expand...
Click to collapse
Seems to be typical behavior, unfortunately. Different application types get different kill priorities as far as the lowmemorykiller is concerned. It might just be that it's being a bit aggressive with those apps it thinks it can get away with it on.
when I copy and paste into the browser 99% of the time it pastes at the begning of the text box not the cursor position
Click to expand...
Click to collapse
I think I've had this experience too, although I don't know if as often. Text selection and cursor positioning do seem buggy and unrefined at times.
staart up time is well over a minute (longer than my wildfire phone from years ago)
Click to expand...
Click to collapse
Also typical for this device.
and I'm getting segfaults fro time to time
Click to expand...
Click to collapse
If you're using the stock kernel and getting kernel panics, it might be a hardware issue. CPU overheating or memory gone bad. I wonder if there's a port of, or equivalent to, memtest86 for Android/ARM...
oliverthered said:
there are also lots of other random bugs, for instance if i have the charger plugged in, from time to time, the black and white image you get when the charger plugs in appears on the screen.. sometimes it seems like external storage unmounts too,
Click to expand...
Click to collapse
If you mean the little "toast" message gets stuck on the screen, I get this too. Usually when turning on/off Wi-Fi.
filemanager wont open flv files
Click to expand...
Click to collapse
This has never worked for me either. I don't know offhand if there's a way to associate files with apps using the stock filemanager.
My wildfire seems to do a better job at keeping backgroup processes running and it even happens with 1gb of swap space enabled, I may try to get a kernel with the feature disabled since even something like catlog get's killed if I'm running another process, all too regurlally.
The kernel panicks seem to be all too consistent for a hardware memory issue, I found that if I start up the device then start doing a lot of typing it seems to trip the segfault. I'll capture a few more last_kmsg tails too see how consistant they are.
It's not the toast message getting 'stuck' it's that it keeps popping up from time to time, say every ten minutes or so if I'm watching a movie on hdmi out and doing nothing else with the device plugged into the charger all that time.
becomingx said:
Seems to be typical behavior, unfortunately. Different application types get different kill priorities as far as the lowmemorykiller is concerned. It might just be that it's being a bit aggressive with those apps it thinks it can get away with it on.
If you're using the stock kernel and getting kernel panics, it might be a hardware issue. CPU overheating or memory gone bad. I wonder if there's a port of, or equivalent to, memtest86 for Android/ARM...
If you mean the little "toast" message gets stuck on the screen, I get this too. Usually when turning on/off Wi-Fi.
Click to expand...
Click to collapse
oliverthered said:
My wildfire seems to do a better job at keeping backgroup processes running and it even happens with 1gb of swap space enabled, I may try to get a kernel with the feature disabled since even something like catlog get's killed if I'm running another process, all too regurlally.
Click to expand...
Click to collapse
That would be interesting (I'm assuming you mean the lowmemorykiller as the feature?). I can imagine how the system would act without it.
The kernel panicks seem to be all too consistent for a hardware memory issue, I found that if I start up the device then start doing a lot of typing it seems to trip the segfault. I'll capture a few more last_kmsg tails too see how consistant they are.
Click to expand...
Click to collapse
Hmm, virtual keyboard or hardware keyboard, or does it not matter? Either way, let me know about the faults. I used to be pretty good at reading kernel panics, but I'm a few years out of practice. I'd still like to see what the differences are, if any.
It's not the toast message getting 'stuck' it's that it keeps popping up from time to time, say every ten minutes or so if I'm watching a movie on hdmi out and doing nothing else with the device plugged into the charger all that time.
Click to expand...
Click to collapse
Ah! When the screen got cracked, do you think it might have damaged more than that? Maybe the mainboard or the dock connector?

Categories

Resources