[mythtv-users] Ceton infinitv 6 Eth & mythtv?

Matt Mossholder matt at mossholder.com
Sun Aug 18 04:51:21 UTC 2013


I think I have it figured out... the regex cetonstreamhandler.cpp 's
GetVar function doesn't match the response code to the GET
/get_var?i=5&s=tuner&v=CarrierLock call to the tuner. The Eth 6's
response looks like this:

<html><style>body.get {font-family: Verdana, Helvetica, Arial;
padding: 0px; margin: 0px; background-color: #DDE2E6;}</style><body
class="get">1</body></html>

>From the code, it looks like the other Ceton devices hand back
something that looks JSONy. Testing my theory now...

     --Matt
     --Matt


On Sat, Aug 17, 2013 at 8:46 PM, Matt Mossholder <matt at mossholder.com> wrote:
> Just to play it safe, I deleted ALL channel lineups, created a new
> one, fetched the channel listings, and am seeing the same symptoms.
>
> Generating my logs as soon as I can kick the kids off the TV.
>
>     --Matt
>      --Matt
>
>
> On Sat, Aug 17, 2013 at 9:35 AM, Ronald Frazier <ron at ronfrazier.net> wrote:
>>
>> On Fri, Aug 16, 2013 at 6:41 AM, Joseph Bebel <joseph.bebel at gmail.com>
>> wrote:
>>>
>>> Hi Ron and Matt,
>>>
>>> Here is a mega-data-dump which I hope you will find informative. The first
>>> part is the network activity from changing the channel using the web
>>> interface in Chrome. The second is the output from mythbackend. The third is
>>> the HTTP transcript between that running of mythbackend and the ceton
>>> device, as best I could get (I'm not a networks guy :) )
>>>
>>> Thanks for helping!
>>> Joe
>>>
>>> ------------------------------------
>>> Request URL: http://192.168.1.8/channel_request.cgi
>>> Request Method: POST
>>> Status Code:302 Found
>>>
>>> Request Headers
>>> Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
>>> Accept-Encoding: gzip,deflate,sdch
>>> Accept-Language: en-US,en;q=0.8
>>> Cache-Control: max-age=0
>>> Connection: keep-alive
>>> Content-Length: 26
>>> Content-Type: application/x-www-form-urlencoded
>>> Host: 192.168.1.8
>>> Origin: http://192.168.1.8
>>> Referer: http://192.168.1.8/Services/1/Tuner.html
>>> User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4)
>>> AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36
>>> Form Dataview sourceview URL encoded
>>> instance_id: 0
>>> channel: 1002
>>>
>>> Response Headers
>>> Content-Type: text/html
>>> DATE: Thu, 01 Jan 1970 00:00:55 GMT
>>> Location: http://192.168.1.8/Services/1/Tuner.html
>>> SERVER: Linux/3.0.1+, UPnP/1.0
>>> --------------------------------------------------------
>>> $ mythbackend -v channel,record
>>> 2013-08-16 02:24:51.344643 C  mythbackend version: fixes/0.26
>>> [v0.26.0-220-g92dbb43] www.mythtv.org
>>> 2013-08-16 02:24:51.344651 C  Qt version: compile: 4.8.4, runtime: 4.8.4
>>> 2013-08-16 02:24:51.344654 N  Enabled verbose msgs:  general channel
>>> record
>>> 2013-08-16 02:24:51.344658 N  Setting Log Level to LOG_INFO
>>> 2013-08-16 02:24:51.344805 I  Added logging to the console
>>> 2013-08-16 02:24:51.345059 I  Setup Interrupt handler
>>> 2013-08-16 02:24:51.345063 I  Setup Terminated handler
>>> 2013-08-16 02:24:51.345066 I  Setup Segmentation fault handler
>>> 2013-08-16 02:24:51.345068 I  Setup Aborted handler
>>> 2013-08-16 02:24:51.345071 I  Setup Bus error handler
>>> 2013-08-16 02:24:51.345073 I  Setup Floating point exception handler
>>> 2013-08-16 02:24:51.345076 I  Setup Illegal instruction handler
>>> 2013-08-16 02:24:51.345081 I  Setup Real-time signal 0 handler
>>> 2013-08-16 02:24:51.345099 N  Using runtime prefix = /usr
>>> 2013-08-16 02:24:51.345104 N  Using configuration directory =
>>> /home/bebel/.mythtv
>>> 2013-08-16 02:24:51.345215 I  Assumed character encoding: en_US.UTF-8
>>> 2013-08-16 02:24:51.345420 N  Empty LocalHostName.
>>> 2013-08-16 02:24:51.345425 I  Using localhost value of localhost
>>> 2013-08-16 02:24:51.350476 N  Setting QT default locale to en_US
>>> 2013-08-16 02:24:51.350518 I  Current locale en_US
>>> 2013-08-16 02:24:51.350536 N  Reading locale defaults from
>>> /usr/share/mythtv//locales/en_us.xml
>>> 2013-08-16 02:24:51.352230 I  Current MythTV Schema Version (DBSchemaVer):
>>> 1307
>>> 2013-08-16 02:24:51.352361 I  Loading en_us translation for module
>>> mythfrontend
>>> 2013-08-16 02:24:51.352482 N  MythBackend: Starting up as the master
>>> server.
>>> 2013-08-16 02:24:51.353644 I  TVRec(1): Start channel: 1002.
>>> 2013-08-16 02:24:51.353660 I  CetonChan(192.168.1.8-RTP.0): Opening Ceton
>>> channel
>>> 2013-08-16 02:24:51.567599 I  Added logging to mythlogserver at TCP:35327
>>> 2013-08-16 02:24:51.579412 I  CetonSH(192.168.1.8-RTP.0): Ceton device
>>> 192.168.1.8 initialized. SN: ***removed***, Firmware ver. 13.5.24.142,
>>> Hardware ver. 7359
>>> 2013-08-16 02:24:51.668085 I  CetonSH(192.168.1.8-RTP.0): Cable card
>>> installed (Motorola) - Validated, validation message is received,
>>> authenticated, and the IDs match those in the current binding
>>> 2013-08-16 02:24:51.668130 I  CetonSH: Creating new stream handler
>>> 192.168.1.8-RTP.0 for 192.168.1.8-RTP.0
>>> 2013-08-16 02:24:51.671080 I  ChannelBase(1): Input #1: 'MPEG2TS'
>>> schan(1002) sourceid(2) ccid(1)
>>> 2013-08-16 02:24:51.671135 I  ChannelBase(1): Current Input #1: 'MPEG2TS'
>>> 2013-08-16 02:24:51.672268 I  DTVChan(192.168.1.8-RTP.0):
>>> SetChannelByString(1002):
>>> 2013-08-16 02:24:51.673233 I  CetonSH(192.168.1.8-RTP.0):
>>> ClearProgramNumber()
>>> 2013-08-16 02:24:51.673244 I  CetonSH(192.168.1.8-RTP.0):
>>> PerformTuneVChannel(0)
>>> 2013-08-16 02:24:51.822106 I  CetonSH(192.168.1.8-RTP.0): TuneVChannel()
>>> 2013-08-16 02:24:51.822109 I  CetonSH(192.168.1.8-RTP.0):
>>> PerformTuneVChannel()
>>> 2013-08-16 02:24:51.863643 I  DTVChan(192.168.1.8-RTP.0):
>>> SetChannelByString(1002): success
>>> 2013-08-16 02:24:51.910402 I  CetonSH(192.168.1.8-RTP.0):
>>> GetProgramNumber() got 0 on attempt 1
>>> 2013-08-16 02:24:52.062492 I  CetonSH(192.168.1.8-RTP.0):
>>> GetProgramNumber() got 0 on attempt 2
>>> 2013-08-16 02:24:52.214483 I  CetonSH(192.168.1.8-RTP.0):
>>> GetProgramNumber() got 0 on attempt 3
>>> 2013-08-16 02:24:52.361389 I  CetonSH(192.168.1.8-RTP.0):
>>> GetProgramNumber() got 0 on attempt 4
>>> 2013-08-16 02:24:52.508289 I  CetonSH(192.168.1.8-RTP.0):
>>> GetProgramNumber() got 0 on attempt 5
>>> 2013-08-16 02:24:52.655382 I  CetonSH(192.168.1.8-RTP.0):
>>> GetProgramNumber() got 0 on attempt 6
>>> 2013-08-16 02:24:52.797241 I  CetonSH(192.168.1.8-RTP.0):
>>> GetProgramNumber() got 0 on attempt 7
>>> 2013-08-16 02:24:52.943636 I  CetonSH(192.168.1.8-RTP.0):
>>> GetProgramNumber() got 0 on attempt 8
>>> 2013-08-16 02:24:53.089754 I  CetonSH(192.168.1.8-RTP.0):
>>> GetProgramNumber() got 0 on attempt 9
>>> 2013-08-16 02:24:53.231293 I  CetonSH(192.168.1.8-RTP.0):
>>> GetProgramNumber() got 0 on attempt 10
>>> 2013-08-16 02:24:53.398814 I  CetonSH(192.168.1.8-RTP.0):
>>> GetProgramNumber() got 0 on attempt 11
>>> 2013-08-16 02:24:53.545796 I  CetonSH(192.168.1.8-RTP.0):
>>> GetProgramNumber() got 0 on attempt 12
>>> 2013-08-16 02:24:53.692759 I  CetonSH(192.168.1.8-RTP.0):
>>> GetProgramNumber() got 0 on attempt 13
>>> 2013-08-16 02:24:53.839795 I  CetonSH(192.168.1.8-RTP.0):
>>> GetProgramNumber() got 0 on attempt 14
>>> 2013-08-16 02:24:53.986891 I  CetonSH(192.168.1.8-RTP.0):
>>> GetProgramNumber() got 0 on attempt 15
>>> 2013-08-16 02:24:54.134155 I  CetonSH(192.168.1.8-RTP.0):
>>> GetProgramNumber() got 0 on attempt 16
>>> 2013-08-16 02:24:54.281275 I  CetonSH(192.168.1.8-RTP.0):
>>> GetProgramNumber() got 0 on attempt 17
>>> 2013-08-16 02:24:54.428257 I  CetonSH(192.168.1.8-RTP.0):
>>> GetProgramNumber() got 0 on attempt 18
>>> 2013-08-16 02:24:54.570099 I  CetonSH(192.168.1.8-RTP.0):
>>> GetProgramNumber() got 0 on attempt 19
>>> 2013-08-16 02:24:54.727050 I  CetonSH(192.168.1.8-RTP.0):
>>> GetProgramNumber() got 0 on attempt 20
>>> 2013-08-16 02:24:54.874124 I  CetonSH(192.168.1.8-RTP.0):
>>> GetProgramNumber() got 0 on attempt 21
>>> 2013-08-16 02:24:55.021262 I  CetonSH(192.168.1.8-RTP.0):
>>> GetProgramNumber() got 0 on attempt 22
>>> 2013-08-16 02:24:55.168406 I  CetonSH(192.168.1.8-RTP.0):
>>> GetProgramNumber() got 0 on attempt 23
>>> 2013-08-16 02:24:55.314911 I  CetonSH(192.168.1.8-RTP.0):
>>> GetProgramNumber() got 0 on attempt 24
>>> 2013-08-16 02:24:55.461907 I  CetonSH(192.168.1.8-RTP.0):
>>> GetProgramNumber() got 0 on attempt 25
>>> 2013-08-16 02:24:55.619247 I  CetonSH(192.168.1.8-RTP.0):
>>> GetProgramNumber() got 0 on attempt 26
>>> 2013-08-16 02:24:55.781647 I  CetonSH(192.168.1.8-RTP.0):
>>> GetProgramNumber() got 0 on attempt 27
>>> 2013-08-16 02:24:55.928673 I  CetonSH(192.168.1.8-RTP.0):
>>> GetProgramNumber() got 0 on attempt 28
>>> 2013-08-16 02:24:56.075807 I  CetonSH(192.168.1.8-RTP.0):
>>> GetProgramNumber() got 0 on attempt 29
>>> 2013-08-16 02:24:56.222976 I  CetonSH(192.168.1.8-RTP.0):
>>> GetProgramNumber() got 0 on attempt 30
>>> 2013-08-16 02:24:56.323130 E  CetonSH(192.168.1.8-RTP.0):
>>> GetProgramNumber() failed to get a non-zero program number
>>> 2013-08-16 02:24:56.323172 I  CetonSH(192.168.1.8-RTP.0): TuneFrequency(0,
>>> qam_256)
>>> 2013-08-16 02:24:56.421185 I  CetonSH(192.168.1.8-RTP.0): TuneVChannel(0)
>>> 2013-08-16 02:24:56.421199 I  CetonSH(192.168.1.8-RTP.0):
>>> PerformTuneVChannel(0)
>>> 2013-08-16 02:24:56.480996 I  TVRec(1): SetFlags(RunMainLoop,) ->
>>> RunMainLoop,
>>> 2013-08-16 02:24:56.481021 I  TVRec(1):
>>> ClearFlags(ExitPlayer,FinishRecording,) -> RunMainLoop,
>>> 2013-08-16 02:24:56.484895 I  Found 1 distinct programid authorities
>>> 2013-08-16 02:24:56.485286 I  New static DB connectionSchedCon
>>> 2013-08-16 02:24:56.491451 I  Listening on TCP 127.0.0.1:6544
>>> 2013-08-16 02:24:56.491565 I  Listening on TCP [::1]:6544
>>> 2013-08-16 02:24:56.493870 N  MediaServer:: Loopback address specified -
>>> 127.0.0.1. Disabling UPnP
>>> 2013-08-16 02:24:56.493882 I  Main::Registering HttpStatus Extension
>>> 2013-08-16 02:24:56.495993 I  Listening on TCP 127.0.0.1:6543
>>> 2013-08-16 02:24:56.496108 I  Listening on TCP [::1]:6543
>>> 2013-08-16 02:24:56.498183 N  AutoExpire: CalcParams(): Max required Free
>>> Space: 1.0 GB w/freq: 15 min
>>> 2013-08-16 02:24:59.491078 I  Reschedule requested for MATCH 0 0 0 -
>>> SchedulerInit
>>> 2013-08-16 02:24:59.523203 I  Scheduled 0 items in 0.0 = 0.01 match + 0.00
>>> check + 0.01 place
>>> 2013-08-16 02:24:59.527315 I  Scheduler: Seem to be woken up by USER
>>> 2013-08-16 02:25:06.487737 I  Running housekeeping thread
>>> 2013-08-16 02:25:17.416328 C  Received Interrupt: Code 128, PID 0, UID 0,
>>> Value 0x00000000
>>> 2013-08-16 02:25:17.417459 N  MythBackend exiting
>>> 2013-08-16 02:25:17.422598 I  TVRec(1): ClearFlags(RunMainLoop,) -> 0x0
>>> 2013-08-16 02:25:17.422710 I  CetonChan(192.168.1.8-RTP.0): Closing Ceton
>>> channel
>>> 2013-08-16 02:25:17.422720 I  CetonSH: Closing handler for
>>> 192.168.1.8-RTP.0
>>> 2013-08-16 02:25:17.422731 I  CetonSH(192.168.1.8-RTP.0): TuneFrequency(0,
>>> qam_256)
>>> 2013-08-16 02:25:17.520825 I  CetonSH(192.168.1.8-RTP.0): TuneVChannel(0)
>>> 2013-08-16 02:25:17.520840 I  CetonSH(192.168.1.8-RTP.0):
>>> PerformTuneVChannel(0)
>>> 2013-08-16 02:25:17.572819 I  TVRec(1): ClearFlags(RecorderRunning,) ->
>>> 0x0
>>> 2013-08-16 02:25:17.572857 I  Waiting for threads to exit.
>>> ----------------------------------------------------
>>> HTTP Transcript
>>> GET /get_var.json?i=0&s=diag&v=Host_IP_Address HTTP/1.1
>>> { "result": "192.168.1.8" }
>>> GET /get_var.json?i=0&s=cas&v=CardStatus HTTP/1.1
>>> { "result": "Inserted" }
>>> GET /get_var.json?i=0&s=diag&v=Host_Serial_Number HTTP/1.1
>>> { "result": "actual ceton serial number removed here" }
>>> GET /get_var.json?i=0&s=diag&v=Host_Firmware HTTP/1.1
>>> { "result": "13.5.24.142" }
>>> GET /get_var.json?i=0&s=diag&v=Hardware_Revision HTTP/1.1
>>> { "result": "7359" }
>>> GET /get_var.json?i=0&s=cas&v=CardManufacturer HTTP/1.1
>>> { "result": "Motorola" }
>>> GET /get_var.json?i=0&s=cas&v=CardAuthorization HTTP/1.1
>>> { "result": "Validated, validation message is received, authenticated, and
>>> the IDs match those in the current binding" }
>>> POST /channel_request.cgi HTTP/1.1
>>> content-type: application/x-www-form-urlencoded
>>> content-length: 23
>>> instance_id=0&channel=0
>>> HTTP/1.1 302 Found
>>> Content-Type: text/html
>>> DATE: Thu, 01 Jan 1970 00:07:38 GMT
>>> SERVER: Linux/3.0.1+, UPnP/1.0
>>> Location: /
>>> GET /get_var.json?i=0&s=mux&v=ProgramNumber HTTP/1.1
>>> { "result": "0" }
>>> POST /channel_request.cgi HTTP/1.1
>>> content-type: application/x-www-form-urlencoded
>>> content-length: 22
>>> instance_id=0&channel=
>>> GET /get_var.json?i=0&s=mux&v=ProgramNumber HTTP/1.1
>>> { "result": "0" }
>>> ***a lot more of the same GET / { "result": "0" } pair, removed***
>>> POST /tune_request.cgi HTTP/1.1
>>> content-type: application/x-www-form-urlencoded
>>> content-length: 78
>>>
>>> instance_id=0&frequency=0&modulation=2&tuner=1&demod=1&rst_chnl=0&force_tune=0
>>> HTTP/1.1 302 Found
>>> Content-Type: text/html
>>> DATE: Thu, 01 Jan 1970 00:07:43 GMT
>>> SERVER: Linux/3.0.1+, UPnP/1.0
>>> Location: /
>>> POST /channel_request.cgi HTTP/1.1
>>> content-type: application/x-www-form-urlencoded
>>> content-length: 23
>>> instance_id=0&channel=0
>>> HTTP/1.1 302 Found
>>> Content-Type: text/html
>>> DATE: Thu, 01 Jan 1970 00:07:43 GMT
>>> SERVER: Linux/3.0.1+, UPnP/1.0
>>> Location: /
>>>
>>> _______________________________________________
>>> mythtv-users mailing list
>>> mythtv-users at mythtv.org
>>> http://www.mythtv.org/mailman/listinfo/mythtv-users
>>>
>>
>>
>> The definite good news here is that it appears the problem is not due to a
>> difference in the devices behavior. Based on the info you've provided, It
>> appears (at least so far) to be compatible with the 4 tuner models
>> protocols.
>>
>> Beyond that, I'm a little uncertain. The first thing I notice when looking
>> at your logs, is the following in the HTTP log:
>>
>> POST /channel_request.cgi HTTP/1.1
>> content-type: application/x-www-form-urlencoded
>> content-length: 22
>> instance_id=0&channel=
>>
>> Note that the channel parameter is blank in your last line. Then I look in
>> the backend logs and see:
>> CetonSH(192.168.1.8-RTP.0): PerformTuneVChannel()
>>
>> I double checked the code, and PerformTuneVChannel should be getting passed
>> a channel number as a parameter, and that channel number should have been
>> included in the log. So it would seem it's trying to tune a blank channel
>> number. Looking at the code, it's a little complex to trace down, but the
>> only way I can see that happening is if your channel configuration is a bit
>> screwy. So that's my current theory. Where did your current channel
>> configuration come from? Did you create it from scratch, or did you reuse
>> one you already had setup for a different tuner? If the latter, what type of
>> tuner was it created for? Different tuners fill in different values in the
>> database fields, so channel configs for one tuner type is not always
>> compatible with another tuner type.
>>
>> My suggestion is going to be to create a brand new channel lineup, just for
>> your ceton device. So create a brand new video source linked to the same
>> same schedules direct lineup, assign it to your ceton tuner in the Input
>> Connections screen and then click "Fetch channels from listing source". You
>> might need to then run mythfilldatabase again (not positive).
>>
>>
>> --
>> Ron Frazier
>>
>> _______________________________________________
>> mythtv-users mailing list
>> mythtv-users at mythtv.org
>> http://www.mythtv.org/mailman/listinfo/mythtv-users
>>


More information about the mythtv-users mailing list