[Berlin-wireless] OT: Netbook-Wifi-Karte

Lorenz Schori lorenz.schori
Di Okt 21 11:26:22 CEST 2008


Hallo Elektra

Sven-Ola hat von mir einen Dump gekriegt, der zeigt dass die Freifunk-
Firmware unter gewissen mir nicht genauer bekannten Umständen ein
einzelnes Paket mit falscher BSSID sendet. Die Ralink switch in der
Folge die ihre auch, fühlt sich dann nach einiger Zeit einsam in der
neuen Zelle und schmeisst auch noch die ESSID weg. Der unten angehängte
Fix soll das Problem auf Seiten EEE PC lösen.

LG
Lorenz

On Tue, 21 Oct 2008 09:56:14 +0200
elektra <onelektra at gmx.net> wrote:

> Hi -
> 
> http://minipci.biz. Wir können zusammen jeweils eine Atheros abg PCIe 
> bestellen - die Ralink 2860 in meinem EEE PC 901 hat netürlich im
> Mesh ein Ad-Hoc Treiberproblem... Funktioniert zwar überwiegend, aber
> leidet selbstverständlich in unregelmässigen Abständen unter
> Cell-Splitting. Wie kann es auch anders sein?!
> 
> cu elektra


Begin forwarded message:

Date: Fri, 03 Oct 2008 10:03:24 +0200
From: Pascal Mainini <pas...>
To: lorenz schori <lo...>
Subject: [Fwd: RE: Ad-hoc mode, excessive BEACON lost]


Ha Lo!

also die Jungs sind wirklich sehr cool...!
Ich versuch das dann mal zu patchen, sobald der eee wieder läuft,
allerdings wär mir ein unified diff lieber gewesen ;-)

Ich denke, die Erklärung des Effektes liegt in:

"If Ralink ad-hoc receives IBSS beacon from air and that BSSID of IBSS
beacon is larger than itself, Ralink ad-hoc will merger it?s own BSSID
to be same as that BSSID."

Ich versteh allerdings nicht ganz, was er mit "larger than itself"
meint. Sonst setz ich die BSSID einfach mal auf FF:FF:FF:FF:FF:FF :-)

Gruss!

gurke

-------- Original Message --------
Subject: 	RE: Ad-hoc mode, excessive BEACON lost
Date: 	Fri, 3 Oct 2008 12:39:00 +0800
From: 	Baron Sung <bar...>
To: 	'Pascal Mainini' <pas...>
CC: 	...

Dear Sir:

Our Ad-hoc BSSID rule is:

If another same SSID ad-hoc exists before Ralink ad-hoc boot up, Ralink
ad-hoc will join that ad-hoc client and use BSSID from that ad-hoc
client.

If no same SSID ad-hoc exists before Ralink ad-hoc boot up, Ralink
ad-hoc will generate random BSSID and create a new IBSS system.

If Ralink ad-hoc receives IBSS beacon from air and that BSSID of IBSS
beacon is larger than itself, Ralink ad-hoc will merger it?s own BSSID
to be same as that BSSID.

The issue is why that ad-hoc client would change BSSID than change back.

Below modification is not our solution for this issue, only for you to
do the test when this issue is not fixed.

Modify PeerBeacon function in syn.c, find below source code then comment
those source code.

*// collapse into the ADHOC network which has bigger BSSID value.*
*#if 0*
*for (i = 0; i < 6; i++)*
*{*
*        if (Bssid[i] > pAd->CommonCfg.Bssid[i])*
*        {*
*                DBGPRINT(RT_DEBUG_TRACE, ("SYNC - merge to the IBSS
with bigger BSSID=%02x:%02x:%02x:%02x:%02x:%02x\n", *
*                        Bssid[0], Bssid[1], Bssid[2], Bssid[3],
Bssid[4], Bssid[5]));*
*                AsicDisableSync(pAd);*
*                COPY_MAC_ADDR(pAd->CommonCfg.Bssid, Bssid);*
*                AsicSetBssid(pAd, pAd->CommonCfg.Bssid); *
*                MakeIbssBeacon(pAd);        // re-build BEACON frame*
*                AsicEnableIbssSync(pAd);    // copy BEACON frame
toon-chip memory*
*                is_my_bssid = TRUE;*
*                break;*
*        }*
*        else if (Bssid[i] < pAd->CommonCfg.Bssid[i])*
*                break;*
*}*
*#endif*

Best Regards
//Baron Sung
TEL:03-5600868ext1321



-----Original Message-----
From: Pascal Mainini [mailto:pascal at impressionet.ch]
Sent: Thursday, October 02, 2008 5:34 PM
To: Baron Sung
Subject: Re: Ad-hoc mode, excessive BEACON lost

Dear Mr. Sung

please, excuse my late reply, it took me some time to analyse it.
I did sniff the whole traffic and I'm not sure anymore, if it's
really a problem of the driver and/or card. Attached to this mail,
you will find the pcap-dumpfile of the traffic sniffed.
When analysing it, you will see that the problem probably occurs
at frame 322. There, for one single frame (!) the access point
sends out another BSSID than it's default one (b2:a3:45:76:a2:9b
instead of 02:ca:ff:ee:ba:be).
There is only this single frame comming from the access point with
the wrong BSSID, after that it jumps back to the correct one.
The 2860sta stays in the new BSSID then.

Question: Is it normal behaviour to change the BSSID after just one
different packet was received? And is there a way to lock the BSSID
so that the card will not change it by itself?
We are currently working on the access point side to fix the problem,
that it sends out a single frame with the wrong BSSID, but i think
it would be better to also have a fix for that on the card side.

Thanks a lot for your investigations and your time, i'm looking forward
to an answer from you!

Kindest regards,

Pascal





Mehr Informationen über die Mailingliste Berlin