Matsunichi/Innocomm 'Griffin' M6001 (aka Le Pan TC970) ICS/CM9 development thread

Search This thread

fv+

Member
Oct 17, 2010
20
36
I am no longer working on this project (see the 3/15 update below).
However cas_xp is already working on porting ICS/CM9 to the LePan TC970.
The XDA thread with all his work is here: http://xdaforums.com/showthread.php?t=1483954
(if anyone has a link to the thread specific to CM9 for the TC970, please let me know and I'll update the link above).

================================================================================


This thread is about gathering and sharing info about the hardware, firmware, Linux kernel and modules for the Mitsunichi/Innocom 'Griffin' M6001 tablet, aka Le Pan TC970 in order to be able to port ICS/CM9 to it, if possible.

I'd like to keep this thread about 'low-level' hardware/kernel, i.e. please do not post questions about rooting this tablet (it has already been done, see here: http://xdaforums.com/showthread.php?t=1353951) or about problems with specific applications.

Since there are so many awesome developments in this thread, I decided to just put the interesting news and links here and move the historical info in the second post below.

Franco

================================================================================

Update 3/15/2012

Last Sunday flying back home they had me check-in with the regular luggage my bag with the LePan 970 and when I turned it back on at home that night, it had a bunch of stripes of dead pixels on the screen; it is pretty much unusable now.
Also my wife gave me a new different tablet (which already runs ICS) for my birthday yesterday, so at this point I won't be working on the LePan TC970 anymore.

I just saw that the great cas_xp is already working and making good progress on a version of CM9/ICS for the LePan TC970 (see here http://xdaforums.com/showthread.php?t=1483954 and here https://github.com/cas-xp/device_lepan_griffin) and I wish the best of luck in this project.

I had really fun working on this tablet with all the people here (chinabull, cas_xp, and everyone else of course) and I am already working on the new one.

See you later,
Franco

================================================================================

Update 2/20/2012

I was finally able to compile all of CM9/ICS with specific files for the griffin/TC970 (no ROM yet).
All the details, how to get the files, and compile it on your PC are in the 'how-to' post ( http://xdaforums.com/showpost.php?p=22007753&postcount=113).
Please do try to compile it yourself, but don't try to run those files on your tablet.

================================================================================

Update 2/7/2012

Big news!
cas_xp has released a beta version of Gingerbread/CM7 for the griffin/TC970. The thread with all the information is here: http://xdaforums.com/showthread.php?t=1483954

Awesome job cas_xp!!!


================================================================================

Update 1/30/2012

I tried to put together an initial attempt of an 'how-to' docoment about trying to build CM9/ICS for the griffin/TC970 tablet (movie spoiler: no, I can't build/run ICS yet).
The link to the post is here: http://xdaforums.com/showpost.php?p=22007753&postcount=113

I also created a github repository with the device specific code and configuration files to port CM9/ICS to this tablet (it is all in the post).

Comments, contributions to the code and conf files in the repo are most welcome!


================================================================================

Update 1/27/2012

cas_xp was able to get Gingerbread (CM7) running on the first time! (http://xdaforums.com/showpost.php?p=21888312&postcount=93)!!!

Congratulations to cas_xp for this big success!


================================================================================

Update 1/22/2012

I finally found the time to write the Innocomm firmware 'packer' (and a newer version of 'unpacker'), so we can create our own firmwares for the TC970/griffin.

Since I thought it is better if I keep this post just for the progress updates for this this thread, I just put the descriptions on what 'unpacker 'and 'packer' do and how to use them here: http://xdaforums.com/showpost.php?p=21707308&postcount=80.

Sometime I'll also clean up this post a little bit (and put all the historical information in the second post).


================================================================================

Update 1/19/2012

chinabull has created a working ClockworkMod Recovery for the LePan TC970/griffin; his post with all the instructions is here: http://xdaforums.com/showpost.php?p=21563628&postcount=44.
Please read his whole post wuth all the instructions; please not that this is still a work in progress and that there are risks with your tablet involved with this installation; you may want to read all the posts after chinabull's to have an idea of the possible risks and workarounds.

Again my hat off to chinabull for this great achivement!

================================================================================

Update 18/1/2012

More great news!
chinabull figured out a way to replace Innocomm recovery with an already existing ClockworkMod, sign the firmware with this new version and install it on his tablet.
This means that we should now the able to build our own firmwares for the TC970/griffin.
Many thanks to chinabull for his awesome achievement!


================================================================================

You can find all the other information in the 'historical' log below.
 

Attachments

  • unpacker.tar
    30 KB · Views: 89
  • packer.tar
    20 KB · Views: 68
Last edited:

fv+

Member
Oct 17, 2010
20
36
This post is just to keep an archive of all the historical information about porting ICS/CM9 to the griffin/TC970 tablet.

Most of the information here has been superseded by the progress made more recently (see post #1), but I thought it would be useful to have it around, just in case.

Franco

================================================================================

Update 1/16/2012

Great news!
With chinabull's help, I found out how to generate the 20 bytes SHA1 checksum for trhe images contained in the firmware.
It is the SHA1 checksum of the image + the 'cafeefac' trailer + the length of the image (including the 'cafeefac' trailer).

I updated the C program 'unpacker.c' to also compute and check the SHA1 checksum.
The program can be compiled with the following command:
gcc -O -Wall -o unpacker unpacker.c -lz -lcrypto

We still haven't found out how to generate the 20 byte SHA1 checksum for the whole firmware, but I think we are very close now.

I'll also start writing the 'packer' because I think we'll have all the pieces in place very soon.

Many thanks to chinabull again for all his help.

Franco


================================================================================

Update 1/15/2012

What chinabull found is the CRC32-like checksum for the header of the firmware and for each of the images.
As he pointed out in the thread there is still a 20 bytes (160 bits) signature/checksum that we haven't figured out.
I updated the 'unpacker' code attached to this thread with the header CRC checksum stuff that chinabull found out.
The still unknown 160 bits field is displayed as 'signature/checksum' if you run the'unpacker'; if you figure out how to generate it from each image content, please let us know, since this is the last thing we need to know to be able to create ourown firmware images.

Franco

================================================================================

Update 1/13/2012

Very good news!
Chinabull figured out the algorithm used by Innocom to sign/checksum the images and the firmware!
This means that it should be possible to create our own firmware images (possibly with CWM recovery) and start replacing parts of the firmware on the TC970/griffin.

Congratulations to chinabull!

Franco


================================================================================
Update 1/8/12

First of all, thanks to the many who posted useful information about the hardware in this tablet and thanks for the comments (btw, negative critiques do not upset me, so don't worry about them, as long as they don't violate this forums policies).

I thought that in order to boot any alternative ROM or firmware it would be useful to find out how locked down Innocomm has made this tablet.
Since the CPU is an OMAP3630 and the Wifi is a WL1271 and they are the same on the Nook Color tablet and since we know that the TC970 can boot off the SD card using the same type of MLO x-loader and bootloader used by the Nook Color, I downloaded the Nook Color 'Monster Bootpack' SD card bootable images from here: http://code.google.com/p/monster-rootpack/downloads/list. They have a couple of 2GB SD card images there.
I tried both of them and in both cases I had the 'bad firmware image' screen, which seems to indicate that the Innocomm recovery boot checks for 'something' (beyond what a normal OMAP3630 does) in order to boot an MLO x-loader from the SD card.

At this point I thought I would try to discover the full format of the 'griffin.ifw' file, in order to be able to create our own ROM images.
I was able to decode a few more fields in the firmware (the memory load address and a few other value) and I have updated the attached 'unpacker.c' accordingly.
Unfortunately a couple of values are still unknown:
- one is a 28 byte (224 bits) field in the header of each image in the firmware - I strongly suspect it is some sort of checksum (224 bits is the length of a SHA224 checksum), but I haven't been able to find out how to generate that value (I tried doing SHA224 checksums of the image,the image+header, and other combinations, but without any luck). If someone here can find how to generate it, big reward!
- the second one is a 24 byte (192 bits) field in the header of the whole firmware - it is probably some other checksum/signature, but I haven't found out any kind of 192 bit signature to make sense of it, so big reward here too if you can figure out what it is.

Both values are printed out by this version of 'unpacker', so you can play around with it and let me know if you find anything.

Finally, I saw from the FCC schematics that the TC970 presents the OMAP3630 UART3/serial port on the 30 pin connector and I saw that one guy ('chinabull') in the TC970 rooting thread was able to connect to it and obtain a shell in recovery mode. My next step is going to be buying the $15 'podbreakout' from sparkfun Electronics (among others) http://www.sparkfun.com/products/8295 (I am not good with the soldering iron; if you are good and have patience, you may want to try with the $4 iPod connector from the same site) and connect to pins 17, 18, and the ground to have a serial connection and be able to see the actual messages when I try to boot with a different MLO x-loader (should be also useful to 'de-brick' the TC970, since I only have this tablet).

I'll let you know how it goes.

Franco


================================================================================


This thread is about gathering and sharing info about the hardware, firmware, Linux kernel and modules for the Mitsunichi/Innocom 'Griffin' M6001 tablet, aka Le Pan TC970 in order to be able to port ICS/CM9 to it, if possible.

I'd like to keep this thread about 'low-level' hardware/kernel, i.e. please do not post questions about rooting this tablet (it has already been done, see here: http://xdaforums.com/showthread.php?t=1353951) or about problems with specific applications.

Below is what I found so far.


- Hardware
According to the application with the FCC, these are the most interesting components:

- Name: griffin
- Model: 6001
- Manifacturer: Innocomm
- Processor: TI OMAP3630 ES1.2
- LCD: LP097X02-SLA3 (transmitter: TI SN75LVDS83B)
- Power regulator: TI TWL5030
- Front facing camera: 2M pixel fixed focus CM8188-A200SF-E
- g-Sensor: BMA150
- e-Compass: YAS529-PZ
- light sensor: EPL5804
- gas gauge: OZ8805
- Wireless/Bluetooth/FM: TI WL1271-YFV
- GPS: GSD-4t


- Firmware:
Le Pan has apparentely two versions of its latest firmware, V4431 and V4431-2. My analysis below is based on the one with MD5 checksum f9cabf696f08f1c3791d0a4ec14876db.

I wrote the attached C program to extract all the 'images' (files) from the firmware.
The program can be compiled with the following command:
gcc -O -Wall -o unpacker unpacker.c -lz
(all these commands should work on Linux - Fedora 64 bit; you may have to change them to run them on a different version of Linux/OS).

The firmware is composed of the following nine 'images':

- recovery ('.cpio.gz' archive - it can be opened with the command: gzip -dc recovery | cpio -idm)
- linux (this is the actual Linux kernel; see more about it below)
- iload (same as the first stage 'MLO' x-loader binary in the firmware installation disk)
- iboot (same as the second stage 'iboot.ism' loader in the firmware installation disk)
- splash (probably a bitmap image for the splash screen)
- chargesplash (probably a bitmap image for the splash screen when charging)
- bootifw_logo (probably a bitmap image with the company logo to be displayed at boot time)
- ramdisk (.cpio.gz' archive - it can be opened with the command: gzip -dc ramdisk | cpio -idm)
- system (a YAFFS2 filesystem - it can be opened with the 'unyaffs' program - available here: http://code.google.com/p/unyaffs/downloads/list)

The griffin board is based on the TI OMAP3630 ARM CPU, which is the same used by the very popular BeagleBoard (http://beagleboard.org/). Most of the information available for the BeagleBoard apply to griffin, included the functions of the files MLO, iload, iboot (see here: http://omappedia.org/wiki/Bootloader_Project - OMAPpedia is definitely a good starting point here).


- Kernel and drivers:
The firmware file 'linux' is the actual Linux ARM kernel; it has some code at the beginning to uncompress it and the rest is a 'gzip' compressed file.
The actual uncompressed kernel can be extracted with the command:
dd if=linux bs=12878 skip=1 | gunzip -dc > kernel

I then ran 'strings -td -a kernel' and it looks like all the drivers are compiled into this kernel (also confirmed by the very few '.ko' files contained in 'system').

The 'strings' command shows the following lines toward the beginning:

183356 twl5030
183392 griffin-i2c-touch
183428 bma150
183464 yas529
183500 OZ8805
183536 epl5800-ls
183572 hynix253
183608 griffin-ha2608-tk

I think these are the drivers which we need to come up in order to be able to compile ICS/CM9 for this tablet.

Here is what I found about them:
- 'twl5030' is the power regulator for the OMAP board and it is already supported by Linux
- 'griffin-i2c-touch' is the capacitive touch screen (see more about it below)
- 'bma150' is the accelerometer and it is already supported by Linux
- 'yas529' is the magnetometer and it is already supported by Linux
- 'oz8805' is the gas gauge - I didn't find much about it
- 'epl5800-ls' is the light sensor - I didn't find much about it
- 'hynix253' is the 2M pixel camera - I didn't find much about it
- 'griffin-ha2608-tk' is the touch key - I found some code about it here http://topic.csdn.net/u/20110810/09/1a96d532-c517-4771-8bbe-d2dd4c980b4e.html

I started looking at the touch screen first, since it is probably the most critical component in this list (and the one that took some work to get to work correctly on the CM7 for the HP Touchpad).

The 'bootinfo.txt' log file posted on the TC970 rooting thread shows the following kernel message lines for the TS:

input: griffin-i2c-touch as /devices/virtual/input/input7
griffin-i2c-touch 2-0055: registered with irq (313)
Goodix TouchScreen Version:GT801NI_1R02_13T
griffin-i2c-touch 2-0055: Create proc entry success!
Goodix debug sysfs create success!
griffin-i2c-touch 2-0055: Start touchscreen griffin-i2c-touch in interrupt mode

which show that the TS is a Goodix GT801.

Search for Goodix Linux drivers, I found the following page (in Chinese) http://blog.csdn.net/baiduluckyboy/article/details/6616533. It looks like it contains the source code for the Linux driver for the TS and it looks like the driver is under the GPL license. Unfortunately the source code refers to a couple of include files ('goodix_touch.h' and 'goodix_queue.h') that I was not able to find anywhere. The guy who posted that source code might have them, I did not try to contact him. Also the 'goodix_touch.ko' kernel drivers out there refer to a source file 'goodix_touch_1024n.c' that I was not able to find either.

Interestingly enough, the schematics posted on the FCC site do not mention any Goodix chip at all (at least I wasn't able to find it there).

This is what I found so far; I'll add more updates as I find them.

I would also appreciate very much if anyone could post information about the source code for the drivers (or even developer's guides, SDKs, datasheets) for the touch screen (most important), the light sensor, the camera, the GPS, etc

Thanks,
Franco
 
Last edited:
  • Like
Reactions: supersandwich

cdesai

Inactive Recognized Developer
Jan 16, 2011
2,296
4,088
IN YOUR HEAD
If you want the kernel source, contact the manufacturer, as the Linux kernel is licenced under GPL and they need to release source!

From my fingers to your eyez
 

BreeZyer

Member
Dec 9, 2011
8
0
montreal
Appreciate the work to gather the info together, OP. Glad another soul fights for our shiny toy ;)

Having a forum would help putting such info in stickies. Keep voting!
Vote +1 Le Pan forum here

As for source code... anyone threatening legal action yet? ;) j/k ...
 
Last edited:

gfinockio

Senior Member
Aug 23, 2008
567
45
$30 US to the first person with a working CM7 (or CM9) custom ROM on the Le Pan, via Paypal!
 

whatid

Senior Member
Jul 27, 2006
72
6
Thx OP, nice... Keep up the good work guys!

So, correct me if I am wrong. In theory the first step is to recreate a 2.2 'custom' kernel replace the existing one, repackage, and try to flash it and see if it works, right?

Worst case (assume the boot loader is not messed up), it should be able to flash back to the official ROM image, right?

(or I should say, first test is to replace the boot screen in ROM image to test repackage and see if it works... Yes I am aware you can change the boot logo in the filesystem afterwards but that's not the point)

I do plan to set up a build environment over the holiday, but I hope those alreay have experience can have a head start!

---------- Post added at 06:33 AM ---------- Previous post was at 06:02 AM ----------

OZ8805 Gas Gauge seems to be an obsolete product from O2Micro. However from some old document (http://www.docin.com/p-97287653.html or http://www.scribd.com/doc/61448457/o2m-Int-Power-Brochure) it shows the pin out which looks like I2C interface (SCL/SDA)

Hynix253 Camera:
Bit and piece of info
http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/100/t/135743.aspx
And looks like it is widely available in China for use in cell phone camera, however can't fins much specs other than a few photos. It is made by 冠普科技. http://detail.china.alibaba.com/buyer/offerdetail/891985423.html

ePL580x Light sensor:
according to this page http://www.computex.biz/elan/default.aspx?pagetype=ProductDetail&pdt_id=38766&cid=561 it is made by ELAN Microelectronics Corp. http://www.emc.com.tw But I can't seems to find the product on their website

Digging continues...
 
Last edited:

colbynmeghan

Senior Member
May 25, 2008
210
12
Gonzales
I was able to find this website with
more on the tablet. I tried to email them for more information but idk if it sent to them. Maybe someone else can try on a PC, only have my phone for now....

Edit: forgot the Website. http://211.72.69.29/en/product5802.html

So here it is
Sent from my i777 high in the sky
 
Last edited:

gfinockio

Senior Member
Aug 23, 2008
567
45
There is a new firmware file on the horizon for the Le Pan TC 970. Not sure if that's of any importance to you...
 

srivers33

Senior Member
Feb 14, 2010
133
10
Let us know if theres anything that can be done to help. Would love to see some CM9 port on this thing. Thanks again for the hard work. Keep it up.
 

sockbot

Member
Dec 27, 2011
24
1
Any info on significant changes, I'm pretty happy with the current firmware....

There is a discussion on the new firmware here: http://xdaforums.com/group.php?do=discuss&discussionid=1446&pp=10
It looks like it is mostly stability fixes but it is still a 2.2 firmware.

This thread is about getting a custom 2.3+ firmware on the TC 970 which I want so my apps behave as tablet apps instead of large phone apps. Ever notice how sometimes you see an app screenshot in landscape mode having two panels for navigation and content but when you actually download it it only shows the content? Its because the tablet can only act as a huge phone in 2.2. Need 2.3 and ideally 4.0 in order to have proper tablet behaviour.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 17
    Update: It looks like not all the images in the griffin.ifw are needed for running CWM.
    So I have cut the fat and redone the signature.

    Now the CWM package griffin.ifw is only 5.3M as oppose to the original 94M.
    So much easier and lighter now! :)

    ==================================================================

    I am happy to present a working version of CWM Recovery for our beloved LePan TC970.

    You don't have to flash the CWM Recovery. It runs from external SD card directly.

    I built it from the source so it's pretty much the latest version. 5.0.2.7

    So far what is working:

    - Keys, Volume -/+ to navigate the menu, Power key to select. 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.
    - Display is still up side down, well, what the hell!
    - External SD card works and will be default place to be used for update/backup/restore.
    - mounting /data, /system works. Mounting USB Storage works.
    - Backup works.Assuming restore should work, too.
    - Install from zip should work, though I have not tried it. I can browse the SD card contents.
    - Power off/Reboot works.

    Not working:
    - /emmc mounting failed. That partition is not even there. So don't care.
    - Display is up side down. :)


    When kernel boot in recovery mode, it exposes all the mtd partitions including all the bootloaders, etc.

    cat /proc/mtd
    dev: size erasesize name
    mtd0: 00080000 00020000 "iload"
    mtd1: 00180000 00020000 "iboot"
    mtd2: 00120000 00020000 "boardenv"
    mtd3: 00280000 00020000 "innocomm"
    mtd4: 00380000 00020000 "splash"
    mtd5: 00180000 00020000 "chargesplash"
    mtd6: 00180000 00020000 "badifw_logo"
    mtd7: 003c0000 00020000 "recovery"
    mtd8: 00200000 00020000 "rootfs"
    mtd9: 003c0000 00020000 "kernel"
    mtd10: 00080000 00020000 "misc"
    mtd11: 000c0000 00020000 "kpanic"
    mtd12: 10000000 00020000 "system"
    mtd13: 003c0000 00020000 "cache"
    mtd14: 0e560000 00020000 "userdata"


    WARNING HERE: Please be super careful using the CWM "Mounts and Storage" menu - format options.
    If you format the wrong partition like iload, iboot, your lepan could be totally dead.

    Download the update package from here .

    MD5SUM of the griffin.ifw (5,540,092 bytes):

    872579029b22e05db1abdccfd2a9119e *griffin.ifw


    Installation steps:

    1. Please make sure you have enough battery left.
    2. Copy the griffin.ifw to the external SD card and put it into Lepan.
    3. Press and Hold both Volume - and Power key, Keep on holding it for at least 5 seconds after you see the LePan logo.
    4. Release both buttons and wait. CWM should start automatically.

    Have fun and good luck.
    15
    How to build CM9/ICS for the griffin/TC970 - WI(Very)P

    Update 2/20/2012

    I was finally able to compile the full ICS/CM9 for the Matsunichi griffin/LaPan TC970.
    I managed to create a 'system' image but I am not sure if it works at all.
    I update the github repo with all the files I used under 'device/matsunichi/griffin' to create 'system'.
    I am also updating the steps below, so anyone should be able to build it.

    Many thanks to cas_xp for sharing his 'device/matsunichi/griffin' files with me, so I could use some of his settings/ideas for CM9.

    Franco

    ===============================================================================

    First of all this is just beginning - the last line in this post is 'To be continued...'

    The purpose of this post is to allow/encourage everyone here to build CM9/ICS for the griffin/TC970, so that everyone can help and we can make some progress together.


    Since the griffin/TC970 has the same TI OMAP3 processor and the same WL1271 Wifi chip as the Nook Color, I thought it would be a good idea to start with fattire's "CM9 for NookColor Build Instructions" (http://kan.gd/1bvw), as pointed out by GnatGoSplat in the post #105 (thanks GnatGoSplat for giving me a good start!)

    There are more or less the same items listed by fattire, with some changes/modifications for the griffin/TC970.
    This is a very initial list; I'll expand it later, depending onthe questions that come up. Also since I am using Linux here, these instructions might require some changes for Windows/Mac.


    1. Install the Android SDK with ADB (http://wiki.cyanogenmod.com/wiki/Howto:_Install_the_Android_SDK)


    2. Install 'git', a bunch of other packages and 'repo' (instructions here http://wiki.cyanogenmod.com/wiki/Barnes_&_Noble_Nook_Color:_Compile_CyanogenMod_(Linux)):

    For 32-bit & 64-bit systems:

    git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev sun-java6-jdk pngcrush schedtool

    For 64-bit only systems:

    g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline5-dev gcc-4.3-multilib g++-4.3-multilib

    mkdir -p ~/bin ~/android/system

    curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo

    chmod a+x ~/bin/repo

    (possibly add ~/bin to your PATH)


    3. Download CM9

    cd ~/android/system/

    repo init -u git://github.com/CyanogenMod/android.git -b ics

    repo sync -j4 ('repo sync -j16', if you are in a hurry)


    ... wait ....

    4. Add the 'android_device_matsunichi_griffin' github repository to receive automatic updates anytime you do 'repo sync', by adding the following lines to the XML file '~/android/system/.repo/local_manifest.xml':


    <?xml version="1.0" encoding="UTF-8"?>
    <manifest>

    <remote name = "gh"
    fetch="git://github.com/" />

    <project path="device/matsunichi/griffin"
    name="fventuri/android_device_matsunichi_griffin"
    remote="gh"
    revision="ics"/>

    </manifest>

    after adding these lines, the command 'repo sync' again should pull the few extra files for the griffin/TC970.

    The github repository ( https://github.com/fventuri/android_device_matsunichi_griffin) you just added is where I pushed all the files/scripts specific to the griffin/TC970; anyone should be able to branch out of it, and I'll be more than happy to merge the changes in the 'ics' branch.

    5. Extract the proprietary/vendor files from the device or from the 'unpacked' firmware image.
    Option 5.a - from the device itself:
    - make sure you have 'adb' installed and properly configured and that the device is 'rooted' ('adb shell' should return the '#' prompt)
    - cd android/system/device/matsunichi/griffin
    - ./extract-files.sh
    Option 5.b - from an 'unpacked' firmware image
    - 'unpack' the file 'griffin.ifw' using the 'unpacker' code attached to the first post
    - extract the files from the 'system' filesystem using 'unyaffs' (you can obtain it from here: http://code.google.com/p/unyaffs/downloads/list)
    - cd android/system/device/matsunich/griffin
    -./extract-files.sh <directory where you extracted system>

    6. Extract the kernel, iload (MLO) and iboot (u-boot.bin). Since I haven't found a good way to extract them from the live tablet, the only option you have is to use the 'unpacker' and then run:
    - cd android/system/device/matsunichi/griffin
    -./extract-kernel.sh

    7. set up the Android environment and run 'lunch':
    - cd android/system
    - . ./build/envsetup.sh (you should see 'matsunichi/griffin' in the list)
    - lunch
    - choose the selection 'full_griffin-eng'

    8. Finally run 'make':
    - make

    If all goes well, congratulations! You have managed to compile CM9; all the 'goodies' are in 'android/system/out/target/product/griffin'.

    Don't try to run them on the actual tablet unless you know better than me what you are doing!

    More on these files in the next episode of this saga....

    To be continued....
    10
    I am no longer working on this project (see the 3/15 update below).
    However cas_xp is already working on porting ICS/CM9 to the LePan TC970.
    The XDA thread with all his work is here: http://xdaforums.com/showthread.php?t=1483954
    (if anyone has a link to the thread specific to CM9 for the TC970, please let me know and I'll update the link above).

    ================================================================================


    This thread is about gathering and sharing info about the hardware, firmware, Linux kernel and modules for the Mitsunichi/Innocom 'Griffin' M6001 tablet, aka Le Pan TC970 in order to be able to port ICS/CM9 to it, if possible.

    I'd like to keep this thread about 'low-level' hardware/kernel, i.e. please do not post questions about rooting this tablet (it has already been done, see here: http://xdaforums.com/showthread.php?t=1353951) or about problems with specific applications.

    Since there are so many awesome developments in this thread, I decided to just put the interesting news and links here and move the historical info in the second post below.

    Franco

    ================================================================================

    Update 3/15/2012

    Last Sunday flying back home they had me check-in with the regular luggage my bag with the LePan 970 and when I turned it back on at home that night, it had a bunch of stripes of dead pixels on the screen; it is pretty much unusable now.
    Also my wife gave me a new different tablet (which already runs ICS) for my birthday yesterday, so at this point I won't be working on the LePan TC970 anymore.

    I just saw that the great cas_xp is already working and making good progress on a version of CM9/ICS for the LePan TC970 (see here http://xdaforums.com/showthread.php?t=1483954 and here https://github.com/cas-xp/device_lepan_griffin) and I wish the best of luck in this project.

    I had really fun working on this tablet with all the people here (chinabull, cas_xp, and everyone else of course) and I am already working on the new one.

    See you later,
    Franco

    ================================================================================

    Update 2/20/2012

    I was finally able to compile all of CM9/ICS with specific files for the griffin/TC970 (no ROM yet).
    All the details, how to get the files, and compile it on your PC are in the 'how-to' post ( http://xdaforums.com/showpost.php?p=22007753&postcount=113).
    Please do try to compile it yourself, but don't try to run those files on your tablet.

    ================================================================================

    Update 2/7/2012

    Big news!
    cas_xp has released a beta version of Gingerbread/CM7 for the griffin/TC970. The thread with all the information is here: http://xdaforums.com/showthread.php?t=1483954

    Awesome job cas_xp!!!


    ================================================================================

    Update 1/30/2012

    I tried to put together an initial attempt of an 'how-to' docoment about trying to build CM9/ICS for the griffin/TC970 tablet (movie spoiler: no, I can't build/run ICS yet).
    The link to the post is here: http://xdaforums.com/showpost.php?p=22007753&postcount=113

    I also created a github repository with the device specific code and configuration files to port CM9/ICS to this tablet (it is all in the post).

    Comments, contributions to the code and conf files in the repo are most welcome!


    ================================================================================

    Update 1/27/2012

    cas_xp was able to get Gingerbread (CM7) running on the first time! (http://xdaforums.com/showpost.php?p=21888312&postcount=93)!!!

    Congratulations to cas_xp for this big success!


    ================================================================================

    Update 1/22/2012

    I finally found the time to write the Innocomm firmware 'packer' (and a newer version of 'unpacker'), so we can create our own firmwares for the TC970/griffin.

    Since I thought it is better if I keep this post just for the progress updates for this this thread, I just put the descriptions on what 'unpacker 'and 'packer' do and how to use them here: http://xdaforums.com/showpost.php?p=21707308&postcount=80.

    Sometime I'll also clean up this post a little bit (and put all the historical information in the second post).


    ================================================================================

    Update 1/19/2012

    chinabull has created a working ClockworkMod Recovery for the LePan TC970/griffin; his post with all the instructions is here: http://xdaforums.com/showpost.php?p=21563628&postcount=44.
    Please read his whole post wuth all the instructions; please not that this is still a work in progress and that there are risks with your tablet involved with this installation; you may want to read all the posts after chinabull's to have an idea of the possible risks and workarounds.

    Again my hat off to chinabull for this great achivement!

    ================================================================================

    Update 18/1/2012

    More great news!
    chinabull figured out a way to replace Innocomm recovery with an already existing ClockworkMod, sign the firmware with this new version and install it on his tablet.
    This means that we should now the able to build our own firmwares for the TC970/griffin.
    Many thanks to chinabull for his awesome achievement!


    ================================================================================

    You can find all the other information in the 'historical' log below.
    7
    Just checked out the CM9 tree and rebuilt the CM9 ICS flashable package for Nook color.

    I had a quick look at the structure of nook support and our TC970, it's pretty similar in term of the proprietary files. The kernel is also the same version 2.6.32.9.

    I'll copy the nook support code over tc970 directory and start hacking!
    7
    The Innocomm 'packer' (and the latest version of the 'unpacker') are finally done and you can find the source code attached to this post.
    You can compile them as follows:

    gcc -O -Wall -o packer packer.c -lz -lcrypto
    gcc -O -Wall -o unpacker unpacker.c -lz -lcrypto

    Some notes on how to use them:

    - First the 'unpacker'

    unpacker [-v] [-c] <firmware file>

    where the new command line options are as follows:

    -v verbose; prints a bunch of debugging information to stderr
    -c print configuration; prints the configuration file for the 'packer' to stdout

    so a possible use of the 'unpacker' would be:

    unpacker -c griffin.ifw > griffin.conf

    The configuration file is a simple text file and, if you want to start 'packing' your own firmware for the TC970/griffin, you may want to take a look at it (and possibly edit it to your liking before 'packing')


    - The 'packer' does pretty much the reverse of the 'unpacker'; you just run it in a directory with all the images you want to pack and the configuration file (either the 'griffin.conf' from the previous step or an edited version of it to suit your needs).
    The packer can be run from the command line as follows:

    packer mygriffin.ifw < griffin.conf

    (of course you have to rename 'mygriffin.ifw' to 'griffin.ifw' before you copy it to the SD card).


    Please note that the only missing part from the unpacker/packer is the whole file checksum; I haven't figure out (yet) how to compute it, but chinabull found out the Innocomm xloader (MLO) and u-boot don't check it (while 'idownload' probably does), so firmwares created with the 'packer' should be loaded without any problem by the TC970/griffin.

    I think that's it.

    Let me know if you have any problems or questions.

    Franco