yashsingh1/xdaforums huggingface dataset:
[Android Software/Hacking General [Developers Only]] navster:
Addendum to above post, looks like 1Mb swap is already in place on these tabs:

# busybox df -h

busybox df -h

Filesystem Size Used Available Use% Mounted on

tmpfs 194.6M 12.0K 194.6M 0% /dev

tmpfs 194.6M 0 194.6M 0% /mnt/asec

tmpfs 1.0M 4.0K 1020.0K 0% /mnt/shm

/dev/block/mmcblk0p2 120.4M 117.6M 2.9M 98% /system

/dev/block/mmcblk0p5 961.2M 96.6M 815.8M 11% /data

/dev/block/mmcblk0p6 461.8M 10.3M 427.6M 2% /cache

/dev/block/vold/179:1

12.7G 1.7M 12.7G 0% /mnt/sdcard

/dev/block/vold/179:1

12.7G 1.7M 12.7G 0% /mnt/secure/asec

/dev/block/vold/179:9

7.4G 4.2G 3.2G 57% /mnt/extsd
[Android Software/Hacking General [Developers Only]] bqq100:
I wish it were that simple :(. u-boot needs to know where ramdisk is stored in order to load it into memory at boot time. I've tried building u-boot from source, but it does not work on my tablet, maybe i'll try manually hex editing a working u-boot with a new ramdisk location.

Is that GPAD or M10? My stock GPAD dump of /system shows loading swap onto mmcblk0p7 which is much larger than 1MB

# mount swap partions add by tianfeng 2011-1-14
service initsh /system/bin/sh /system/etc/init.sh
oneshot

And init.sh enables swap

#!/system/bin/sh
echo 100 > /proc/sys/vm/swappiness
echo "1536,2048,4096,5120,56320,65536" > /sys/module/lowmemorykiller/parameters/minfree
busybox swapon /dev/block/mmcblk0p7
[Android Software/Hacking General [Developers Only]] navster:
You're right:

Device Boot Start End Blocks Id System

/dev/block/mmcblk0p1 307 418049 13367776 83 Linux

/dev/block/mmcblk0p2 418050 424153 195328 83 Linux

/dev/block/mmcblk0p3 424154 487451 2025536 5 Extended

/dev/block/mmcblk0p4 487452 488672 39072 83 Linux

/dev/block/mmcblk0p5 424154 455405 1000056 83 Linux

/dev/block/mmcblk0p6 455406 470665 488312 83 Linux

/dev/block/mmcblk0p7 470666 487451 537144 83 Linux
[Android Software/Hacking General [Developers Only]] bqq100:
Here is a MfgTool with several ucl.xml files to do some miscellaneous tasks

http://dl.dropbox.com/u/24097575/MfgTool-MiscTasks.zip

Available Tasks:

BackupMBR - creates MBR folder on external SD Card and dumps first 1kB of internal SD Card to /sdcard/MBR/mbr.img

BackupToExtSD - creates Backup folder on external SD Card and backup each partition of internal sdcard

Fdisk8GB - reformat internal SD Card using 8GB fdisk commands

MaximizeFS - Makes sure the filesystem on each partition is extended to the end of physical partition

RestoreFromExtSD - Restore partitions from Backup folder of the external SD Card

RestoreMBR - restore mbr.img from MfgTool-MiscTasks\Profiles\RestoreMBR\OS Firmware\files (not included, need to create your own using BackupMBR)

WipeData - Wipes the first 100MB from data and cache partitions (I recommend updating the 100MB with the actual size of you data and cache partitions)

Notes:

Running BackupToExtSd when /sdcard/Backup already exists will fail

Running BackupMBR when /sdcard/MBR already exists will fail

Running RestoreFromExtSD can restore just system.img or all backups. Choose by selecting Options->Configuration->Right Click on OS Firmware->Select Edit

Default for RestoreFromExtSD is RestoreSystem

The 8GB FDISK commands that I included is a little different from the stock one

To get the proper value for WipeData use adb to run fdisk -u -l /dev/block/mmcblk0. Then do End-Start+1 for mmcblk0p5 and mmcblk0p6.

BackupToExtSD takes around 45-60 minutes for my 8GB card, but will vary depending on how much data you have

RestoreFromExtSD takes around 3-4 hours for my 8GB card, but will vary depending on how much data you have

BackupToExtSD card may have problems if you're mmcblk0p1 partition doesn't compress under 4GB (max filesize for fat32). My mmcblk0p1 partition is 5.2 GB with 161MB used and compresses to ~383MB
[Android Software/Hacking General [Developers Only]] navster:
Very helpful, thanks dude, noticed the 8GB fdisk.cmd is different to the one we have been using on slatedroid, which another member who has previously had 256 errror has kindly offered to test, shall report back accordingly

Out of curiosity, have you written these scripts yourself?

:)
[Android Software/Hacking General [Developers Only]] bqq100:
If the included fdisk doesn't work, shoot me a pm and I'll send over my 8GB mbr.img to try.

And yes all the scripts are written by me (although the idea to backup to sd card came from bunheadnux earlier in this thread), after much reading of freescales mfgtool documention, looking at gpad's and freescale's ucl.xml files, and spending quite a bit of time on google ;)
[Android Software/Hacking General [Developers Only]] ryshah:
You guys are super ! Some great work out there ! :)
[Android Software/Hacking General [Developers Only]] bqq100:
HELL YA

I got a u-boot built from source to boot up with the uramdisk moved 1MB!!!!

:) :) :)

With the change to ucl.xml that muxa52 mentioned above, and a couple of changes to u-boot source I got it to work! This means there is now enough room to put the 2.6.35 kernel for 2.2.1 or 2.3 on the sdcard. No guarantees this helps get the tablet to boot, but it's a step in the right direction.

Anyway, just wanted to vent my excitement. My gf sure doesn't care ;)
[Android Software/Hacking General [Developers Only]] ryshah:
Well, of course. !!
[Android Software/Hacking General [Developers Only]] bqq100:
More good news followed by some bad news:

Good News: 4MB Modified AOSP U-boot + 2.6.35 AOSP kernel + 2.2.1 AOSP = bootable! :D

From ADB Shell Prompt:

# cat build.prop
cat build.prop
# begin build properties
# autogenerated by buildinfo.sh
ro.build.id=FRG83
ro.build.display.id=imx51_bbg-eng [B][SIZE="6"]2.2.1[/SIZE][/B] FRG83 eng.bquinn.20110629.142714 test-ke
ys

# cat /proc/version
cat /proc/version
Linux version [B][SIZE="6"]2.6.35[/SIZE][/B].3-00769-g88e41fd (bquinn@ubuntu-android) (gcc version 4.4.0
(GCC) ) #11 PREEMPT Mon Jul 25 21:21:10 EDT 2011

Bad News: Just like the AOSP 2.6.31 kernel I tried to build for 2.2, it boots with no display. :( Backlight for the screen turns on, but no "andorid_", no boot animation, no kernel splash image, nothing... I'm pretty sure that it's booting ok because logcat and dmesg through adb shell look pretty normal.

I think the stock kernel has some drivers that are not included with freescales package.

CONFIG_MXC_CAMERA_GT2005

CONFIG_MXC_VIBRATOR

CONFIG_MXC_EARPHONE

CONFIG_MXC_MMA7660

CONFIG_HID_TP_PIXCIR

CONFIG_GOODIX_TOUCHSCREEN

CONFIG_TOUCHSCREEN_NAS_I2C

If anyone would like to help search the internet for these kernel drivers it would be greatly appreciated!

Also tonight when I get home I'm going to try to flash gingerbread with the 2.6.35 kernel and see if I can still get it to boot.
[Android Software/Hacking General [Developers Only]] navster:
What resources are you using, the freescale.com imx-android-r10.2.tar.gz file?
[Android Software/Hacking General [Developers Only]] bqq100:
u-boot is built from imx-android-r9.2 (patched with a bug fix, and change to enable 4MB offset between kernel and uramdisk)

2.6.35 Kernel is from imx-android-r9.4 (No changes yet)

2.2.1 System is from imx-android-r9.4 (Disabled wpa_supplicant in init.rc for testing)

2.3.3 System is from imx-android-r10.1 (Disabled wpa_supplicant in init.rc for testing)

I'm mostly concentrating on the 2.6.35 kernel from r9.4 right now to get a working kernel. Let me know if you want any of the code changes. Right now I think that the key to getting the display to work is somewhere in the kernel_imx/arch/arm/mach-mx5/mx51_babbage.c file.
[Android Software/Hacking General [Developers Only]] navster:
Sorry bbq100, I'm not actually a full on developer, more of a systems\networks engineer but have spent a fair amount of time understanding the upgrade, manipulation and optimisation of existing firmwares, which I have tried my best to share with the community here and at slatedroid

So far I have downloaded the imx-android-r10.2 software pack but have not had the time to sink my teeth into it, would be great if we could assemble a team to drive the development effort of this tablet towards Gingerbread, we would be very grateful to hear from anyone with the relevant skills interested in achieving this ....
[Android Software/Hacking General [Developers Only]] navster:
Looks like these guys have made some progress on the Gingerbread port here:

http://hardcoreforensics.com/wp/forum/index.php?topic=121.45

Not exact same tab as ours but common architecture, so the kernel build notes may help :)
[Android Software/Hacking General [Developers Only]] bqq100:
Will definitely take a closer look at the thread, but the first few posts make it seem like they had display (albeit screwed up display) working right off the bat.

I would love to see a couple more people who would be interested in working together to develop a fully working gingerbread build and beyond! I'm not really a developer either, I've just picked up enough programming skills in school and at work to get myself into trouble :D

Also on another note I just tester a 2.3 build and it boots just like the 2.2.1 build (no screen), but does seem to boot up properly.

# cat /proc/version
cat /proc/version
Linux version[B][SIZE="4"] 2.6.35[/SIZE][/B].3-00769-g88e41fd (bquinn@ubuntu-android) (gcc version 4.4.0 (GCC) ) #11 PREEMPT Mon Jul 25 21:21:10 EDT 2011
# cat /system/build.prop
cat /system/build.prop
# begin build properties
# autogenerated by buildinfo.sh
ro.build.id=GRH78
ro.build.display.id=imx51_bbg-eng [B][SIZE="6"]2.3.1[/SIZE][/B] GRH78 eng.bquinn.20110509.181948 test-keys
[Android Software/Hacking General [Developers Only]] GernBlanston:
@navster or bbq:

I know it was asked before (page 41 or so of this thread), but was Cifs support ever addressed in any rom that you know of for this device? I really am interested in video playback from a mounted share location on my server, rather than having to copy and/or convert-and-stream.

For those reading, provided your kernel supports cifs, you can use CifsManager to mount a network share location to your memory card (similar to an ntfs junction point, I guess), then browse and playback files located there, over your wireless connection, as if they were on your tablet's external memory card...you click on a file and your file player plays it....this is a great alternative to copying individual files onto the card for playback, or clunky DLNA-type streaming options such as Twonky.
[Android Software/Hacking General [Developers Only]] Muxa52:
Excuse me, that long did not write.

Here, the firmware package version 1.6.2 with the modified by vladogor script of scenarios:

I can not enter a reference, look here: muxa52.narod.ru

all improvements in the files: ucl.xml, mksdcard-android.sh.tar, mksdcard-android-ws.sh.tar.

you can change on your own markup constants.

BOOT_ROM_SIZE = 10

SYSTEM_ROM_SIZE = 190

DATA_SIZE = 1500

CACHE_SIZE = 250

RECOVERY_ROM_SIZE = 20

SWAP_SIZE = 524

You can use almost any memory card. Error 256 will no longer occur due to lack of space on your memory card.
[Android Software/Hacking General [Developers Only]] juanjo1024:
Hi Gern

after banging my head against the tablet for a while, i managed to get it working without cifs, using the last version of ES file explorer, which can stream files from samba server for example into some player like Rockplayer lite (which im using). it works flawlessly.

im using it to play files on a ubuntu machine with samba server, connected to a wireless router.

try it out!

Juanjo
[Android Software/Hacking General [Developers Only]] navster:
@Gern

Agree with Juanjo, ES File Explorer which is available free from Android Market streams music\video content from SMB shares pretty capably, I have tested this from my Win7 Home Theatre PC to my tab over wifi.

Are you perhaps trying to do something a little more advanced than this?

:)
[Android Software/Hacking General [Developers Only]] zdravke:
a forgiving fdiskcmd.txt

Just in case you run into issues with latest Muxa's mfgtool, here's my fdiskcmd.txt (for 8GB internal mem) file which has been cleaned up and simplified to use default sector values for partitioning where possible. It should work with earlier mfgtool versions, and should reduce the probability of hitting error 256, even when applied on different SD card sizes. This was the only fdiskcmd.txt that worked all the way through for my pad, which is Herotab Tianfeng clone with 5 speaker holes.

I was curious why the first partition starts at sector 20250 instead at the beginning (which for me was at sector 18) so I tried flashing my tablet starting at 18, and almost bricked it - could not turn it on, but luckily could see it with mfgtool. Not sure how I recovered it in the end, but I ended up leaving first partition to start at 20250. It seems that first few sectors are used internally and should not be touched.
[Android Software/Hacking General [Developers Only]] bqq100:
The first 10MB are used for kernel, ramdisk, and u-boot in order for the tablet to boot. These files are not a part of any filesystem and are read directly from the sector address.

http://xdaforums.com/showpost.php?p=11412287&postcount=112
[Android Software/Hacking General [Developers Only]] kikoseis:
for lan vídeo streaming its good bsplayer.

Enviado desde mi GPAD GFORCE usando Tapatalk
[Android Software/Hacking General [Developers Only]] bunheadnux:
I use the Plex client for all my video and audio streaming. It does require a Plex Media Server (PMS) to be running on a computer (Mac OSX, Linux or Windows) but the PMS can support multiple clients at the same time. I am currently running two hacked Apple TVs, two Android tablets, a X10 phone and an iPad on a single C2D (Core 2 DUO) 2.4 Ghz mac mini. I have not had any issues with streaming to multiple devices at the same time either. My entire video library of 200+ movies, 40+ television shows, 300+ GB of music and even some television streaming runs through this. I strongly recommend that everyone checks out Plex at plexapp.com. The PMS is free but the Plex client for Android is $4 or $5, well worth it IMO.
[Android Software/Hacking General [Developers Only]] GernBlanston:
Thanks, everyone, for the replies.

Correct me if I'm wrong, but the ES Explorer suggested above, although it does see Samba shares, does one of two things:

1. Streams. If the file is in a format that lends itself to streaming, such as an mpeg 2 transport stream or flv, it will stream it to the tablet.

2. Copies the file in its entirety to the memory card via the wireless connection.

I'm not looking to do either of those things. When you put a video on a memory card and play it on your tablet, it's neither streaming nor copying files from one place to another, it's simply accessing the file or necessary portions of the file as necessary...no need for special services running on the target remote machine or server beyond Samba, no need for the file to be in a streaming format, no need to convert to a transport stream. Same thing on a Windows network when you (outside of WMP 11' s streaming/DLNA functions) access a file over the network.

From what I understand, the functionality I'm looking for is to make the video player in android think the file is at a local memory location...this is done by installing CifsManager and mounting the file's directory to the device's memory card. To the video player, it's as if it's accessing the file directly from the memory card. It unlocks a lot of performance, and allows instant playback of anything your wireless bandwidth and tablet hardware can handle. No more "file is not in a streaming format, copying file to memory card" errors. No more waiting for the file to finish copying over your wireless so you can begin playback, it just works.

Doing this, however, requires the proper cifs.ko module to be in the kernel. From what I understand, it's baked into Cyanogen in certain versions for certain hardware, but I don't know if it's available for our devices (don't think it is, yet).

In this thread, there is an example of a cifs.ko module for the Gpad Geforce (supposedly):

http://www.pandawillforum.com/viewthread.php?tid=3119
[Android Software/Hacking General [Developers Only]] bunheadnux:
Actually Plex does not require a special kernel or even root access :). If the file is not natively playable on the device then the PMS transcodes it on the fly.
[Android Software/Hacking General [Developers Only]] GernBlanston:
Yes, I know, but I'm trying to avoid having to transcode at all on the remote machine. I don't like the idea of having to engage the CPU on the remote server or other computer in CPU intensive tasks such as transcoding .divx on the fly. My server is geared for spinning drives and file serving, not transcoding video.
[Android Software/Hacking General [Developers Only]] JohnLaShot:
Hi bqq100,

this site might help you.

Regards,

John
[Android Software/Hacking General [Developers Only]] juanjo1024:
Im using ES with the samba shares with any files, avi included, you can skip rewind, jump to wherever you like, it works instantly, i assume that is what you want to do ?

JJ
[Android Software/Hacking General [Developers Only]] bqq100:
Did that cifs.ko work for you? If you're still set on using cifs.ko over the other options that have been suggested let me know and I can try building one for you.

Thanks! I've been looking for http://wk.baidu.com link, i know i've found other useful documents on there before. This one should help get screen rotation working, assuming I can ever get the damn display to work on a source build kernel :(
[Android Software/Hacking General [Developers Only]] GernBlanston:
I have found that, per suggestions, ES File Explorer with Rockplayer works pretty well (thanks, Juanjo, for the suggestion...it doesn't work with any other player I have). It doesn't seem to want to work with files over a certain size (a number of my 720p blu-ray rips give "no application available" message, where a 720p episode of a tv show, same codecs and containers, will play fine).

I'd like to try the cifs function, but I wouldn't suggest going out of your way to make it happen...I'm enjoying the new capability as it is, and I don't know if the cifs thing will add to that. The file I linked to doesn't seem to work (but I don't know if I need a version specific to the kernel I'm using).

Thanks again, everyone.
[Android Software/Hacking General [Developers Only]] navster:
Combination of ES + mVideoPlayer works pretty well for me
[Android Software/Hacking General [Developers Only]] navster:
HT-PAD-1051 Gingerbread Collaboration

@bbq100 - looks like you know your way around AOSP

@Muxa52 - you guys are doing some cool stuff over at 4pda.ru

Shall we get this Gingerbread collaboration going and document our progress on this thread? I would like to suggest we work from the freescale R10.2 files located here:

www.freescale.com/webapp/sps/site/prod_summary.jsp?code=IMX51_SW

(registration required)

Other members can contribute as we progress, I shall set up an FTP filestore in the coming days for us to share resources from

:)
[Android Software/Hacking General [Developers Only]] bqq100:
Download cifs.ko

Here you go if you want to try. Wasn't too hard since i have the kernel source all setup... Just turning on that kernel option as a module and rebuilding the modules. Push it to the /system/etc directory and then do a insmod /system/etc/cifs.ko

Should we try to use GIT instead? Seems to be the standard for all things android. Although the 300MB "soft limit" on free accounts could cause issues for putting the fully freescale patched source code in GIT. Just a thought.
[Android Software/Hacking General [Developers Only]] navster:
Perhaps we only put the kernel in git and use the FTP server as our work space?
[Android Software/Hacking General [Developers Only]] GernBlanston:
Done and done. cifsManager still gives me the "No such device" error when I try to mount the share...I've checked to make sure the mount point directory is r/w, but can think of nothing else that might be wrong. My kernel version, if it makes a difference, is:

2.6.31-00011-ge4e866b-dirty

Again, thanks, and don't worry about it if it's inconvenient...I'm quite happy knowing you guys are on the case when it comes to Gingerbread (I would, however, appreciate it if you would consider building the cifs support module into your next ROM ;))
[Android Software/Hacking General [Developers Only]] navster:
I've not really had any response from people interested in contributing towards the Gingerbread upgrade project and will therefore have to put my contribution on hold for now, if this changes I shall of course update the thread.

:(
[Android Software/Hacking General [Developers Only]] Metalazzo:
Too bad.

I hoped that on a possible GB build you could have added overclocking of the freescale cpu :/
[Android Software/Hacking General [Developers Only]] GernBlanston:
That's really disheartening...it did seem to me, with the recent posts, that the effort was gaining traction/momentum, and that the problems associated with the build were known and looked on the surface to be surmoutable. This is one of those times where I wish I could help out a little more, but I don't have a lot of experience with software in general, much less Android, nor do I have access to what I would call a development machine....it's all I could do these past months to figure out the layout of the Froyo as a user, learn adb functionality, figure out where my device fell in the endless variations of the Herotab/Gpad and accomplish a firmware update to something that was published here in this thread.
[Android Software/Hacking General [Developers Only]] JohnLaShot:
Hi bqq100,

are you still looking for a way to get the touchscreen working?

May be this can help you.

Regards,

John
[Android Software/Hacking General [Developers Only]] bunheadnux:
I would love to assist with getting GB running on this tablet but kernel hacking is not my strong point :-( . If I can get my hands on a working kernel (at least displaying an image on the screen) I may be able to get something working. Although I really must admit I would prefer HC :-)
[Android Software/Hacking General [Developers Only]] Metalazzo:
Maybe honeycomb on the HW of the HTPAD is not a good idea.

If overclock of the poor A8 is not possible, I fear that HC experience becomes a disaster...
[Android Software/Hacking General [Developers Only]] bqq100:
At this point I would be thrilled to death if I could get a source built kernel to display the "android_" bootscreen, I've even been examining imx51 bbg board layouts to try and understand the source code. :( I definitely understand kernel hacking not being a strong point, this is my first time working with a kernel and I'm quite overwhelmed.

I also tried getting GB (and even 2.2.1) to run on the .31 kernel, but zygote and mediaserver processes kept dying.
[Android Software/Hacking General [Developers Only]] kikoseis:
If you no like HC, you not install it.

HC is system designed forma tablets.

It's for tablet use.

GB is designed for Phones not for tablera.

HC is a great step. GB is a bit step.

All tablets have a HC official or hacked rom.

Our tablets don't have any HC rom.

Please we may help and impulse for HC rom developers.

Enviado desde mi Boston usando Tapatalk
[Android Software/Hacking General [Developers Only]] GernBlanston:
The only problem with this, is that an upgrade to HC will likely result in a reduction in performance on this tablet, whereas an upgrade to GB will increase performance and likely increase app compatibility. That, and in the absence of an SDK for this chipset for HC, I think HC is a pipe dream, where GB is doable.

The way I see it:

HC: Maybe impossible, definitely more difficult, less performance.

GB: Maybe possible, definitely less difficult, increased performance.
[Android Software/Hacking General [Developers Only]] navster:
Absolutely spot on :)

GB has also been implemented by the semiconductor manufacturer of our tabs, whereas HC has not, so any development\porting project for our tabs will be huge!