Welcome! Log In Create A New Profile

Advanced

AHBPROT?

Posted by sickpuppy 
AHBPROT?
February 27, 2011 06:36AM
I've been seeing the term AHBPROT a lot. I kind of get the meaning of it but don't know exactly what it means and everything it accomplishes. I know in the past that DVDx and IOS202 got things done, but now lets say somebody softmods an older Wii, just having IOS58 and homebrew channel 1.0.7+ installed will get the usb 2.0 speed and dvd support. I really cannot find any documentation on what AHBPROT does. Can anybody give a good description of AHBPROT?
Re: AHBPROT?
February 27, 2011 02:07PM
AHBPROT is a new feature in the Homebrew Channel, WiiMC Channel and other channels. It basically means, that channel has complete hardware access, and as long as anything else from it doesn't change IOS it too will have complete hardware access.
Re: AHBPROT?
March 03, 2011 05:47AM
Thanks for the reply metroid_maniac

I was hoping for more than "complete hardware access". I'm thinking this does not fill my quest for knowledge, maybe I should just accept it as you have explained it.
Re: AHBPROT?
March 03, 2011 07:06PM
That is literally what it means. Usually, to access hardware (bluetooth, USB, disc drive, NAND, memory etc.), you have to go through IOS. But with the HW_AHBPROT flag, you can completely bypass IOS and do ANYTHING from PPC code. Because IOS is also the security system of the Wii, bypassing it has obvious benefits ;)

The main flaw to this is that IOS has all the drivers for these pieces of hardware. So to use them from PPC code, you need to write PPC drivers for them (IOS is ARM code). To get around this, what many developers do is use HW_AHBPROT flag to patch the currently running IOS in memory, to remove its security features. This means they can use all the IOS drivers to access the hardware, without having to worry about the security system.

I apologize that I have most likely made the issue ten times more complicated in my attempt to explain it, but I'll try to clarify some stuff later if necessary.
Re: AHBPROT?
March 05, 2011 04:42AM
I think I get the basics of it now. The latest version of homebrew channel has the HW_AHBPROT support, this enables use of the IOS(s) and running homebrew without the need to patch an IOS, or even install a cIOS. I'm guessing that the IOS is loaded into some kind of temporary memory and then patched to be used with homebrew. Is HW_AHBPROT something Nintendo can patch with an update, or was it exploited?

Why can't homebrew apps have the AHBPROT support programmed into them, I remember I had to update my WiiMC channel to get the AHBPROT support when using the channel, even though the HBC 1.0.8 all ready had the HW_AHBPROT support? Correct me if I'm wrong, IOS58 has to be patched by HW_AHBPROT, from channel or HBC, before it can launch the application?

Edit - never mind about the question about nintendo patching the HW_AHBPROT, I kind of get that now too, I guess the homebrew channel would have to be removed to do that. Does this mean the homebrew channel will be a target of the next nintendo update?



Edited 2 time(s). Last edit at 03/05/2011 04:54AM by sickpuppy.
Re: AHBPROT?
March 05, 2011 09:47AM
I think the HW_AHBPROT flag is caused by IOS, in that if IOS finds that a channel has HW_AHBPROT found in it it lets it have complete Hardware access. So it could be blocked by future IOS updates.
Re: AHBPROT?
March 05, 2011 06:12PM
Quote
sickpuppy
I think I get the basics of it now. The latest version of homebrew channel has the HW_AHBPROT support, this enables use of the IOS(s) and running homebrew without the need to patch an IOS, or even install a cIOS. I'm guessing that the IOS is loaded into some kind of temporary memory and then patched to be used with homebrew. Is HW_AHBPROT something Nintendo can patch with an update, or was it exploited?

Why can't homebrew apps have the AHBPROT support programmed into them, I remember I had to update my WiiMC channel to get the AHBPROT support when using the channel, even though the HBC 1.0.8 all ready had the HW_AHBPROT support? Correct me if I'm wrong, IOS58 has to be patched by HW_AHBPROT, from channel or HBC, before it can launch the application?

Edit - never mind about the question about nintendo patching the HW_AHBPROT, I kind of get that now too, I guess the homebrew channel would have to be removed to do that. Does this mean the homebrew channel will be a target of the next nintendo update?

You don't seem to quite grasp it: HW_AHBPROT is a "setting" that is stored in HBC and other installed channels. When the Wii System Menu sees this "setting", it gives that channel full hardware access when it is loaded. That is why WiiMC channel had to be updated, so it'd have the HW_AHBPROT "setting" in it. Any homebrew loaded from HBC will automatically inherit HW_AHBPROT provided it does not reload IOS.

And HW_AHBPROT doesn't patch IOS. IOS never needed to be patch to use homebrew. And homebrew ALWAYS has used IOS. Its just that IOS restricts access to some hardware. HW_AHBPROT removes that restriction, but at the cost of having to write a lot of code to use the hardware in question. The compromise used by many developers is to use HW_AHBPROT to access the protected memory of the Wii and TEMPORARILY patch the currently running IOS, so that they can then access all hardware through IOS and not have to write too much extra code.

And IOS58 has nothing to do with HW_AHBPROT, and is not patched in the slightest. HW_AHBPROT works on any IOS, IOS58 is used for HBC and most homebrew because it supports USB2.0 whereas other IOS only support USB1.1.
Re: AHBPROT?
March 06, 2011 05:45PM
Thank you SifJar for that last reply, that explains it better for me to understand.

Since HW_AHBPROT is a part of the Homebrew Channel, maybe something could be added to the WiiBrew glossary about HW_AHBPROT.
Re: AHBPROT?
March 06, 2011 11:30PM
probably a good idea. i dont really have time right now, but if no one else has done it, i'll try to in the next few days.
Sorry, only registered users may post in this forum.

Click here to login