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