[Galaxy Tab 10.1 Android Development] javideslomao:
This is the latest ROM for P7500 available on sammobiles (Czech version) with the deepsleep / wakelock / battery drain issue fixed.

Download link at the bottom of this post.

It's actually a mashup of two roms: P7500XWMPJ_P7500XEZMP1_XEZ (Czech) and P7500ZCLP9_P7500OZHLP9_CHN (China). See below for details.

Background

Since the ICS update, the P7500 tab drains the battery much faster than previous honeycomb versions. It is commonly accepted that this behavior is due to a bug in the kernel that prevents the CPU from deep sleeping. You can verify how much the tab spends in each CPU mode with the CpuSpy app.

How this was fixed

Stiffmeister, a member of a german forum (page 30 onwards) found out that the CHN firmware does NOT have this bug. Massive credit goes to him. His solution involves flashing the CHN firmware, then CWM recovery, then a CWM update that adds additional languages. It remains unknown why the Chinese ROM fixes the deepsleep issues, but so far it's the only one that does.

Phibs, a XDA member further found out that the problem can also be fixed by flashing the boot.img + kernel modules + wpa_supplicant from the chinese rom. It is explained here and there is even a zip file you can flash from CWM on top of an ICS stock rom. Massive credit to him, too.

About this ROM

This is essentally the latest ROM from sammobile (XWMPJ - Czech) with the following modifications:

Replaced boot.img with CHN's

Replaced /system/lib/modules/* with CHN's

Replaced /system/bin/wpa_supplicant with CHN's

Removed recovery.img to prevent overwrite of existing recovery.

No changes have been made other than these.

Flashing with odin won't destroy your current recovery nor your data so it's safe to flash on top of an existing stock ICS. Nandroid first if it feels safer. Wipe not needed if coming from stock ICS. Flashing on top of honeycomb not tested.

Root

This is a non-root rom. You can root it yourself if you want. Your options are:

Flash this

or use the XWMPJ ROM from Toldo's thread, bonus packed with deodex, zipalign, init.d and root.

Flash

As stated elsewhere in this post and throughout the thread, flash with Odin.

How to cook your own

If you want to use another (non-Czech) rom as a base and patch it with the china boot.img yourself, follow this procedure:

Grab the two roms (CHN and the one you want to patch) from sammobile.

Grab ext4_utils from here.

Go to linux

Unzip ext4_utils and make them:

make

Untar the roms in two separate folders (I used cn for china, cz for czech)

On cn and cz, use simg2img from ext4_utils to turn system.img into an ext4 raw file:

./simg2img cn/system.img cn/system.ext4
./simg2img cz/system.img cz/system.ext4

Mount both cn and cz images:

mkdir cn/fs
mkdir cz/fs
sudo mount -o loop cn/system.ext4 cn/fs
sudo mount -o loop cz/system.ext4 cz/fs

We will be replacing cz's kernel with cn's later, these are dependent files that need to be copied over from cn to cz:

sudo cp cn/fs/lib/modules/* cz/fs/lib/modules
sudo cp cn/fs/bin/wpa_supplicant cz/fs/bin/wpa_supplicant
sudo cp cn/fs/bin/wlandutservice cz/fs/bin/wlandutservice

Now, find out what the block size and count were in the original img. Size * count / (1024 * 1024) will give you the filesystem size in MB, we will use it in the next step.

tune2fs -l cz/system.ext4

Rebuild the android image with make_ext4fs (from ext4_utils). 578M is the size in MB, and 4096 is the block size from the above step:

rm cz/system.img
sudo ./make_ext4fs -s -l 578M -b 4096 -a system cz/system.img cz/fs

You can unmount and remove temporary stuff now:

umount cn/fs
umount cz/fs
rmdir cn/fs cz/fs
rm cz/system.ext4

Copy boot.img over from cn to cz:

cp cn/boot.img cz/boot.img

If you have a custom recovery such as CWM and don't want it to be destroyed by odin when flashing this, remove cz/recovery.img:

rm cz/recovery.img

Now, Odin needs all the img files packed into a tar file with a md5 checksum piggybacked at the end:

cd cz
tar -H ustar -c *.bin *.img > rom.tar
md5sum rom.tar >>rom.tar
mv rom.tar rom.tar.md5

That's it, go to Odin and flash rom.tar.md5. Do not rename "rom.tar.md5" or Odin will complain. If you want to give it a more meaningful name (for distribution or whatever), rename "rom.tar" before piggybacking the md5.

Download

P7500XWMPJ_deepsleep.7z (350.2 MB)

@ mega: https://mega.co.nz/#!BxU1iC6Y!Paaqp1C1KevBRA9caSAGVy-4ynwOxdxf2hWogk49nEg

@ hotfile: https://hotfile.com/dl/202781788/50a705c/P7500XWMPJ_deepsleep.7z.html