The client provides wearable technology to achieve performance optimization in smart warehouses, manufacturing facilities, field services, and in a variety of other rugged work environments. The service coordinates workers and managers and records all data in the cloud for further analytics and workflow improvements.
That’s why the stability of its connection is essential for the system’s smooth functioning. The client’s devices used wpa_supplicant 2.5 and Android marshmallow. We implemented wpa_supplicant 2.7 and combined all source files for the project’s build. The new wpa_supplicant used Android 8.0 which had an updated Hardware Abstraction Layer. Therefore we couldn’t simply update the source files and our engineers were required to uncover all calls that worked with the new HAL and update them one by one. Moreover, we faced a challenge that existed since the firmware’s creation: there was a mistake in the source files – their device parameters didn’t allow them to work with enterprise networks. So we remade the supplicant exactly for the updated devices.
After all corrective and test phases, we not only upgraded the firmware but in fact, created a new version of it.