Craig,
I can see some improvements:
- If we get a HW FIFO overflow in MUX mode, there is little point in continuing. Probably simplest to reset the modem at that point.
- At the moment, we pickup on various failures (like no MUX traffic, unable to make cellular connection, etc) and reset the modem. But I too have seen cases where the cellular connection can’t be made, that only a module reset seems to fix.
Perhaps the problem is in the async driver? Better to reset that as well?
- Hardware flow control would be nice, but sadly we simply don’t have the GPIOs for it. We only have two free unused, and they are desperately needed for expansion modules. The MUX protocol does have a software flow control mechanism, but I am not sure if that would help.
- I wonder why you are getting HW FIFO overflows? I am not seeing these.
Attached are draft 3.3 schematics. I have one change outstanding on these (I want to re-label CAN as CAN1..CAN3, rather than the existing CAN0..CAN2, to better match the firmware labelling), and then will publish.
Regards, Mark.