[Hardware Hacking General] osm0sis:
Haha you're chomping at the bit, my friend. I worked a 12h shift today, so please excuse me. :)

Gotta love Matricom for rooting their ROMs, this made it easy for me to install the latest busybox and then start messing around to give myself init.d support like I explained before. With init.d I can set a number of values on boot with shell scripts for the sysfs (old school :D), but with just root and busybox installed we should also be able to use TricksterMod to play with a LOT of device functionality more easily. I haven't tried Trickster yet, but it's on my to-do; for now I've got the following scripts I'm playing with:

My Franco's Dev Team scripts. Something in there seems to have slowed the device down though, so I'm working by process of elimination now, commenting things out to see what tweaks work and what don't for speeding things up. I'll keep you posted.

Matricom also did us a solid by including the OC functionality in the kernel, but just limiting it by default to 1200MHz. Here are all the defaults which I pulled with my settingsdump.sh script:

/sys/devices/system/cpu/cpu0/cpufreq/
0 1 affected_cpus
336000 cpuinfo_cur_freq
1512000 cpuinfo_max_freq
48000 cpuinfo_min_freq
200000 cpuinfo_transition_latency
0 1 related_cpus
96000 192000 312000 408000 504000 600000 696000 816000 912000 1008000 1104000 1200000 1296000 1416000 1512000 scaling_available_frequencies
conservative ondemand performance scaling_available_governors
336000 scaling_cur_freq
meson_cpufreq scaling_driver
conservative scaling_governor
1200000 scaling_max_freq
96000 scaling_min_freq
<unsupported> scaling_setspeed
stats

/sys/devices/system/cpu/cpufreq/conservative/
1 change_skips
50 down_threshold
8 freq_step
0 ignore_nice_load
100000 sampling_rate
20000 sampling_rate_min
408000 screen_off_max
80 up_threshold

/sys/devices/system/cpu/cpufreq/ondemand/
0 ignore_nice_load
0 io_is_busy
0 powersave_bias
1 sampling_down_factor
200000 sampling_rate
20000 sampling_rate_min
95 up_threshold

/sys/block/mmcblk0/queue/

/sys/block/mmcblk0/queue/iosched/

/sys/block/mtdblock9/queue/
1 add_random
0 discard_granularity
0 discard_max_bytes
0 discard_zeroes_data
512 hw_sector_size
iosched
1 iostats
512 logical_block_size
127 max_hw_sectors_kb
0 max_integrity_segments
127 max_sectors_kb
65536 max_segment_size
128 max_segments
512 minimum_io_size
0 nomerges
128 nr_requests
0 optimal_io_size
512 physical_block_size
128 read_ahead_kb
1 rotational
1 rq_affinity
noop [deadline] scheduler

/sys/block/mtdblock9/queue/iosched/
16 fifo_batch
1 front_merges
500 read_expire
5000 write_expire
2 writes_starved

/proc/sys/vm/
0 block_dump
0 dirty_background_bytes
5 dirty_background_ratio
0 dirty_bytes
200 dirty_expire_centisecs
20 dirty_ratio
500 dirty_writeback_centisecs
0 drop_caches
0 highmem_is_dirtyable
0 laptop_mode
32	32 lowmem_reserve_ratio
65530 max_map_count
2415 min_free_kbytes
4 min_free_order_shift
32768 mmap_min_addr
0 nr_pdflush_threads
1 oom_dump_tasks
0 oom_kill_allocating_task
1 overcommit_memory
50 overcommit_ratio
3 page-cluster
0 panic_on_oom
0 percpu_pagelist_fraction
0 scan_unevictable_pages
1 stat_interval
60 swappiness
100 vfs_cache_pressure

/sys/module/lowmemorykiller/parameters/
0,1,2,4,9,15 adj
32 cost
2 debug_level
8192,10240,12288,14336,16384,20480 minfree

So as you can see, all the frequencies up to 1512MHz are present, it's just a matter of adjusting the max. Conservative is also the default governor, and I tried ondemand but that was when I tried a bunch of things and it got slow; haven't determined if ondemand works well enough or not. Either way their conservative is pretty aggressive (in a good way, because otherwise it's rather sluggish) with an up_threshold of 80, so we're not too poorly off. (We could also lower both thresholds even more if we want it more responsive/aggressive) :good:

The directory and filenames involved are the files we change to get what we want, so I ended up with these basic tweaks, and I'm still working on others...

/system/etc/init.d/900bootsettings:

#!/system/bin/sh
# chmod -R 755 /system/etc/init.d

# allow network adb shell access
setprop service.adb.tcp.port 5555;
stop adbd;
start adbd;

# cpufreq tweaks
for i in /sys/devices/system/cpu/cpu*/cpufreq; do
echo 1512000 > $i/scaling_max_freq;
echo 312000 > $i/scaling_min_freq;
done;

# tcp tweaks
echo "reno" > /proc/sys/net/ipv4/tcp_congestion_control;

Definitely going to try that, also just trying adb reboot recovery with the sdcard in already - possibly save me digging out the screwdriver. ;)

Also not sure how the image could have been corrupted.. maybe adb pull across the network? Or maybe my dd from the mtd partitions I also showed in my other post was flawed somehow.. It definitely pulled everything from the mtdblock#'s and got the associated name from the /proc/mtd partition table correctly, so yeah.. I don't know. How did you extract yours? CWM or another method? CWM might produce a better image, if I can ever get into it! :p

---------- Post added at 08:35 PM ---------- Previous post was at 07:53 PM ----------

"adb reboot recovery" definitely doesn't work :(, I'll have to try your open-box method on my next day off since I don't want to mess around with the screwdriver tonight..

Also definitely install Xposed Framework and checkout the Master Key vulnerability fix and Gravity Box, both great modules. Gravity Box takes AOSP and makes it like CM if you want. Fantastic way to mod without touching system files. :good:

---------- Post added at 09:12 PM ---------- Previous post was at 08:35 PM ----------

Couldn't resist. Open box method didn't work either. :(