configure a conexão do gsm usando nmcli

4

Eu tenho um sistema sem display X e eu quero usar o nmcli para configurar o meu modem celular para me conectar a um certo apn. Eu posso fazê-lo com este modem muito bem no Ubuntu (com X) e gostaria de conseguir o mesmo agora na linha de comando. Como posso configurar a conexão?

até agora eu recebo isso:

# nmcli dev status

** (process:2379): WARNING **: Could not initialize NMClient /org/freedesktop/NetworkManager: Permissions request failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.PolicyKit1 was not provided by any .service files
DEVICE     TYPE              STATE        
ttyUSB1    gsm               disconnected 
eth0       802-3-ethernet    connected 
    
por cerr 07.02.2014 / 06:03

2 respostas

5

Um pouco atrasado para a festa, mas eu estava presa no mesmo obstáculo. Desde que eu trabalhei, pensei em compartilhar minhas descobertas, já que todos os outros posts sobre o assunto são tão claros quanto a lama.

Embora o NetworkManager possa ver o dispositivo, ele não sabe de nenhuma conexão suportada pelo dispositivo. Ao contrário do Wi-Fi, não podemos apenas fazer uma varredura para fazer uma lista de conexões disponíveis. Precisamos adicionar um a nós mesmos.

Criando uma conexão

Para começar, criamos uma nova conexão com o nome que você deseja com o comando (apropriadamente chamado / s) edit , por exemplo:

sudo nmcli connection edit type gsm con-name "My GPRS Connection"

Use sudo se não quiser ficar desapontado quando tentar salvar a conexão.

É claro que, se você não estiver usando o GSM, poderá alterar o parâmetro de tipo para um protocolo diferente suportado pelo NetworkManager.

Agora você entrará no modo de edição. A maioria das configurações necessárias é preenchida automaticamente para você. Você pode ver todas as configurações atuais com o comando print :

nmcli> print
===============================================================================
                Connection profile details (My GPRS Connection)
===============================================================================
connection.id:                          My GPRS Connection
connection.uuid:                        27b012ca-453f-482f-bc0e-c81bbab07310
connection.interface-name:              --
connection.type:                        gsm
connection.autoconnect:                 yes
connection.timestamp:                   0
connection.read-only:                   no
connection.permissions:                 
connection.zone:                        --
connection.master:                      --
connection.slave-type:                  --
connection.secondaries:                 
connection.gateway-ping-timeout:        0
-------------------------------------------------------------------------------
ipv4.method:                            auto
ipv4.dns:                               
ipv4.dns-search:                        
ipv4.addresses:                         
ipv4.routes:                            
ipv4.ignore-auto-routes:                no
ipv4.ignore-auto-dns:                   no
ipv4.dhcp-client-id:                    --
ipv4.dhcp-send-hostname:                yes
ipv4.dhcp-hostname:                     --
ipv4.never-default:                     no
ipv4.may-fail:                          yes
-------------------------------------------------------------------------------
ipv6.method:                            auto
ipv6.dns:                               
ipv6.dns-search:                        
ipv6.addresses:                         
ipv6.routes:                            
ipv6.ignore-auto-routes:                no
ipv6.ignore-auto-dns:                   no
ipv6.never-default:                     no
ipv6.may-fail:                          yes
ipv6.ip6-privacy:                       -1 (unknown)
ipv6.dhcp-hostname:                     --
-------------------------------------------------------------------------------
gsm.number:                             *99#
gsm.username:                           --
gsm.password:                           --
gsm.password-flags:                     0 (none)
gsm.apn:                                --
gsm.network-id:                         --
gsm.network-type:                       -1
gsm.allowed-bands:                      1 (any)
gsm.pin:                                --
gsm.pin-flags:                          0 (none)
gsm.home-only:                          no
-------------------------------------------------------------------------------

Digite help para ver uma lista completa de comandos.

A única coisa que você provavelmente precisará editar é o APN da sua rede. Isso pode ser definido com set gsm.apn <APN> , em que o APN seria algo como epc.t-mobile.com , wholesale ou vzwinternet para a verizon.

Você também pode restringir a conexão a uma interface específica. Isso não é recomendado especialmente para conexões baseadas em serial, em que o nome do dispositivo pode mudar rapidamente. Se você quisesse, você poderia fazer set connection.interface-name ttyS4 , por exemplo.

Desde que você esteja executando como root, agora poderá salvar sua conexão

nmcli> save

É isso. Se você precisar voltar para editar a conexão, use nmcli c edit "My GPRS Connection" ou edite diretamente o arquivo de configuração. Nos sistemas baseados em Debian, você encontrará em /etc/NetworkManager/system-connections/ , no Redhat estará em /etc/sysconfig/network-scripts/ . Esses arquivos parecem ser transferíveis de sistema para sistema - o UUID é basicamente aleatório.

Conectando a nossa nova conexão

Agora você deve poder se conectar com

sudo nmcli device connect <interface name>

Se tudo correr bem, o NetworkManager selecionará "Minha conexão GPRS" automaticamente. Se não,

sudo nmcli connection up "My GPRS Connection" ifname <interface name>

Este é o lugar onde isso cai para mim agora. Isso acaba durante a conexão, mas acho que estou fora do alcance do sinal. Espero que funcione melhor para você.

Por favor, comente se você precisar de mais alguma informação.

    
por 08.03.2016 / 01:47
1

Supondo que você tenha mais uma versão recente do que a 0.9.6 :

$ nmcli --version
nmcli tool, version 0.9.8.8-2.fc19

Você pode criar dispositivos assim por meio da linha de comando usando os comandos dev em nmcli :

excerto da página man do nmcli

   nmcli dev wifi con "Cafe Hotspot 1" password caffeine name "My cafe"

          creates a new connection named "My cafe" and then connects it to 
          "Cafe Hotspot 1" SSID using "caffeine" password. This is mainly 
          useful when connecting to "Cafe Hotspot 1" for the first time. 
          Next time, it is better to use 'nmcli con up id "My cafe"' so that 
          the existing connection profile can be used and no additional is 
          created.

No entanto, a criação de conexões ainda é um recurso muito novo para nmcli e nem sequer está listada na versão do NetworkManager do F19 (0.9.8.8). Analisando o F20 e o RHEL7 Beta, notei esses exemplos que parecem indicar que a opção pode estar chegando em breve, 2.4. Usando a ferramenta de linha de comando do NetworkManager, nmcli .

$ nmcli connection modify id 'MyCafe' 802-11-wireless.mtu 1350

Então, talvez, se sua distribuição tiver uma versão mais nova do NetworkManager, você poderá adicioná-la dessa maneira.

    
por 07.02.2014 / 10:44