[FAQ] Asus T100: Installing custom OS (android/ubuntu/*nix/Windows 7/Windows 8 x64)

Search This thread

jonpry

Senior Member
Apr 22, 2010
58
110
I finally got one of these T100 deals, so I'm actively working on getting linux to run well on it. I currently have Debian Jessie running off of an external hard drive using 3.15rc4. I was able to build the kernel with mixed-mode EFI support which sort of appears to be working as I can read vars and have not detected any errors, although I still don't have suspend or any power button action. 3d graphics work well and I didn't have any trouble with sound.

Wifi is a can of worms, but I'm starting to get a handle on the real problems. SHDCI controller has a number of quirks and straight up bugs in baytrail-m. AdamWill at https://github.com/AdamWill/baytrail-m/tree/master/kernel seems to have a handle on a number of them. One must use the gpio_quirk patch in order to get proper settings for what is wrong with the SDIO port. Still not 100% with that patch but with some fiddling I did get connected at high speed to a very far access point. Much better than my laptop is able to achieve. I believe the pinctrl patch must also be applied as gpio interrupts are currently broken and wifi of course needs those to work. When I tried it just hung the kernel, so need to do some research there.

Looks like progress to me :)

Edit:

It appears that rc4 at least includes some way to deal with GPIO interrupt problems. Not sure that pinctrl is going to fix much of anything. With a modified SDIO quirks patch things do appear to be much better. I am confused as to exactly how though and I always like to have a working theory! According to intel errata the mmc3 power output just doesn't work, and it needs to be done with GPIO. So let's assume for the moment that power output was doing nothing. Then how was wifi working at all? I have never heard of a board with the wifi permanently on, like how to do airplane mode? So does the wifi have some kind of pullup making it on, unless we explicitly turn it off, making this patch all smoke and mirrors, or was it floating somehow? If it was floating, then maybe that explains some instability, but not so much the reduced signal strength.

I was able to get battery meter working on rc4. Buttons would be nice, maybe light sensor, but it's not much good without backlight control. I'll mess with it a little more and then I will post some patches. I'm considering putting up a disk image that will work on usb flash/hdd. I mostly did this as a way to bootstrap my install onto the flash. Not much into using the installers and it's nice to have a fully functional system on removable media you can do repairs with and such.

Edit2:

I tried to take a whack at suspend. This rumor of the problem being lack of mixed-mode EFI is all wrong. Suspend is implemented on T100 with good old fassioned ACPI. But alas it does not work.

Relevant portion of dmesg:
Code:
[    0.305020] ACPI: Interpreter enabled
[    0.305044] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S1_] (20140214/hwxface-580)
[    0.305068] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S2_] (20140214/hwxface-580)
[    0.305089] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S3_] (20140214/hwxface-580)
[    0.305110] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S4_] (20140214/hwxface-580)
[    0.305138] ACPI: (supports S0)

So it would appear the tables do not contain any definitions for any sleep states other than freeze. Could this be one of the fabled connected standby only devices? Could also be a bug in parsing the aml. Don't know enough about acpi to pull the tables and make sure there is really no sleep.
 
Last edited:

TheMoro

Member
Dec 22, 2013
21
14
So it would appear the tables do not contain any definitions for any sleep states other than freeze. Could this be one of the fabled connected standby only devices? Could also be a bug in parsing the aml. Don't know enough about acpi to pull the tables and make sure there is really no sleep.

I've looked through a decompiled ACPI table with the intel decompiling software and didn't find definitions for those sleep states. I thought it was rather odd at the time. How is Windows getting the thing into sleep state?

Also in there are functions for the backlight, whose code is just a single write into a memory location. Could this also be issues with the GPIOs not functioning properly in linux?
 

tydem

Member
May 23, 2010
45
20
Bonn
I did some research on Connected Standby and it does replace regular suspend, since Windows cannot support both in one system. This means that with the tables as they are, we cannot get suspend. I'm not sure if it would be possible to implement.

http://msdn.microsoft.com/en-us/library/windows/hardware/dn481228(v=vs.85).aspx

So the T100 doesn't actually sleep, but it uses this connected standby mode instead, which has the incredible benefit of draining my battery and ruining my limited (tethered) mobile data plan to install updates. Also it sacrifices 64 bit support out of the box as well as legacy BIOS booting support in order to do that. Sorry for the rant, but just can't see the point of this feature.
 
Last edited:

jonpry

Senior Member
Apr 22, 2010
58
110
So the T100 doesn't actually sleep, but it uses this connected standby mode instead, which has the incredible benefit of draining my battery and ruining my limited (tethered) mobile data plan to install updates. Also it sacrifices 64 bit support out of the box as well as legacy BIOS booting support in order to do that. Sorry for the rant, but just can't see the point of this feature.

Lol, yeah it seems certain this is a CS device and i agree CS is a total joke. I'm going to run power top and see what kind of c-states we are actually hitting. Maybe messing with intel_idle vs processor_idle will let us hit S0i3, also I saw some patches were released yesterday to help i915 hit S0i3. I messed with backlight a little. acpi_backlight device is loading but doesn't seem to work. Apparently what normally happens is ACPI aml writes the backlight value into opRegion memory and issues an interrupt to i915, which the driver eventually catches, downloads the value from opRegion and then sets i915 registers to actually get it done. This whole process can be bypassed by using intel_backlight driver. In fact it is theorized that acpi_backlight is broken on all win8 targetted devices. For some reason intel_backlight device is not loading for us. I went through i915 codes a little but didn't immediately see why. It would be nice to know what kind of panel interface t100 is using. ie lvds/dp/edp etc.

Of course turning off backlight is not enough for us. We actually want to disable display output since this uses lots of power and then allow i915 to hit higher C states.
 
  • Like
Reactions: damian01211

tydem

Member
May 23, 2010
45
20
Bonn
Lol, yeah it seems certain this is a CS device and i agree CS is a total joke. I'm going to run power top and see what kind of c-states we are actually hitting. Maybe messing with intel_idle vs processor_idle will let us hit S0i3, also I saw some patches were released yesterday to help i915 hit S0i3. I messed with backlight a little. acpi_backlight device is loading but doesn't seem to work. Apparently what normally happens is ACPI aml writes the backlight value into opRegion memory and issues an interrupt to i915, which the driver eventually catches, downloads the value from opRegion and then sets i915 registers to actually get it done. This whole process can be bypassed by using intel_backlight driver. In fact it is theorized that acpi_backlight is broken on all win8 targetted devices. For some reason intel_backlight device is not loading for us. I went through i915 codes a little but didn't immediately see why. It would be nice to know what kind of panel interface t100 is using. ie lvds/dp/edp etc.

Of course turning off backlight is not enough for us. We actually want to disable display output since this uses lots of power and then allow i915 to hit higher C states.


The T100 uses eDP AFAIK, like many other Bay Trail convertibles.

On another note, can you please post your patches to enable battery monitoring on 3.15rc4, or some precompiled kernel deb packages? I still can't seem to get my kernel to compile with this feature.
 

jonpry

Senior Member
Apr 22, 2010
58
110
The T100 uses eDP AFAIK, like many other Bay Trail convertibles.

On another note, can you please post your patches to enable battery monitoring on 3.15rc4, or some precompiled kernel deb packages? I still can't seem to get my kernel to compile with this feature.

Yeah I will be uploading a disk image and source soon.

Somehow we are using the video=VGA-1:1366x768e option and i915 driver seems to believe the panel is attached to VGA port. Very strange and I very much doubt the panel is analog. I was able to get the intel_backlight driver running by adding support to intel_crt.c. However it doesn't work. Lots of questions there and not much answer. i915 only contains a single PWM channel per "pipe" so I would think the hack should work even driver is confused as to the nature of the interface. If somebody has network connection that can come up without video. Maybe they can get a dmesg from a system without video= and added drm.debug=0x6

I tried runtime PM patches for valleyview. Set does not apply easily to rc4, I can probably get it to work but backlight seems higher priority as the other patches will probably find there way into i915 soon enough anyways.

Edit:

Get your prepatched kernel sources at https://github.com/jonpry/linux_t100
Copy jonpry_config to .config and make deb-pkg



I extracted the video bios to see what is going on with panel. http://pastebin.com/crht1nDU
Appears to be a problem with type 0x1400 which is DEVICE_TYPE_HOTPLUG_SIGNALING | DEVI CE_TYPE_NOT_HDMI_OUTPUT
Most likely broken bios although I am not sure what good fixing it will do. Except that we can't really power down eDP link during "sleep" without it

Edit2:

Intel folks tell me the panel is mipi-DSI and there is a big patch set that will hopefully make 3.16 merge window.
 
Last edited:
  • Like
Reactions: JoinTheRealms

Uncle Scrooge

Member
Mar 29, 2013
20
3
I did some research on Connected Standby and it does replace regular suspend, since Windows cannot support both in one system. This means that with the tables as they are, we cannot get suspend. I'm not sure if it would be possible to implement.

http://msdn.microsoft.com/en-us/library/windows/hardware/dn481228(v=vs.85).aspx

So the T100 doesn't actually sleep, but it uses this connected standby mode instead, which has the incredible benefit of draining my battery and ruining my limited (tethered) mobile data plan to install updates. Also it sacrifices 64 bit support out of the box as well as legacy BIOS booting support in order to do that. Sorry for the rant, but just can't see the point of this feature.

The point of connected standby is to have a device you can stand-by like a mobile phone and get notifications for emails, apps etc. while not using your device, with very little battery consumption.

If you want a nearly-zero battery consumption while in standy, just activate the airplane mode, so your connected standby would become a "disconnected" standby (I see a 1% battery consumption after 12 hours in airplane mode standby). Make sure you have the latest firmware version (304) because older versions had strange battery draining issues, but not anymore.
Also, you can just completely turn off the tablet. It doesn't take much longer than the old-fashioned suspend mode for turning it on again.

About your limited tethered mobile data plan, did you know you can set it just that way in Windows 8 so it will smartly avoid consuming your precious MBs for automatic updates?
 
Last edited:

jonpry

Senior Member
Apr 22, 2010
58
110
I uploaded disk image. This is Debian Jessie with rc4 kernel. Just decompress and dd the thing to a usb flash or disk. I think root should be mounted async for flash but haven't figured out how to do it. Root password is foo, let me know of your experience with the wifi. I think it works pretty well.

http://gpile.it/files/image.gz

Edit:

2 days and no testers?

Edit2:

Got a report from a user with not enough posts for dev forum. Guy says wifi is really good and he won't be needing a usb dongle anymore.
 
Last edited:
  • Like
Reactions: JoinTheRealms

dinohunter117

Member
Jan 9, 2011
49
11
I uploaded disk image. This is Debian Jessie with rc4 kernel. Just decompress and dd the thing to a usb flash or disk. I think root should be mounted async for flash but haven't figured out how to do it. Root password is foo, let me know of your experience with the wifi. I think it works pretty well.

http://gpile.it/files/image.gz

Edit:

2 days and no testers?

I am using a dell venue 8 pro, I would be more than happy to test this, but is it compatible with my device? It has the same internals besides a slightly different processor and a lower res screen. Thanks.
 

tasadar

Senior Member
Sep 11, 2007
134
18
And I have toshiba encore, but I am counting on this build when something is ready. To make it work on other bay trail device is the easy part right ?!
 

jonpry

Senior Member
Apr 22, 2010
58
110
And I have toshiba encore, but I am counting on this build when something is ready. To make it work on other bay trail device is the easy part right ?!

Some things are portable and most of these changes are hitting mainline. One T100 we need support for ACPI aml not in the kernel yet and some dirty hacks are being used. This stuff is not good on any other machine so patches aren't going anywhere. The big thing we are missing now is runtime PM for graphics and MIPI DSI support. Depending on your panel maybe you don't need MIPI stuff. I've heard that venue 8 has a lot of ACPI problems and patches that fix things on venue8 break things on T100 though I am not sure why.

Until someone is willing it dig into it and make proper patches for ACPI troubles, a unified kernel doesn't seem too likely.
 

Xentar712

Senior Member
Sep 27, 2007
266
48
Oh, sorry then. Thanks for the reply.

BTW; then why did Intel say that it would be possible - as in one of my links?

It will be possible when they make a 32-bit UEFI bootloader. So far they haven't. I'm on Android-IA's email distribution list. They are working on it but not very hard - I think there are other priorities. I think the general assumption is Asus, Dell, etc. will eventually make their tablets 64-bit after the connected standby issues are fixed, so there's no urgency to try and make a 32-bit compatible version. I personally think Dell and Asus will do nothing and will just release 64-bit tablets later in the year.
 
  • Like
Reactions: Ripton

tr3w

Member
Aug 13, 2010
14
4
I uploaded disk image. This is Debian Jessie with rc4 kernel. Just decompress and dd the thing to a usb flash or disk. I think root should be mounted async for flash but haven't figured out how to do it. Root password is foo, let me know of your experience with the wifi. I think it works pretty well.

http://gpile.it/files/image.gz

Edit:

2 days and no testers?

Edit2:

Got a report from a user with not enough posts for dev forum. Guy says wifi is really good and he won't be needing a usb dongle anymore.

Hi,

I also tried your image, (and also needed 10 post to send this message...).
Wifi was good, same speed as with windows.
Boot was slow, and I got a lot of mmcblock0 timeout messages. Sound was good.
I think the shutdown didn't work properly.
 

diablow

Member
May 8, 2011
44
4
I just see a Chinese manufacturer releases Android 4.2 image and dual boot bios for their bay trail tablet. Since the Android image is 32bit, will it help us getting Android to work on our machines?

32bit Android 4.2 image
http://pan.baidu.com/s/1nt2VsKx

Bios
http://pan.baidu.com/s/1c09Zriw

original thread
http://bbs.cnweiyan.com/forum.php?mod=viewthread&tid=28669&extra=page%3D1

This might not work, as this tablet uses a different CPU Intel Celeron N2910 (source: http://liliputing.com/2013/09/surge-tab-ph-101-bay-trail-tablet-dual-boots-windows-android.html). Currently downloading (very slowly) image to poke around later.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 16
    [4 April 2014]I haven't had time to play with my device or update fully the info in this post
    Jhong2 has an updated post on how to get ubuntu working on the Asus T100
    http://forum.xda-developers.com/showpost.php?p=51291244&postcount=181
    http://www.jfwhome.com/2014/03/07/perfect-ubuntu-or-other-linux-on-the-asus-transformer-book-t100/

    (do search for the specific topic headers to jump to them)
    Post 1: Global Info
    UEFI:
    Bootloader auto-detection path:
    Secure Boot
    Partition Table for Live USB sticks:
    How to boot from USB stick
    Info for various operating systems:
    Hardware info:
    /cpu/cpuinfo:

    Post 2: <backup/ archived infomation>

    Post 3: Files
    grub2 2.00-13ubuntu3 (13.04 raring sources) compiled for grub-efi-ia32 (x86) - bootia32​




    ---------------------------------------------------------------------------------------


    Global information
    for BIOS 214 (2013.09.25), version loaded on retail T100 units

    UEFI:

    Bootloader auto-detection path:
    (bootloader is only 32-bit compatible)
    /efi/BOOT/bootia32.efi
    WILL NOT pick up the x64 location /efi/BOOT/bootx64.efi

    Secure Boot

    You should disable Secure Boot in UEFI/Setup-Utility-Menu-> Security tab-> Secure Boot Menu -> Disable


    Partition Table for Live USB sticks:
    GPT or MBR works
    Use Rufus (works for Windows/Unix ISOs) or Windows 7 USB Download Tool (works for Windows 7 / Windows 8)

    How to boot from USB stick

    NOTE:

    If you don't see the USB drive on the boot list or the UEFI/Setup-utility, this means you have a badly prepped USB live drive, or the boot-list/UEFI/Setup-utility was loaded before the USB drive was read.
    If you are on the boot list, boot into UEFI/Setup-utility. Then, go to the last tab, save changes and restart while holding F2 (to force the next reboot to go back into UEFI/Setup-utility). If you still don't see the USB drive after doing this multiple times, then you have a badly prepped USB drive.

    I find using Rufus (GPT for UEFI + FAT + 64 kb+ bootable disk using ISO Image) to consistently get a working bootable USB drive

    Option 1a) Boot to UEFI USB drive from Windows (works only if your USB is correctly prepped)
    1. Boot into Windows
    2. Swipe from right, click on settings.
    3. Click on Power. Press and hold the shift key, and then click on Restart
    4. A Blue menu should show up. Click on Use a device->click on the device name (might not show up if USB isn't prepped properly)
    5. Device should reboot into the USB

    Option 1b) Boot to UEFI/Setup-Utility-menu from Windows (easiest, and almost no way to screw it up)
    1. Boot into Windows
    2. Swipe from right, click on settings.
    3. Click on Power. Press and hold the shift key, and then click on Restart
    4. A Blue menu should show up. Click on Troubleshoot-> Advanced Options-> UEFI Firmware Settings
    5. Inside UEFI/Setup-Utility-menu, go to the last tab, and select the USB Drive

    NOTE:
    For options 2a and 2b, if you see the ASUS logo and circle loading icon, you either:
    • Pressed button (ESCAPE/F2) too late. Solution: Reboot and try again
    • Have Fast startup enabled, and did the steps with the device in shutdown mode. Windows will cache the kernel/other stuff, and you might not be able to get to UEFI. Solution: Reboot from Windows and try again(reboot does not trigger caching). Or disable Fast Startup


    Option 2a) Boot to UEFI/Setup-Utility-menu
    1. Inside Windows, restart system. Press and hold the F2 key
    2. You should get into the Aptio Setup Utility screen
    3. Inside UEFI/Setup-Utility-menu, go to the last tab, and select the USB Drive

    Option 2b) Boot Menu
    1. Inside Windows, restart system. When screen goes blank, press and hold the ESCAPE key (if you press it too early, Windows might interpret you as cancelling the restart process)
    2. You should get a list of bootable devices
    3. If you see the ASUS logo, you've pressed the ESCAPE key too late. Restart and retry

    Info for various operating systems:

    You should backup the recovery partition to a separate USB key. Alternatively, you can do it with this ASUS utility Backtracker that HatesForums pointed me to

    Windows:



    Windows 8.1

    • x86: (Status: Works but missing drivers)
      Used Windows 7 USB Download Tool or Rufus to create bootable USB. Using en_windows_8_1_x86_dvd_2707392 from MSDN (x86 8.1 Regular & Pro ISO), able to install W8.1 x86 and boot to it (missing a few drivers, eg touch screen doesn't work, no sound). Windows is automatically activated without need for key. First boot had 25.7GB free out of 33.6GB.
    • x64: (Status: Not yet working)
      Used Windows 7 USB Download Tool or Rufus to create bootable USB. ISO does not contain bootia32.efi. Copied that file from the x86 ISO to USB, able to boot, but the installer complains that the processor isn't 64-bit compatible
    Windows 7

    • x86: (Status: unknown)
      ISO does not contain efi
    • x64: (Status: unknown
      ISO only contains x64 efi
    Unix:

    Ubuntu:

    You need an EFI-compatible distro. For ubuntu, x64 EFI is enabled since 12.04-2. However, we'll need to include x86 EFI because our bootloader only reads x86 EFIs
    • 13.04 x64 desktop- (Status: boots to GUI using fbdev)
      Used Rufus(GPT for UEFI + FAT + 64 kb+ raring x64 as bootable disk using ISO Image) to create bootable USB. Copied over the bootia32 to /efi/boot/
      there is a bug in VESA where it queries for a BIOS-only command and crashes. Forcing xserver to use fbdev fixes this problem
    • 13.10 x64 desktop- (Status: boots to GUI using fbdev
      Same problems as 13.04 x64 plus one addition efifb problem
      see post for more details - touchscreen works, but no wifi

    Android:
    • android-ia - (Status: No x86 UEFI bootloader)
      Generic UEFI Installer android-4.2.2_r1-ia3 does not come with x86 UEFI bootloader. it does not use grub, so can't just use ubuntu's x86 grub2 efi. Need to compile it from source
    • android-x86 - (Status: Bootable but slow)
      Uses grub, can piggy-back on the ubuntu x64 13.10 bootia.efi grub. Some workarounds needed, see this post
      external/efitools/Android.mk
      # TODO: support ia32 prebuilt

      ifeq ($(TARGET_KERNEL_ARCH),x86_64)

      arch_name := x86_64


    /cpu/cpuinfo:
    taken from a x64 13.04 live USB
    processor : 0
    vendor_id : GenuineIntel
    cpu family : 6
    model : 55
    model name : Intel(R) Atom(TM) CPU Z3740 @ 1.33GHz
    stepping : 3
    microcode : 0x312
    cpu MHz : 1333.387
    cache size : 1024 KB
    physical id : 0
    siblings : 4
    core id : 0
    cpu cores : 4
    apicid : 0
    initial apicid : 0
    fpu : yes
    fpu_exception : yes
    cpuid level : 11
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes rdrand lahf_lm 3dnowprefetch ida arat epb dtherm tpr_shadow vnmi flexpriority ept vpid tsc_adjust smep erms
    bogomips : 2666.77
    clflush size : 64
    cache_alignment : 64
    address sizes : 36 bits physical, 48 bits virtual
    power management:

    processor : 1
    vendor_id : GenuineIntel
    cpu family : 6
    model : 55
    model name : Intel(R) Atom(TM) CPU Z3740 @ 1.33GHz
    stepping : 3
    microcode : 0x312
    cpu MHz : 1333.387
    cache size : 1024 KB
    physical id : 0
    siblings : 4
    core id : 1
    cpu cores : 4
    apicid : 2
    initial apicid : 2
    fpu : yes
    fpu_exception : yes
    cpuid level : 11
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes rdrand lahf_lm 3dnowprefetch ida arat epb dtherm tpr_shadow vnmi flexpriority ept vpid tsc_adjust smep erms
    bogomips : 2666.77
    clflush size : 64
    cache_alignment : 64
    address sizes : 36 bits physical, 48 bits virtual
    power management:

    processor : 2
    vendor_id : GenuineIntel
    cpu family : 6
    model : 55
    model name : Intel(R) Atom(TM) CPU Z3740 @ 1.33GHz
    stepping : 3
    microcode : 0x312
    cpu MHz : 1333.387
    cache size : 1024 KB
    physical id : 0
    siblings : 4
    core id : 2
    cpu cores : 4
    apicid : 4
    initial apicid : 4
    fpu : yes
    fpu_exception : yes
    cpuid level : 11
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes rdrand lahf_lm 3dnowprefetch ida arat epb dtherm tpr_shadow vnmi flexpriority ept vpid tsc_adjust smep erms
    bogomips : 2666.77
    clflush size : 64
    cache_alignment : 64
    address sizes : 36 bits physical, 48 bits virtual
    power management:

    processor : 3
    vendor_id : GenuineIntel
    cpu family : 6
    model : 55
    model name : Intel(R) Atom(TM) CPU Z3740 @ 1.33GHz
    stepping : 3
    microcode : 0x312
    cpu MHz : 1333.387
    cache size : 1024 KB
    physical id : 0
    siblings : 4
    core id : 3
    cpu cores : 4
    apicid : 6
    initial apicid : 6
    fpu : yes
    fpu_exception : yes
    cpuid level : 11
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes rdrand lahf_lm 3dnowprefetch ida arat epb dtherm tpr_shadow vnmi flexpriority ept vpid tsc_adjust smep erms
    bogomips : 2666.77
    clflush size : 64
    cache_alignment : 64
    address sizes : 36 bits physical, 48 bits virtual
    power management:


    Hardware info:

    • The microUSB slot is USB-HOST-capable (i.e. with a USB OTG cable or Y cable, you can connect a USB flash drive to the microUSB slot
    • Amazon.de and Asus.de posted a T100 version with 500GB drive on the keyboard base. No pictures yet
    • Internal eMMC, 108MB/s 44MB/s read/write on sequential. CrystalDiskMark here
    • External microSD(HC/XC) reader is NOT UHS-1 compatible. Someone over at liliputing comments posted his atto benchmark

      64GB Samsung microSDXC card came in the mail today, I did some ATTO disk tests using the T100's built-in microSD reader and a USB 3.0 reader from Transcend.

      Unfortunately, it looks like the built-in reader is connected via USB 2.0. It maxed out at 23.8 MB/s read and 17.2 MB/s write, while the USB 3.0 reader maxed out at 71.3 MB/s read and 21.3 MB/s write. The card is rated at 70 MB/s read and 20 MB/s write.
    7
    Android good news and bad

    Well, after a few more very late nights, i was able to get to the android main screen, once. Unfortunately, its completely unrepeatable. After a lot of looking around, I think the main problem is that the drivers for the graphics that are in android-x86 are just not new enough. I did find here, repositories for the latest intel graphics driver sources. https://01.org/linuxgraphics/community?qt-projects_aggregated_links=2.

    However, I talked to a friend at Intel who works on android and according to him, Intel is going to be releasing a public beta for android on Bay Trail in the next 3 weeks. So I'm going to wait for that before I try again.

    If anyone wants to work on it before then, the main change I made to get the i915 driver to at least load and work for text console was in kernel/driver/gpu/drm/i915/i915_drv.c.
    around line 118, change
    Code:
    unsigned int i915_preliminary_hw_support __read_mostly = 0;
    to 
    unsigned int i915_preliminary_hw_support __read_mostly = [B]1[/B];
    I couldn't find another way to change this besides changing the source.

    Here is a pic of the one time i got to the main android screen.

    Android_on_t100_small.jpg
    7
    The i915 GPU driver does work fine *almost* out of the box for the 3.12 kernels. I havn't tested 3.13 yet, but the problem may be similar. The garbled screen is simply due to an incorrect resolution. It doesn't seem to detect our native resolution right. Using the boot parameter video=VGA-1:1366x768 works, at least when I tested it on Arch. For Ubuntu, the same boot parameter worked, but only for the console.The X session was still bad. From there I had to use xrandr to create a new video mode, and somehow manage to use the (still garbled) screen to access a terminal window. It worked, but I wouldn't recommend it ;) You might also be able to setup an Xorg config to set the resolution on startup.
    Just letting folks know, the GPU works at least in 3.12 kernels.
    6
    Made a fair bit of progress.

    Managed to get 3.14-rc2 booting no problem, and grub installed properly, so am booting up normally; it just needs the video=VGA-1:1366x768e parameter.

    Xrandr works fine, so screen rotation will be no problem once we have the accelerometer / orientation sensor cracked.

    I got wifi working using the brcmfmac43241b4-sdio driver, but signal strength was weak. I believe this was because the nvram obtained through nvramtool was not correct; AFAIK (and I'm still learning on this), since uefi is 32-bit, access to uefi / nvram vars is unavailable from within a 64-bit linux. So instead I tried to extract nvram from a uefi shell, and converted the hexdump to ascii. This seems to work much better. I've attached the nvram as brcmfmac4321b4-sdio.txt. This just needs to be copied to /lib/firmware/brcm along with the firmware.

    All ACPI is basically still broken, but I'll see what we can get.

    Sound seems a long way off. ACPI IDs have been added for the "Intel SST audio device" since kernel 3.13, but Intel hasn't provided a driver yet. Haven't looked closely yet.

    It seems someone is working on the battery monitor.

    WYgvptb.jpg
    6
    Iconia8 source

    I started messing with 3.17 kernel to see if anything works better. Had lots of trouble getting my kconfig correct of all things, but looks like some positive progress. 3.17 combined with some code i ripped from iconia8 gives me 100% good wifi and also the eMMC is working much better and is now in HS200 mode. Apparently chip can not enter C6 during eMMC write. This is very difficult to ensure using acpi_idle driver. I have something hacked together by accessing /dev/cpu_dma_latency but it wastes a lot of power and isn't a permanent solution.

    If only I could get backlight control to work :/ Would also be nice to have the two finger scroll function. No scroll on the small screen is a serious pain.

    Edit:

    Have a reasonable solution to the c6 wake lock. Also got some backlight control working. Can adjust, still missing stuff for completely turning it off/on. Code here on top of vanilla 3.17. https://github.com/jonpry/t100_patches Doesn't include battery, everything else works pretty good. I wrote couple hundred GB to eMMC without error. No problems with wifi either. I think there is one more eMMC patch we need but only effects samsung chips which i apparently don't have. Use included kconfig or you will have problems!
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone