I found/inspected
CPVRWrapper:: class and I think disabling made on here.
This class looks okay but two functions of it looks returns 0 always, which names are.
CPVRWrapper::GetDeviceCnt( void )
CPVRWrapper::GetDeviceName( int, * ushort)
Code: Select all
MOV R0, #0 ; Move 0 to R0 that represent return value
BX LR ; Branch to previous function address, means return.
What If device has return zero PVR device? I guess PVR Function disables itself

So we can return value different than zero for make PVR function get alive.
I didn't tried yet but I feel PVR function is not too far away
xer21 wrote:- I guess I should also note that I saw when a usb device is connected it checks for a name, if there is no name it prints a msg saying "partition_mounted_name is None and Not PVR System -> do"... but if it finds a name it calls a function that notifies MSCAttached
CPVRWrapper::CreateFlag( void ) is called from 2 function actualy
*CUSBApp::ActivateUSBApplication(int)
*CUSBAppEventHandler::AddUsbDeviceInfo(PCList *,int,bool)
So USB plugging required to initiate PVR function, also an application that activates PVR functionality too.