What (not to) do when you got raw hardware access
So, once you've got direct hardware access, kernel mode or otherwise, you can try the following:
Caution: doing these things can be extremely harmful and/or destructive. Think twice it its what you want.
1) Got SATA drive? And even learned how to send all these cool interesting commands into SATA interface? Sounds like a plan! Now go send "firmware update" command and try to upload swap file to see if it improves HDD speed. Should it work, please do not ask how to undo that. I do not have even slightest idea. Replace HDD and press any key. And of course you shouldn't create backups! That's cheating for sure.
1.1) If it does not works, it can be intersting idea to send some vendor-specific commands in random order, fuzzing parameters and so on. Basically, redirect /dev/urandom into sata and take a look. Eventually you'll get interesting results for sure. I can't tell what effects you'll face. But some of them should be really funny. Unfortunately I do not know how to undo them if you dislike the results.
1.2) Same idea could work for SATA SSDs and USB flashes. Sending some garbage into SD/MMC cards could be wise idea as well. All this crap haves ton of interesting commands. Some are one way tickets, some are highly destructive, some are undocumented vendor stuff to do hell know what.
1.3) Sending funny commands could also work for CD/DVD/BD drives as well. They have ton of interesteing stuff to try as well!
2) Oh, are there any I2C and SPI buses in your system? Scan 'em all. As hard as you can. If there is EEPROM or flash IC - you're lucky! Now erase them and take a look if you won jackpot.
2.1) If you're especially lucky, best thing you can do is to erase BIOS (or boot loader) which often starts from some SPI flash IC. Needless to say, if erase succeeds, you're doomed to have a lot of fun on next reboot. And you'll learn heck a lot about advanced recovery techniques if you'll want to undo this.
2.2) Regulators. Ahh, what a nice invention. Your system needs more power, isn't it? So once you managed to find regulator IC on some bus - go reprogram it! Increase all voltages you can afford to their maximum values. Absolute Maximum Ratings in datasheets are for nuts! Feel free to exceed them. Since many regulators are generic ICs which do not have even slightest idea about absolute maximum ratings for your system... well, it's not going to be safe journey in hardware land. Feeding regulator IC with /dev/urandom output can be not so bad option to play Russian Roulette with your system, I guess.
2.3) Charger ICs. Another great inventon. Of course most of these are generic as well and so they do not know anything about your particular system until system software programs values adequately. If you've got some (usually embedded or mobile) system with LiIon charger IC, its really cool idea to "improve" operational limits to something more funny than all these boring correct/safe values. Exceeding charging current would make your battery to charge faster! And exceeding charge voltage would make battery to store even more power. The "only" issue is that battery can go boom. But absolute maximum ratings are meant for cowards, aren't they?!
2.4) Smart batteries. These are often found in laptops in I2C bus. Try to hack into smart battery and adjust operational limits just like described above, same idea applies. Though their devs are often badass and trying to protect agains such scenarios, demanding some silly auth keys and somesuch. Fortunately, many smart battery IC devs have really good sense of humor, so if you'll bother smart battery controller for long enough, feeding it with bad management keys, controller could lose its patience and ... permanently disable battery, in way which isn't easy to fix, often by triggeting powerful FET to cause artificial "short circuit" which in turn permanently destroys fuse, making battery useless. Needless to say you have to be rather competent in electronics to find that fuse, replace it and reset controller's state. Or just replace your expensive laptop battery and try again. But of course, jackpot only awarded for exceeding absolute maximum ratings. Just killing battery is boring.
3) FAN controllers/PWMs. Another nice invention. If you can figure out how to control that damn blower in particular system, you can make it really quiet by setting fan speed to 0. Do it for all fans you can afford. Let it shut up! And if your system TDP is high enough, you're in good position to win jackpot. Nvidia once released buggy driver which has proven its a really promising option to get rid of your old GPU. Needless to say, everyone with direct hardware access can try this trick as well, after figuring out some things. Interestingly, I once observed some firmware bug in hardware fan controller from Cooler Master where its firmware has failed to start. Then, no coolers were spinning at all. So it looks like if at least 2 vendors already got this sweet idea about making systems really silent via stopping all FANs. Who cares about all these silly TDPs?!
So, once you've got direct hardware access, kernel mode or otherwise, you can try the following:
Caution: doing these things can be extremely harmful and/or destructive. Think twice it its what you want.
1) Got SATA drive? And even learned how to send all these cool interesting commands into SATA interface? Sounds like a plan! Now go send "firmware update" command and try to upload swap file to see if it improves HDD speed. Should it work, please do not ask how to undo that. I do not have even slightest idea. Replace HDD and press any key. And of course you shouldn't create backups! That's cheating for sure.
1.1) If it does not works, it can be intersting idea to send some vendor-specific commands in random order, fuzzing parameters and so on. Basically, redirect /dev/urandom into sata and take a look. Eventually you'll get interesting results for sure. I can't tell what effects you'll face. But some of them should be really funny. Unfortunately I do not know how to undo them if you dislike the results.
1.2) Same idea could work for SATA SSDs and USB flashes. Sending some garbage into SD/MMC cards could be wise idea as well. All this crap haves ton of interesting commands. Some are one way tickets, some are highly destructive, some are undocumented vendor stuff to do hell know what.
1.3) Sending funny commands could also work for CD/DVD/BD drives as well. They have ton of interesteing stuff to try as well!
2) Oh, are there any I2C and SPI buses in your system? Scan 'em all. As hard as you can. If there is EEPROM or flash IC - you're lucky! Now erase them and take a look if you won jackpot.
2.1) If you're especially lucky, best thing you can do is to erase BIOS (or boot loader) which often starts from some SPI flash IC. Needless to say, if erase succeeds, you're doomed to have a lot of fun on next reboot. And you'll learn heck a lot about advanced recovery techniques if you'll want to undo this.
2.2) Regulators. Ahh, what a nice invention. Your system needs more power, isn't it? So once you managed to find regulator IC on some bus - go reprogram it! Increase all voltages you can afford to their maximum values. Absolute Maximum Ratings in datasheets are for nuts! Feel free to exceed them. Since many regulators are generic ICs which do not have even slightest idea about absolute maximum ratings for your system... well, it's not going to be safe journey in hardware land. Feeding regulator IC with /dev/urandom output can be not so bad option to play Russian Roulette with your system, I guess.
2.3) Charger ICs. Another great inventon. Of course most of these are generic as well and so they do not know anything about your particular system until system software programs values adequately. If you've got some (usually embedded or mobile) system with LiIon charger IC, its really cool idea to "improve" operational limits to something more funny than all these boring correct/safe values. Exceeding charging current would make your battery to charge faster! And exceeding charge voltage would make battery to store even more power. The "only" issue is that battery can go boom. But absolute maximum ratings are meant for cowards, aren't they?!
2.4) Smart batteries. These are often found in laptops in I2C bus. Try to hack into smart battery and adjust operational limits just like described above, same idea applies. Though their devs are often badass and trying to protect agains such scenarios, demanding some silly auth keys and somesuch. Fortunately, many smart battery IC devs have really good sense of humor, so if you'll bother smart battery controller for long enough, feeding it with bad management keys, controller could lose its patience and ... permanently disable battery, in way which isn't easy to fix, often by triggeting powerful FET to cause artificial "short circuit" which in turn permanently destroys fuse, making battery useless. Needless to say you have to be rather competent in electronics to find that fuse, replace it and reset controller's state. Or just replace your expensive laptop battery and try again. But of course, jackpot only awarded for exceeding absolute maximum ratings. Just killing battery is boring.
3) FAN controllers/PWMs. Another nice invention. If you can figure out how to control that damn blower in particular system, you can make it really quiet by setting fan speed to 0. Do it for all fans you can afford. Let it shut up! And if your system TDP is high enough, you're in good position to win jackpot. Nvidia once released buggy driver which has proven its a really promising option to get rid of your old GPU. Needless to say, everyone with direct hardware access can try this trick as well, after figuring out some things. Interestingly, I once observed some firmware bug in hardware fan controller from Cooler Master where its firmware has failed to start. Then, no coolers were spinning at all. So it looks like if at least 2 vendors already got this sweet idea about making systems really silent via stopping all FANs. Who cares about all these silly TDPs?!
Comment