Page 3 of 30

Re: Record TV over USB

Posted: Sun Jan 17, 2010 12:11 pm
by erdem_ua
devill2 wrote:Hello everyone,
i have a strange problem, when i should Input Record File Name : my tv only accepts digits,
it is not possible to enter letters in the debug menu, so i can't enter a valid path :(
any ideas?
Thank you all for your great work.
Greets
Himmm, Do you have CI+ device? I think this is another security technique.

Re: Record TV over USB

Posted: Sun Jan 17, 2010 11:22 pm
by erdem_ua
devill2 wrote:
erdem_ua wrote: Himmm, Do you have CI+ device? I think this is another security technique.
mhhh...yes you are right, i have a ci+ device :(
Yes, I investigate CHL5CIPDEUC and found that your exeDSP uses same routines.

I also found that CI+ devices are filtering character input from serial line. So you can only enter numbers.
Anyway, follow this topic for improvements.

xer21, I think we make better job if we enable TV's integrated support for PVR thing. I don't know where to start.
I think It's better to have GDB and run exeDSP under it.
I wish have IDA last version, this will make easy development.
anyone to donate me a IDA Pro license?

Re: Record TV over USB

Posted: Tue Jan 19, 2010 5:43 am
by erdem_ua
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.

Re: Record TV over USB

Posted: Tue Jan 19, 2010 10:21 am
by erdem_ua
I think you are wrong with thinking DTV_APPLICATION as an external application.
It's a process of exeDSP, not another program :)
I want my gdb to run exeDSP under it.

I also found that, exeDSP has support for Bluetooth devices, I think TV can play movies from them. :)

Code: Select all

CBluetoothWrapper::
Anyway, by this understand that CPVRWrapper:: class is for TV's internal PVR device support. Since we don't have PVR, this code is not for us.

I look forward for spI_Record_Stream and got internal channel recorder class:

Code: Select all

CRecorder_CH::
This is simple class for recording channels. spI_Stream_Record function record things with it...
I search deeper and found

Code: Select all

SdRecorder_
functions too. They look like make the same job.
Those are hight level functions for recording.
Real job done by low level PVR funtions by

Code: Select all

spIPvr_
functions.