[GUIDE] Hardware root via emmc chip (requires soldering!)

Search This thread

superkoal

Senior Member
Sep 24, 2011
1,026
717
Vienna
So there is a guide from gtvhacker how to hook up an sdcard reader to the FireTV's emmc chip and mount it on a linux machine to put the superuser binary and SuperSU.apk to the system partition.
Link to the guide

xXhighpowerXx managed to do it and put together a tutorial on youtube, big thanks to him!
Link to his post

Also there is this detailed blog post of derPeter, I recommend reading it to everyone interested in this hardware hack. Link to the post

This requires disassembling the fireTV, soldering electronic parts and also basic linux skills (and a linux machine)!
Try at your own risk!

Also he updated the information in the GTVHacker wiki linked above, so everything you need to know is there.

MAKE SURE TO ALSO READ THIS POST, AS THERE IS A SOLID RISK OF BRICKING YOUR DEVICE IF YOU ARE NOT CAREFUL! Thanks to ingrimsch for talking to the gtv guys on IRC and providing the log.
 
Last edited:

sammy98

Senior Member
Jul 22, 2007
70
11
Plz 54xxx
VCC is shown on the first picture with the tx/rx pinout.
GND should be usable from the (usb) shield(s).
Will try it the next few days when i have time

Sammy98
 

simondo22

Senior Member
Apr 30, 2011
71
16
So i have to solder the 5 data lines the cmd, clk, vcc, vss points to a sdcard snifer and unplug the fire tv?

The snifer goes in the pc. Rest is software.


Sent from my Nexus 4 using XDA Free mobile app
 

sammy98

Senior Member
Jul 22, 2007
70
11
Plz 54xxx
So i have to solder the 5 data lines the cmd, clk, vcc, vss points to a sdcard snifer and unplug the fire tv?

The snifer goes in the pc. Rest is software.


Sent from my Nexus 4 using XDA Free mobile app

Alright - just soldered as provided - the connections are fine on the pcb - connected with the sd-card sniffer pinouts, but no luck.
I used gnd from the powerr supply shield. No emmc visible in dmesg.
FireTV is not powered and only the emmc is connected to the reader. Same reader works fine with another emmc chip ...

Sammy98
 

simondo22

Senior Member
Apr 30, 2011
71
16
Could it be that the electrical current wich comes from the reader (pc) is to low?
Because it have to supplied the whole fire tv

Sent from my Nexus 4 using XDA Free mobile app
 

sammy98

Senior Member
Jul 22, 2007
70
11
Plz 54xxx
Could it be that the electrical current wich comes from the reader (pc) is to low?
Because it have to supplied the whole fire tv

Sent from my Nexus 4 using XDA Free mobile app

No the reader should only power the emmc chip. Thats why we asked where to connect vcc and vss. Ground should not be the problem.
I will stop playing now as we want to watch a movie. When the pinout is clear, i will open up the ftv again

Sammy98
 

simondo22

Senior Member
Apr 30, 2011
71
16
But vss and vcc are parallel conected to other chips on the board so the "I" (ampere) divides maybe

Sent from my Nexus 4 using XDA Free mobile app
 

sammy98

Senior Member
Jul 22, 2007
70
11
Plz 54xxx
But vss and vcc are parallel conected to other chips on the board so the "I" (ampere) divides maybe

Sent from my Nexus 4 using XDA Free mobile app

Jepp but how much current and ampere should be used on what pins? A perhaps 1.7V on the pin like in the pinout is not enough for me to try that und probably fry the atv

Sammy98
 

simondo22

Senior Member
Apr 30, 2011
71
16
Have you tried whithout vcc, vss from the cardreader an powered ftv?

Sent from my Nexus 4 using XDA Free mobile app
 

sammy98

Senior Member
Jul 22, 2007
70
11
Plz 54xxx
I guess the voltage or pins are the culprint. I did not power the atv and will not while connected to the reader. I dont write the emmc while the system is using it

Gesendet von meinem Nexus 7 mit Tapatalk
 
Sep 25, 2013
43
7
Hi,

I can find via google these 'SD Card Sniffer Sparkfun' (different versions: TOL-11468 and TOL-09419) and also e.g. 'MicroSD Breakout' and maybe I have an idea how to soldering/connecting the TOL's to pcb (CMD, CLK, DAT0 do I find (not really difficult) but not VCC, VSS), BUT I have no idea what and how I have to do after that (or maybe I'm also wrong at the starting)...
Can someone link me into the right direction?

THX

EDIT:
Maybe I understand it:
1. soldering / connecting the pins at the pcb with wire to the pins at the TOL
2. place the TOL into a card-reader at e.g. PC or another BOX
3. mount the SD card... (but there I don't know how to identify the system-MTD)
 
Last edited:

sammy98

Senior Member
Jul 22, 2007
70
11
Plz 54xxx
Hi,

I can find via google these 'SD Card Sniffer Sparkfun' (different versions: TOL-11468 and TOL-09419) and also e.g. 'MicroSD Breakout' and maybe I have an idea how to soldering/connecting the TOL's to pcb (CMD, CLK, DAT0 do I find (not really difficult) but not VCC, VSS), BUT I have no idea what and how I have to do after that (or maybe I'm also wrong at the starting)...
Can someone link me into the right direction?

THX
Did you even read the last posts in the current thread concerning vss and vcc? We dont know either

EDIT:
Maybe I understand it:
1. soldering / connecting the pins at the pcb with wire to the pins at the TOL
2. place the TOL into a card-reader at e.g. PC or another BOX
3. mount the SD card... (but there I don't know how to identify the system-MTD)

The steps 1-3 are correct. The emmc only has a read/writable ext4 according to the gtv hacker.
If you dont know how to mount the ext4 of the sd-card, you probably should not begin to solder.
 
Sep 25, 2013
43
7
Did you even read the last posts in the current thread concerning vss and vcc? We dont know either
Yes, I read it, but I ALSO have no idea (that's what I want to say)...
The steps 1-3 are correct. The emmc only has a read/writable ext4 according to the gtv hacker.
If you dont know how to mount the ext4 of the sd-card, you probably should not begin to solder.
To mount isn't a problem, but I'm wondering in, if the eMMC only contains one "partition" because of the different MTD's (but that is something I don't understand because I have never done it before THIS way via a 'SD Card Sniffer')...
 

ingrimsch

Member
Sep 25, 2014
15
9
hey guys,

i dont have my FTV yet, so I cant try hooking up the EMMC to the SD Sniffer myself yet, but maybe I can supply you with a few infos I found in the datasheets. I live in Germany, so my only option to get root access on the FTV will be the EMMC/SD way, which is why I follow this thread with great interest. ;)

@sammy98: are you able to measure the VCC/GND when the SD Sniffer is connected to your PC? As far as I know most SD Cards run on 3.3V, but will work on slightly higher and lower voltages (usually 2.7 to 3.6V). I´ll make an educated guess and say if you measure VCC/GND on the Sniffer you will see a voltage of 3.3V.

According to an article here h t t p : / / w w w .computerbase.de/2014-04/amazon-fire-tv-in-einzelteile-zerlegt the EMMC Chip is a Toshiba THGBM5G6A2JBAIR. So I peeked into the Datasheet (h t t p : / / w w w .magic-sun.com.cn/product/download/pdf/13) and found a pinout plus the Power Supply Voltages for VccQ accepting voltages from 1.7 V to 1.95 V and 2.7 V to 3.6 V. So if the SD Sniffer supplies nice 3.3V as expected, we should be able to use it... just maybe not on the 1.8V spot shown in the UART picture :eek:

Only thing I have not found out yet is where to connect the 3.3 V voltage to supply the EMMC yet. In the Datasheet Pinout you can find the correct Pins for Vcc/VccQ, but as the EMMC is a BGA package, they are under the package. Too bad gtvhacker did not trace the Vcc lanes, so we now have to find a spot to inject the voltage to get the EMMC/SD bridge running...


Hope this helps in any way. Until I finally get my FTV (delivery date still unknown :crying:) I can only help in theory...
 
Last edited:
  • Like
Reactions: gregianos

sammy98

Senior Member
Jul 22, 2007
70
11
Plz 54xxx
hey guys,

@sammy98: are you able to measure the VCC/GND when the SD Sniffer is connected to your PC? As far as I know most SD Cards run on 3.3V, but will work on slightly higher and lower voltages (usually 2.7 to 3.6V). I´ll make an educated guess and say if you measure VCC/GND on the Sniffer you will see a voltage of 3.3V.

According to an article here h t t p : / / w w w .computerbase.de/2014-04/amazon-fire-tv-in-einzelteile-zerlegt the EMMC Chip is a Toshiba THGBM5G6A2JBAIR. So I peeked into the Datasheet (h t t p : / / w w w .magic-sun.com.cn/product/download/pdf/13) and found a pinout plus the Power Supply Voltages for VccQ accepting voltages from 1.7 V to 1.95 V and 2.7 V to 3.6 V. So if the SD Sniffer supplies nice 3.3V as expected, we should be able to use it... just maybe not on the 1.8V spot shown in the UART picture :eek:

Only thing I have not found out yet is where to connect the 3.3 V voltage to supply the EMMC yet. In the Datasheet Pinout you can find the correct Pins for Vcc/VccQ, but as the EMMC is a BGA package, they are under the package. Too bad gtvhacker did not trace the Vcc lanes, so we now have to find a spot to inject the voltage to get the EMMC/SD bridge running...

Yes i measured the power of the reader and therefore i decided to put the 1,7V on the pin of the uart with an external device. Did not work as i wrote.
I read the datasheet to, but as the gtv hackers did not measure out the vcc (or did not find the pin), we need the spot to inject the voltage.

Sammy98
 

Top Liked Posts

  • There are no posts matching your filters.
  • 7
    So today i opened the fire tv and build a adapter similar to the SD Sniffer

    SrjigIL.jpg


    After some discussion in our local hackerspace I decidet to try it without the level shifter, power the AFTV via a lab powersupply on the 1,8V pin shown in the gtfv wiki (On the running AFTV i measured 1,65V there).

    I connected all pins from the AFTV to the SD-Card adapter except the VCC.

    FkOW7tT.jpg


    sadly nothing happens. I tried 2 USB SD reader and one build in. On one reader i saw the kernel to reset the USB device a few time but nothing more.

    Next step will be connecting a logic analzer and see if there is SPI traffik when i boot the AFTV.
    In that case i will add the level shifter.

    Here are some more pictures http://imgur.com/a/syYkh/all
    7
    I wrote a blog post about the emmc root and the steps for EU firetv owner to root/unlock/mod .
    Maybe it will help some people as finding all information to start was (at least back in 2014) not easy.
    Some information on the unlock are still missing. I hope this will help some people.
    I will also translate that to german asap as some people asked for it.
    5
    looks like i'm on the right way :D
    Code:
    [...]
    Nov 20 19:58:58  kernel: [45074.287457] mmc0: req done (CMD3): 0: 00000500 00000000 00000000 00000000
    Nov 20 19:58:58  kernel: [45074.287471] mmc0: clock 400000Hz busmode 2 powermode 2 cs 0 Vdd 21 width 0 timing 0
    Nov 20 19:58:58  kernel: [45074.287473] OWN DEBUG: 2 (1=MMC_BUSMODE_OPENDRAIN, 2=MMC_BUSMODE_PUSHPULL)
    Nov 20 19:58:58  kernel: [45074.287473] OWN DEBUG: 0 (0=MMC_CS_DONTCARE, 1=MMC_CS_HIGH, 2=MMC_CS_LOW)
    Nov 20 19:58:58  kernel: [45074.287473] OWN DEBUG: 2 (0=MMC_POWER_OFF, 1=MMC_POWER_UP, 2=MMC_POWER_ON)
    Nov 20 19:58:58  kernel: [45074.287473] OWN DEBUG: 0 (0=MMC_BUS_WIDTH_1, 2=MMC_BUS_WIDTH_4, 3=MMC_BUS_WIDTH_8)
    Nov 20 19:58:58  kernel: [45074.287473] OWN DEBUG: 1 (0=MMC_SIGNAL_VOLTAGE_330, 1=MMC_SIGNAL_VOLTAGE_180, 2=MMC_SIGNAL_VOLTAGE_120)
    Nov 20 19:58:58  kernel: [45074.287493] mmc0: starting CMD9 arg 00010000 flags 00000007
    Nov 20 19:58:58  kernel: [45074.287502] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_send_cmd_get_rsp: SD/MMC CMD 9, arg = 0x00010000
    Nov 20 19:58:58  kernel: [45074.288417] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: cmd->resp[0] = 0xd00f0032
    Nov 20 19:58:58  kernel: [45074.288419] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: cmd->resp[1] = 0x0f5903ff
    Nov 20 19:58:58  kernel: [45074.288421] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: cmd->resp[2] = 0xffffffff
    Nov 20 19:58:58  kernel: [45074.288422] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: cmd->resp[3] = 0x8a404000
    Nov 20 19:58:58  kernel: [45074.288423] mmc0: req done (CMD9): 0: d00f0032 0f5903ff ffffffff 8a404000
    Nov 20 19:58:58  kernel: [45074.288425] mmc0: starting CMD7 arg 00010000 flags 00000015
    Nov 20 19:58:58  kernel: [45074.288434] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_send_cmd_get_rsp: SD/MMC CMD 7, arg = 0x00010000
    Nov 20 19:58:58  kernel: [45074.288990] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: cmd->resp[0] = 0x00000700
    Nov 20 19:58:58  kernel: [45074.288991] mmc0: req done (CMD7): 0: 00000700 00000000 00000000 00000000
    Nov 20 19:58:58  kernel: [45074.288993] mmc0: starting CMD8 arg 00000000 flags 000000b5
    Nov 20 19:58:58  kernel: [45074.288995] mmc0:     blksz 512 blocks 1 flags 00000200 tsac 100 ms nsac 0
    Nov 20 19:58:58  kernel: [45074.289005] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data: SD/MMC CMD8
    Nov 20 19:58:58  kernel: [45074.289674] mmc0: req done (CMD8): 0: 00000000 00000000 00000000 00000000
    Nov 20 19:58:58  kernel: [45074.289676] mmc0:     512 bytes transferred: 0
    Nov 20 19:58:58  kernel: [45074.289678] mmc0: clock 25000000Hz busmode 2 powermode 2 cs 0 Vdd 21 width 0 timing 0
    Nov 20 19:58:58  kernel: [45074.289680] OWN DEBUG: 2 (1=MMC_BUSMODE_OPENDRAIN, 2=MMC_BUSMODE_PUSHPULL)
    Nov 20 19:58:58  kernel: [45074.289680] OWN DEBUG: 0 (0=MMC_CS_DONTCARE, 1=MMC_CS_HIGH, 2=MMC_CS_LOW)
    Nov 20 19:58:58  kernel: [45074.289680] OWN DEBUG: 2 (0=MMC_POWER_OFF, 1=MMC_POWER_UP, 2=MMC_POWER_ON)
    Nov 20 19:58:58  kernel: [45074.289680] OWN DEBUG: 0 (0=MMC_BUS_WIDTH_1, 2=MMC_BUS_WIDTH_4, 3=MMC_BUS_WIDTH_8)
    Nov 20 19:58:58  kernel: [45074.289680] OWN DEBUG: 1 (0=MMC_SIGNAL_VOLTAGE_330, 1=MMC_SIGNAL_VOLTAGE_180, 2=MMC_SIGNAL_VOLTAGE_120)
    Nov 20 19:58:58  kernel: [45074.289718] mmc0: new MMC card at address 0001
    Nov 20 19:58:58  kernel: [45074.289803] mmcblk0: mmc0:0001 SEM08G 0 B 
    [...]

    at this moment i saw the block device but it wasn't accessible. :crying:
    Sadly this happens only once while testing yesterday - maybe due to suboptimal vccq voltage.

    I will do further testing at weekend and post the results.

    P.S. Box is still alive :victory:
    5
    Ok here is an updated image of the pinout. I have triple check everything should be 100% correct :fingers-crossed:
    K7l0Gwe.jpg