Live data from Hacker News

Reverse Engineering the DualShock 4

blog.the.al

21–30 of 74 posts

Re: Reverse Engineering the DualShock 4

#21
post #18

>And then, suddenly.. Caps Lock is blinking and the system is totally frozen :anguished:. So plugging in a brand-name joystick caused a kernel panic. Gross.

so... gross because sony should have better firmware or gross because linux should have a better usb stack, that is, it should never panic the kernel.

If you stepped into a dog turd and it leaked into your socks do you blame your open source shoe designer or your lazy dog?

Re: Reverse Engineering the DualShock 4

#22
post #18

Earlier quoted context omitted.

so... gross because sony should have better firmware or gross because linux should have a better usb stack, that is, it should never panic the kernel.

If you stepped into a dog turd and it leaked into your socks do you blame your open source shoe designer or your lazy dog?

I don't get the analogy. Why is the dog supposed to be lazy? A dog turding on the street is by design. Maybe blaming the lazy dogs owner would be more appropriate.

Re: Reverse Engineering the DualShock 4

#24
post #18

Earlier quoted context omitted.

so... gross because sony should have better firmware or gross because linux should have a better usb stack, that is, it should never panic the kernel.

If you stepped into a dog turd and it leaked into your socks do you blame your open source shoe designer or your lazy dog?

In what world do you step in your own dog’s shit and blame the dog for being lazy?

Re: Reverse Engineering the DualShock 4

#25
post #18

>And then, suddenly.. Caps Lock is blinking and the system is totally frozen :anguished:. So plugging in a brand-name joystick caused a kernel panic. Gross.

so... gross because sony should have better firmware or gross because linux should have a better usb stack, that is, it should never panic the kernel.

Both, surely? The hardware shouldn't give bad input, and the kernel should tolerate it if it does.

Edit: Sorry, I take it back: That data is weird, but not malformed; the hardware isn't out of line and I think the driver is fully at fault.

Re: Reverse Engineering the DualShock 4

#26

Earlier quoted context omitted.

If you stepped into a dog turd and it leaked into your socks do you blame your open source shoe designer or your lazy dog?

I don't get the analogy. Why is the dog supposed to be lazy? A dog turding on the street is by design. Maybe blaming the lazy dogs owner would be more appropriate.

It's not a good analogy but at the end of the day it's a bad Linux issue. Sony has no obligation to make sure it's driver will never halt a system. Linux does.

Re: Reverse Engineering the DualShock 4

#28
post #24

Earlier quoted context omitted.

If you stepped into a dog turd and it leaked into your socks do you blame your open source shoe designer or your lazy dog?

In what world do you step in your own dog’s shit and blame the dog for being lazy?

Haha get a lazy dog and you'll know what I'm talking about

Re: Reverse Engineering the DualShock 4

#29

Earlier quoted context omitted.

I don't get the analogy. Why is the dog supposed to be lazy? A dog turding on the street is by design. Maybe blaming the lazy dogs owner would be more appropriate.

It's not a good analogy but at the end of the day it's a bad Linux issue. Sony has no obligation to make sure it's driver will never halt a system. Linux does.

So... are you saying the dog's owner has no obligation to pick up their dog's poo?

You're right, it's not a good analogy. It's barely one at all.

Re: Reverse Engineering the DualShock 4

#30
post #8

Neat find. What could cause the calibration offset to be zero? Certainly it did not come this way from the factory. Any abuse/misuse of the controller would not cause it either. Ah, I suspect this was a firmware update that got borked somehow. Maybe the cable was disconnected before the update could complete.

> What could cause the calibration offset to be zero?

A possible explanation can be found on part 4 of this post:

> [...] if the checksum is not valid, there is a loop that clears out the flash [...] I suspect (but haven’t tried yet) that if the battery of the controller dies while it’s writing on the flash, at the next startup the checksum does not match and the DS4 gets totally messed up like this one.

That is, according to that theory, it was trying to write something to the flash (perhaps while pairing?), and part of the write failed because the battery died. On the next boot, it detected a wrong checksum, and erased everything.

Post reply on HN