Electronic – Why would credit card reader over audio jack not work on some devices

androidaudioserial-bustrs

This isn't a troubleshooting question, it's purely to satisfy my curiosity…

MagTek makes a product called the uDynamo credit card reader that uses the audio channel on android devices as a communication bus to interface with the mobile devices. This makes perfect sense; you have a TRRS audio jack, supporting three channels (audio L, R, and mic) and a ground. Everything the uDynamo needs and more to facilitate full duplex communication.

However, one of my phones, the Android-sporting ZTE ZMAX PRO, with a functional TRRS headset jack, doesn't appear to ever succeed in synchronizing or handshaking with the device (there's a tester app that tries for a long time to get to step 2, then says 'test failed'). The app my company developed has the same problem. The PCM sync tone emitted from the android is excessively audible if I plug in headsets when running the test, and the microphone wire on the TRRS jack is functional. Interestingly, the card reader works on my other android phones. It appears that this particular phone simply is not supported.

So, my question is, why would some android phones be able to communicate over a TRRS headset jack while others can't? I mean, it's a PCM signal over standardized audio cables, it doesn't seem like much could be different from phone to phone.

Anyway, thank you in advance.

Best Answer

perhaps it is the Active noise cancellation with dedicated mic.

Most Modems do EQ training for spectral and group delay distortion with 1 echo cancellation ( not 2 like the old DSP versions). But if more distorted than some specified amount, the modem will fail.