To quote: Guys, take a look at my ps3dm-utils. Now you can enable service mode from Linux. Look at ps3dm_usb_dongle_auth.
What service mode can do for us? Well, there’s many but i think the most useful one is the downgrading function where you can downgrade the PS3 firmware to the older versions. From the look of it though, it still requires USB dongle to get the job done, correct me if I’m wrong since i didn’t look further enough to verify this. Anyhow, can’t wait for the release of the noob proof PS3 Linux, OtherOS++.
Update: Jess has confirmed that USB dongle is not necessary to get into the service mode. No you don´t need a dongle! You can invoke it from linux. All the modules comunicate throught dm proxy.
Now you can simulate a dongle through software and authenticate through linux. You can generate the challange and create the adequate response.
From graf_chokolo himself:
1st step – Generating a challenge
# ps3dm_usb_dongle_auth /dev/ps3dmproxy gen_challenge
2nd step – Generating a valid response for a challenge
You need a dongle id. Valid range for dongle IDs is 0×0000 – 0xffff. So choose one, doesn’t matter which one, but some are revoked !!!
# ps3dm_usb_dongle_auth /dev/ps3dmproxy gen_resp 0xBABE
3rd step – Verifying response (Enabling “Product Mode”)
# ps3dm_usb_dongle_auth /dev/ps3dmproxy verify_resp 0xBABE
4th step – Checking if “Product Mode” is enabled
The returned value shouldn’t be 0xff.
# ps3dm_um /dev/ps3dmproxy read_eprom 0x48C07
5th step – Disabling “Product Mode”
# ps3dm_um /dev/ps3dmproxy write_eprom 0x48C07 0xff