Low Level Errors with ExternalAccessory Framework/IAP device

We are using a vendor-provided SDK to access their hardware through EA framework and intermittently the EA framework streams stop working (in particular, the input stream reports 0 for hasAvailableBytes). In some cases, this situation persists until we detach the device and reattach (this is via a lightning connector).

After installing the IAPD debug profile and retrieving logs, we notice a few interesting log entries from the syslog we retrieve off the tablet.

I am trying to understand and make sense of this and determine how this can be fixed. Anyone have a clue?

default 2021-08-20 19:49:09.299659 +0300 accessoryd ERROR: iAP2LinkDeviceActionSendRST: iAP2 Link Layer reset triggered! (state: 5)

default 2021-08-20 19:49:11.342001 +0300 accessoryd ERROR: iAP2LinkQueueSendDataWithSentCallback:4410 ERROR: Invalid session(0)! error 2021-08-20 19:49:11.342005 +0300 accessoryd Unable to queue 30 ea bytes for eaSession 50

default 2021-08-20 19:49:12.806935 +0300 Tablet [C1143] event: client:data_stall @3.486s info 2021-08-20 19:49:12.809195 +0300 Tablet nw_connection_report_symptom_on_nw_queue [C1143] reported Data stall symptom

Replies

OK, well, it turns out we were simply loading the device's GPU (via an in-app WKWebView - we saw numerous ), and under load the EA Framework (accessoryd) appears to display erratic behavior (including it seems, crashing/restarting).

We haven't seen these symptoms in a while, but just for the record, this is how we finally addressed this issue.