Opened 10 years ago

Closed 3 years ago

Last modified 3 years ago

#12184 closed Bug Report - General (Fixed)

CI/CAM: Connection establishment for not spec compliant CAMs broken

Reported by: ast@… Owned by: Klaas de Waal
Priority: minor Milestone: 32.0
Component: MythTV - General Version: Unspecified
Severity: medium Keywords:
Cc: Ticket locked: no

Description

This is for MythTV 0.27.1.

I do have a CAM that unconditionally sends T_SB for tcid 2 on connection open which is not spec compliant. MythTV basically provisions for such cases in cCiTransportConnection::CreateConnection?().

However, cCiTransportConnection::RecvTPDU() breaks this as it unconditionally calls Init() on any "error", thus resetting the processing state from CREATION to IDLE.

The attached patch fixes this for my case and should be seen as a sample workaround. Actually some interworking between CreateConnection?() and RecvTPDU() is required to handle the retry cases in state CREATION properly.

Attachments (2)

cam-init-workaround.patch (448 bytes) - added by ast@… 10 years ago.
CAM connection establishment workaround
20210808-trac-12184-cam-init-workaround.patch (558 bytes) - added by Klaas de Waal 3 years ago.
Patch updated for today's master. Under test.

Download all attachments as: .zip

Change History (6)

Changed 10 years ago by ast@…

Attachment: cam-init-workaround.patch added

CAM connection establishment workaround

comment:1 Changed 4 years ago by Klaas de Waal

Owner: set to Klaas de Waal
Status: newassigned

comment:2 Changed 4 years ago by Stuart Auchterlonie

Milestone: unknownneeds_triage

Changed 3 years ago by Klaas de Waal

Patch updated for today's master. Under test.

comment:3 Changed 3 years ago by Klaas de Waal

Resolution: Fixed
Status: assignedclosed

The patch as tested results in improved error handling when there is a CAM error. Without the patch, when an error occurs there is an endless stream of CAM errors, repeated every 5 seconds. With the patch the observation is that there is only one CAM error.

Fixed in commit aa683a9e5931c54941251fbef8495f20727373a1.

comment:4 Changed 3 years ago by Klaas de Waal

Milestone: needs_triage32.0
Note: See TracTickets for help on using tickets.