ubuntu - NMCLI 设备不可用

标签 ubuntu network-programming iot

我正在尝试在 ubuntu 核心 16.04 上配置一个具有蜂窝接口(interface)的新单元。我在上面运行了 NMCLI 包。在添加连接之前,我检查了接口(interface)

# nmcli dev
DEVICE    TYPE      STATE         CONNECTION         
eth1      ethernet  connected     Wired connection 1 
wlan0     wifi      disconnected  --                 
eth0      ethernet  unavailable   --                 
cdc-wdm0  gsm       unavailable   --                 
lo        loopback  unmanaged     --     

我添加了我的连接:
nmcli con add type gsm ifname cdc-wdm0 con-name MyConnection apn myapn.com

最后,我尝试通过运行来建立连接:
nmclil con up MyConnection 
Error: Connection activation failed: No suitable device found for this connection

我还粘贴了应用的配置的输出:
# nmcli -p con show MyConnection

                  Connection profile details (MyConnection)

connection.id:                          MyConnection
connection.uuid:                        25dc3eec-ca8a-4861-bfcc-089d558972d4
connection.interface-name:              cdc-wdm0
connection.type:                        gsm
connection.autoconnect:                 yes
connection.autoconnect-priority:        0
connection.timestamp:                   0
connection.read-only:                   no
connection.permissions:                 
connection.zone:                        --
connection.master:                      --
connection.slave-type:                  --
connection.autoconnect-slaves:          -1 (default)
connection.secondaries:                 
connection.gateway-ping-timeout:        0
connection.metered:                     unknown
connection.lldp:                        -1 (default)

ipv4.method:                            auto
ipv4.dns:                               
ipv4.dns-search:                        
ipv4.dns-options:                       (default)
ipv4.addresses:                         
ipv4.gateway:                           --
ipv4.routes:                            
ipv4.route-metric:                      -1
ipv4.ignore-auto-routes:                no
ipv4.ignore-auto-dns:                   no
ipv4.dhcp-client-id:                    --
ipv4.dhcp-timeout:                      0
ipv4.dhcp-send-hostname:                yes
ipv4.dhcp-hostname:                     --
ipv4.dhcp-fqdn:                         --
ipv4.never-default:                     no
ipv4.may-fail:                          yes
ipv4.dad-timeout:                       -1 (default)

ipv6.method:                            auto
ipv6.dns:                               
ipv6.dns-search:                        
ipv6.dns-options:                       (default)
ipv6.addresses:                         
ipv6.gateway:                           --
ipv6.routes:                            
ipv6.route-metric:                      -1
ipv6.ignore-auto-routes:                no
ipv6.ignore-auto-dns:                   no
ipv6.never-default:                     no
ipv6.may-fail:                          yes
ipv6.ip6-privacy:                       -1 (unknown)
ipv6.addr-gen-mode:                     stable-privacy
ipv6.dhcp-send-hostname:                yes
ipv6.dhcp-hostname:                     --

gsm.number:                             *99#
gsm.username:                           <hidden>
gsm.password:                           <hidden>
gsm.password-flags:                     0 (none)
gsm.apn:                                myapn.com
gsm.network-id:                         --
gsm.pin:                                <hidden>
gsm.pin-flags:                          0 (none)
gsm.home-only:                          no
gsm.device-id:                          --
gsm.sim-id:                             --
gsm.sim-operator-id:                    --

我的问题是如何启用不可用的设备,为什么它不可用?我可以检查什么来帮助我解决我的问题。

任何帮助都会很棒,因为我只是从 Snappy 开始。

最佳答案

好的,所以我设法解决了自己的问题,我采取的步骤如下:

1)检查我网关上的调制解调器是否被ubuntu核心读取:

$ sudo mmcli -L

Found 1 modems:
    /org/freedesktop/ModemManager1/Modem/0 [Generic] MBIM [1519:0020]

2) 检查 SIM 卡是否被正确读取:
$ sudo mmcli -m 0

/org/freedesktop/ModemManager1/Modem/0 (device id 'd8b328efa783ca35a022d6b44b878981e67a5903')
  -------------------------
  Hardware |   manufacturer: 'Generic'
           |          model: 'MBIM [1519:0020]'
           |       revision: 'MOD_6260_V05.1412.00_R07_VCTCX'
           |      supported: 'gsm-umts'
           |        current: 'gsm-umts'
           |   equipment id: '014752000020933'
  -------------------------
  System   |         device: '/sys/devices/pci0000:00/0000:00:14.0/usb1/1-3'
           |        drivers: 'cdc_acm, cdc_mbim'
           |         plugin: 'Generic'
           |   primary port: 'cdc-wdm0'
           |          ports: 'cdc-wdm0 (mbim), wwan0 (net), ttyACM0 (at)'
  -------------------------
  Numbers  |           own : 'unknown'
  -------------------------
  Status   |           lock: 'none'
           | unlock retries: 'sim-pin (3)'
           |          state: 'connected'
           |    power state: 'on'
           |    access tech: 'gprs'
           | signal quality: '67' (cached)
  -------------------------
  Modes    |      supported: 'allowed: 2g, 3g; preferred: none'
           |        current: 'allowed: 2g, 3g; preferred: none'
  -------------------------
  Bands    |      supported: 'unknown'
           |        current: 'unknown'
  -------------------------
  IP       |      supported: 'ipv4, ipv6, ipv4v6'
  -------------------------
  3GPP     |           imei: '<censored>'
           |  enabled locks: 'fixed-dialing'
           |    operator id: '27203'
           |  operator name: 'IRL - METEOR'
           |   subscription: 'unknown'
           |   registration: 'home'
  -------------------------
  SIM      |           path: '/org/freedesktop/ModemManager1/SIM/0'

  -------------------------
  Bearers  |          paths: '/org/freedesktop/ModemManager1/Bearer/0'

这就是我意识到在网关中没有找到我的 SIM 并且我的 SIM 已损坏的地方,我已经更换了我的 SIM 卡并想出了上面的输出。

3) 配置新的 APN 或编辑现有的 APN。 (我发现重新添加连接更容易)

确保您在 root (sudo su -)

a) 删除失败的现有连接
 #nmcli con delete MyConnection

b) 创建新连接
#nmcli con add type gsm ifname cdc-wdm0 con-name MyWorkingConnection apn MyNewApn.com

4)将用户名和密码添加到新连接
#nmcli con edit MyWorkingConnection

此时您将处于 nmcli> 提示符下。键入命令列表的帮助以帮助您编辑连接。对我来说,我需要添加用户名和密码,所以我通过输入:
nmcli> set gsm.username data
nmcli> set gsm.password <passwordgoeshere>
nmcli> save
nmcli> quit

至此,我的连接已经建立。我找到了命令
#nmcli m

在另一个 session 中打开有助于检查界面状态的变化。

希望这可以帮助一些人!

关于ubuntu - NMCLI 设备不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45691434/

相关文章:

python - 为 Ubuntu 发布

php - 如何从 Objective-C/iOS 中恢复 PHP $_SESSION 变量?

linux - 我想读取包含文件名的文本文件的内容,并检查它们是否在文件夹中可用

ubuntu - Nginx 无法启动,因为我犯了一个错误,不知道如何反转它

linux - 程序员应该使用什么工具从 Windows 机器在 Ubuntu 机器上工作

c++ - 多个 ASIO io_services 是好事吗?

c - 段错误和使用 Valgrind 进行调试

raspberry-pi - 为什么按下一个按钮会同时触发处理程序

C# IoT 设备 SDK、IotHubUnauthorizedAccess 仅当使用 X.509 证书 GetFileUploadSasUriAsync 时