yashsingh1/xdaforums huggingface dataset:
[Shield Android TV General] Puglife:
I have no doubt Google has the storage situation addressed in M, but who knows if M will ever make it to the shield outside of a custom rom. I like the way the device works now, that's the only reason I'm investing time into it, when I ignored all the other devices.

So far, this device alone is reducing my electric bill by replacing a noisy full desktop that I was using to run XBMC, I found the Pi to be too underpowered for my needs. :D

Shame that each new android revision is snubbed by most manufacturers in order to sell new hardware, but that's the lifecycle of electronics.
[Shield Android TV General] d-dragon:
I'm hoping NVIDIA continues their method from the past as they're currently about to release an update to lollipop for the shield portable which was released on July 31rd, 2013 and shipped with Android Jellybean 4.2.1. If they continue this trend for the shield android tv, I expect we'll see android M on it ;)
[Shield Android TV General] noneabove:
Considering how good nvidia has been about bringing updates so far and the fact that they keep their systems almost fully stock, I have faith we'll have M before the end of the year (within a month or two of M being released)
[Shield Android TV General] r3zon8:
Im in to see progress of this mod

:good:
[Shield Android TV General] Steel01:
Something I'm curious about here. Can someone on the 16GB model boot my twrp build and see if /sys/devices/platform/tegra-sata.0 exists? I expect it will be and that means that this mod is possible. Though, it would be somewhat of a hack to chainload the boot to a sata hdd.

I've been doing some research on the opposite. On the pro model, the emmc is actually there, but is flat zeros (like binary diffing a dd of it and a dd of the same size from /dev/zero returns no differences). So it appears to me that the bootloaders (like pre fastboot bootloader) are looking at the internal media specific to the model. Like I said above, it should be possible to chainload back and forth. But for me, I'll likely just format and mount the unused emmc for extra storage (and likely faster r/w). Also, standard disclaimer that I haven't tried this yet, so don't blame me if you try something and it perma-bricks your device.
[Shield Android TV General] r3zon8:
Pics attached. Hope it helps
[Shield Android TV General] Puglife:
Damn, the entire cable is matte black, I was hoping I could figure out the orientation of the pins. I suppose I can guess based on that if the pins are straight through, but it looks like there's 22 total pins in a sata connection and 20 in the FFC connector.

Any chance you can give me a really close zoom of the conductive end of the FFC cable that plugs into the board so I can see if they skip pins or combine pins to isolate the signal?

Status update: I'm still waiting for the SATA board from china/ebay to assemble this, in theory I can just use a soldered off header from a junk board like ps3, or something to do this, but I wanted a clean solution with as few parts/wires as possible so it fits neatly inside.

More than likely by the time I assemble something, Ebayers will probably be posting a "replacement" cable for it.

I did already get the FFC connector installed, that was a piece of cake. I'll take pictures of it as soon as my wife stops watching Mad Men on netflix.

My hopes for this are just more addressable internal storage, not necessarily being able to boot off the hard drive.
[Shield Android TV General] tooandrew:
let me know, with a closer look at the board, i think i could handle that soldering job
[Shield Android TV General] kdb424:
Did that project go anywhere? I'm very interested in doing this also if is worked.
[Shield Android TV General] DarkMage619:
I might be super lazy but is this cheaper and easier than just buying the pro model? What benefit does this have over going pro?
[Shield Android TV General] kdb424:
You can add in an ssd potentially that's bigger than 16gb and therefor better performance. It would also cost less if you were me and have a 120gb ssd laying around.
[Shield Android TV General] TechAnimal:
Has anyone addressed the issues with getting the hard drive partitions to be recognized by any software/OS and cloning the drive? This would seem to me to be the first step required before figuring out solder points, etc.
[Shield Android TV General] kdb424:
Seeing as I and the OP have the non pro, would be harder for us. That being said, I don't want it to replace the 16gb is possible, so even if it's not bootable no biggy as long as it sees it and I can put files an there.
[Shield Android TV General] drhrr:
Coming in from my newly posted thread.

I have a Pro version and a Samsung Pro 840 250GB ready to go. I love gaming and streaming onto my shield, but I am tired of the lag that comes related to the spinning parts as I am pretty sure all Pro version users have noticed (pixelated Recomendations, menus not loading under one of the Home sections, etc).

So, if anyone has some ideas, please come share them, I'm sure we can muster up a good group to get this panned out. Specially since its a great machine that it's WIDLY untapped, unless we all love just playing Real Racing 3 and be content of the "console quality graphics" (I know, I'm being sarcastic). Anyways, I was thinking Clonezilla to plug in the 500GB original HD to dump the sytem image with the included partitions, but I don't know if anyone has tried that before.

Let's get this done! :D
[Shield Android TV General] kdb424:
If you manage to get the case open, I'd suggest maybe trying to dd the entire drive over. I haven't used clonezilla fora long time, but I know that dd is bit by bit copy for absolutely perfect MD5 perfect copies on almost everything. Copy's bits, not files. That being said, you'd have to have a SSD that was 500GB or more for that to work perfectly. If you wanted smaller, you could probably find something to resize the partitions on the drive, though that could result in a complete brick. As insane as it sounds, you would probably be safest to make a perfect full drive image, yes 500GB, and mess with that image, then copy the image bit by bit to the SSD once smaller (if you mant a smaller drive). I understand not everyone has that option, but I do know that if something were to have the highest chance of booting, that would be it. Could also just image over all partitions but the massive data one, make sure the rest are alligned the same as on the original drive once you copy them to the SSD, then create a new data partition, but what fun is that? I'd still go with dd personally on that, unless clonezilla has a bit by bit option.

EDIT: If you don't know what DD is or want to know where to get it, it's here https://wiki.archlinux.org/index.php/USB_flash_installation_media#dd_for_Windows
[Shield Android TV General] drhrr:
Thanks for the info, but yes I know DD :). The sector to sector copy within Clonezilla is handled by DD, so I guess I'll get around to dismantling and playing around with my Shield HD, I don't have time during the week and this WE will be quite busy, but I will update ASAP, might get around before EOW but no promises. If anyone is willing to give it a go in the meantime please share the results!
[Shield Android TV General] kdb424:
Awesome. Sorry if I seem like I'm underestimating you, just default to more information is better. Thanks for the update on clonezilla, and definately let us know how it goes. Looking forward to testing!
[Shield Android TV General] waldoinc:
Take a look at my thread on the Nvidia Forums.

https://forums.geforce.com/default/topic/857143/replace-internal-drive/#4642220

I have attempted a good chunk of the ideas before. Only thing that i have not yet, which i should be able to this weekend, is a direct copy.
[Shield Android TV General] kdb424:
You SHOULD be able to get the proper files from a recovery image and do what you need with those. Also, the boot image will need to be modded to find the correct partitions if you are correct in saying that it is stored in a custom firmware on the stock drive. Maybe ask the guy that did the full android rom to give you a hand with that. He's modded that part before I would have to assume. The only other thing that it could be is that the pro modle may have the internal SSD built in same as the 16GB, and they are using that to boot partially, then start getting data from the 500 to complete. Just a thought. If you can find where the nand is located on the 16GB modle, you could look for it on yours too. That may be the problem, though only speculation without owning one.
[Shield Android TV General] waldoinc:
I will look into that when I am able to do so. The only thing that I can think of with the Pro version, since the drive is an SSHD, there is an 8gb "smart cache" on the drive. I would almost want to bet that the OS is install there.
[Shield Android TV General] Luxferro:
Cache != to storage space. I doubt it's even possible to to use the cache as storage. It's purpose is to store frequently used files, and buffer read and writes (which iss a lot slower to the mechanical part of the drive). They most likely just used an off the shelf, or OEM drive like this one http://www.bhphotovideo.com/c/product/967527-REG/seagate_st500lm000_500gb_hybrid_sata_6gb_s.html
[Shield Android TV General] kdb424:
It would be very possible with a custom firmware which they do know how to develop.
[Shield Android TV General] Luxferro:
My guess is it's pretty much like the xbox 360 4GB model. I bought the appropriate model hard drive for mine, used some software that someone created to format it properly, stuck it in, and I had the 250GB version.

I bet the 16GB onboard nandflash is present in the 500GB model, and that's where android is installed to. That would streamline manufacturing, and at best it costs like $5-10 for a 16GB nand flash, and they mark up the 500GB $100 and include a $50 hard drive. If someone is brave enough, they could take out their hard drive and flash the 16GB factory image and see if it takes. I also bet that the only data on the physical hard driver is the /userdata partition, where all non-system apps and data is installed, and I bet it's encrypted, which is why the initial setup takes so long, and a bootloader unlock takes so long (mines unlocking while I type this - I don't want any OTA bricking my box like what has happened to a bunch of 500GB users for the 1.4 OTA - which nvida turned off because of the issues).

These are just my guesses ;p
[Shield Android TV General] waldoinc:
I have attempted to do just that, however the device will not get into any boot method that allows it to talk to any program that i have found. With out the drive in the machine it will just sit at APX boot. Nothing more. Now if you have any ideas on how to talk with the device while it is in apx mode, please let me know! ( Not being Sarcastic :) )
[Shield Android TV General] Luxferro:
have you tried the nvflash from here: http://www.androidroot.mobi/t3_nvflash/ to at least see if it can communicate with SATV?

from here you can find lots of info on APX mode: http://xdaforums.com/wiki/Nvflash I think I posted this elsewhere in the forum, or perhaps this thread. I haven't played around with it... only unlocked my bootloader today, and had an issue w/ google play getting borked and having spinning circle forever (regardless if i cleared app data, removed google account - which then wouldn't let me re-add one, or many of the other things I've tried heh)... I'm doing another factory reset.. so gotta wait 2 hours to play more.
[Shield Android TV General] waldoinc:
Got a few dumps of file partition infomation and the like. Probably to helpful. Wont get to look at this till later.
[Shield Android TV General] Luxferro:
Any chance someone find the model # of the hard drive they use?

I think it's one of the seagate 500GB 8GB nandflash cache drives. They come in multiple types, w/o Encryption, w/ Encryption, w/ Encryption/FIPS.

http://www.seagate.com/internal-har...hybrid/laptop-solid-state-hybrid-drive/#specs

edit: actually it looks like the encrypted types aren't hybrids, and just pure mechanical drives.. so I guess it rules those out and just leaves the one 500GB hybrid drive.
[Shield Android TV General] waldoinc:
Incase you still needed

Incase you still wanted the photo
[Shield Android TV General] kdb424:
The 5000C5 serios, at least according to my search, seem to not have the SSD cache. That's making me wonder if the 16GB NAND is included. When you pull the drive, are you able to flash the non pro firmware?

EDIT: I keep forgetting you can't boot at all with drive removed. Nevermind.
[Shield Android TV General] drhrr:
I did a few "ballsy" moves in order to attempt swapping outthe SSHD for an actual SSD. I boot up with the original HD and then hot swapped to the SD, it was still responding and I was able to send some commands(I forgot to save a screenshot of this...), however, weirdly enough within ADB it kept reading as if the HD was the original size, so when I attempted to format the partitions in order to continue with installation of the Pro ROM it gave me an error... I decided to complete OEM unlock no problem, then I decided to flash the developer image, something went wrong and my device is now bricked... I attempted to acces HW fastboot but no luck, no worries I already have a replacement on the way :).

So... I was going to attempt to use the partition file system that has been posted, but to be honest, I am not saavy as to how to complete that through bash/adb. Does anyone know if we would be able to at least set up the partition tree while the SSD is connected to a Ubuntu box? Do we actually need to have a fastboot environment in order to apply said partition list? I attempted to DD through Clonezilla but it doesn't recognize the 500GB SSHD, just for fun I attempted to access partitions through Gparted, but same result. I did, however attempt this while the bootloader was still locked, I doubt this had any effect, but has anyone else tried any of this?

I'm really interested in getting this up and running since I have a feeling that the 8GB NAND cache that this HD has (I'm pretty sure as I see the bottlenecks it causes when loading the NVIDIA home) could be extremely improved were we to get it into a full fledged SSD.

Any questions let me know!
[Shield Android TV General] Luxferro:
The source code is available, if anyone wants to parse through it. I was looking through it on friday to see if I can find any info on the sata drive. I found some stuff, but nothing that explained how it exactly works.
[Shield Android TV General] Luxferro:
I bet it looks for either the emmc or the internal hard drive depending on the bootloader. Download both model factory images, and do compares between each .img file for both and you'll see there are differences. If someone is feeling really brave, they could try to flash over different files from the opposite model they have... if it even lets you.

---------- Post added at 09:28 AM ---------- Previous post was at 09:28 AM ----------

I just placed an order for the exact hard drive that is in the Pro. I'm going to see if I can swap it in place of the drive there and install the factory images. If successful, I'll swap back the original, and see if I can figure out whats on the drive. I'm not sure if anyone tried to examine the drive for partition info under linux, or ran testdisk on it, but those are things I'll try depending on how the swap goes.
[Shield Android TV General] drhrr:
Sadly there is no info showing under linux when attempting to read the disk partitions. It only says unknown partition format. Maybe you'll have better luck than me!
[Shield Android TV General] Steel01:
The Android GPT is unfortunately different from the desktop spec. This causes problems when dual booting a desktop Linux distro on an Android device as well. What is it you're looking for? If you boot into TWRP and adb in, you should have good access to drive and partition information. All the partitions will be listed in /dev/block/platform/tegra-sata.0/by-name. Blkid should give you filesystem type.

Some info I've seen somewhere around: The theory is that the sata models system, boot, recovery, bootloader, etc partitions are on the ssd cache section of the drive. Which makes sense. If you can control the firmware and set it up that way, you should get pretty close to the performance of an emmc chip for those partitions. But if that is true, then cloning the drive will be quite a chore. Because you'd have to replace the firmware first. Come to think of it... That could be why a desktop can't read it. The firmware isn't reporting like the standards require. Now, we do have a copy of and some info on that firmware (check the readme), but I don't have the time to really dig into it.

As for the thread title, I don't think it will be possible to boot directly from a sata hdd on the emmc model because I expect the first stage bootloader specifically loads the emmc. Similar, I expect the pro model to specifically chain load to the sata drive. However, I do expect that a properly partitioned sata drive could be mounted in a custom ROM or modified stock on the emmc model. I still plan to format the emmc on my pro model into ext4 or something and mount it in a ROM. But I haven't taken the time to do so yet.
[Shield Android TV General] Luxferro:
I just popped open my SATV. Cloning the drive to the exact same drive... I plan to swap in the copy and try to boot it. Not sure how long it will take to clone - using a standalone 1-1 hard drive cloner. I'll post back after I try to boot the copy.

At least if it boots, we'll know it has nothing to do with the nand flash on the drive, and more to do with the drive itself.

edit: the copy doesn't boot...
[Shield Android TV General] SilenzeX:
Hi.

I have been following xda for a few years for all of my android devices, but this is my first post.

Recently my Shield Pro got bricked, I bought a new 16gb and moved the board with the sata connector over to the 16gb Shield

and attached a hdd (the one from the Shield Pro).

the shield boots, everything works as normal, I can hear the drive spinning up, but the hdd is not found.

Is the drivers removed from the 16gb firmware?

is there any way to install those drivers on the 16gb? I do not have the "/dev/block/platform/tegra-sata.0" folder.

I have tried fat32 and ntfs, gpt and mbr on the hdd.

I want to use the extra hdd as storage, if possible.

By the way, I am running Full android 2.1 by Zulu99
[Shield Android TV General] Luxferro:
There are 2 different firmware/factory images, each specifically for either the 16GB or 500GB. You could try to flash the 500GB factory image onto your 16GB model w/ the harddrive installed, but no one knows what will happen. It may work, or may not, and may possibly brick your new 16GB device.
[Shield Android TV General] SilenzeX:
Okey, thank you :) I won't be flashing it with the 500gb firmware. I think the my 16gb is much faster than my 500gb was.

that is why i wanted to only copy the sata drivers from a 500gb to my 16gb, if that was possible :)

but it is not that simple, I guess?
[Shield Android TV General] Luxferro:
Yeah, I don't think it's that easy. Your best bet to easily expand the storage of your 16GB model is probably an SD card or external usb drive.

Between each model there are differences in boot.img, system.img, recovery.img, and even bootloader (blob binary).
[Shield Android TV General] SilenzeX:
Okay, thank you for your help :)
[Shield Android TV General] yahoo2016:
It's done according to this link:

http://www.eevblog.com/forum/reviews/teardown-nvidia-shield-tv/msg944285/#msg944285

I'm attempting to do it when I find time.
[Shield Android TV General] NiHaoMike:
I did it on mine as well, will try to get the mounting nicely integrated into the system once I finish setting my lab back up.
[Shield Android TV General] yahoo2016:
I found pins 1~6 of J504 should be 5V SATA power but measured as 0V. I flashed modified dtb and saw SATA was enabled in dmesg but still no power on J504. Did you use power from J504?
[Shield Android TV General] NiHaoMike:
I just tapped 5V from the power cable going to the motherboard.
[Shield Android TV General] Magissia:
Do someone knows where I can buy the 20pin socket to solder on the board, or knows the exact name of this thing ?

I would like to solder the socket properly and buy a cable rather than soldering cables straight to the board.
[Shield Android TV General] yahoo2016:
Post #3:

XF2M-2015-1A from mouser.com
[Shield Android TV General] Magissia:
That will teach me looking for links, should have read posts without links too.
[Shield Android TV General] finalman123:
So assuming we do the sata data wiring and flash the modified device tree how do we go about formatting the hard disk drive. Can Android TV OS do this or do we have to do this before connecting to the shield. If so what format type do we use?

Also if we use the XF2M-2015-1A adapter from mouser.com what is the best practice for preparing the 20 pin connector site. Should we use the already in place solder mask\dabs. If so is there enough solder there to spread onto the connector pins?
[Shield Android TV General] yahoo2016:
Good questions, verbosetextfile mentioned "I'm not going to test this with Android - I'm too lazy for that :P (I guess it should work though, at least with rooted Android - I guess it should be easy to format the drive and mount a few partitions somewhere or so.)"

I'm going to use HDD for ubuntu, I'll use ubuntu on SD card to format it.

You would need extra solder, better to use solder paste for the 0.5mm connector.

I decided just solder the four 0402 10nF caps and solder 4 wires to the caps. Flex cable would be hard to solder to the sata connector.
[Shield Android TV General] finalman123:
Yeah I thought about soldering it to the caps as well and might end up doing this. I've soldered some tiny things in my life but getting 7 wires side by side on those 0.5 pitch connector pads damn that's hard as I've been practising on an old circuit board soldering to an unused 0.5 pitch connector header.

If this helps anyone with the soldering skills i'm currently practising using 30 AWG wires from an old 80 pin IDE cable. If you tear the 7 wires off together they appear to be about 0.5 pitch so they match the pin spacing almost perfectly. The problem comes with bridges you get when soldering them.
[Shield Android TV General] yahoo2016:
Attached is a photo showing 4 wires from the caps to a PCB mount SATA connector. The HDD with skinny SATA connector can fit in the HDD bay. The wires are kept as short as possible. Note the blue and orange wires are swapped since the locations of caps and 20 pin header pins are swapped (you can verified it by checking the traces or use a multi meter).
[Shield Android TV General] finalman123:
Is the 3.3v wire actually required for the hdd?

Also what voltages leave the peripheral board power connector and return to the motherboard through the main power wires.
[Shield Android TV General] yahoo2016:
I could not have my HDD detected by Ubuntu, I thought they might need 3.3V, so I connected it but it didn't help.

There are multiple 5V pads, the power connector to main board (J505) has pins 1~3 as GND and 4~6 as 5V.

My connections are:

J504 ------ SATA

19 ----- 2

18 ----- 3

16 ----- 5

15 ----- 6

I did replace the dtb from L4T 24.1 with SATA enabled.

The caps were from an old laptop mother board. I may buy some 10nf caps and resolder them.
[Shield Android TV General] finalman123:
Deleted.
[Shield Android TV General] yahoo2016:
I re soldered everything and it's working, see attached photo of cable and ubuntu screen capture. If the wires are soldered to the SATA header and J504, there is no cross over, i.e.,

J504 ----- 7 pin SATA header

20-----1 (GND)

19-----2(A+)

18-----3(A-)

17-----4(GND)

16-----5(B_)

15-----6(B+)

14-----7(GND)