cấu hình kết nối GSM bằng cách sử dụng nmcli


8

Tôi có một hệ thống không có màn hình X và tôi muốn sử dụng nmcliđể cấu hình modem di động của mình để kết nối với một apn nào đó. Tôi có thể làm cho nó hoạt động tốt với modem này trên Ubuntu (với X) và tôi muốn đạt được điều tương tự ngay bây giờ trên dòng lệnh. Làm thế nào tôi có thể thiết lập kết nối?

cho đến nay tôi nhận được điều này:

# 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 

Câu trả lời:


14

Một chút muộn để đến bữa tiệc, nhưng tôi đã bị mắc kẹt ở cùng một rào cản. Vì tôi đã tìm ra nó nên tôi nghĩ tôi sẽ chia sẻ những phát hiện của mình vì mọi bài đăng khác về chủ đề này đều rõ ràng như bùn.

Mặc dù NetworkManager có thể thấy thiết bị, nhưng nó không biết bất kỳ kết nối nào được thiết bị hỗ trợ. Không giống như WiFi, chúng tôi không thể quét để tạo danh sách các kết nối khả dụng. Chúng ta cần thêm một mình.

Trước khi tạo kết nối, đảm bảo NetworkManager không ngăn thiết bị được quản lý. Điều này theo mặc định xảy ra trên Ubuntu Server để ngăn NetworkManager chiếm quyền kết nối hợp pháp hiện có (xem giải thích từ nhà phát triển Ubuntu tại đây ).

Bạn có thể xác minh rằng thiết bị không được quản lý khi nmcli devicehiển thị unmanagedtrạng thái cho thiết bị của bạn, ngược lại disconnected. Trong trường hợp này, bỏ qua đoạn tiếp theo.

Để làm cho Trình quản lý mạng trên Ubuntu Server xử lý kết nối, hãy sao chép tệp /usr/lib/NetworkManager/conf.d/10-globally-managed-devices.confvào /etc/NetworkManager/conf.d/10-globally-managed-devices.conf, sau đó chỉnh sửa tệp: sửa đổi dòng bắt đầu bằng unmanaged-devicecách thêm gsmloại vào danh sách các trường hợp ngoại lệ:

unmanaged-devices=*,except:type:wifi,except:type:wwan,except:type:gsm

Đừng quên kiểm tra các bản cập nhật cho tệp gốc / usr / lib khi nâng cấp Trình quản lý mạng.

Tạo kết nối

Để bắt đầu, chúng tôi tạo một kết nối mới có tên như bạn muốn bằng lệnh (được đặt tên thích hợp / s), editvd:

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

Sử dụng sudonếu bạn không muốn thất vọng khi bạn cố lưu kết nối.

Tất nhiên, nếu bạn không sử dụng GSM, bạn có thể thay đổi tham số loại thành một giao thức khác được NetworkManager hỗ trợ.

Bây giờ bạn sẽ vào chế độ chỉnh sửa. Hầu hết các cài đặt bạn cần được tự động điền vào cho bạn. Bạn có thể thấy tất cả các cài đặt hiện tại bằng printlệnh:

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

Nhập helpđể xem danh sách đầy đủ các lệnh.

Điều duy nhất bạn có thể cần chỉnh sửa là APN của mạng của bạn. Điều này có thể được đặt với set gsm.apn <APN>nơi APN sẽ là một cái gì đó giống như epc.t-mobile.com, wholesalehoặc vzwinternetcho verizon.

Bạn cũng có thể hạn chế kết nối đến một giao diện cụ thể. Điều này không được khuyến nghị đặc biệt đối với các kết nối dựa trên nối tiếp nơi tên thiết bị có thể thay đổi dễ dàng. Nếu bạn muốn mặc dù, bạn có thể làm set connection.interface-name ttyS4ví dụ.

Với điều kiện bạn đang chạy với quyền root, giờ đây bạn sẽ có thể lưu kết nối của mình

nmcli> save

Đó là nó. Nếu bạn cần quay lại để chỉnh sửa kết nối, sử dụng nmcli c edit "My GPRS Connection"hoặc chỉnh sửa trực tiếp tệp cấu hình. Trên các hệ thống dựa trên Debian, bạn sẽ tìm thấy nó /etc/NetworkManager/system-connections/, trên Redhat nó sẽ ở trong đó /etc/sysconfig/network-scripts/. Các tệp này dường như có thể chuyển từ hệ thống này sang hệ thống khác - UUID về cơ bản là ngẫu nhiên.

Kết nối với kết nối mới của chúng tôi

Bây giờ bạn sẽ có thể kết nối với

sudo nmcli device connect <interface name>

Nếu mọi việc suôn sẻ, NetworkManager sẽ tự động chọn "Kết nối GPRS của tôi". Nếu không,

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

Đây là nơi nó rơi xuống cho tôi ngay bây giờ. Nó hết thời gian trong khi kết nối nhưng tôi nghĩ rằng tôi nằm ngoài phạm vi tín hiệu. Hy vọng nó hoạt động tốt hơn cho bạn.

Hãy bình luận nếu bạn cần thêm thông tin.


tôi đã có thể tạo kết nối, nhưng vẫn: Error: Connection activation failed: Connection 'eBroadband' is not available on the device ttyACM0 at this time.// ScSht #debian #stretch #thinkpad # N5321
eapo

1

Giả sử bạn có phiên bản mới hơn 0.9.6 :

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

Bạn có thể tạo các thiết bị như vậy thông qua dòng lệnh bằng cách sử dụng các devlệnh trong nmcli:

đoạn trích từ trang người đàn ông

   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.

Tuy nhiên, việc tạo kết nối vẫn là một tính năng rất mới nmclivà thậm chí không được liệt kê trong phiên bản Network Manager của F19 của tôi (0.9.8.8). Nhìn vào F20 và RHEL7 Beta tôi nhận thấy những ví dụ này dường như cho thấy tùy chọn này có thể sẽ sớm ra mắt, 2.4. Sử dụng Công cụ dòng lệnh NetworkManager, nmcli .

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

Vì vậy, có lẽ nếu bản phân phối của bạn có phiên bản NetworkManager mới hơn, bạn có thể thêm nó như thế.


1

Bây giờ là một năm sau và rất nhiều gói được cập nhật. Sử dụng ModemManagerdịch vụ và mmclitôi đã có thể khởi tạo ublox SARA-U201. ModemManagerđã thực hiện kết nối được gọi là "mymodem". Điều duy nhất không được đặt đúng là connection.interface-name, vì vậy điều này tôi phải làm rõ. +1 cho câu trả lời được chấp nhận vì nó giúp tôi đúng cách để đạt được điều này. Tóm lại, đây là những lệnh mà tôi phải chạy để khởi động và chạy:

sudo mmcli -i 0 --pin=<pin_number>
sudo mmcli -m 0 --simple-connect="apn=my.carrier.apn"
sudo nmcli connection edit mymodem
    nmcli>set connection.interface-name
    Enter 'interface-name' value: (leave blank, press enter)
    save
    quit
sudo nmcli connection up mymode ifname ttyACM0

Lưu ý rằng các cài đặt này được lưu ngoại trừ mã PIN của SIM. Nếu bạn yêu cầu mã PIN, bạn phải sử dụng lệnh này mỗi lần khởi động.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.