Retirez Internet au maximum des cellules du village

À la veille des vacances du Nouvel An, il a pris un départ anticipé de la capitale, le laissant en direction de ces endroits où Internet est assez rare. Pendant une période d'absence du travail, j'ai promis à mes partenaires d'être en contact. Et comme mon métier est directement lié au web, j'ai décidé d'expérimenter la disponibilité d'Internet dans le lieu de séjour prévu.

L'essence de la tâche était la suivante:

  1. Obtenez une vitesse Internet confortable.
  2. Distribuez Internet non seulement pour vous, mais aussi pour votre conjoint.

Nous avions 2 modems, 750 mégaoctets d'Internet payant, 3 ordinateurs portables, plusieurs téléphones et une multitude de cartes SIM de toutes sortes et couleurs, un point d'accès avec OpenWRT, un hub USB, un lecteur flash et une antenne. Non pas que c'était un approvisionnement nécessaire pour le voyage, mais si vous avez commencé à collecter des morceaux de fer, il devient difficile de s'arrêter. La seule chose qui m'a inquiété était l'antenne. Rien au monde n'est plus impuissant, irresponsable et faible que le signal de l'antenne, passé à travers un câble USB de 3 mètres. Je savais que tôt ou tard nous passerons à ces ordures.

J'avais plusieurs solutions:

  1. Utilisez mon modem Huawei 5776, après avoir acheté une antenne pour cela.
  2. Collectez plus de morceaux de fer et récupérez quelque chose de plus puissant.

Comme je me suis souvenu trop tard de la possibilité de connecter une antenne dans mon E5776, je n'avais en fait pas le premier choix.

De l'essentiel que j'avais:

  1. TP-Link TL-WR1043ND avec firmware OpenWRT 15.05
  2. Antenna Connect 2.0 (avec un câble USB de 3 mètres sans anneaux de ferrite).
  3. Concentrateur USB

Pour une image complète, il me manquait un modem usb, le choix s'est porté sur le Huawei 3372h.

Assemblage constructeur


J'avais un port USB sur TP-Link, et il était déjà occupé par un lecteur pour le système de fichiers racine, plus le long fil à l'antenne était suspect. J'étais tourmenté par les doutes que le point d'accès pouvait alimenter le modem via un câble de 3 mètres, donc la connexion via un hub USB était la seule solution.

En tant que hub, j'ai utilisé le bon vieux D-Link Dub-104 (un beau hub compact avec une alimentation incroyablement lourde).

Option intermédiaire:



Installation du logiciel nécessaire sur le point d'accès


Comme nous nous dirigions vers un village où tous les téléphones fonctionnaient à peine en mode GPRS, j'ai décidé d'installer tous les logiciels pendant que j'étais dans une grande ville, je l'ai donc réglé au maximum afin de pouvoir attraper un minimum d'aventure sur place. J'ai appris les connaissances de réglage de cet article: https://wiki.openwrt.org/doc/recipes/3gdongle .

ssh root@< >

opkg update
opkg install comgt kmod-usb-serial kmod-usb-serial-option kmod-usb-serial-wwan usb-modeswitch usb-modeswitch-data

En général, après cela, vous pouvez essayer d'insérer un modem et voir si des périphériques comme / dev / ttyUSB * sont apparus . Dans mon cas, usb_modeswitch a fait tout le travail et les appareils sont apparus. Si ce n'est pas votre cas, vous devriez lire l' article sur usb_modeswitch en détail .

Configurer les paramètres de connexion


Définissez les options WAN:

vim /etc/config/network

config interface 'wan'
        option device /dev/ttyUSB0
        option username 'gdata'
        option password 'gdata'
        option apn 'internet'
        option service 'umts'
        option maxwait '0'
        option dialnumber '*99#'
        option proto '3g'

Dans mon cas, la carte SIM provenait du mégaphone, donc les paramètres ont été sélectionnés spécifiquement pour elle.

J'ai également ajouté une ligne dans chatscript pour voir le niveau du signal de la tour lorsqu'elle est connectée:

vim /etc/chatscripts/3g.chat

ABORT   BUSY
ABORT   'NO CARRIER'
ABORT   ERROR
REPORT  CONNECT
TIMEOUT 10
""      "AT+CSQ"
""      "AT&F"
OK      "ATE1"
OK      'AT+CGDCONT=1,"IP","$USE_APN"'
SAY     "Calling UMTS/GPRS"
TIMEOUT 30
OK      "ATD$DIALNUMBER"
CONNECT ' '

Connexion


Maintenant, nous faisons ifup wan , regardez le logread iii ... Si vous êtes chanceux, vous verrez quelque chose comme ceci:

Wed Dec 30 21:47:01 2015 local2.info chat[30352]: CONNECT
Wed Dec 30 21:47:01 2015 local2.info chat[30352]:  -- got it
Wed Dec 30 21:47:01 2015 local2.info chat[30352]: send ( ^M)
Wed Dec 30 21:47:01 2015 daemon.info pppd[30347]: Serial connection established.
Wed Dec 30 21:47:01 2015 kern.info kernel: [98634.870000] 3g-wan: renamed from ppp0
Wed Dec 30 21:47:01 2015 daemon.info pppd[30347]: Using interface 3g-wan
Wed Dec 30 21:47:01 2015 daemon.notice pppd[30347]: Connect: 3g-wan <--> /dev/ttyUSB0
Wed Dec 30 21:47:02 2015 daemon.info pppd[30347]: CHAP authentication succeeded: Welcome!!

Si votre opérateur mégaphone n'est pas là, alors continuez.

Danser avec un tambourin


J'ai eu une erreur pendant que le modem ATD exécutait la commande . Ayant un peu de forums, j'ai découvert une fonctionnalité intéressante de l'opérateur Megaphone. Sur l'un des forums, il a été proposé de désactiver manuellement tout ce qui est superflu sur le modem et de ne laisser que les fonctions du modem lui-même et éventuellement une carte SD. De l'autre, flashez le modem avec le firmware d'usine (sans marque) (dans mon cas, le firmware provenait également du mégaphone).

Surprenant était le fait que lorsqu'il était connecté à un ordinateur portable avec Windows, le modem fonctionnait correctement. Cela valait la peine de se connecter à Linux - j'ai eu une erreur.

Tout d'abord, j'ai décidé de vérifier si cela est vraiment lié au mégaphone. J'ai pris une carte SIM de Tele2 en stock, légèrement modifié la configuration de la connexion:

vim /etc/config/network

config interface 'wan'
        option device /dev/ttyUSB0
        option apn 'internet.tele2.ru'
        option service 'umts'
        option maxwait '0'
        option dialnumber '*99#'
        option proto '3g'

III, cela a fonctionné. Tout de suite. D'accord, allons-y d'abord de la manière la plus simple et désactivons tout excès sur le modem:

ssh root@< >

picocom -b 9600 -f n -p n -d 8 -r /dev/ttyUSB1
at^setport="ff;10,12,16,a2" 

Nous quittons la combinaison:

CTRL + A + X

Désactivez maintenant usb_modeswitch comme inutile:

/etc/init.d/usbmode stop
/etc/init.d/usbmode disable

Nous retournons le modem, attendons qu'il démarre et augmentons l'interface WAN:

ifup wan

Dans mon cas, tout a fonctionné maintenant. Hourra!

Optimisation


Le réglage initial a été effectué sans connecter d'antenne, il était maintenant intéressant de voir s'il y aurait un effet.

Puissance du signal sans antenne:

gcom sig -d /dev/ttyUSB1
Signal Quality: 15,99

Et maintenant avec l'antenne:

gcom sig -d /dev/ttyUSB1
Signal Quality: 21,99

Il avait l'air tellement cool que j'ai senti un hic. Et il y avait vraiment un hic. Ce fut une découverte pour moi qu'un bon signal provenant d'une station de base ne signifie rien.

Ci-dessous les pings pour les première et deuxième options:

1.
root@OpenWrt:~# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: seq=0 ttl=44 time=986.652 ms
64 bytes from 8.8.8.8: seq=1 ttl=44 time=327.628 ms
64 bytes from 8.8.8.8: seq=2 ttl=44 time=246.212 ms
64 bytes from 8.8.8.8: seq=3 ttl=44 time=265.568 ms
64 bytes from 8.8.8.8: seq=4 ttl=44 time=285.271 ms

2.
64 bytes from 8.8.8.8: seq=233 ttl=45 time=1567.306 ms
64 bytes from 8.8.8.8: seq=234 ttl=45 time=1126.106 ms
64 bytes from 8.8.8.8: seq=235 ttl=45 time=569.993 ms
64 bytes from 8.8.8.8: seq=236 ttl=45 time=1403.010 ms
64 bytes from 8.8.8.8: seq=237 ttl=45 time=428.891 ms

Et ici, un nouveau monde merveilleux de communications mobiles s'est ouvert pour moi.

J'ai découvert que mon modem prend en charge la recherche de stations de base dans la zone, et pas nécessairement l'opérateur dont la carte SIM est installée à l'intérieur.

Cela a été fait avec la commande suivante:

AT^NETSCAN=20,-110,1

20 - combien de tours à la sortie
-110 - le niveau de signal minimum est
0/1 - 0 - tours 2G, 1 - tours 3G. Avec LTE jusqu'à présent.

La liste est triée par intensité du signal et ressemble à ceci:

^NETSCAN: 10638,,,1e7e,250,02,0,-78,8b77,400000
^NETSCAN: 10687,,,1e7e,250,02,0,-79,d5c8,400000
^NETSCAN: 10662,,,1e7e,250,02,0,-82,8ade,400000
^NETSCAN: 10587,,,4cf8,250,20,0,-105,d4fc,400000
^NETSCAN: 10563,,,4cf8,250,20,0,-106,d4f9,400000

1e7e - Stations LAC
250 - MCC (Russie)
02 - MNC (dans ce cas - MTS)
-78 - niveau de signal de cette station de base
8b77 - Station CID
400000 - plage dans laquelle le signal de la station de base est reçu (comme dans la commande ^ syscfgex)

Maintenant Ayant ces données, vous pouvez aller sur le site http://xinit.ru/bs/ et voir où ces tours sont situées par rapport à elles-mêmes.

En règle générale, s'il existe une antenne directionnelle, elle doit être envoyée à la station de base la plus proche - je le pensais. Puis la prochaine découverte m'attendait. Même si nous lui envoyons une antenne, c'est loin d'être le fait que l'enregistrement aura lieu à cette station de base. Et si c'est le cas, alors ce n'est pas un fait que le taux de transfert de données sera plus élevé que dans une tour située deux fois plus loin. J'ai donc marché jusqu'aux stations les plus proches dans un rayon de 1,5 kilomètre à 3 et toutes, avec un bon signal, ont transmis des données avec un long retard. Ping en moyenne ~ 300 ms.

Pendant mes expériences, je suis accidentellement arrivé à la tour, qui était à une distance de 6-7 kilomètres de moi. Une fois connecté, le temps de ping est tombé à environ 90 ms, malgré le fait que le niveau du signal ait baissé avec.

A titre de comparaison, le niveau du signal de:

tours voisines: 13-20
depuis la tour distante: 5-12

(les mesures ont été effectuées par l' utilitaire gcom sig -d / dev / ttyUSB1 , où la valeur peut être un chiffre compris entre 0 et 99).

Néanmoins, j'ai effectué des tests de vitesse sur la meilleure tour proche et sur la télécommande, les résultats: l'
une des stations les plus proches - 2 / 0,35 Mbit.



Station distante - 4,28 / 1,68 Mbps.



Honnêtement, j'ai également été stupéfait par deux mégabits. lorsque vous utilisez un téléphone normal, même Google Play Market ne s'est pas ouvert. Et là, il s'avère que vous pouvez encore accélérer à 4!

Résumé


De tels résultats me suffisaient. J'ai quitté l'antenne pour regarder en direction de la tour la plus éloignée, espérant toujours rester en contact avec elle, mais mes espoirs étaient naïfs. Un problème nouveau mais non résolu est apparu. Elle consiste en ce que de temps en temps il y a enregistrement sur une autre station de base, même si elle est située en sens inverse par rapport à la direction de l'antenne. À de tels moments, les retards dans le transfert de données augmentent et je n'ai pas encore trouvé de moyen de surmonter cela.

Sur Internet, une question telle que: «le modem peut-il indiquer avec quelle tour travailler» est répondu que vous ne choisissez pas la tour, mais c'est vous. Peut-être que des gens bien informés vous diront s'il existe des solutions à de telles situations?

C'est tout. Merci à tous ceux qui ont lu jusqu'au bout.

PS
Puis Simon Beeline est venu à portée de main, ses tours sont les plus proches de nous et après avoir connecté le test de vitesse a montré jusqu'à 20/2 mégabits. J'apporte la configuration pour Beeline:

vim /etc/config/network

config interface 'wan'
        option device /dev/ttyUSB0
        option username 'beeline'
        option password 'beeline'
        option apn 'internet.beeline.ru'
        option service 'umts'
        option maxwait '0'
        option dialnumber '*99#'
        option proto '3g'

Ressources utilisées

W3bsit3-dns.com.ru
wiki.openwrt.org
xinit.ru/bs/

Source: https://habr.com/ru/post/fr388755/


All Articles