Nvidia Shield TV SSD - done

Search This thread

Tilator

Senior Member
Apr 3, 2016
68
46
Säkylä
It's done. I repleced original SSHD with SAmsung SSD.

If someone else is interested in how to do this I'll help.

*******************************************************

Some users and moderator has asked me to add mote information what this is about.
Here is the very same text I have done for the whole package to do HDD/SSD preparation to use it as an internal Nvidia Shield TV Pro disk:

This is a guide to change Nvidia Shield TV Pro internal SSHD to SSD (or other 500GB drive).

This will only tell how to prepare SSD for this Nvidia Shield TV PRO 500GB. You have to also know how to open the device, how to take old disk out and how to put new to replace it. You also need a Linux computer with free SATA port to connect your drive to for flashing it. However there are not any screws to hold the drive and it has a common SATA connection.

Preparation takes two binary files to be put on the new drive. I have only done this for Samsung EVO 850 500GB drive (type MZ-75E500B/EU). I suppose this works with other similar drives too, but I can not guarantee it.

Here is what you need to do:

1. unzip start.zip and put binary file start.bin in the beginning of your SSD drive. I use Linux command DD to do this. If your drive is sdX the command will be something like this:

dd if=start.bin of=/dev/sdX bs=4M

2. unzip end_976574630.zip and put binary file end_976574630.bin to a proper place of the same disk. Again with DD it would be something like this:

dd if=end_976574630.bin of=/dev/sdX seek=976574630

3. put the SSD drive in your Nvidia Shield TV PRO and boot it up. Let it run about 15 minutes. It will not boot until you now cold boot it second time.

It takes a minute or two to boot this time and the device will come up as expected.

Enjoy your new Nvidia Shield TV PRO SSD !!!!

B.T.W The same procedure works with a normal 500GB HDD too in case you would like to use this type disk. So - this also works as an emergency backup in case the original drive will become defective.


Edit 2: System does not allow attaching files while editing a post. So - here you have a direct link to the message where file is as an attachment.

http://forum.xda-developers.com/showpost.php?p=67426622&postcount=23
 
Last edited:

Tilator

Senior Member
Apr 3, 2016
68
46
Säkylä

Just wait a second. I'll make guide and put everything you need in it. It takes a few GB data since there will be a 7GB and an other 0.1GB files to be put on the SSD.

I did it with Samsung EVO 850 500GB disk (MZ-75E500B/EU) I don't guarantee it to work with other disk even though there should not be anything against it.

I just try to make a torrent out of the package.
 

AndroiderM

Senior Member
Oct 12, 2014
394
88
Lafayette
Just wait a second. I'll make guide and put everything you need in it. It takes a few GB data since there will be a 7GB and an other 0.1GB files to be put on the SSD.

I did it with Samsung EVO 850 500GB disk (MZ-75E500B/EU) I don't guarantee it to work with other disk even though there should not be anything against it.

I just try to make a torrent out of the package.

I have a Samsung 840 pro 256gb fingers crossed
 
  • Like
Reactions: Anik49

AndroiderM

Senior Member
Oct 12, 2014
394
88
Lafayette
Just wait a second. I'll make guide and put everything you need in it. It takes a few GB data since there will be a 7GB and an other 0.1GB files to be put on the SSD.

I did it with Samsung EVO 850 500GB disk (MZ-75E500B/EU) I don't guarantee it to work with other disk even though there should not be anything against it.

I just try to make a torrent out of the package.

I'm sorry but it will definitely not work because it's not big enough. Needs to be 500GB.

I would invest in a 500gb eventually if your method is tested and proven to work. Too bad the 256 won't work ?
 
  • Like
Reactions: bigmachingon

Tilator

Senior Member
Apr 3, 2016
68
46
Säkylä
I use Kickass kat.cr don't know about trackers I just click the magnet lol. Dropbox or Google Drive or any host site will work too

I THINK ��

Let's see how this goes. There is the torrent fil as an attachment.

Edit: this torrent is not valid any more. Just use the latter one attached to message #23.
 
Last edited:

BenG7

Senior Member
Jun 24, 2009
562
71
why not simply post it here?
your secretive ways will have people believe this is some kind of catch...
 

BenG7

Senior Member
Jun 24, 2009
562
71
sorry maybe I missed something
the tutorial is 3.2 Gb?
or some tools are required, amounting to 3.2 gb?
thanks
 

Top Liked Posts

  • There are no posts matching your filters.
  • 29
    It's done. I repleced original SSHD with SAmsung SSD.

    If someone else is interested in how to do this I'll help.

    *******************************************************

    Some users and moderator has asked me to add mote information what this is about.
    Here is the very same text I have done for the whole package to do HDD/SSD preparation to use it as an internal Nvidia Shield TV Pro disk:

    This is a guide to change Nvidia Shield TV Pro internal SSHD to SSD (or other 500GB drive).

    This will only tell how to prepare SSD for this Nvidia Shield TV PRO 500GB. You have to also know how to open the device, how to take old disk out and how to put new to replace it. You also need a Linux computer with free SATA port to connect your drive to for flashing it. However there are not any screws to hold the drive and it has a common SATA connection.

    Preparation takes two binary files to be put on the new drive. I have only done this for Samsung EVO 850 500GB drive (type MZ-75E500B/EU). I suppose this works with other similar drives too, but I can not guarantee it.

    Here is what you need to do:

    1. unzip start.zip and put binary file start.bin in the beginning of your SSD drive. I use Linux command DD to do this. If your drive is sdX the command will be something like this:

    dd if=start.bin of=/dev/sdX bs=4M

    2. unzip end_976574630.zip and put binary file end_976574630.bin to a proper place of the same disk. Again with DD it would be something like this:

    dd if=end_976574630.bin of=/dev/sdX seek=976574630

    3. put the SSD drive in your Nvidia Shield TV PRO and boot it up. Let it run about 15 minutes. It will not boot until you now cold boot it second time.

    It takes a minute or two to boot this time and the device will come up as expected.

    Enjoy your new Nvidia Shield TV PRO SSD !!!!

    B.T.W The same procedure works with a normal 500GB HDD too in case you would like to use this type disk. So - this also works as an emergency backup in case the original drive will become defective.


    Edit 2: System does not allow attaching files while editing a post. So - here you have a direct link to the message where file is as an attachment.

    http://forum.xda-developers.com/showpost.php?p=67426622&postcount=23
    7
    Code:
    [B][I][COLOR="Red"][SIZE="3"]I am not responsible for bricked devices, dead HDDs, animals 
    activist campaigns, or any H/W damage caused by you following these
    directions. YOU are choosing to make these modificiations, and
    you, yourself take responsibility for doing these modifications
    to your device.
    You can do serious H/W damage to your SATV or even your computer
    by doing any of this. So, you have been warned! [/SIZE][/COLOR][/I][/B]

    Great, can someone make a small tutorial step by step with this new method, I am new dont want to brick my device.

    First of all, you should pay your thanks to @Luxferro for mapping out the entire partition array, and building the chart that does all the calculations for using another disk size.
    He also proved that it was indeed possible to modify your GPT header to another sized drive.
    None of this would have been possible, if it was not for him.

    Also thanks to @Tilator for initiating this thread, and proving it was possible to swap your HDD for something else.

    Well, to begin with you should have a working linux environment set up.
    You should have a hex editor with CRC32 calculating capabilities. I recommend HxD:
    https://mh-nexus.de/en/downloads.php?product=HxD
    Yes, that is for Windows, I use Linux for all the writing/dumping, but I prefer my Windows hex editor.

    Then you can go open up the SATV by prying off the bottom of the casing. I managed to do this with my fingernails. A small plastic pry tool can be used as well.
    088cdebe48.png

    Then you remove the 2 wire sets from the plugs to give more working room. There is 2 sets of tape holding the wires and the HDD in place as well.
    There is (on mine at least) just one screw with a small bracket holding the HDD in place, you will need a T6 driver to remove it.
    Gently lift the black latch/lock on the connector to the secondary board, then the FCC connector will be easily out.
    Then it is just a matter of gently loosening the adhesive on the FCC strip from the HDD and pull out the SATA connector.

    With the HDD out, you will have to connect it to your Linux setup somehow. I used an enclosure with a USB3 connection.
    With the HDD recognized in the computer, the time has now come to clone you HDD.
    You could as well use the bin files Tilator has provided, but if you want your own genuine Netflix ESN, you should use your own.

    In a terminal window you start by listing the drives:

    Code:
    sudo -s
    fdisk -l

    This is to determine which drive you are working with. Remember that the DD command does't care which drive you specify, it will destroy your main drive if you ask it to.
    The you continue by dumping the first 6899870 blocks of data to a bin file:

    Code:
    dd if=/dev/sd[B]X[/B] of=firstpart.bin count=6899870

    This will give you a raw image file of all the partitions up until the /data partition which is better left out (it will come later).
    Then continue by dumping the last 5120 bytes of data which contains the partition array and the GPT header:

    Code:
    dd if=/dev/sd[B]X[/B] bs=512 skip= 976773158 of=lastpart.bin

    You can now disconnect your HDD. These 2 files also counts as a backup of your SATV.
    Now connect your new SSD in the enclosure.
    You can easily start by writing the firstpart.bin:

    Code:
    dd if=firstpart.bin of=/dev/sd[B]X[/B]

    In your linux terminal load up the block count (called sectors in linux language) of the new drive:

    Code:
    fdisk -l

    A 2 TB disk should have a total block count of 3907029168, but a smaller disk would have a smaller block count, so use fdisk -l to determine this.
    The lastpart.bin must be edited before we can write it on the new disk.
    So use the spreadsheet provided by @Luxferro in this post:
    http://forum.xda-developers.com/showpost.php?p=67996717&postcount=189
    In the column at the buttom right that says disk size, you change the value to match you new disk. In this example for the 2TB it should be 2000398934016 (bytes). This value should be taken from fdisk -l as well.
    Now it gets a little hairy!

    In the spreadsheet you should start with the buttom value marked out in purple under the row called "Last LBA". This should be E8E0888E:

    dc65e8f1d7.png


    Open up lastpart.bin in HxD and navigate to offset 00000FA8. There you should find the 4 bytes 0E 60 38 3A illustrated in this picture:
    dc675ca9e9.png


    This value is in a format called reverse byte ordering, so to put in your new calculated value, you will have to arrange it like this: 8E 88 E0 E8. Input that value instead of the bytes already there like this picture:

    dc884ceb4c.png


    While we are in this particular position in the lastpart.bin we might as well do the CRC32 of the partition array.
    Now make a selection containing the 64 bytes or 4 empty lines underneath the line having UDA written in ASCII, and all the way to the top of the file, offset 00000000 to 00000FF0 like in this picture:

    dcea590c79.png


    In the drop-down menu, choose Analyzis->Checksums and generate a CRC-32 checksum (Not checksum-32).
    It will come up in the buttom screen of HxD, and should read 6B CF E5 7D

    Navigate to the buttom of the file which contains the GPT header. It should start with an ANSI text reading "EFI PART".
    In offset 00001258 you should find the value of the original CRC-32 value containing the bytes 0E 02 C5 DC.
    Replace this, again reversing the bytes from your newly calculated CRC-32 value like this: 7D E5 CF 6B:

    067dc12477.png


    Now we are actually almost finished! In the spreadsheet all the way to the right, you will find 4 hexadecimal values marked in purple.
    First is the position of the GPT header, and the second is the position of the backup GPT header. Since there is only 1 on the SATV, these values are both the same.
    Write them into the GPT header on offset 00001218, and 00001220, again reversing the bytes like illustrated in the picture:

    067dc3304e.png


    Same goes for offset 00001230, Last Usable LBA, and offset 00001248, Starting LBA of array of partition entries.

    This brings us to the last thing on the table, the CRC32 of the GPT header itself.
    The CRC is located on offset 00001210 and should have the bytes 46 C9 88 78 already there.
    Just write 00 00 00 00 to blank them out:

    06df641cfe.png


    Now make a selection of the GPT header containing the beginning of the header, and to the last written byte before all the zeroes:

    06df74f054.png


    In the drop-down menu, choose Analyzis->Checksums and generate a CRC-32 checksum (Not checksum-32).
    It will come up in the buttom screen of HxD, and should read 46 9F 24 38
    Again, write it instead of the 4 bytes with zeroes reversed like this:

    06df5f2486.png


    This completes the matter, now just save your work in HxD and write it to the end of your drive.
    To do this we need the total block count from the HDD that you fetched in the beginning of the guide from the fdisk -l output, should be 3907029168
    The lastpart.bin is 5120 bytes which is the same as 10 blocks of 512 byte length.
    So, 3907029168 minus 10 is 3907029158 and put into your DD like this:

    Code:
    dd if=lastpart.bin of=/dev/sda[B]X[/B] bs=512 seek=[B]3907029158[/B]

    Now at last, put in your new disk in the SATV and assemble everything back together.
    If it doesn't boot in the first try, you could try another cold boot (give it 15 min.).
    If that won't do it, you might have to wipe the DATA partition from the fastboot menu.
    To cold boot into fastboot, follow this (taken from "http://developer.download.nvidia.com/mobile/shield/ROM/SHIELD_ATV/OTA-1.1/HowTo-Flash-Recovery-Image.txt"):

    Code:
    HW method:
    - Disconnect power cable
    - Insert USB OTG cable and make sure to connect other end to a host PC
    - Connect power cable to SHIELD
    - Quickly start pressing power button for ~3 seconds
    - Do not hold the button and connect power supply afterwards
    - HDMI TV should be always connected to SHIELD

    And format the /DATA partition from fastboot like this:

    Code:
    fastboot format FS:EXT4 /data

    Or do a fastboot oem unlock of the SATV.

    Hopefully you will now have a SATV with an upgraded SSD/HDD! :D
    6
    Here's a link to my spreadsheet. You only need to enter in the bytes of the HD (cell colored red), and all the variables are calculated (minus the CRC32's), and shown in cells colored purple: https://docs.google.com/spreadsheets/d/1QysvIlVcuxYUroMpY7q0_VeIqOLEgJiZjnXNU1T_Ilw/edit?usp=sharing

    There's a lot of other info on it, that doesn't have much to do with the calculations. Just general info, ect.

    edit: Please don't request access for edit privileges. If I opened it up for everyone to edit, all the formulas could easily be ruined. The best thing to do for those that want to use the spreadsheet is to make a copy to your own google drive, this way you can edit it, and modify it however you want.
    5
    @Tilator

    Look, if you care to share your steps I'll help you find a way to clone it to a smaller SSD? It must be possible to somehow shrink the data partition mounted as sdcard.
    If it can be shrunk to ~250 GB it could possibly be cloned to a smaller drive as well.

    Sent from my SM-N9005 using XDA-Developers mobile app

    It's not that simple. I did try different things to make it smaller for a 320GB drive I have here, but it did not work. Result with a bigger 1TB drive was the same.

    The reason why I don't tell you how it's done is not that I would not like to tell. It's because it was quite complicated.

    You all should do something else now and that's where I can give you some advice. Take a look at the Shield original HD with something like Photorec (needs Linux and knowledge what to do). The disk has GPT partitionin system and more than dozen EXT4 partitions. The very beginning of the file system has been messed up some way. That's why Linux or any other OS does not find file system. With Photorec you can restore partition information as it should be and then you have access to the contents.

    But - after fixing partition system so that Linux can recognice it makes the disk unbootable to Shield. Shield can only use the "messed up" version of the disk.

    Next big question is how is the partiton system messed up and is it possible to first fix it, then secondly change kernel and root system and what ever needed and in the end make this again bootable to Shield. If this can be done, we are free to make new things beeing independent abou what Nvidia allows us to do. This is the ultimate goal.

    The SSD swap or "HD cloning" I made possible with the files shared with the torrent are just a tool. It gives all of you possibility to do and try anything you want without fear of losing the device totally by bricking it. It gives you means to restore the drive and make it bootable again.

    It's not important how I did it. Important is that more and more people try to find out how to go to the next level which is freedom to let this fine HW do what it's capable to.

    If I had time enough next thing to do was to first take bit to bit copy of working Shield HD. Then fixing partition table to make it readable for standard Linux and third thing would be finding differencies between original copy and fixed one. If we are lucky, there will be only a few first sectors to differ from each other and making fixed copy bootable to shield will be only replacing those few sectors.

    B.T.W How many of you have already given it a try? Have you found new HD/SSD types that will work with Shield? I suppose next important thing was making a list of drives that will do. That's the way I can help us now to reach the "ultimate" goal.
    5
    For anyone interested, I was able to use an external hard drive duplicator. (this one https://www.amazon.com/Sabrent-Exte...=1492809151&sr=8-3&keywords=hard+drive+cloner)

    I cloned it to a 500gb Samsung Evo 850 SSD. It worked perfectly. Things that may be relevant:

    The SSD was brand new, I had never formatted it.
    My device was unlocked, with stock recovery, no TWRP or anything.
    The two drives were the exact same size.
    I did nothing at all to the original SSHD after removal, never plugged it into anything but the cloner.
    I didn't use a computer of any kind for anything.​

    After cloning, I turned my device on, and it booted up immediately! In fact, this first boot illustrated how much faster it boots than before. I immediately tested Netflix, Amazon Video, and Hulu, and all were in tact and working exactly as before. Aside from the usual "it feels much snappier", which could be placebo, there are some clear improvements in speed. I notice dramatic improvements in boot up time, loading movies that are stored locally is faster with no pause at all, (even large files) and I have seen a slight, (but still measurable) improvement in frame rate with dolphin emulator (and less crashes). Apps and games that would crash seem more stable, and native apps that had long load times load faster.

    In addition to all that, I am glad I did this because I have a first generation pro, and I never knew how long the spinning disk would last. It's nice to know if something ever goes wrong with this drive, I have an image and I can restore and replace with a simple clone.

    I learned a few things with removing the drive, and put together a YouTube Video. Make sure to turn on CC, so you can read my advice since I removed the audio. Here are some photos, and a link to the video. https://youtu.be/LLPyPAgnaFA