Error getting position: Router mac address query failed

Stefan Kost ensonic at hora-obscura.de
Tue Aug 31 04:58:39 PDT 2010


On 31.08.2010 13:47, Stefan Kost wrote:
> On 31.08.2010 12:16, Stefan Kost wrote:
>   
>> On 28.08.2010 14:43, Bastien Nocera wrote:
>>   
>>     
>>> On Wed, 2010-08-25 at 17:37 +0300, Stefan Kost wrote:
>>>   
>>>     
>>>       
>>>> On 25.08.2010 15:44, Bastien Nocera wrote:
>>>>     
>>>>       
>>>>         
>>>>> On Wed, 2010-08-25 at 15:11 +0300, Jussi Kukkonen wrote:
>>>>>   
>>>>>       
>>>>>         
>>>>>           
>>>>>> On 08/25/2010 02:06 PM, Stefan Kost wrote:
>>>>>>  > yes, I am on a wired connection...
>>>>>>
>>>>>> Hmmm, it's unfortunate that the wired router MAC isn't available via 
>>>>>> this connman implementation. It would be just as useful.
>>>>>>
>>>>>>  >.. and indeed if I enable wireless I get those warnings instead:
>>>>>>  > ** (geoclue-test-gui:27072): WARNING **: Error getting position: Could
>>>>>>  > not understand reply from server
>>>>>>  > ** (geoclue-test-gui:27072): WARNING **: Error getting address: Could
>>>>>>  > not understand reply from server
>>>>>>
>>>>>> The warning comes from a web provider that cannot parse the response 
>>>>>> from the service. I see that at least Plazes does that now, they seem to 
>>>>>> expect a lower case mac address... not sure if this is a new phenomenon.
>>>>>>     
>>>>>>         
>>>>>>           
>>>>>>             
>>>>> Does something like the attached work for you, Stefan?
>>>>>
>>>>> Cheers
>>>>>   
>>>>>       
>>>>>         
>>>>>           
>>>> Thanks for the patch, now I am getting:
>>>> ** (geoclue-test-gui:6888): WARNING **: Error getting position: Could
>>>> not understand reply from server
>>>> ** (geoclue-test-gui:6888): WARNING **: Error getting address: Could not
>>>> understand reply from server
>>>> ** (geoclue-test-gui:6888): WARNING **: Error getting address: Could not
>>>> get current gateway mac address
>>>>
>>>> I also killed all /usr/libexec/geoclue-* instances and again:
>>>> ** (geoclue-test-gui:7185): WARNING **: Error getting position: Could
>>>> not understand reply from server
>>>> ** (geoclue-test-gui:7185): WARNING **: Error getting address: Could not
>>>> understand reply from server
>>>> ** (geoclue-test-gui:7185): WARNING **: Error getting address: Could not
>>>> get current gateway mac address
>>>> ** (geoclue-test-gui:7185): WARNING **: Error getting position: Failed
>>>> to query web service
>>>>     
>>>>       
>>>>         
>>> Now it looks like the plazes backend changed the format of its answers,
>>> or we have a bug in the parsing code.
>>>
>>> Any chance you could add some debug and make it dump the response?
>>>
>>>   
>>>     
>>>       
>> I basically now added this in the two places in the plazes provider
>> after gc_web_service_query()
>>
>>     {
>>       gchar *str;
>>       if (gc_web_service_get_string (plazes->web_service, &str, "/")) {
>>         g_debug ("PLAZES: got string: '%s'", str);
>>         g_debug ("PLAZES: reponse: '%s'", plazes->web_service->response);
>>         g_free (str);
>>       }
>>     }
>>     // DEBUG
>>
>> rebuilt and run the places backend manually.
>>
>> $ /usr/libexec/geoclue-plazes
>> ** (process:24878): DEBUG: PLAZES: got string: '
>> '
>> ** (process:24878): DEBUG: PLAZES: reponse: '<?xml version="1.0"
>> encoding="UTF-8"?>
>> <suggestions>
>> </suggestions>
>> \u0011'
>> ** (process:24878): DEBUG: PLAZES: got string: '
>> '
>> ** (process:24878): DEBUG: PLAZES: reponse: '<?xml version="1.0"
>> encoding="UTF-8"?>
>> <suggestions>
>> </suggestions>
>> \x81'
>>
>>
>> This is the same as using the webbrowser and going to the PLAZES_URL
>> (http://plazes.com/suggestions.xml).
>>   
>>     
> I am getting there. This works fine in the browser:
> http://plazes.com/suggestions.xml?mac_address=00:00:5e:00:01:22
>
> (mac address taken from arp command or /proc/net/arp
>
> But this is what geoclue tries:
> http://plazes.com/suggestions.xml?mac_address=00:11:95:36:50:45
>
> I am now digging into connectivity-networkmanager.c
>   

Okay I am probably having the same problem as javier when he sent
"[PATCH 0/3] Using the router MAC for Plazes queries.".
I had added some debug here to print the addresses and the strenth. But
plazes won't have anything for any of the wireless ap (which is quite
obvious as they are company internal). This would be the same for my ap
at home. Imho using APs only makes sense for public APs or if that is
the only connection.

But then even when I use

mac·=·geoclue_connectivity_get_router_mac·(plazes->conn); 

it won't use the same address as I see from the arp command. Need to dig that more later on.

Stefan


> Stefan
>   
>> Would be nice to get all the debug logging to logfiles if the providers
>> are activated from dbus. Also if the client (geoclue-test-ui) could
>> actually tell which provider gave the error that would ease debugging.
>> _______________________________________________
>> GeoClue mailing list
>> GeoClue at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/geoclue
>>   
>>     
> _______________________________________________
> GeoClue mailing list
> GeoClue at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/geoclue
>   



More information about the GeoClue mailing list