There are a few known issues with Qz.
Qz hardly picks up any messages!
Most likely this is due to a poor antenna setup. Many devices come with pigtail antennas—essentially just a piece of wire. These are kludges and perform really poorly—get a decent antenna if you can. For car use, try to hook up your receiver to the car antenna (see Supported tuner devices for more information). In a building with a central antenna, hooking up your device to an antenna outlet can also improve reception (this may not work if you have cable, as some cable networks mess with the RDS data stream and may discard TMC data). Otherwise, stub antennas (as supplied with most DVB tuner sticks) perform surprisingly well and even surpass some building antennas.
Qz does not pick up any messages at all!
Qz works only in some countries. See Countries for a list of countries known (or believed) to work or not work.
I frequently see messages going away, reappearing, then going away again and so on
Qz scans the entire FM band, jumping from station to station until it has reached the end of the band, then resuming from the beginning of the band. Depending on the number of TMC services in your area and the number of messages transmitted, this can take a long time and some messages may expire during that time, causing them to disappear. They will reappear when an update is received again. While this is system-inherent, a workaround is in the queue, see #27 (closed).
Some cases have been observed where there was actually an issue on the broadcaster’s end, see next question.
I get messages with bogus data
There is a real chance that your TMC service is indeed sending out bogus data, and there is little Qz can do about it. Examples observed in practice:
- Messages with an unknown event (event code 0), which was confirmed to be an issue on the broadcaster’s side
- Closure of a motorway “at“ a particular interchange, when the actual closure affected the link to the other motorway, with the broadcaster hinting at a possible problem on their side
- Implausible width or weight limits—here the broadcaster stated that width limits were per carriageway, not per lane, though that doesn’t address the weight limits
- Messages and cancellations alternating (messages getting sent, canceled, then re-sent), which raw data analysis confirmed to be an issue on the broadcaster’s end
- Duplicate events in different information blocks of the same message
On the broadcaster’s side, there may be a whole chain involved to produce TMC messages. These systems also supply data to other systems whose capabilities differ from TMC, meaning there is conversion involved, and some corner cases are not handled correctly. Sometimes broadcasters are in fact grateful for a heads-up.
Qz massively drains the battery!
This has been observed with Bluetooth tuners (behavior and likely depends on the device). Qz needs to maintain a permanent Bluetooth connection, and that is energy-intensive. This is less of an issue with USB tuners (see #26).
My phone has a built-in tuner, will Qz work with it?
Probably not. No built-in tuners have been tested with Qz so far, due to lack of access to devices.
If you’re interested in adding support, your contributions will be welcome. If you’re lucky, your device has a Si470x-based tuner, which is supported as an external device—you might be able to build upon that work.
Bear in mind that most internal tuners use the headphone cable as a pigtail antenna, thus reception may not be sufficient for TMC. (If your tuner app supports RDS but has trouble even displaying station names, it’s probably not worth trying.)
Does Qz work with SDRs?
Although RDS Surveyor, which Qz uses to acquire and decode RDS-TMC data, has support for software-defined radios, they do not work with Qz for various reasons:
- Protocol stacks are different on Android: SDR access on Android differs from desktop OSes, therefore parts of the driver stack will need to be rewritten from scratch—even if existing drivers are used.
- More importantly, decoding RDS-TMC from an SDR is beyond the capabilities of the average smartphone CPU. In order to decode the 57 kHz subcarrier used by RDS, the SDR needs to sample data at more than 100 kHz (roughly 2–3 times the sample rate of most MP3s) and perform real-time calculations on it. This works on any reasonably modern laptop but not on most smartphones.
My Si470x-based tuner doesn’t work!
Si470x-based USB tuners occasionally fail to initialize correctly when plugged in. The reasons for this are currently unknown. When that happens, unplugging the tuner and plugging it back in helps (though it may take several attempts). See #4.
My Bluetooth tuner fails to connect, or randomly disconnects!
This is currently being worked on. To an extent this seems to be caused by the Bluetooth stack in the Android device. With more recent versions of Qz, be sure to enable automatic connection in Settings—this causes Qz to attempt to reconnect when the connection is dropped. Recent versions also fix a few hiccups which previously would prevent Qz from connecting again after a previous connection went wrong. See #28 and #29 (closed).