Search Linux Wireless

Re: p54spi - mesh mode summary

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> 2) Today it doesn't reproduce. Plink establishment passes, altough, warning remains:
> 
> 3) Beaconing works, but not the way it should: like MPs don't hear each other. Timestamps never get in sync
> and both MPs issue beacon during 0.1s beacon interval.
> I've seen it before, with stlc45xx. It shows when LMAC is set up with LMAC_SETUP_IBSS | LMAC_SETUP_TRANSPARENT flags.
> If there's no LMAC_SETUP_TRANSPARENT flag in LMAC setup then timestamps get in sync.

FYI: The TSF will always reset when a new beacon is submitted to the firmware.
The specs talks about that.

> 4) Pings don't go, because MPs don't answer ARP requests sent to it. Haven't tested for the root cause yet.
> But again, I have seen this with stlc45xx with two different causes:
> - when LMAC was set up without LMAC_SETUP_TRANSPARENT flag, ARP requests didn't pass LMAC packet filter
>   and weren't reported to the driver;
Yup, that's because the firmware will filter out any frames which are not from/for the BSSID.
(the bssid the field right next to the device own MAC in p54_setup_mac)

> - when LMAC was set up with LMAC_SETUP_TRANSPARENT flag firmware seem to truncate last 2 bytes of the packet
>   that it reports.
Heh, that's also a ISL3887 (USB 2nd gen) bug... But PCI devices are not affected.
The reason "why" has probably to do with the firmware's frame alignment code.
Unfortunately the firmware for (ISL3887 and SPI) is rounding "down" to 4 bytes instead of up...
So the FCS will be clipped... But fortunately the firmware set a bit in the header that tells
us whenever the frames was corrupted or not (P54_HDR_FLAG_DATA_IN_FCS_GOOD).

what happens if you change p54spi_rx the following way:? 

-        skb = dev_alloc_skb(len);
+        skb = dev_alloc_skb(len + 4);
        if (!skb) {
                dev_err(&priv->spi->dev, "could not alloc skb");
                return 0;
        }

        p54spi_spi_read(priv, SPI_ADRS_DMA_DATA, skb_put(skb, len), len);
        p54spi_sleep(priv);

+      skb_put(skb, 4); 
        if (p54_rx(priv->hw, skb) == 0)
                dev_kfree_skb(skb);

 
> > Is there anything else I can do, or something you want to know?
> Are there other p54 species that use 3826.arm firmware?
I guess no... there are pci/usb/spi and shmem devices but all have their own firmware.

> Are there other sources of information regarding LMAC interaction except
> http://wireless.kernel.org/en/developers/Documentation/specs?action=AttachFile&do=get&target=STSW45x0C_LMAC_API_ED1P4.pdf ?

hmm, maybe the old islsm... But then, this driver is very old now...
 
> Who should be contacted with questions about firmware behavior?
> 
No idea, maybe nokia knows... because the "frame alignment" can also clip QoS-(Data) or WDS Frames.

Regards,
   Chr
____________________________________________________________________
Psssst! Schon vom neuen WEB.DE MultiMessenger gehört? 
Der kann`s mit allen: http://www.produkte.web.de/messenger/?did=3124

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux