Esprema a Internet máxima das células da aldeia

Nas vésperas do feriado de Ano Novo, partiu cedo da capital, deixando-a na direção de lugares onde a Internet é bastante rara. Por um período de ausência no trabalho, prometi que meus parceiros entrassem em contato. E como minha ocupação está diretamente relacionada à web, decidi experimentar a disponibilidade da Internet no local planejado da estadia.

A essência da tarefa era a seguinte:

  1. Consiga uma velocidade de internet confortável.
  2. Distribua a Internet não apenas para você, mas também para seu cônjuge.

Tínhamos 2 modems, 750 megabytes de Internet paga, 3 laptops, vários telefones e toda uma série de cartões SIM de todos os tipos e cores, um ponto de acesso com o OpenWRT, um hub usb, uma unidade flash e uma antena. Não que fosse um suprimento necessário para a viagem, mas se você começar a coletar peças de ferro, fica difícil parar. A única coisa que me causou preocupação foi a antena. Nada no mundo é mais desamparado, irresponsável e fraco do que o sinal da antena, passado através de um cabo USB de 3 metros. Eu sabia que mais cedo ou mais tarde passaremos a esse lixo.

Eu tive várias soluções:

  1. Use meu modem Huawei 5776, depois de comprar uma antena.
  2. Colete mais pedaços de ferro e colete algo mais poderoso.

Desde que me lembrei muito tarde da possibilidade de conectar uma antena no meu E5776, na verdade não tive a primeira escolha.

Dos itens essenciais que eu tinha:

  1. TP-Link TL-WR1043ND com firmware OpenWRT 15.05
  2. Antena Connect 2.0 (com um cabo usb de 3 metros sem anéis de ferrite).
  3. Hub USB

Para uma imagem completa, me faltava um modem USB, a escolha recaiu sobre o Huawei 3372h.

Montagem do construtor


Eu tinha uma porta USB no TP-Link, e ela já estava ocupada por uma unidade para o sistema de arquivos raiz, e o fio longo da antena era suspeito. Fiquei atormentado com as dúvidas de que o ponto de acesso pudesse alimentar o modem através de um fio de 3 metros; portanto, conectar-se através de um hub USB era a única solução.

Como hub, usei o bom e velho D-Link Dub-104 (um belo e compacto hub com uma fonte de alimentação incrivelmente robusta).

Opção intermediária:



Instalando o software necessário no ponto de acesso


Como estávamos indo para uma vila em que todos os telefones mal funcionavam no modo GPRS, decidi instalar todo o software enquanto estava em uma cidade grande, então o ajustei no máximo para que eu pudesse pegar um mínimo de aventura no local. Aprendi o conhecimento sobre ajuste neste artigo: 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

Em geral, depois disso, você pode tentar inserir um modem e verificar se dispositivos como / dev / ttyUSB * apareceram . No meu caso, usb_modeswitch fez todo o trabalho e os dispositivos apareceram. Se esse não for o seu caso, leia o artigo em usb_modeswitch em detalhes .

Definir configurações de conexão


Defina as opções de 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'

No meu caso, o SIM era do Megaphone, então os parâmetros foram selecionados especificamente para ele.

Também adicionei uma linha em chatscript para ver o nível do sinal da torre quando conectado:

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 ' '

Ligação


Agora fazemos ifup wan , veja o logread iii ... Se você tiver sorte, verá algo parecido com isto:

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!!

Se o seu operador Megafone não estiver lá, siga em frente.

Dançando com um pandeiro


Ocorreu um erro enquanto o modem ATD estava executando o comando . Tendo um pouco de fóruns, descobri um recurso interessante do operador Megaphone. Em um dos fóruns, foi proposto desativar manualmente tudo o que era supérfluo no modem e deixar apenas as funções do próprio modem e, possivelmente, um cartão SD. Por outro lado, atualize o modem com firmware de fábrica (sem marca) (no meu caso, o firmware também era do Megaphone).

Surpreendente foi o fato de que, quando conectado a um laptop com Windows, o modem funcionava corretamente. Valeu a pena conectar-se ao Linux - recebi um erro.

Primeiro, decidi verificar se isso realmente está conectado ao megafone. Peguei um cartão SIM da Tele2 de estoques, aprimorei levemente a configuração da conexão:

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, funcionou. Imediatamente. Ok, vamos primeiro da maneira mais simples e desligamos todo o excesso no modem:

ssh root@< >

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

Saímos da combinação:

CTRL + A + X

Agora desative o usb_modeswitch como desnecessário:

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

Ligamos o modem, esperamos até ele inicializar e aumentamos a interface wan:

ifup wan

No meu caso, tudo funcionou agora. Viva!

Otimização


O ajuste inicial foi realizado sem conectar uma antena, agora era interessante ver se haveria algum efeito nela.

Intensidade do sinal sem antena:

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

E agora com a antena:

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

Parecia tão legal que senti uma pegadinha. E realmente havia um problema. Foi uma descoberta para mim que um bom sinal de uma estação base não significa nada.

Abaixo os pings para a primeira e a segunda opções:

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

E aqui um novo mundo maravilhoso de comunicações móveis se abriu para mim.

Descobri que meu modem suporta a varredura da área em busca de estações base, e não necessariamente o operador cujo cartão SIM está instalado dentro dela.

Isso foi feito com o seguinte comando:

AT^NETSCAN=20,-110,1

20 - quantas torres produzirão
-110 - o nível mínimo de sinal é
0/1 - 0 - 2G, 1 - 3G. Com o LTE até agora.

A lista é classificada pela intensidade do sinal e fica assim:

^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 - estação LAC
250 - MCC (Russo)
02 - MNC (neste caso - MTS)
-78 - sinal de nível de estação de base
8b77 - estação CID
400,000 - num intervalo no qual o sinal recebido pela estação de base (como no time ^ syscfgex)

Agora Com esses dados, você pode acessar o site http://xinit.ru/bs/ e ver onde essas torres estão localizadas em relação a si mesmas.

Como regra, se houver uma antena direcional, ela deverá ser enviada para a estação base mais próxima - pensei que sim. Então a próxima descoberta me esperava. Mesmo se enviarmos uma antena, isso está longe do fato de que o registro ocorrerá nesta estação base. E, se o fizer, não é fato que a taxa de transferência de dados será maior do que através de uma torre localizada duas vezes mais longe dela. Então, caminhei até as estações mais próximas, num raio de 1,5 km a 3, e todas elas, com um bom sinal, transmitiram dados com um longo atraso. O ping teve uma média de ~ 300ms.

Ao experimentar, acidentalmente cheguei à torre, que ficava a uma distância de 6-7 quilômetros de mim. Depois de conectado, o tempo de ping caiu para ~ 90ms, apesar do nível do sinal cair com ele.

Para comparação, o nível de sinal de:

torres próximas: 13-20
da torre remota: 5-12

(as medições foram realizadas pelo utilitário gcom sig -d / dev / ttyUSB1 , em que o valor pode ser um dígito de 0 a 99).

No entanto, realizei testes de velocidade na melhor torre próxima e na remota, os resultados:
uma das estações mais próximas - 2 / 0,35 Mbit.



Estação remota - 4.28 / 1.68 Mbps.



Honestamente, fiquei impressionado com dois megabits também. ao usar um telefone comum, mesmo o Google Play Market não foi aberto. E aqui, ao que parece, você ainda pode acelerar para 4!

Sumário


Tais resultados foram suficientes para mim. Deixei a antena para olhar na direção da torre mais distante, esperando sempre manter contato com ela, mas minhas esperanças eram ingênuas. Um problema novo e ainda não resolvido surgiu. Consiste no fato de que, de tempos em tempos, há registro em outra estação base, mesmo se estiver localizada na direção oposta em relação à direção da antena. Nesses momentos, os atrasos na transferência de dados aumentam, e ainda não descobri como superar isso.

Na Internet, uma pergunta como: “o modem pode indicar com qual torre trabalhar” é respondida que você não escolhe a torre, mas é você. Talvez pessoas com conhecimento lhe digam se existem soluções para tais situações?

Isso é tudo. Obrigado a todos que leram até o fim.

PS
Então, Simon Beeline chegou, suas torres estão mais próximas de nós e depois de conectar o teste de velocidade mostrou até 20/2 Megabits. Trago a configuração para o 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'

Recursos utilizados

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

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


All Articles