Linux wireless summit 2012

Nick Kossifidis mickflemm at gmail.com
Wed Nov 21 18:26:51 EET 2012


Hello ppl ;-)

Πάνε μερικά χρόνια απ' το τελευταίο μου report για το τι συμβαίνει στο
χώρο των ασύρματων δικτύων και την υλοποίηση των σχετικών πρωτοκόλλων
στο Linux (http://lists.ellak.gr/pipermail/open-source/2009-September/008720.html)
και χαίρομαι ιδιαιτέρως που μπορώ και πάλι να σας ενημερώσω για το τι
παίζει στον kernel, ποιες είναι οι εξελίξεις κλπ. Λυπάμαι που το έχω
αφήσει το πράγμα λίγο στη τύχη του αλλά όπως κι εσείς γνωρίζετε η
οικονομική κατάσταση δεν είναι και η καλύτερη οπότε και τα wireless
summits γινόντουσαν με αρκετά μικρές ομάδες και κυρίως στην Αμερική,
και το project έμεινε κάπως πίσω γενικά. Πλέον φαίνεται να
επανερχόμαστε σιγά σιγά και το τελευταίο μας summit που έγινε στα
πλαίσια του Linuxcon 2012 στη Βαρκελώνη είχε πολύ μεγάλη επιτυχία αφού
έφτασε τα 50 άτομα σε συμμετοχή, συμπεριλαμβανομένων των παιδιών που
δουλεύουν στο NFC και το Bluetooth subsystem. Είναι η πρώτη φορά που
είχαμε στη διάθεσή μας 2 δωμάτια για ομιλίες :P.

Με λίγα λόγια ότι ξεκίνησε να σχεδιάζεται το 2009 και θα βρείτε στη
τότε παρουσίαση του Jouni (βλ. link στο παραπάνω mail) αρχίζει πλέον
να αποδίδει και να βγαίνει στην αγορά. Ίσως να έχετε ήδη πετύχει τα
καινούρια 802.11ac/ad access points/routers κλπ οπότε θα μπω στο ψητό
κατευθείαν αναλύοντας λίγο περισσότερο τις διάφορες ιδέες/πρωτόκολλα
και που βρισκόμαστε τώρα γιατί σε λίγο με τα διάφορα 802.11 extensions
θα χάσετε τη μπάλα :P. Όπως ίσως θα έχετε διαπιστώσει τα extensions
του 802.11 έχουν πλέον 2 γράμματα όπως ac, ad, af κλπ και αυτό γιατί
πραγματικά ξεμείναμε από γράμματα ! Είχα κάνει μια σχετική αναφορά για
τα extensions του 802.11 στην ομιλία μου στη Fosscomm αλλά θα τα
ξαναγράψω μαζεμένα να υπάρχουν κι εδώ.


Note: Όπως καταλάβατε ακολουθεί "σεντόνι" ως συνήθως, αν έχετε όρεξη
πάρτε καφέ, τοστάκι και αράξτε, έχουμε μέλλον :P


802.11 hardware updates
-------------------------------------

Αρχικά έχουμε τα γνωστά 802.11a/b/g/n τα οποία είναι και αυτά που
βλέπετε συνήθως στα specs των καρτών γιατί είναι hardware-dependent
και άρα και ποιο γνωστά.

Το 802.11a αφορά την εκπομπή στα 5GHz σε διαμόρφωση OFDM (Orthogonal
Frequency Division Multiplexing), πρακτικά εκπομπή στα 5GHz με τα
γνωστά rates από 6 - 54Mb/s
Το 802.11b αφορά την εκπομπή στα 2.4Ghz σε διαμόρφωση CCK
(Complementary Code Keying), δηλαδή εκπομπή στα 2.4GHz με τα rates 1 -
11Mbit/s
Το 802.11g αφορά την εκπομπή στα 2.4Ghz σε διαμόρφωση CCK και OFDM,
δηλαδή 2.4GHz με όλα τα rates από 1 - 54Mbit/s και είναι και το ποιο
δημοφιλές πρωτόκολλο μέχρι στιγμής αφού χρησιμοποιείται από τα
περισσότερα laptops/access points κλπ.

Το 802.11n (το οποίο "εσωτερικά" το λέμε HT από το High Throughput)
περιέχει αλλαγές τόσο σε επίπεδο hardware όσο και σε επίπεδο software
οπότε είναι λίγο ποιο πολύπλοκο. Αρχικά θα έχετε δει πως ότι έχει να
κάνει με 802.11n υποστηρίζει ταχύτητες πάνω από 75Mbit/s και φτάνει
μέχρι 300Mbit/s. Με απλά λόγια το 802.11n χρησιμοποιεί τη τεχνολογία
MIMO (Multiple Input/Multiple Output) για να αυξήσει το SNR (Signal to
Noise Ratio) του link και να καταφέρει να εκπέμψει με μεγαλύτερη
"διαύγεια". Αν το παρομοιάσουμε με λαμπάκια εκεί που στα κλασσικά
a/b/g έχετε ένα λαμπάκι να αναβοσβήνει απ' τη κάθε πλευρά, στο 11n
έχετε μέχρι και 4 λαμπάκια να αναβοσβήνουν οπότε φαίνονται καλύτερα.
Δεν είναι κάτι το φοβερό, η ιδέα είναι σχετικά απλή, αντί να έχουμε 1
radio στις κάρτες έχουμε περισσότερα, τα οποία είναι συγχρονισμένα
μεταξύ τους και εκπέμπουν το ίδιο πράγμα (περισσότερες πληροφορίες εδώ
-> http://en.wikipedia.org/wiki/MIMO). Επίσης έχουμε και 2 modes
εκπομπής που αφορούν στο εύρος φάσματος του κάθε καναλιού (Bandwidth),
ένα στα 20MHz (δηλαδή όσο και στο a/b/g) και ένα στα 40MΗz όπου
πρακτικά διπλασιάζει το throughput των δεδομένων. Ως ορολογία θα δείτε
ότι μιλάμε για MIMO chains και όχι για αριθμό radios/κεραιών π.χ.
οπότε αυτό ίσως σας μπερδέψει. Αυτό γίνεται γιατί υπάρχουν διάφορες
τεχνικές beamforming που χρησιμοποιούν radios όχι ως μέρος του MIMO
αλλά για άλλες δουλειές, μπορεί π.χ. να δείτε κάρτες ή routers με 3
κεραίες να λένε ότι είναι 2x2 MIMO και όχι 3x3, η τρίτη κεραία (η
μεσαία) είναι για να κάνει λίγο ποιο έξυπνο το array των κεραιών, δε
συνεισφέρει σε bandwidth, ενώ μπορεί να έχουμε και ασύμμετρο MIMO (NxM
ΜΙΜΟ) όπου δίνεται έμφαση περισσότερο στην εκπομπή ή στη λήψη αλλά
τελικά να έχουμε τα rates και την ταχύτητα του χαμηλότερου συμμετρικού
συνδυασμού (π.χ. αν Ν < Μ, έχουμε τελικά τα rates του NxN ΜΙΜΟ). Ένας
άλλος λόγος που γίνεται αυτό είναι γιατί υπάρχει και η ιδέα αντί όλα
τα radios να εκπέμπουν το ίδιο πράγμα, στο μέλλον να έχουμε πραγματικά
ξεχωριστές ροές δεδομένων ακόμα και με διαφορετικές διαμορφώσεις
μεταξύ τους. Σκεφτείτε ποιο πολύπλοκες κωδικοποιήσεις όπου π.χ. έχουμε
ένα chain να μεταφέρει data σε κάποιο υψηλό rate με διαμόρφωση QAΜ
(Quadrature Amplitude Modulation -η διαμόρφωση που χρησιμοποιείται στα
υψηλά rates του OFDM-) και κάποιο άλλο (ή κάποια άλλα) να μεταφέρει
π.χ. parity σε κάποιο rate με διαμόρφωση QPSK (Quadrature Phase-Shift
Keying) ή κάποιο χαμηλότερο (και άρα ανθεκτικότερο στο θόρυβο) QAM
rate. Τέλος υπάρχει και το Guard Interval που πρακτικά πρόκειται για
ένα χρονικό περιθώριο στην εκπομπή των συμβόλων για να μην επηρεαστεί
η εκπομπή ενός συμβόλου από ανακλάσεις, καθυστερήσεις μετάδοσης,
διαθλάσεις (echo) κλπ της προηγούμενης εκπομπής. Έτσι έχουμε το
κλασσικό Guard Interval των 800ns που ισχύει και στα a/b/g αλλά έχουμε
και ένα μικρότερο GI στο 11n στα 400ns για τους τολμηρούς (short gi).

Επειδή ο πονοκέφαλος σε αυτή τη φάση είναι φυσικό επακόλουθο, υπάρχει
ένα ωραιότατο πινακάκι εδώ -> http://mcsindex.com/ που περιλαμβάνει
όλους τους τρόπους εκπομπής που περιλαμβάνονται στο πρότυπο. Τα λέμε
MCS (Modulation Coding Schemes) γιατί πλέον δεν αρκεί να λες απλά το
rate στο οποίο εκπέμπεις για να καταλάβει ο άλλος τις παραμέτρους
εκπομπής σου, έχεις να του πεις και όλα τα υπόλοιπα, οπότε για να
γίνει ποιο απλό το όλο σκηνικό υπάρχει αυτό το table και μιλάμε πλέον
για MCS indices. Θα διαπιστώσετε απ' το πινακάκι ότι το 11n πάει μέχρι
600Mbit και έχει πολλές και διάφορες διαμορφώσεις, μέχρι στιγμής το
hardware που κυκλοφορεί είναι μέχρι 3 chains και υποστηρίζει τα απλά
MCS indices (από 32 και κάτω) και όχι τα special. Με την έλευση των
καινούριων τεχνολογιών στο χώρο (βλ. παρακάτω) δε πιστεύω να δούμε τα
υπόλοιπα τμήματα του 11n να βγαίνουν στην αγορά, ίσως αν βγουν θα
είναι μόνο λόγω των 2.4GHz αλλά γενικά είναι μπελάς.

Τα παραπάνω εν το μεταξύ αφορούν μόνο στο τι γίνεται στο hardware :P
Στο software έχουμε ένα σχετικό "καθάρισμα" των headers και την
εισαγωγή του frame aggregation, δηλαδή της εκπομπής "με τη μια"
περισσότερων του ενός πλαίσια. Σκεφτείτε το σαν jumbo frames στο Wi-Fi
αλλά λίγο ποιο "έξυπνο". Περισσότερες πληροφορίες θα βρείτε εδώ ->
http://en.wikipedia.org/wiki/Frame_aggregation .

Είπα λοιπόν ότι έχουμε καινούριες τεχνολογίες πολύ ποιο όμορφες απ'
τον πανικό του 802.11n και ίσως ήδη αναρωτιέστε πόσο ποιο όμορφες. Με
απλά λόγια σκεφτείτε gigabit και μάλιστα μέχρι περίπου 7 !

Για αρχή μπορούμε να έχουμε περισσότερα chains, οπότε γιατί να
μείνουμε στα 4 που ορίζει το 11n ? Ας πάμε στα 8 ! Επίσης αρκετά πλέον
με τα 2.4GHz, όχι μόνο έχουμε τον άπειρο θόρυβο σε αυτή τη μπάντα
(αφού παίζουν και άλλα πράγματα εκεί εκτός του 802.11 + η ίδια η
μπάντα έχει περιορισμούς λόγω της φύσης των συγκεκριμένων η/μ κυμάτων
όπως π.χ. το γεγονός ότι απορροφάται περισσότερο απ' το νερό), έχουμε
και τον περιορισμό στον αριθμό των καναλιών, που δεν μας δίνει πολύ
χώρο για το εύρος τους. Έχουμε ήδη τα 5GΗz απ' το 802.11a οπότε ας
πούμε ότι πλέον παίζουμε στα 5 και ανοίγουμε ακόμα περισσότερο το
εύρος των καναλιών. Επίσης η τεχνολογία έχει προχωρήσει οπότε μπορούνε
να αυξήσουμε τα σύμβολα που περνάμε στο QAM constellation και να πάμε
σε QAM-256, ενώ έχουμε και ένα νέο κόλπο που λέγεται Multi user MIMO
(MU-MIMO). Με το MU-MIMO μπορούμε να έχουμε multiple access στο μέσο
οπότε σκεφτείτε ότι πολλά τερματικά μπορούν να μιλάνε ταυτόχρονα με το
AP και σε διαφορετικά rates, αυξάνοντας έτσι όχι μόνο την απόδοση αλλά
και το συνολικό throughput. Περισσότερες πληροφορίες για το MU-MIMO
εδώ -> http://en.wikipedia.org/wiki/Multi-user_MIMO .

Βάζουμε όλα τα παραπάνω μαζί και έχουμε το καινούριο 802.11ac το οποίο
γίνεται finalize τον Δεκέμβρη και έχουν ήδη αρχίσει να βγαίνουν στην
αγορά διάφοροι 802.11ac routers που υλοποιούν το pre-final draft
(δηλαδή ότι έχει μείνει πλέον είναι μικρές αλλαγές στο software). Το
11ac έχει εύρος καναλιού 80MHz μέχρι 160MHz στα 5GHz, υλοποιεί το
MU-MIMO, φτάνει μέχρι 256-QAM και γενικά τα σπάει ! :P Με ένα chain
μόνο φτάνουμε στα 160MHz περίπου 1Gb/s και κάθε chain αυξάνει άλλο
τόσο το throughput. Μπορείτε να δείτε τα καινούρια MCS  και
περισσότερες πληροφορίες για το 802.11ac εδώ ->
http://en.wikipedia.org/wiki/IEEE_802.11ac

Παράλληλα έχουμε και τις προσπάθειες του WiFi alliance gigabit group ή
αλλιώς του 802.11ad που προβλέπουν εκπομπή σε εσωτερικούς χώρους
(μικρής εμβέλειας γενικά) στα 60GHz με troughput που φτάνει μέχρι τα
7Gbit/s. Το καλό εδώ είναι ότι έχουμε πολύ χώρο στη μπάντα και
μπορούμε να έχουμε με ένα chain 7Gbit περίπου με OFDM, ενώ υπάρχει και
ένα single carrier mode το οποίο πάει μέχρι τα 4Gbit και
χρησιμοποιείται για power saving. Η ιδέα του 802.11ad είναι να περάσει
χύμα HDMI πάνω από Wi-Fi, το HDMI 1.0 χρειάζεται 4Gbit περίπου, ενώ το
1.3+ θέλει 10Gb/s (αλλά μπορεί να παίξει και compression κλπ) και γι'
αυτό το λόγο έχουν κάνει και license για το HDCP (οπότε αναμείνατε DRM
και λοιπές μαλακίες, ελπίζω στο firmware για να μη μπλέξουμε με binary
drivers). Επίσης στην ίδια λογική θα παίζει το wireless display port
όπου δουλεύουν από κοινού με την VESA. Περισσότερες πληροφορίες για το
11ad μπορείτε να βρείτε στο white paper ->
http://www.wirelessgigabitalliance.org/?getfile=1510&ei=zw6supf5m9sq4gsizyhyag&usg=afqjcnfp4ckju6w-n41ax7jmplgpppedzw
και στη wikipedia -> http://en.wikipedia.org/wiki/IEEE_802.11ad

Πηγαίνοντας ακόμα ποιο ψηλά και σε συχνότητες και σε ταχύτητα, έχουμε
το 802.11aj ή China Milli Meter Wave (CMMW) όπου παίζει στις μπάντες
45 και 59 - 64GHz, στοχεύει και αυτό σε αρκετά Gb throughput και τώρα
ξεκινάει, ενώ πηγαίνοντας ποιο χαμηλά σε συχνότητες και σε ταχύτητα
έχουμε το 802.11af που αφορά το TV White Spaces Operation, δηλαδή την
εκπομπή σε συχνότητες που χρησιμοποιούνταν για τηλεοπτικές εκπομπές
και έμειναν κενές με τη μετάβαση στη ψηφιακή τηλεόραση ή γενικά που
δεν έχουν δοθεί για χρήση και είναι διαθέσιμες (μεγάλη κουβέντα για το
regulatory control, το βλέπω να τραβιόμαστε). Κάτω απ' το 1GHz έχουμε
το 802.11ah που αφορά sensor networks και στα 5GHz αλλά με εύρος
καναλιού 5 και 10MHz έχουμε το 802.11p ή Wireless Access for the
Vehicular Environment (WAVE) που πρόκειται για ένα πρωτόκολλο για την
επικοινωνία των αυτοκινήτων μεταξύ τους και με το οδικό δίκτυο
(διόδια, φανάρια κλπ) και πιθανότατα να το χρησιμοποιείτε ήδη (το
standard ή κάποιο pre-final draft) σε κάποιο e-pass ή αντίστοιχο
μαραφέτι.

Τέλος έχουμε το 802.11y το οποίο αφορά την εκπομπή στη μπάντα των 3.6
- 3.7GHz στις Η.Π.Α.


802.11 software updates
------------------------------------

Στο softwareικό (η τέλος πάντων ποιο softwareικό -γιατί αρκετά από
αυτά υλοποιούνται και στο firmware ή πάνω στο chip οπότε ίσως να
θέλουμε και hw updates) κομμάτι του 802.11 έχουμε επίσης εξελίξεις.

Ξεκινάμε με το P2P ή αλλιώς Wi-Fi Direct και 802.11z (ότι να ναι,
έχουμε και τα ονόματα της IEEE και τα ονόματα του Wi-Fi Alliance και
γίνεται το μπλέξιμο :P). Πρόκειται στην ουσία για έναν νέο τρόπο
απευθείας σύνδεσης μεταξύ των τερματικών με ή χωρίς τη χρήση AP. Όταν
έχουμε κάποιο AP και είναι διάφοροι συνδεδεμένοι επάνω του, αν θέλουμε
να μεταφέρουμε δεδομένα μεταξύ δυο clients, με το συγκεκριμένο
πρωτόκολλο παρακάμπτουν ουσιαστικά το AP, γλυτώνοντας έτσι την extra
καθυστέρηση και απελευθερώνοντας το AP για να εξυπηρετήσει καλύτερα
τους υπόλοιπους. Δεν είναι τόσο εύκολο όσο ακούγεται αν σκεφτείτε ότι
για να γίνει αυτό σωστά πρέπει να το γυρίσουν σε άλλο κανάλι
(off-channel communication) για να μην επηρεάζουν τους υπόλοιπους, ενώ
υπάρχει και το tunneled setup στο οποίο δε χρειάζεται καν να υπάρχει
AP και τα τερματικά συνδέονται απευθείας μεταξύ τους (σκεφτείτε π.χ.
δυο κινητά να το χρησιμοποιούν αντί για bluetooth), αφού μεταφέρουν
ένα WPA key μέσω του Wireless Protected Setup ή WPS. Το WPS λογικά θα
το έχετε δει στα καινούρια ADSL2+ routerια, που έχουν ένα κουμπί από
πίσω που το ενεργοποιεί και έχει και στο menu επιλογή για να ορίσεις
το pin κλπ (γίνεται και με pin και χωρίς, γενικά είναι τρύπα αν δε
στηθεί σωστά), πρόκειται ουσιαστικά για έναν γρήγορο τρόπο σύνδεσης
χωρίς να βάλει κάποιος τα κλειδιά ή το passkey με το χέρι αλλά κάτι
πολύ minimal όπως ένα pin ή το πάτημα ενός κουμπιού (software ή
hardware δεν έχει σημασία, ας πούμε καλύτερα το handling ενός event)
ταυτόχρονα (ή τέλος πάντων με μικρή χρονική διαφορά) στις δυο
συσκευές. Ενδεχομένως να ακούσετε το WiFi Direct σύντομα, όχι μόνο σε
routeria αλλά και στο open wireless movement ή το freedombox αφού
είναι μια αρκετά καλή λύση για να συνδεθεί κάποιος σε ένα public AP με
credentials που θα μπορούν π.χ. να φτιάχνονται εκείνη τη στιγμή με το
πάτημα του "κουμπιού" διατηρώντας μια public αλλά ταυτόχρονα
κρυπτογραφημένη (τουλάχιστον στο κομμάτι του Wi-Fi) σύνδεση.
Περισσότερες πληροφορίες για το WiFi Direct μπορείτε πάντα να βρείτε
στη wikipedia -> http://en.wikipedia.org/wiki/Wi-Fi_Direct ενώ στο
wiki μας θα βρείτε περισσότερες πληροφορίες για το userspace API (για
όσους θέλουν να παίξουν) και ένα minimal howto για να το δοκιμάσετε
στο linux -> http://wireless.kernel.org/en/developers/p2p/howto .

Η ιδέα του γρήγορου setup του link επίσης προχωράει με αλλαγές στο
τρόπο σάρωσης των APs και διάφορα άλλα κόλπα που αφορούν το under
development 802.11ai, ενώ έχουμε και το Wi-Fi Passpoint το οποίο
αποτελεί ένα καινούριο τρόπο σύνδεσης σε Hotspots χωρίς τη χρήση
captive portals αλλά με ανταλλαγή credentials από διάφορες πηγές όπως
username/password, certificates, τη sim/usim του κινητού κλπ. Γενικά
σκεφτείτε ένα WPA enterprise που ο χρήστης δε χρειάζεται να κάνει
σχεδόν τίποτα και ως σενάριο σκεφτείτε τη χρήση του σε Hotspots σε
αεροδρόμια, καφετέριες κλπ όπου παίζουν πολλοί roaming providers. Πας
π.χ. στο αεροδρόμιο και η Wind ας πούμε ή η Vodafone έχουν βάλει ένα
κλειδί στη sim σου με το οποίο μπαίνεις κατευθείαν στο wi-fi χωρίς να
περάσεις από captive portal, μένοντας στο δικό τους IP δίκτυο με το
δικό τους accounting κλπ. To passpoint κάνει overlap και με άλλα
extensions όπως το 802.11u που αφορά την συνεργασία wi-fi με άλλα
δίκτυα όπως δίκτυα έκτακτης ανάγκης (με ανακοινώσεις κλπ) έτσι π.χ. τα
hotspots αυτά δεν θα ανακοινώνουν το κλασσικό SSID αλλά ο κάθε
provider θα ανακοινώνει το δίκτυό του μέσω του Generic Advertisement
Service (GAS) που ορίζεται στο 802.11u. Βάλτε στην όλη φάση και το
roaming μεταξύ των hotspots και πάρτε και ένα βιντεάκι απ' το Wi-Fi
Alliance να γουστάρετε -> http://www.youtube.com/watch?v=hw2Z6OuNQE4
και περισσότερα για το 802.11u εδώ ->
http://en.wikipedia.org/wiki/IEEE_802.11u .

Στο κομμάτι της ασφάλειας έχουμε το 802.11w ή αλλιώς Protected
Management Frames, με απλά λόγια αν δεν έχουμε κρυπτογράφηση και
γενικώς "προστασία" των management frames στο 802.11 (τα management
frames είναι π.χ. τα beacons, τα probe requests/responds κλπ, όχι τα
control frames όπως ACK -το λέω γιατί την πάτησα σε κάποια φάση :P-)
μπορεί κάποιος να μας κάνει deauth attacks και διάφορα άλλα κόλπα.
Επίσης υπάρχει και το 802.11ae, όπως είναι το 802.11e για QoS σε data
frames αλλά για τα management frames (περιλαμβάνει και προστασία από
flooding) το οποίο μεταξύ άλλων αλληλεπιδρά με το 802.11v (Wireless
Network Management) που είναι ένα extension στο οποίο "πετάξαν" μέσα
ότι ιδέες είχαν για monitoring και management του δικτύου (π.χ. να
ανακοινώνονται όλα τα SSIDs του AP σε ένα beacon)και την αξιοποίηση
των σχετικών μηχανισμών σωστά για να μη κάνει ο κάθε vendor τα δικά
του. Μιλώντας δε για QoS, υπάρχει το 802.11aa που αφορά σε
τροποποιήσεις στο MAC  για καλύτερη αποστολή streaming δεδομένων (π.χ.
χωρίς acks).

Τέλος το αγαπημένο μου feature ή τέλος πάντων αυτό που γούσταρα
περισσότερο απ' την όλη κουβέντα/παρουσίαση του Jouni είναι το
Miracast ! Το Miracast ή Wi-Fi Display είναι ένα software based
πρωτόκολλο το οποίο κάνει stream video και audio πάνω από Wi-Fi (11n
και πάνω σε ταχύτητα αλλά λογικά μπορεί να παίξει και με τα
προηγούμενα αλλά σε μικρές αναλύσεις -δεν το έχω ψάξει αυτό το κομμάτι
ακόμα-) σε output devices όπως TV, Projectors, Hi-Fi συστήματα κλπ.
Σκεφτείτε τη τελευταία φορά που ψάχνατε για adaptor ή καλώδιο για να
συνδέσετε το laptop σας σε κάποιο projector για κάποια παρουσίαση ή
για να συνδέσετε το laptop/pc σας με μια Τηλεόραση για να παίξετε
κάποια ταινία. Τώρα ξεχάστε το γιατί σε λίγο θα είναι παρελθόν, βάλτε
κάτω το Wi-Fi Direct, τις υψηλές ταχύτητες του 11n, 11ac, 11ad κλπ, το
βελτιωμένο QoS και όλα τα σχετικά καλούδια που είπαμε παραπάνω και
έχετε το Miracast, τα λόγια είναι περιττά, δείτε το στη πράξη με το
καινούριο Samsung Galaxy και γενικά τις καινούριες εκδόσεις του
Android -> http://www.youtube.com/watch?v=EqZHhBAd1j0 και μα λίγη
βοήθεια απ' το video acceleration της NVIDIA (το Miracast αφορά video
streaming, δεν είναι σαν το wireless display port κλπ που αφορούν raw
output απ' τη κάρτα γραφικών, δεν περνάει opengl κλπ, πρέπει να τα
κάνετε video encode για να τα στείλετε, γι' αυτό και το videάκι απ' το
κινητό είναι λίγο αργό στο ui) ->
http://www.youtube.com/watch?v=b52zqNIeQso (θα μπορούμε λογικά να
κάνουμε κάτι αντίστοιχο με το VAAPI και για τις υπόλοιπες κάρτες).


802.11 Overview + Linux status report
-------------------------------------------------------

Επειδή σε αυτό το σημείο θα έχετε βαρεθεί να διαβάζετε, πάρτε μια
λίστα με όλα τα 802.11 extensions και τι είναι το καθένα, για να τα
έχετε κάπου μαζεμένα...

IEEE standards:

802.11a (5GHz OFDM)*
802.11b (2.4GHz CCK)*
802.11d (Country information element)*
802.11e (Wireless multimedia)*
802.11g (2.4GHz OFDM/CCK)*
802.11h (Radar detection / DFS)
802.11i (Wireless Security)**
802.11j (Regulatory control)*
802.11k (Radio resource measurement)
802.11n (High Throughput)*
802.11p (Wireless access for the vehicular environment)
802.11r (Fast roaming)**
802.11s (Wireless Mesh)*
802.11u (InterWorking with external networks)~
802.11v (Wireless Network Management)
802.11w (Encrypted management frames)
802.11y (3.6 – 3.7GHz -USA)
802.11z (Direct link setup)~
802.11aa (Video transport)
802.11ac (Very high throughput < 6GHz)~
802.11ad (Very high throughput 60GHz)~
802.11ae (Prioritization of Management Frames)
802.11af (TV White space operation)
802.11ah (Sub 1GHz sensor networks)
802.11ai (Fast initial link setup)
802.11aj (China Milli Meter Wave)

Wi-Fi alliance certifications:

Wi-Fi Direct~
Tunneled Direct Link Setup (TDLS) -> 802.11z
WMM-Admission control -> 802.11e
Voice-Enterprise -> 802.11k + 802.11r
Passpoint~
Miracast~

Legend:
* -> Kernel support
** -> wpa_supplicant/hostapd support
~ -> Partially implemented/basic support

Για το 11ac αναμένουμε τις καινούριες κάρτες να σκάσουν σύντομα και η
δουλειά στο protocol stack/configuration API/regulatory control κλπ
προχωράει με πολύ καλούς ρυθμούς, ενώ για το 11ad έχουμε ήδη τον πρώτο
driver under review
(http://wireless.kernel.org/en/users/Drivers/wil6210). Για το Wi-Fi
Direct θέλουμε ακόμα δουλειά στο off-channel operation και το power
saving, για το Passpoint πρέπει να ξεκαθαρίσουμε κάποια πράγματα όσον
αφορά το πώς και το πότε θα κάνουμε συγκεκριμένα operations
(ουσιαστικά πρέπει να δουλέψουμε το UI) και να ολοκληρωθεί απ' ότι έχω
καταλάβει το 11u support, ενώ για το Miracast υπάρχουν τα εργαλεία
όσον αφορά το API που παρέχονται απ' το wpa_supplicant αλλά πρέπει να
γράψουμε τον stream manager και ουσιαστικά μας λείπει το userspace
application/library που θα κάνει τη δουλειά (ψήνομαι να ασχοληθώ με το
συγκεκριμένο θέμα, σκεφτόμουν να αρχίσω να δουλεύω ένα gstreamer sink
για δαύτο και να πάρω ένα device που θα παίζει με Miracast και θα
είναι certified και συγκεκριμένα αυτό εδώ ->
http://www.netgear.com/home/products/hometheater/media-players/PTV3000.aspx
αλλά είμαι ταπί οπότε άκυρο για την ώρα).


Άλλα νέα
--------------

Εκτός απ' τις εξελίξεις στο πρωτόκολλο έχουμε και τα groups που
δουλεύουν στο Bluetooth και το NFC και πάνε αρκετά καλά. Αυτό που
απασχολεί την ομάδα του Bluetooth αυτό το καιρό είναι το AMP που είναι
κομμάτι του Bluetooth 3 και πρακτικά σημαίνει ότι όταν θες να στείλεις
πολλά δεδομένα μέσω bluetooth και οι συσκευές έχουν wi-fi, γυρίζεις
στο wi-fi για το μεταξύ σας Link. O.K.αν η συσκευή που έχει bluetooth
και wi-fi μαζί αλλά αν είναι ξεχωριστές συσκευές τι γίνεται ? Γενικά
είναι πολύ μπλέξιμο (και χωρίς ιδιαίτερο λόγο μιας και έχουμε το WiFi
Direct αλλά τέλος πάντων) αλλά έχουν μια υλοποίηση under development
που την λένε SoftAMP και το παλεύουν. Η ομάδα του 802.11s της Cozybit
έχουν προχωρήσει πολύ με την υλοποίηση του 802.11aa πάνω σε mesh και
το demo που μας έδειξαν ήταν πολύ καλή φάση (εκεί που το video κόλλαγε
συνέχεια λόγω packet loss, με το 11aa έπαιζε σχεδόν κομπλέ), ενώ
επίσης έχουν βελτιώσει αρκετά το power saving κομμάτι αφού μας έδειξαν
2 κινητά που το ένα μέχρι το τέλος της παρουσίασης είχε φάει την
άπειρη μπαταρία, ενώ το άλλο πήγαινε πολύ καλύτερα.

Συζητήθηκε επίσης και το θέμα του bufferbloat στο wi-fi. Για όσους δεν
γνωρίζουν το bufferbloat πρόκειται για ένα φαινόμενο που προκαλείται
από excessive buffering στο δίκτυο, που σε συνδυασμό με τις FIFO ουρές
και το TCP congestion control μπορεί να κάνει τη κατάσταση μιας
σύνδεσης απαράδεκτη (περισσότερες πληροφορίες εδώ ->
http://en.wikipedia.org/wiki/Bufferbloat). Πρόσφατα σχετικά υπήρξε ένα
πολύ σημαντικό breakthrough το οποίο σχεδόν λύνει το πρόβλημα, ο λόγος
για το CoDel, περισσότερες πληροφορίες για το οποίο θα βρείτε εδώ ->
http://www.theregister.co.uk/2012/05/09/bufferbloat_and_codel/ και εδώ
-> http://www.bufferbloat.net/projects/codel/wiki . Το CoDel λοιπόν
είναι ένας αλγόριθμος ενεργής διαχείρισης των ουρών (Active Queue
Management ή AQM) που έχει ήδη αρχίσει να παίζει στον πυρήνα και σε
αρκετούς network drivers. Στο wireless όμως έχουμε θέματα, ειδικά όσο
ανεβαίνουν οι ταχύτητες (όπου εκεί πλέον το φαινόμενο γίνεται αρκετά
αισθητό) δεν έχουμε κάποιο καλό τρόπο να διαχειριστούμε τη κατάσταση
γιατί το πρωτόκολλο είναι αρκετά ποιο πολύπλοκο απ' το Ethernet. Έγινε
πολύ κουβέντα στο θέμα και μπορείτε να δείτε και τη σχετική παρουσίαση
στο wiki μας (http://www.teklibre.com/~d/bloat/Not_every_packet_is_sacred-Battling_Bufferbloat_on_wifi.pdf),
γενικά το πράγμα πάει καλά και θα γίνουν αρχικά κάποιες αλλαγές στον
αλγόριθμο του rate control (Minstrel), ο οποίος έχει ήδη support για
11n απ' τον Felix (πολύ καλή δουλειά), οπότε είμαστε σε καλό δρόμο.

Τέλος κουβεντιάσαμε για το πώς χρησιμοποιούμε τα διάφορα APIs και ο
Jouni τα ψιλοπήρε γιατί τα παιδιά του Conman χρησιμοποίησαν κάτι απ'
το internal API του wpa_supplicant και τα έμπλεξαν και γενικά
ξεκαθαρίσαμε κάποια πράγματα για τη συνέχεια και το μέλλον του όλου
project (έχουμε μάλλον θέμα με το ποιος θα αναλάβει το release
management του wpa_supplicant γιατί η "συμφωνία" είναι ότι κάθε
κάμποσο θα το παίρνει άλλος, αλλά μάλλον θα συνεχίσει η Intel και θα
αλλάξει λίγο το πρόγραμμα των releases). Εγώ ρώτησα τι θα κάνουμε με
τις μαλακίες που παίζουν με το RFKill γιατί διάφοροι κατασκευαστές τα
έχουν κάνει στα laptop μαντάρα και αρκετοί platform drivers δεν κάνουν
σωστά assign τα ACPI events για το RFKill με αποτέλεσμα η κάρτα WiFi
να φαίνεται μονίμως hard blocked. Το πρόβλημα το λύσαμε κάπως στον
ath5k με ένα module option αλλά άλλοι drivers δεν παρέχουν τέτοιο
workaround. Πρότεινα λοιπόν να δώσουμε σε επίπεδο cfg80211 ένα τρόπο
να κάνουμε disable το rfkill για τις κάρτες αλλά τελικά το
κουβεντιάσαμε και δε βγαίνει σωστά γιατί κάποιες κάρτες όντως έχουν
hardware switch οπότε είναι όντως hard blocked και δε πρόκειται για
μαλακία του platform driver, ενώ θα είχαμε προβλήματα και με το
regulatory control. Καταλήξαμε έτσι πως ότι δούμε να ανοίγουμε bug
reports για τον platform driver και να το αναλαμβάνουν αυτοί, είναι
overhead αλλά στη τελική δικό τους είναι το bug.

Γενικά η ομάδα μας παραμένει αρκετά δεμένη και μεγαλώνει συνεχώς και
ως παρέα και όσον αφορά το project και χαίρομαι ιδιαίτερα για τις
εξελίξεις στον χώρο, το summit φέτος ήταν πολύ παραγωγικό και ελπίζω
να είναι και του χρόνου το ίδιο καλή φάση (αν και μάλλον θα γίνει Νέα
Ορλεάνη οπότε αν δε βρω sponsorship/funding θα το χάσω πάλι). Ήπιαμε
τις μπύρες μας, φάγαμε παέλια και όλα τα σχετικά και γενικά τη
καταβρήκαμε.

Ως συνήθως είμαι στη διάθεσή σας για ότι ερωτήσεις έχετε σχετικά με το
WiFi στο Linux και μπορείτε πάντα να δείτε τις παρουσιάσεις στο wiki
μας -> http://wireless.kernel.org/en/developers/Summits/Barcelona-2012
. Θα βρείτε εκεί και τη δικιά μου παρουσίαση για τα κοινοτικά ασύρματα
δίκτυα και το Confine project (στο οποίο το AWMN συμμετέχει ενεργά)
για το οποίο είμαι επίσης στη διάθεσή σας για ότι ερώτηση κλπ έχετε.


Καλά να περνάτε και καλό hacking ;-)



-- 
GPG ID: 0xEE878588
As you read this post global entropy rises. Have Fun ;-)
Nick


More information about the Hellug mailing list