Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Strategy to deal with aftermarket devices #3

Closed
nefarius opened this issue Mar 10, 2021 · 1 comment
Closed

Strategy to deal with aftermarket devices #3

nefarius opened this issue Mar 10, 2021 · 1 comment
Labels
documentation Improvements or additions to documentation DSHMC UI-related only enhancement New feature or request

Comments

@nefarius
Copy link
Owner

nefarius commented Mar 10, 2021

New software, old issues 😅 As mentioned many times the DS3 has seen its fair share of clones circling around, some of them with weird changes in the firmware/ASIC that the original PS3 firmware seems to happily accept but causes all sorts of weird issues on Windows (USB by observation is usually more "forgiving" and Bluetooth support is the Wild West in regards of compatibility).

While I stand true by my statement that I have mentally closed this chapter and have no interest in investing anymore of my time to dig in to come up with weird workarounds to support these devices, I do wanna explore possibilities to aid users in detecting genuine and fake devices.

Unfortunately the PS3 hardware doesn't really offer much reliable properties to identify their origin with a 100% certainty (despite all the misinformation spread online). Those include:

Hardware

  • Basic casing and overall look and feel of the controller
    • Nope. Very easy to spoof and hard to detect differences without additional tools or experience.
  • Manufacturer label on the back
    • Nope. These stickers can be faked/spoofed with ease, including all the official fonts and certification symbols. Subtle hints exist like the stickers being slightly off position, which indicates human labour.
  • Insides of the controller (PCB, choice and layout of components, quality of assembly, hints of stains of cheap solder flux etc.)
    • This is amongst the best methods of identifying genuine from aftermarket devices, although again not practical for the average user, especially since some aftermarket devices are built so cheap they might not survive reassembly.

Software

  • Vendor (0x054C) and Product (0x0268) IDs (USB only)
    • Nope. They're 99.9% of the time spoofed (copied from original Sony ones). The one mechanism meant for exactly that is totally ruined by an industry of professional counterfeiters 🙂
  • Product name (USB and Bluetooth)
    • Eh, yesn't 😆 the official name the DS3 should report is PLAYSTATION(R)3 Controller (both in the USB descriptor and the response to the HCI Remote Name Request). However the past has shown different results. Some users even reported they own genuine hardware which uses PS3 GamePad as a name, so more confusion on the horizon.
  • Device MAC address
    • This might be the lead we're looking for; the OUI part (first 3 bytes) of a MAC address identify the vendor/manufacturer and could help to distinguish the devices by assuming, that Sony sourced "high quality" parts that are not used by aftermarket devices, because the bill of materials would be too high.

More to come.

@nefarius
Copy link
Owner Author

Experimental genuine check in DSHMC

Damn, that heading reminds me of good old Windows XP times 😅

Anyway, latest builds of DSHMC contain an experimental feature called the "genuine check". It appears as 2 distinct icons besides the controller device address, a checkmark if marked as genuine and an exclamation triangle if deemed fake.

Genuine example

image

Fake example

image

How

Thankfully Wireshark provides a comprehensive collection of vendor OUI values which can be used to translate the MAC address to the manufacturer of the Bluetooth chip. I have consolidated the known manufacturers Sony has used in the past into one simple JSON API call that DSHMC uses and compares the device address against and then adjusts the icon acordingly.

Again, this is not an exact science, and probably never will be until we know all the MAC addresses of all genuine devices and build a database but that's also likely to never happen 😉 So for now this method has to do. Let's see how it holds.

@nefarius nefarius added documentation Improvements or additions to documentation enhancement New feature or request labels Mar 11, 2021
@nefarius nefarius changed the title Strategy to deal with aftermarked devices Strategy to deal with aftermarket devices Mar 11, 2021
@nefarius nefarius added the DSHMC UI-related only label Mar 20, 2021
Repository owner locked as resolved and limited conversation to collaborators Aug 17, 2021
@nefarius nefarius converted this issue into discussion #166 Dec 8, 2021

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
documentation Improvements or additions to documentation DSHMC UI-related only enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant