I subscribed to this mailing list because
- I use the Aironet PC4800 system (11 MBit/s),
- I'm running linux (SuSE6.2),
- I will try to contribute some improvements of the driver, and
- elaborate a bit more on the performance of this type of WLANs
(Direct Sequence Spread Spectrum and the used MAC protocol).
I start with installation of the driver and testing it (Dec.99 version
of the driver and PCMCIAcard services version 3.1.6). This went fine so
far. Up to now I spent two hours to understand the device driver. At the
moment this looks a bit mystic (I have to admit, that this is my very
first contact with kernel programming).
To get into the stuff and make it more usable for me some questions (and
hopfully some answer from you).
1. Did anyone tried the ad-hoc operation mode? I configured it changing
the *Mode* entry in the in the /proc/aironet/eth0/Config file to
*adhoc*. But I could not communicate to any other in the same way
configured laptop. Did I miss something?
2. There are to controable Paramters (LongRetryLimit, ShortRetryLimit)
in the /proc/aironet/eth0/Config file. From the IEEE 802.11 standard
Specification is looked up, that these paramters describe the maximum
retry number for short MAC packtes and long MAC packets. The values of
these paramters my range from 1 to 255.
- I could not find any paramter to control differentiation between long
and short packets. Does anybody know what the default assumption is
(e.g. all packets < 300 Byte are short packets)? Or is this paramter
coupled to the RTS-Threshold?
- For measurement reason I would like to switch of retransmissions
That is to say, a packet is only transmitted once and if there was a
transmission error, the packet won't be resent. This is left to the
higher layer protocols. Then I set LongRetryLimit or ShortRetryLimit to
the value 0, the Config file entries are reseted to the value 16. The
value 1 is the smallest value I can use. The device driver indicates
that the value 0 should not be a problem, so I guess that the entries
are somehow reset by the PCMCIA-Card default entries.
My questions are:
Is there a workaround for that (set value to zero)?
What is the semantic of the LongRetryLimit, ShortRetryLimit variables.
Does the value 1 means that the first send operation of a packet is
already counted as retransmission or only packet send retries are
counted as retransmissions?
What is the smallest supported retry count of the Aironet NIC at all?
3. What does *mok* means as the modulation scheme for higher
transmission rates? As I understand from the IEEE802.11b standard spec.
*cck* (Complementary Code Keying) is the standard conform modulation
scheme for high bit rates.
4. Can anybody point me to the right piece of code in the driver, there
the MAC packets are physically transmitted and there I can obtain the
status of the sent process (e.g. successful packet transmission,
successful packet transmission with x retries, unsuccessful tranmission)
5. The 5th and last question, regarding buffer management. As I
understand Linux there is a global packet queue (e.g. IP queue) from
which the packets are distributed to the device queues (e.g. aironet).
Could it happen, that a packet in the device queue will be overriden by
a packet from the global queue, because the device buffer is already
full. Is there another possibility there packets can be lost because of
the buffer management?
A stop for now. I apologies for the naiv questions in advance (remember
I'm novice in kernel programming). Would be good to get your feedbacks.