Hacker News new | ask | show | jobs
by 0x45696e6172 3462 days ago
Watch the talk here: https://media.ccc.de/v/33c3-7946-console_hacking_2016
1 comments

This talk is hilarious and amazing. The PS4 hard drive plugs in over USB? The Southbridge is an ARM SoC? All the PCI devices are mapped into a single glue device? WTF?!

So what's more insane, the PS4 or the hacked together manufacture kernels and binary blobs on Android phones?

USB HDD: a cost saving measure: they already have a usb bus, why add sata on as well? we're talking a platform that's going to last for a decade possibly...

arm soc southbridge also not a surprise, xbox one has something similar. enables the console's rest mode to be "smart"

But in the talk he says the BlueRay player is hooked to the SATA bus. There is a SATA bus on there.

I know the xBox one hard drives are removable. Are PS4s the same way? (I haven't owned either; more a PC gamer). Maybe with their device hacks, USB was easier to plug-n-play than SATA?

PS4 hdd is indeed removable/upgradable. I swapped my 500gb for a 2tb.

Sony even gives out instructions on how to do it: https://support.us.playstation.com/articles/en_US/KC_Article...

My WAG (all points are conjecture):

1) There's only one SATA port on the southbridge.

2) USB-SATA chips are cheaper than SATA port multiplier chips.

3) They needed a USB hub anyway for other stuff.

Those Marvel SoCs are build on NAS oriented IP, they have tons of SATA ports onboard.
Funnily enough, I'm a PS4 developer, have two devkits on my desk, and I had no idea about any of those things(they are certainly not mentioned in official documentation). It's just not relevant at all to software development how the hard drive is connected or what sort of south bridge it uses.
Shouldn't the performance profile of something like the HDD be of some interest to a developer?
It is. And Sony provides us with minimum and maximum available hdd bandwidth. We have to make sure that the game works and is playable at both(the devkits have a special mode to simulate the minimum available bandwidth).
Your Android reference doesn't even figure into this.
Have you worked on Linux kernels for embedded boards? I have seen shit just as crazy as he's talking about on the PS4 internals. He mentioned USB magically working; same thing happened when I worked for this company that was porting OpenWRT to this ralink/ppc board. The vendors kernel tree didn't even compile, and we spent days looking through their weird USB hacks trying to figure out how to enable power on the damn USB port (we won .. until we tried to rebase against the next kernel version).

Many ARM kernels from Android manufactures are so terribly put together than when they do eventually release the source, they're so full of holes they would never be accepted upstream.