AlphaWolf
01-24-2003, 10:36 PM
Ok I think I may have found a good lead to the answer, but its a bit confusing, so I will just start by explaining what I did.
I prepared a script that will dump all of the < 100 channels information to stdout. I configured the access card to get the phoenix arizona locals, then captured all of the data for channels < 100 once they started showing up. I then set the card for the las vegas locals and did the same. I took a sample of one channel and compared it against itself when its supposed to be disabled. This is what I saw:
Phoenix locals enabled, Las Vegas disabled:
ApgChannel 438754/10 {
AboutText = {CBS television services from KPHO-TV, 5, Phoenix, AZ}
AdditionalNetworkId = 659
ApgObjectId = 186763
BackupLogoIndex = LogoSpace=DirecTV LogoIndex=<None Defined>
Category = 142 (rel=10) 404 (rel=10) 148 (rel=10) 287 (rel=10)
ChannelDefinition = 438754/12
ChannelPipIndicator = 0
ConditionalDescriptorExpr = (length 6) 0xc3 0x02 0x00 0x00 0x94 0x00 0x00 0x00
DefaultProgram = 438498/-1
FrameHeaderNetworkId = 0
GuideInclusionExpr = (length 9) 0xc3 0x02 0x00 0x00 0x94 0x80 0x88 0x1d 0x00 0x00 0x00 0x00
IndexPath = /Server/A0002d98b:87:37:0
LogoIndex = LogoSpace=DirecTV LogoIndex=19
LongName = PN5
PipChannelNumber = 885
PipFrequencyIndex = 19
ServerId = A0002d98b
ServerVersion = 37
ShortName = PN5
SourceId = 10640
Version = 5
}
Las Vegas locals enabled, Phoenix disabled:
ApgChannel 438754/10 {
AboutText = {CBS television services from KPHO-TV, 5, Phoenix, AZ}
AdditionalNetworkId = 659
ApgObjectId = 186763
BackupLogoIndex = LogoSpace=DirecTV LogoIndex=<None Defined>
CanBeViewed = 0
Category = 142 (rel=10) 404 (rel=10) 148 (rel=10) 287 (rel=10)
ChannelDefinition = 438754/12
ChannelPipIndicator = 0
ConditionalDescriptorExpr = (length 6) 0xc3 0x02 0x00 0x00 0x94 0x00 0x00 0x00
DefaultProgram = 438498/-1
FrameHeaderNetworkId = 0
GuideInclusionExpr = (length 9) 0xc3 0x02 0x00 0x00 0x94 0x80 0x88 0x1d 0x00 0x00 0x00 0x00
IndexPath = /Server/A0002d98b:87:37:0
LogoIndex = LogoSpace=DirecTV LogoIndex=19
LongName = PN5
PipChannelNumber = 885
PipFrequencyIndex = 19
ServerId = A0002d98b
ServerVersion = 37
ShortName = PN5
SourceId = 10640
Version = 6
}
Now this shows us that we don't need to play with the GIE or CDE attributes in this particular object, all we have to do here is remove the CanBeViewed=0 attribute. The guide data problem lies elsewhere.
So, I took a deeper look into the channel dump. I found that each channel, when enabled normaly via the access card, has 2 object entries listed. (the second channel is near the end of the dump, along with all of the rest of your local channels' second objects, all grouped together). When a channel is disabled, it just has one object, and the CanBeViewed=0 attribute is added. Based on how the script is written, that tells me that the channel list attribute in the /Setup/Source object excludes that second channel object. These are the only differences between when a channel is enabled and disabled.
Below is what the second object looks like for the same channel listed above:
ApgChannel 476930/10 {
AboutText = {CBS Affiliate KPHO from Phoenix, AZ}
ApgObjectId = 4585
BackupLogoIndex = LogoSpace=DirecTV LogoIndex=<None Defined>
CanBeViewed = 0
Category = 404 (rel=10) 148 (rel=10)
ChannelDefinition = 476930/11
ChannelPipIndicator = 3
ConditionalDescriptorExpr = (length 6) 0xc3 0x00 0x00 0x02 0x93 0x00 0x00 0x00
FrameHeaderNetworkId = 659
IndexPath = /Server/A000011e9:87:6:0
LogoIndex = LogoSpace=DirecTV LogoIndex=19
LongName = KPHO
ServerId = A000011e9
ServerVersion = 6
ShortName = KPHO
SourceId = 10640
Version = 1
}
Now, with the Phoenix channels disabled, even though this object does not get listed in my channel dump, the object still exists. Not only that, but when I dump it disabled, its exactly the same; the CanBeViewed=0 attribute is still there.
I would include a sample las vegas channel for all of the above, but theres no point because they show the same differences/similarities when enabled or disabled.
From here we have two possible solutions. We can try copying the information from this second attribute into the first one, and hopefuly that sets up enough for the guide data to work.
Another option would be to find out how to add all of these second objects to the channels attribute in /Setup/Source. It's possible to add more, but I can't say whether or not that will cause any problems because of the way this data is indexed (have a look at it to see what I mean).
(continued on next post)
I prepared a script that will dump all of the < 100 channels information to stdout. I configured the access card to get the phoenix arizona locals, then captured all of the data for channels < 100 once they started showing up. I then set the card for the las vegas locals and did the same. I took a sample of one channel and compared it against itself when its supposed to be disabled. This is what I saw:
Phoenix locals enabled, Las Vegas disabled:
ApgChannel 438754/10 {
AboutText = {CBS television services from KPHO-TV, 5, Phoenix, AZ}
AdditionalNetworkId = 659
ApgObjectId = 186763
BackupLogoIndex = LogoSpace=DirecTV LogoIndex=<None Defined>
Category = 142 (rel=10) 404 (rel=10) 148 (rel=10) 287 (rel=10)
ChannelDefinition = 438754/12
ChannelPipIndicator = 0
ConditionalDescriptorExpr = (length 6) 0xc3 0x02 0x00 0x00 0x94 0x00 0x00 0x00
DefaultProgram = 438498/-1
FrameHeaderNetworkId = 0
GuideInclusionExpr = (length 9) 0xc3 0x02 0x00 0x00 0x94 0x80 0x88 0x1d 0x00 0x00 0x00 0x00
IndexPath = /Server/A0002d98b:87:37:0
LogoIndex = LogoSpace=DirecTV LogoIndex=19
LongName = PN5
PipChannelNumber = 885
PipFrequencyIndex = 19
ServerId = A0002d98b
ServerVersion = 37
ShortName = PN5
SourceId = 10640
Version = 5
}
Las Vegas locals enabled, Phoenix disabled:
ApgChannel 438754/10 {
AboutText = {CBS television services from KPHO-TV, 5, Phoenix, AZ}
AdditionalNetworkId = 659
ApgObjectId = 186763
BackupLogoIndex = LogoSpace=DirecTV LogoIndex=<None Defined>
CanBeViewed = 0
Category = 142 (rel=10) 404 (rel=10) 148 (rel=10) 287 (rel=10)
ChannelDefinition = 438754/12
ChannelPipIndicator = 0
ConditionalDescriptorExpr = (length 6) 0xc3 0x02 0x00 0x00 0x94 0x00 0x00 0x00
DefaultProgram = 438498/-1
FrameHeaderNetworkId = 0
GuideInclusionExpr = (length 9) 0xc3 0x02 0x00 0x00 0x94 0x80 0x88 0x1d 0x00 0x00 0x00 0x00
IndexPath = /Server/A0002d98b:87:37:0
LogoIndex = LogoSpace=DirecTV LogoIndex=19
LongName = PN5
PipChannelNumber = 885
PipFrequencyIndex = 19
ServerId = A0002d98b
ServerVersion = 37
ShortName = PN5
SourceId = 10640
Version = 6
}
Now this shows us that we don't need to play with the GIE or CDE attributes in this particular object, all we have to do here is remove the CanBeViewed=0 attribute. The guide data problem lies elsewhere.
So, I took a deeper look into the channel dump. I found that each channel, when enabled normaly via the access card, has 2 object entries listed. (the second channel is near the end of the dump, along with all of the rest of your local channels' second objects, all grouped together). When a channel is disabled, it just has one object, and the CanBeViewed=0 attribute is added. Based on how the script is written, that tells me that the channel list attribute in the /Setup/Source object excludes that second channel object. These are the only differences between when a channel is enabled and disabled.
Below is what the second object looks like for the same channel listed above:
ApgChannel 476930/10 {
AboutText = {CBS Affiliate KPHO from Phoenix, AZ}
ApgObjectId = 4585
BackupLogoIndex = LogoSpace=DirecTV LogoIndex=<None Defined>
CanBeViewed = 0
Category = 404 (rel=10) 148 (rel=10)
ChannelDefinition = 476930/11
ChannelPipIndicator = 3
ConditionalDescriptorExpr = (length 6) 0xc3 0x00 0x00 0x02 0x93 0x00 0x00 0x00
FrameHeaderNetworkId = 659
IndexPath = /Server/A000011e9:87:6:0
LogoIndex = LogoSpace=DirecTV LogoIndex=19
LongName = KPHO
ServerId = A000011e9
ServerVersion = 6
ShortName = KPHO
SourceId = 10640
Version = 1
}
Now, with the Phoenix channels disabled, even though this object does not get listed in my channel dump, the object still exists. Not only that, but when I dump it disabled, its exactly the same; the CanBeViewed=0 attribute is still there.
I would include a sample las vegas channel for all of the above, but theres no point because they show the same differences/similarities when enabled or disabled.
From here we have two possible solutions. We can try copying the information from this second attribute into the first one, and hopefuly that sets up enough for the guide data to work.
Another option would be to find out how to add all of these second objects to the channels attribute in /Setup/Source. It's possible to add more, but I can't say whether or not that will cause any problems because of the way this data is indexed (have a look at it to see what I mean).
(continued on next post)