Geolocation - City:Unknown in report but defined in Real-Time Map

Hello everyone!

I have installed GeoIP (PECL), GeoIP (Php) and GeoIP2, all 3 of these based on MaxMind GeoIP data base (.dat and .mmdb). I’ve also installed plugin for GeoIP2 support (.mmdb).

In Settings->Geolocation, I can see that all geolocation options are green (“installed”), and I can also see that all 3 modules I mention above give correct Country and City detection, including GPS coordinates (wow!).

However, when I check Dashboard, only Real-Time map shows visitor cities, but City widget (the one that lists top cities in a table) shows “Unknown”.

I have tried to re-generate geolocation with:
php ./console usercountry:attribute YYYY-MM-DD,YYYY-MM-DD

and also tried to re-generate reports after that:
php ./console core:archive --force-all-websites --force-all-periods=315576000 --force-date-last-n=1000

but Dashboard Cities widget still shows unknown.

I guess that RealTime Map works because it uses current geolocation module “on the fly”, while reports for some reason read data from data base which for some reason is not re-generated with current geolocation module.

Am I doing something wrong?