v0.3.2 is out.

Two distinct changes went into gsm-ussd..

First: After entering the PIN, the modem first has to register in its net. gsm-ussd waits for that and only proceeds if the modem reports a successful registration, but some modems are a bit too optimistic. They might be freshly registered, but USSD queries still time out. Now, gsm-ussd waits for another turn if the modem just registered to give it time so settle, so that USSD queries can succeed.

Second: If several programs are using one and the same serial interface, the data coming from the modem get corrupted. After all, a serial interface is a point-to-point connection; having more than the modem and one program on the interface has to break. In Linux, access to serial interface is regulated by lock files saved in /var/lock. Sadly, up to now gsm-ussd did not adhere to this convention, so if there was still a picocom running (for debugging purposes), both stepped over each other, ruining everything in the progress. This bug is done now, gsm-ussd will create lock files or quit if one already exists.

Here the new files for download:


And an overview about all downloadable versions :

The public git repository can be found at

Have fun,