yashsingh1/xdaforums huggingface dataset:
[Android Software/Hacking General [Developers Only]] yann2:
Thanks, Jerry, just came home and went straight to the tablet. And CWM is indeed flashed to NAND, pulled the SD card out, and selected Power, Reboot, Recovery, and CWM 5.0.2.8 came up. Wow! :)

Live and learn, that is new. :)

Thanks for the tips on possibly wiping it out via CWM advanced restore options. I have been tinkering a lot lately, and used that to restore just the /system directory, to undo some of the test work I did. Good to know we could remove this flashed-in CWM if desired.

It's convenient to have it in, but if the partitioning on the internal NAND is changing (from Beta 6 and earlier, to 6.1), then we got to be careful with backup and restores. Need some more reading and thinking on that miyelf to figure out the implications, as I like Beta 6.0, and have a good backup of a tweaked 6.0 install.

Important point you raised on a post above :
[Android Software/Hacking General [Developers Only]] jerrystake:
The new recovery and ramdisk will not boot from sdcard ... kernel panics and I didn't look as to why. I only noted the current 6.2 ramdisk is 40 kb smaller so something may be missing. Everything loads okay but fails quarter way through boot ...
[Android Software/Hacking General [Developers Only]] jerrystake:
Getting closer

## Loading linux from SD Card ...

Image Name: linux

Image Version: 3.0.8

[BCI_DEBUG] <USB Charger> Get main battery voltage: 3840 mV

[BCI_DEBUG] Charger status: charging (STAT1(53)=0 STAT2(54)=1)

[BCI_DEBUG] VBUS voltage: 4761 mV

[BCI] <Charging> Main battery: 3840 mV

[BCI_DEBUG] Stop charging (GPIO_39=0)

[BCI_DEBUG] disable USB OTG power

[BCI_DEBUG] disable USB PHY

[BCI_DEBUG] Disable USB charging

Starting kernel ...

Uncompressing Linux... done, booting the kernel.

<5>Linux version 3.0.8-g32e29b7-dirty (jerry@sjp) (gcc version 4.6.2 20111004 (prerelease) (Linaro GCC 4.6-2011.10) ) #1 PREEMPT Mon Oct 15 18:38:25 EDT 2012

CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7d

CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache

Machine: griffin

<4>Ignoring unrecognised tag 0x414fff01

<4>Ignoring unrecognised tag 0x54410008

<6>Reserving 4194304 bytes SDRAM for VRAM

Memory policy: ECC disabled, Data cache writeback

<2>kernel BUG at mm/bootmem.c:353!

Finally can see what is going on from uart3. Had to patch the ttyS from ttyO back in so I can use iboot. Took forever to figure out the machine ID. Turns out Innocomm/Mat.. never registered/applied for the product I.D. as they should for using the open source kernel. Maybe why they won't release the source... Getting close to putting what I have up on git to see if I can get some others to help. I have most all the gpio's figured out but think the lcd panel will be the biggest hurdle because I can't know what the FPGA between the 3630 and the panel is doing. Maybe someone has seen this setup somewhere before.
[Android Software/Hacking General [Developers Only]] GnatGoSplat:
Wow, sounds like you're making great progress, Jerry!

FPGA in the schematic looks like it sends a low signal to GSP pin on the LCD panel which is normally tied high. The GSP pin appears to be completely undocumented in the panel datasheet. It's labeled GSP with a description of GSP, and no other reference to it. Weird.
[Android Software/Hacking General [Developers Only]] yann2:
I am really in awe at the progress Jerry is making. Way to go! :)

Thanks to your previous post, I was able to use the until-now-unknown built-in, flashed-to-tablet CWM. LOL, you imagine that's a feature that could be exciting, we would tell people, but.. :p

The on board Recovery worked well, seems to load and execute faster; although it still has that key bug, we have to scroll down a few times until 'Back Menu enabled' appears.

Anyone interested in using it has to remember Jerry's warning about possible partition changes between the latest (6.1) full release and the previous ones. So, do Backups or restores with the same CWM version that created them sounds like a good idea for now.

Installed 6.1 from this built-in Recovery, and all went well. Will be testing some overclocking, which I have done and tested in Beta 6.0. My tablet was running stable at 1.2 GHz, using chinabull's overclocking kernel driver.

I will be writing a detailed Overclocking the TC970 Guide, posting it on LPL and AndroidTablets forums.

Thanks for all the work you are doing , Jerry. Cheers! ;)
[Android Software/Hacking General [Developers Only]] yann2:
Just installed the Beta 6.2 charger install fix package; hadn't done it before, since I had a good working copy of Beta 6.0, and was happy there (still am, have a good backup of it).

Looking at /init.rc, one of the first lines is a call to the charger_man module, from /sbin; however, after installing the 6.2 update, I look at /sbin and the charger_man file is not there. :(

That could be the reason why everyone is reporting the fix not working. (being a tester at heart, I made another 6.2 test version, with the Beta 5.0 ramdisk.img. Boot loop resulted. no need to try this kids... :p)
[Android Software/Hacking General [Developers Only]] cas_xp:
My guess is the charger_man binary is not compatible with kernel version. Please find your kernel version (#uname -a) and extract charger_man binary from correct package it should solve this issue.

I don't have time to test this even to look this thread. But I saw some good progress on kernel development. Thanks jerrystake.
[Android Software/Hacking General [Developers Only]] yann2:
Thanks cas_xp.

The kernel version on CM7 Beta 6.1 is 2.6.32.9-4749, which I assume was taken from the Le Pan v.4749 factory firmware. I have an old Nandroid backup of that version here, and will look for charger_man in there.

Currently using Nandroid Browser and searching, but I couldn't find it on browsing the system.yaffs2.img file.

Maybe Jerry could build us a new 6.2 test version - with the ramdisk image, and the proper charger_man file?

EDIT :

Just unpacked my Nandroid backup of v.4749 le pan firmware - got the charger_man (106,792 Bytes) and zipped it up.

Attaching to this post, if Jerry or someone else can try to build a ramdisk.img containing it, would be great.Otherwise, any suggestions of a method to push this file into a Beta 6.1 install, for testing, also appreciated. TY..

Thanks! :)
[Android Software/Hacking General [Developers Only]] biline:
CWM power button issue

Just a note regarding a problem i had with CWM just showing the logo whenever I used the power button.

There's a quirky behaviour on the CWM program at first - you need to do a little moving around to get the menus to work properly

The power key doesn't work right after boot. You would have to first scroll down the cursor to the bottom and you will see a message saying "Back menu button enabled". Then it works.

Until you see that 'Back menu button enabled', things will not work as they should.

Try using volume down, until it scrolls off the top and enables that; or also, the volume down key, until the enabled message appears.

I also had random issues with lock-ups freezing and force closing to the point of thinking of re-installing the Rom but then I remembered my Nook tablet having issues like this after installing Beautiful widgets sure enough after removing it everything worked great again hope this helps someone.....
[Android Software/Hacking General [Developers Only]] jerrystake:
Same file size as with mine on kernel 4749. I exploded the original 4749 update and the file sizes are the same so, my guess, not the issue. I am fairly sure the issue is with the new datadata mount. If you notice the cache is no longer being mounted during the 'on fs' event. Look at the boot log I posted and you will see where the kernel panics. If you wish to try the charger man just change permissions on system/bin directory and push the binary with adb.

Good news with kernel. I changed toolchains and now I boot all the way to init.rc. I have some gpio's wrong and other such things but, I can see all debug info needed to work it out... I actually think I may be able to pull this off....
[Android Software/Hacking General [Developers Only]] cas_xp:
I think it should not matter with cache partition mount because charger_man is native program and it doesn't need cache at all. If you look at the UART3 log, you will find the android boot mode is normal, it should be charge mode. I think iboot partition has something wrong.

PS: I made a serial cable before but I only received just corrupt characters, looks like baud rate is not correct. That is part of reason I gave up kernel analysis. Congratulate you for kernel development. Hope some day you can release the kernel code so everybody can help me.
[Android Software/Hacking General [Developers Only]] yann2:
Just a shot in the dark here, I am learning with this discussion and the troubleshooting, amazing work you are doing.

I looked at /init.rc, and the very first directive it has is to load charger_man from /sbin. Problem is, on my tablet I don't see that file, and copying it did not work (directory seem to be coming from a ramdisk image possibly?). The copy I placed there wasn't there on reboot, so the charging still didn't work.

I think that at that early stage, the /system directory is not mounted, so /system/bin/charger_man is not accessible. Could it be missing from the boot image?

The two files on /sbin are a symlink to another file, and one actual binary. (Forgot the names, sorry)
[Android Software/Hacking General [Developers Only]] cas_xp:
sbin/charger_man in init.rc is just my test, it is not working and useless. It should be remove but no harm in there.
[Android Software/Hacking General [Developers Only]] jerrystake:
Do you know that the tx, rx signals are 1.8v? You need to convert to 3.3v or 5v. I used one of my AVR's with a FTDI chip and built a 1.8v bus power supply from an op amp and voltage divider (voltage follower). You can get voltage converter from Spark Fun for 1.00 each if you wanted to go straight rs232.

I will get the source to you soon. Just would like to get to a point that USB, SDcard and inand is working so those without uart3 know where they stand and can use usb for console. I'm close,

mmc0: new high speed SD card at address e624

<6>PPPoL2TP kernel driver, V2.0 PPPoL2TP kernel driver, V2.0

<6>mmcblk0: mmc0:e624 SU02G 1.84 GiB

only mmc1 left.
[Android Software/Hacking General [Developers Only]] yann2:
The charger_man binary is not in the /sbin directory on my tablet, so it couldn't load from that location at boot time. Maybe include it on a ramdisk image? I tried the Beta 5 ramdisk for that reason, applied it to a Beta 6.1 via CWM, but got into a boot loop.

Jerry, congratulations, nice to see your progress. Cheers. :)
[Android Software/Hacking General [Developers Only]] cas_xp:
Finally, the offline charge is ready. Please install the attached file.

Now I remember what I have done before: I changed init program in android/system/core/init to support init.charge.rc. Unfortunately I don't have backup of source code, so I just grab the old program in beta3.1 and put it in this installed package. It works fine though. Enjoy!
[Android Software/Hacking General [Developers Only]] yann2:
Wonderful, cas_xp, will spread the word.

Cheers! :)
[Android Software/Hacking General [Developers Only]] yann2:
Beta 6.3 Charger Reported working fine!

Yeah, multiple people are confirming it working I think you can Add a Change Note to the OP, and attach the file there, so more people will find it, cas.

Multiple people also sending a Thank You to cas_xp, for a job well done, work appreciated. ;)

Cheers, now we all hold our breaths and hope jerrystakes kernel keeps moving well. :) Thanks Jerry!
[Android Software/Hacking General [Developers Only]] jerrystake:
Kernel

Hey, I've seemed to have developed a mental block or have been looking at this code way to long. I am at a point that maybe some of you could look over where I am and maybe give some incite. I have attached some source, boot logs and various other pertinent info on tablet such as gpio's and mux configs and perhaps you can help sort out a couple boot errors. I am working on putting up on github the entire kernel but, in mean time, maybe someone can shed some light on my attempt so far. I hope to have all up by Monday. Thanks

UPDATE: Finally got the regulators on line wi-fi and display worry me....seems like I am talking to myself

print_constraints: GS_3v3: 3300 mV normal standby

print_constraints: eMMC_PWR: 3300 mV normal standby

i2c-core: driver [twl] using legacy suspend method

i2c-core: driver [twl] using legacy resume method

SCSI subsystem initialized

usbcore: registered new interface driver usbfs

usbcore: registered new interface driver hub

usbcore: registered new device driver usb

omap_i2c omap_i2c.1: bus 1 rev4.0 at 2400 kHz

twl4030: PIH (irq 7) chaining IRQs 368..375

twl4030: power (irq 373) chaining IRQs 376..383

twl4030: gpio (irq 368) chaining IRQs 384..401

print_constraints: VUSB1V5: 1500 mV normal standby

print_constraints: VUSB1V8: 1800 mV normal standby

print_constraints: VUSB3V1: 3100 mV normal standby

twl4030_usb twl4030_usb: Initialized TWL4030 USB module

print_constraints: VMMC1: 1850 <--> 3150 mV at 3000 mV normal standby

print_constraints: VDAC: 1800 mV normal standby

print_constraints: VAUX2: 1800 mV normal standby

print_constraints: VPLL2: 1800 mV normal standby

print_constraints: VMMC2: 2850 mV normal standby

print_constraints: VSIM: 3000 mV normal standby

print_constraints: VAUX1: 3000 mV normal standby

print_constraints: VAUX3: 1800 mV normal standby

print_constraints: VAUX4: 1800 mV normal standby

omap_i2c omap_i2c.2: bus 2 rev4.0 at 400 kHz

omap_i2c omap_i2c.3: bus 3 rev4.0 at 150 kHz

Advanced Linux Sound Architecture Driver Version 1.0.24.
[Android Software/Hacking General [Developers Only]] yann2:
I wish I could help, or even follow your work closely, Jerry, but it's leagues above my head; and most people's here probably.

Cas_xp could probably follow you, hope he can take a peak. Don't despair, we are excited with the progress you have made.

Our only hope of a future ICS version is that your kernel development keeps going. We are cheering for you, and I have mentioned this in the two forums were I started and maintain CM7 Release discussion threads.

Thanks, Jerry. Have a good Sunday night! :)
[Android Software/Hacking General [Developers Only]] jerrystake:
Thanks for that yann2. I don't give up easily but it is frustrating that the documentation for most the devices on the LePan is lacking. The FCC schematic is only right 50 percent and have found that most the gpio's are wrong, for example, the gps gpio on schematic says 144 where it is really 34. I need to find the LCD_3v3 enable and it doesn't appear to be 181 as schematic says. I guess I need to write a utility to read all the registers and see if I can deduce where the important pwm and display setups are. Maybe someone could take that on... Anyway I am at the point I can mount inand and sdcard. So once display setup is done we should be able to boot ics from sdcard at least.

mmc0: new high speed SDHC card at address 0007

mmcblk0: mmc0:0007 SD8GB 7.42 GiB

mmcblk0: p1 p2 p3

init: cannot open '/initlogo.rle'

init: Unable to open persistent property directory /data/property errno: 2

adb_open

EXT3-fs: barriers not enabled

kjournald starting. Commit interval 5 seconds

Spurious DMA IRQ

mmc1: new high speed MMC card at address 0001

mmcblk1: mmc1:0001 SEM02G 1.82 GiB

mmcblk1boot0: mmc1:0001 SEM02G partition 1 1.00 MiB

mmcblk1boot1: mmc1:0001 SEM02G partition 2 1.00 MiB

mmcblk1: p1

mmcblk1boot1: unknown partition table

mmcblk1boot0: unknown partition table

EXT3-fs (mmcblk0p2): using internal journal

MMCBLK0 is the sdcard and MMCBLK1 is the 2gb inand. I have stayed away from pop nand for now and am hoping to boot from sdcard until I get brave.
[Android Software/Hacking General [Developers Only]] yann2:
Booting the kernel all from the SD card is an excellent idea, Jerry, avoid any spurious effects on the internal memory.

It's also the first time we have an SD-loadable op system. Things are progressing well, thanks for your initiative; bummer that their documentation for he FCC is so incorrect. Maybe was to throw any possible 'clone' makers off track? They seem to fear other companies possibly copying their 'trade secrets', one of the reasons that might explain their refusal to release source code so far.
[Android Software/Hacking General [Developers Only]] medievil1:
from my understanding the lepan adn the nook are very similar..perhaps you could get a better spec on the lcd from some of the nook dev's in irc #nookdevs

they may give you more accurate documentation...
[Android Software/Hacking General [Developers Only]] jerrystake:
Different display, the nook uses an SPI interface and 24 bit color where ours is 18 bit color and 16 bpp. Moreover the LePan's is mux'ed such that DSS_data0 - 5 appears on DSS_data18 - 23, mux mode3. Also the 970 has an FPGA between the omap 3630 and the SN75LVDS83BDGGR LVDS chip. I have no idea what the FPGA does but thankfully, the firmware for it is on the chip. I do know from cat /sys/devices/platform/omapdss/display0/timings what the driver timing values are and from sys/kernel/debug/omap_mux how the hardware is mux'ed. I do have the lcd spec pdf along with the doc for the pop memory but, from what I can tell, this hardware configuration (TC970) is not even close to any I can find. Even the sdcard and wlan i/o is flipped. The only reason I can come up with is to not be like any other board configurations to keep people like me from having an easy time of it....That FPGA has really got me bugged so any idea's about why it is there please....
[Android Software/Hacking General [Developers Only]] jerrystake:
Kernel Source

For those interested, I have posted( or is up-loading as I write ) the kernel source code I have so far:

https://github.com/sjpadgett/lepan-griffin-kernel

I have not cleaned it up completely but all I have, you have. The folder griffin-docs has some TRM's, schematic and various notes I've cut and pasted from different places. It will compile and probably once the display is figured out, boot android. The goodix touch driver is there and I have init'ed it in the past but have it commented out for testing. I started working on getting android adb usb to work when I uploaded to git.

I hope some of you will take an interest and contribute where you can as there is much to do. I personally am losing interest because it seems I am the only person interested in the project and to be frank am pleased it has come this far. While working on the display I am also trying to setup a ramdisk and init for the sdcard. Someone could take that on by changing the mount points in init.rc to point at the sdcard and yaffing up a bare minimum ics system image.

This could be fun so let me know if I can help anyone get started. Remember, this is simply about accomplishing something and learning in the process. My background is system engineering and have not touched embedded firmware development since the Z80, 8080 or 3803 micros for telecommunication interfaces years ago so, most of us are all in the same boat. So, give it a try..
[Android Software/Hacking General [Developers Only]] alex2grad:
CIFS Module

cas_xp,

could you please, compile and upload cifs.ko for last beta 6.
[Android Software/Hacking General [Developers Only]] jerrystake:
Will someone give me permission or tell me who can?

init: cannot execve('/system/bin/cexec.out'): Permission denied

init: cannot find '/system/bin/geomagneticd', disabling 'geomagneticd'

init: cannot execve('/system/bin/pvrsrvinit'): Permission denied

init: cannot execve('/system/bin/mediaserver'): Permission denied

init: cannot execve('/system/bin/rild'): Permission denied

init: cannot execve('/system/bin/dbus-daemon'): Permission denied

init: cannot execve('/system/bin/app_process'): Permission denied

Hey, yesterday it couldn't even find them!! ..lol
[Android Software/Hacking General [Developers Only]] GnatGoSplat:
Jerry, I can't help with that problem and don't even understand it really, but I just wanted to let you know I'm really hoping you don't lose interest in the project! I love ICS on my HP Touchpad, and every time I use the TC970, I feel like it's such a shame there is no ICS or JB for it since GB really stinks in comparison.

Well, if you ever need anyone to try something on their TC970, I can volunteer as I bought my wife an HP Touchpad so there's nothing important on the TC970 anymore.
[Android Software/Hacking General [Developers Only]] jerrystake:
Thanks but I am not really doing anything that can hurt the tablet. I avoid the on board nand by using recovery mode to boot my kernel. I just cpio up a file system and name it recovery and boot as if going to recovery. Fv+ packer app. has been invaluable. The guy has talent. Lately, I have been using the initramfs kernel feature and linking the init file system into the kernel saving effort on building the ramdisk seperate. I just have to get the rootfs permissions set up correctly.

What I could use is someone with more experience with android file system setting up an init.rc with the correct mounts for mmcblk0. I've tried many different schemes to no joy. I may today just go ahead and write the kernel to nand and boot that way but, I much prefer booting from sdcard. As long as I can boot recovery it is not too scary...

So far new kernel will init wifi, bluetooth, sgx, usb gadget, power regulators and all the mmc's. The display is the biggest hold up to ics and I suppose I should just concern myself with that but, it is just to tempting to see how far it will boot.
[Android Software/Hacking General [Developers Only]] cas_xp:
Just saw this and I downloaded your kernel source and compare with NC 3.0 kernel. It is same version. I finished the kernel build and I can give a try when I am home but I don't have serial port available and hopefully I could catch something from adb usb.
[Android Software/Hacking General [Developers Only]] jerrystake:
Hey Yann2, Seems like you get around these forums, do you think I should open a new thread somewhere concerning getting help with the display? Or maybe you could look around and see if there is someone who has done some kernel development dealing with setting up the DSS, frame buffers and lcd. All the source I have looked at indicates I am doing it correctly but something is missing.

---------- Post added at 12:52 PM ---------- Previous post was at 12:01 PM ----------

yes, the kernel source came from the encore development with the griffin patched over top. Much of the device code comes from several different sources and I am not a git guy as I'm old school source control. Adb will not get you what you need and is not working. It will start but nothing after that. You will want to look at switching uart3 to usb console. I setup part of uart3 LL_DEBUG in uncompress.h in plat-omap/include/plat directory. You will want to use the force cmdline from kernel in config to switch command lines around for testing.

CONFIG_CMDLINE="androidboot.console=ttyO2,115200n8 rw console=ttyO2,115200n8 rootwait omap_vout_mod.video1_numbuffers=6 omap_vout_mod.vid1_static_vrfb_alloc=y earlyprintk no_console_suspend"

CONFIG_CMDLINE_FORCE=y

Otherwise bootloader wants to use ttys2 which I hex patched to ttyO2 required by newer kernels. Its just easier to ignore bootloader and go with kernel cmdline.

I have not tried changing consoles on command line to usb so I will try today.

---------- Post added at 01:06 PM ---------- Previous post was at 12:52 PM ----------

Also, I will donate 10.00 to help you get either a bus pirate, avr or serial port adapter which ever way you want to go. Maybe some others may help out also. It would take only couple days to get by ups etc.. I opened my tablet and solder straight to uart3 test pads before I got the 15.00 podgizmo breakout.