Wi-Fi ir obuolio bugai

Posted: 2014-11-17 in Pezalai
Žymos:, , ,

Mac OS X Obuolys Wi-Fi fail | Darau, blėNeseniai rašiau apie bevielio tinklo tiuningus ir pats sugebėjau ant tų tiuninimų keistenybių užsiraut. Ir dar tokį neblogą OS X bugą iškapsčiau, kad sėdžiu apakęs ir savam kaily netveriu. Nu tokiems kreperiams* nagus nukapot, už kiaušų pakart ir klaviatūrą apspjaudyt.

Šiaip apskritai man OS X ir Mac patinka. Kartais, tiesa, netikėtai nustebina, bet vis tiek patinka. Kažkada netgi bandžiau įsigilinti, už ką mes ten permokame Macus pirkdami. Pasirodė, kad nepermokame, tiesiog jų produktų ratas siauras ir gerai suderintas. Ir stebėtingai gerai suderintas.

Bet šįkart ne apie meilę ar nemeilę obuoliams, o apie vieną subtilybybę, kurią užtikau visai netyčiukais.

Seniai jau mano pagrindinis naminis maršrutizatorius sėdėjo ant trylikto kanalo ir viskas buvo gerai. Tada parsinešiau namo eksperimentinę prototipinę plokštę su eksperimentine prototipine programine įranga ir pasidėjau, kaip antrą bevielio tinklo tašką 5 GHz diapazonui. Viskas liuks, važiuoja puikiai, sukasi. Na, kartais užlinksta, kartais nulūžta, kartais tiesiog nurezetinti reikia.

Ale va, turi bjaurybė vieną keistą bugelį — kai vienas kuris naminis įrenginys pradeda intensyviai naudotis tinklu, kitiems kažkaip nelieka. Įtariu, kad kažkas ten su resursų paskirstymu ne visai gerai. Sakykim, medijos centras groja filmą iš NAS serverio per eterį, tai kiti įrenginiai pajunta ženklų tinklo sulėtėjimą — nors resursų dar per akis. O dar blogiau, jei iš viso koks stryminimo protokolas pradeda eiti… na, prototipinė plokštė visgi, nėra ko norėt, iki produkto dar toloka.

Tai vieną vakarą žmonikė ir išreiškė nepasitenkinimą, kad Wi-Fi nevalina. Nu, sakau, junkis prie senojo, aš, va, irgi juo naudojuosi. Ok. Žmonikės rankose (tiksliau, ant kelių) Mac skreitinukas, bando ji persijungt. Sako, tai kad jo nėr. Kaip tai, blė, nėr? Nu, nėr. Pasižiūriu, paleidžiu netgi iš terminalo airport -s, bet vis tiek nėr. Aišku, terminalas — tai ne panacėja, kodėl gi ta komanda turėtų daugiau parodyt, nei gražus paišytas sąrašėlis…

Nėr, žodžiu, dingo mūsų bevielis tinklas. Pasileidžiu sistemos informacijos komandžikę. Susirandu bevielį adapterį. O jis, jopšikmat, sako, kad jo šalies kodas US ir Wi-Fi kanalai 2,4 GHz ruože tik nuo pirmo iki vienuolikto.

Čia man jau biškį kirto per stogą. Pirmas dalykas, iš kur tas US? Antras dalykas, kodėl seniau veikė, o dabar nebe? Trečias dalykas, kokie idiotai sugalvoja riboti kanalus kompiuteriui, kaipo klientui? Aš suprantu, kad prieigos taškai turi būti apribojami pagal šalis, bet kompiuterių vidinės plokštės?

Toliau, aišku, sekė paieškos internetuose, kaip Mac ten šalis savo plokštėms nustatinėja, kas per ribojimai yra, gal iš viso amerikoniškos plokštės yra ribotos… bet nesąmonė, seniau taigi veikė! Turi būt kažkas…

Atkapsčiau, žinokit. Likau taip apakęs, kad tikrai trūksta žodžių. Esmė trumpai tokia: OS X kažkur giliai pradeda ieškoti aplinkui bevielių tinklų. Regis, pirmiausia 5 GHz ruože ir į priekį iššoka lyg ir geriausią signalą turintis tinklas. Na, gal ir logiška. Maršrutizatoriai, beje, savo beacon’uose įsiuva ir nustatytą šalies kodą. Ir va čia yra didžiulis OS X bugas.

Bevielio tinklo šalis ir ribojimai nustatomi pagal pirmo aptikto bevielio tinklo šalį. A jaučiat nesąmonę?

Štai mano airport -s rezultatas:

obuolys:~ sp$ airport -s
                            SSID BSSID             RSSI CHANNEL HT CC SECURITY (auth/unicast/group)
                               I 70:XX:XX:XX:77:XX -54  44,+1   Y  US WPA2(PSK/AES,TKIP/TKIP) 
                     Gintariniai XX:XX:XX:XX:XX:XX -84  9,-1    Y  -- WPA2(PSK/AES/AES) 
                           dlink XX:XX:XX:XX:XX:XX -52  6       N  -- WPA2(PSK/TKIP/TKIP) 
                        Bastunai XX:XX:XX:XX:XX:XX -81  5,+1    Y  -- WPA2(PSK/AES/AES) 
                  TP-LINK_EB6D6C XX:XX:XX:XX:XX:XX -83  4,+1    Y  -- WPA2(PSK/AES/AES) 
                            ASUS XX:XX:XX:XX:XX:XX -73  1       Y  GB WPA2(PSK/AES/AES) 
                   Cgates_647020 XX:XX:XX:XX:XX:XX -68  9,-1    Y  -- WPA(PSK/AES,TKIP/TKIP) WPA2(PSK/AES,TKIP/TKIP) 

Taip, pirmoj vietoj kabo bevielis tinklas su US kodu. O sistemos profilyje rodoma va tokia informacija apie tinklo plokštę:

  Interfaces:
en1:
  Card Type:	AirPort Extreme  (0x14E4, 0x8C)
  Firmware Version:	Broadcom BCM43xx 1.0 (5.10.131.36.16)
  MAC Address:	XX:XX:XX:XX:XX:XX
  Locale:	FCC
  Country Code:	US
  Supported PHY Modes:	802.11 a/b/g/n
  Supported Channels:	1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140
  Wake On Wireless:	Supported
  Status:	Connected

Vienas geras dalykas — čia mano paties tinklas. T.y. mano eksperimentinėje prototipinėje plokštėje nustatyta Amerika. Kažkodėl. Gal kokiam testavimui, bbž. Prisijungiu prie maršrutizatoriaus ir patikrinu:

root@keptuve:~# uci show wireless|grep US
wireless.radio0.country=US
wireless.radio1.country=US
root@keptuve:~#

Taip, tikrai US. Keičiu į LT. Perstartuoju servisus. Palaukiu. airport -s rodo jau LT. Ir rodo dar vieną tinklą — mano paties „pamestą“ tinklą su nustatytu 13 kanalu:

obuolys:~ sp$ airport -s
                            SSID BSSID             RSSI CHANNEL HT CC SECURITY (auth/unicast/group)
                               I 70:XX:XX:XX:77:XX -52  44,+1   Y  LT WPA2(PSK/AES,TKIP/TKIP) 
                     Gintariniai XX:XX:XX:XX:XX:XX -83  9,-1    Y  -- WPA2(PSK/AES/AES) 
                        Bastunai XX:XX:XX:XX:XX:XX -81  5,+1    Y  -- WPA2(PSK/AES/AES) 
                  TP-LINK_EB6D6C XX:XX:XX:XX:XX:XX -83  4,+1    Y  -- WPA2(PSK/AES/AES) 
                 groupB6-default XX:XX:XX:XX:XX:XX -62  1       N  US WPA2(PSK/AES/AES)
                            ASUS XX:XX:XX:XX:XX:XX -71  1       Y  GB WPA2(PSK/AES/AES) 
                   Cgates_647020 XX:XX:XX:XX:XX:XX -66  9,-1    Y  -- WPA(PSK/AES,TKIP/TKIP) WPA2(PSK/AES,TKIP/TKIP) 
                           farai XX:XX:XX:XX:XX:XX -63  13,-1   Y  -- WPA2(PSK/AES,TKIP/TKIP) 
                           dlink XX:XX:XX:XX:XX:XX -50  6       N  -- WPA2(PSK/TKIP/TKIP) 
obuolys:~ sp$

Plokštės informacija rodoma dabar jau su LT kodu ir papildomais dviem kanalais:

  Interfaces:
en1:
  Card Type:	AirPort Extreme  (0x14E4, 0x8C)
  Firmware Version:	Broadcom BCM43xx 1.0 (5.10.131.36.16)
  MAC Address:	XX:XX:XX:XX:XX:XX
  Locale:	FCC
  Country Code:	LT
  Supported PHY Modes:	802.11 a/b/g/n
  Supported Channels:	1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140
  Wake On Wireless:	Supported
  Status:	Connected

Joptvairogės, kaip šitaip galima? Kokia logika nustatinėti tinklo ribojimus pagal pirmą aptiktą tinklą? Tai gerai, kad čia mano maršrutizatorius buvo sudurniavęs. Bet sąraše ir dar vienas US yra, kažkurio kaimyno. Gerai, kad ne pirmas sąraše. O tai įsivaizduokit, jūsų maršrutizatorius automatiškai arba jūsų paties nustatytas „sėdi“ europiniame kanale. Kaimynas parsineša naują maršrutizatorių, kuriame kažkaip nustatyta Amerika, įjungia jį… ir jūs staiga nebematote savo tinklo. Dingsta jis.

Teoriškai tokia galimybė maža. Ir man čia juokingai gavosi su savo paties tinklu. Bet OS X sprendimas nustatinėti tinklo plokštės šalį ir apskritai riboti prisijungimą prie tinklo su „neteisingu“ kanalu yra absurdiškas. Galėtų riboti pagal regioninius kompiuterio nustatymus. Pasirinkai gimtąjį miestą Vilnių (nes Kauno, aišku nėr, tik sostinės ten visokios) ir turi europinius tinklus. Šiaip prisikasiau, kad naujesniuose Mac modeliuose yra ir pagal regioninius nustatymus kažkas ribojama. Bet kad šitaip…

Patvirtinta su Mavericks ir Yosemite. Būkite budrūs.

*Kreperis — angl. crapper, mėšlą, t.y. šūdą kodijantis programuotojas, kuriam dar paaugti reikia. Nors kai kurie taip ir lieka kreperiais.

Komentarai
  1. Siaubas parašė:

    Aš vis dar neapsisprendžiu, ar obuoliai pastaruoju metu pametė kamuolį ir pradėjo daryti broką, ar jie visą laiką feilino, tik anksčiau jiems buvo paprasčiau tai maskuoti.
    Ką pats manote apie tai?

    • Darau, Blė parašė:

      Čia labai jau platus ir filosofinis klausimas… jis dar ir nuo asmeninio skonio priklauso. Vienam viskas baisiai gerai ir nuo kiekvieno obuoliuko jogurtai bėga, o kiti visa tai vadina šūdu. Aš kažkur per vidurį.

      Šiaip, jeigu rimtai, tai nepaisant visų heiterių ir kitų bambeklių, Apple tebedirba labai įdomia ir vertinga kryptimi. Kiek tame vis dar pakešuota a.a. Jobso idėjų, o kiek sukuriama be jo — nėra aišku ir niekas to nepasakys. Kai kurios įmonės sugeba išlaikyti kelią ir tradiciją be atitinkamų žmogiškų vienetų — kad ir Microsoft be Bilo vis tiek yra pilnavertė Microsoft. Ar Apple spėjo iki to lygio pakilti — lieka mįsle, bet tas pasimatys turbūt per kokius 5 metus. Norėčiau, kad jau būtų spėję.

      Dėl to, ką Apple „maskuoja“ ar „feilina“, tai galima pagalvoti. Sakykim, jei ką nors sako, tai į jų sistemą sąlyginai neseniai integruota „Timer coalescing“ fyčia Windauzuose ir Linuxe gyvuoja jau seniausiai — atrodo, DAFUQ. Bet iš kitos pusės buvo kur kas labiau koncentruotasi į sistemos išvaizdą, vientisumą ir stabilumą. Va ir galvok, ar galutiniam vartotojui svarbiau sutaupyti abejotini 5% batareikos, ar tai, kad sistema veikia taip, kaip parašyta?.. Be to, kas įdomu, pergyvenau penkis sistemos atnaujinimus su senu kompu ir nė karto nepajutau jokių šalutinių efektų (išskyrus kelis draiverius) ir kompas vis pagreitėdavo — bent tam kartui. Matyt, šiukšles prasimėžia atsinaujinimo metu pakankamai teisingai. Kadangi tai yra patogu ir malonu, tai bbd aš ant tų kelių batareikos procentų.

      Kol kas mane tenkina ir OS X / Mac platforma mane tebedžiugina. Kai mano dabartinis pagrindinis obuolys nusibaigs, be dvejonės imsiu kitą. O ar imsiu dar kitą — parodys laikas. iOS man nepatiko nuo pat pradžių ir šia sistema pagrįstų įrenginių mano namuose nebus.

      O štai ši problema, kurią iškapsčiau, yra labai jau specifinė ir jos sprendimas iš dalies netgi yra teisingas: bet kurioje šalyje visi maršrutizatoriai turėtų būti sukonfigūruoti teisingai. Tad ir pirmas aptiktas tinklas turėtų būti geru indikatoriumi. Deja, jei kaimynas netyčia iškrės pokštą, arba (mano atveju) eksperimentinis softas nusimuš — nu, nuo šito niekas neapsaugotas.

Parašykite komentarą

Įveskite savo duomenis žemiau arba prisijunkite per socialinį tinklą:

WordPress.com Logo

Jūs komentuojate naudodamiesi savo WordPress.com paskyra. Atsijungti /  Pakeisti )

Google photo

Jūs komentuojate naudodamiesi savo Google paskyra. Atsijungti /  Pakeisti )

Twitter picture

Jūs komentuojate naudodamiesi savo Twitter paskyra. Atsijungti /  Pakeisti )

Facebook photo

Jūs komentuojate naudodamiesi savo Facebook paskyra. Atsijungti /  Pakeisti )

Connecting to %s

Brukalų kiekiui sumažinti šis tinklalapis naudoja Akismet. Sužinokite, kaip apdorojami Jūsų komentarų duomenys.