Re: HUWAEI E1750 NDISDUP



On Tue, 2013-12-17 at 23:50 +0100, poma wrote:
HUWAEI E1750 NDISDUP

Is the difference between the two modes just the usb_modeswitch
commands?  I see they have different USB IDs between first and second
runs.

In any case, if ModemManager can handle the device, we would expect
NetworkManager to handle it as well.  In general, we'd prefer to handle
the device with QMI and the QMI network commands instead of NDISDUP,
unless the device doesn't implement the QMI stack very well.

In both cases, however, ModemManager should be doing the right thing
wtih either QMI or NDISDUP, then advertise that the IP configuration
method should be "DHCP", and NetworkManager will perform DHCP on the
interface and set up the IP configuration.

Dan

# nmcli -v
nmcli tool, version 0.9.9.0-19.git20131003.fc21

# mmcli -V

mmcli 1.1.0
Copyright (2011) Aleksander Morgado
License GPLv2+: GNU GPL version 2 or later
<http://gnu.org/licenses/gpl-2.0.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

# lsusb
Bus 002 Device 003: ID 12d1:140c Huawei Technologies Co., Ltd. E180v

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

# mmcli -m 0 --command="^NDISDUP=1,1"
response: ''

# dhclient wwp0s4f1u3i1

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

# ping -c 5 google.com
PING google.com (173.194.32.36) 56(84) bytes of data.
64 bytes from arn06s02-in-f4.1e100.net (173.194.32.36): icmp_seq=1
ttl=55 time=119 ms
64 bytes from arn06s02-in-f4.1e100.net (173.194.32.36): icmp_seq=2
ttl=55 time=107 ms
64 bytes from arn06s02-in-f4.1e100.net (173.194.32.36): icmp_seq=3
ttl=55 time=106 ms
64 bytes from arn06s02-in-f4.1e100.net (173.194.32.36): icmp_seq=4
ttl=55 time=115 ms
64 bytes from arn06s02-in-f4.1e100.net (173.194.32.36): icmp_seq=5
ttl=55 time=125 ms

--- google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4004ms
rtt min/avg/max/mdev = 106.929/115.054/125.043/6.870 ms

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

# dhclient -x wwp0s4f1u3i1

# mmcli -m 0 --command="^NDISDUP=1,0"
response: ''

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

# mmcli -m 0

/org/freedesktop/ModemManager1/Modem/0 (device id
'eb8d2760525a500bcbf18a9e9b89cd55098848e4')
  -------------------------
  Hardware |   manufacturer: 'QUALCOMM INCORPORATED'
           |          model: '29'
           |       revision: 'M6290A-KPRBL-…'
           |      supported: 'gsm-umts'
           |        current: 'gsm-umts'
           |   equipment id: '353…'
  -------------------------
  System   |         device: '/sys/devices/pci0000:00/0000:00:04.1/usb2/2-3'
           |        drivers: 'option1, qmi_wwan'
           |         plugin: 'Huawei'
           |   primary port: 'cdc-wdm0'
           |          ports: 'ttyUSB0 (at), ttyUSB1 (qcdm), ttyUSB2
(at), cdc-wdm0 (qmi), wwp0s4f1u3i1 (net)'
  -------------------------
  Numbers  |           own : 'unknown'
  -------------------------
  Status   |           lock: 'sim-pin2'
           | unlock retries: 'sim-pin (3), sim-pin2 (3), sim-puk (10),
sim-puk2 (10)'
           |          state: 'disabled'
           |    power state: 'on'
           |    access tech: 'unknown'
           | signal quality: '0' (cached)
  -------------------------
  Modes    |      supported: 'allowed: 2g; preferred: none
           |                  allowed: 3g; preferred: none
           |                  allowed: 2g, 3g; preferred: none
           |                  allowed: 2g, 3g; preferred: 2g
           |                  allowed: 2g, 3g; preferred: 3g'
           |        current: 'allowed: any; preferred: none'
  -------------------------
  Bands    |      supported: 'unknown'
           |        current: 'unknown'
  -------------------------
  IP       |      supported: 'ipv4, ipv6, ipv4v6'
  -------------------------
  3GPP     |           imei: '353…'
           |  enabled locks: 'none'
           |    operator id: 'unknown'
           |  operator name: 'unknown'
           |   registration: 'unknown'
  -------------------------
  SIM      |           path: '/org/freedesktop/ModemManager1/SIM/0'


# mmcli -m 0 --command="^GETPORTMODE"
response:
'^GETPORTMODE:TYPE:WCDMA:Qualcomm,MDM:0,NDIS:1,DIAG:2,PCUI:3,CDROM:4,SD:5'

# mmcli -m 0 --command="I"
response: 'Manufacturer: huawei
Model: E1750
Revision: 11.126.13.00.00
IMEI: 353…
+GCAP: +CGSM,+DS,+ES'

# mmcli -m 0 --command="+CLAC"
response: …
^NDISDUP
…

# mmcli -m 0 --command="^U2DIAG?"
response: '276'

# mmcli -m 0 --command="+CGDCONT=?"
response: '+CGDCONT: (1-16),"IP",,,(0-2),(0-3)
+CGDCONT: (1-16),"PPP",,,(0-2),(0-3)
+CGDCONT: (1-16),"IPV6",,,(0-2),(0-3)'

# mmcli -m 0 --command="+CGDCONT?"
response: '+CGDCONT: 1,"IP","apn","0.0.0.0",0,0'

# ethtool -i wwp0s4f1u3i1
driver: qmi_wwan
version: 22-Aug-2005
firmware-version: WWAN/QMI device
bus-info: usb-0000:00:04.1-3
supports-statistics: no
supports-test: no
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: no

# dmesg
qmi_wwan 2-3:1.1: cdc-wdm0: USB WDM device
qmi_wwan 2-3:1.1 wwan0: register 'qmi_wwan' at usb-0000:00:04.1-3,
WWAN/QMI device, 22:72:aa:59:a8:a4
usbcore: registered new interface driver qmi_wwan
systemd-udevd[336]: renamed network interface wwan0 to wwp0s4f1u3i1

<<RE-PLUG>>

# lsusb
Bus 002 Device 006: ID 12d1:1436 Huawei Technologies Co., Ltd. E173 3G
Modem (modem-mode)

/etc/udev/rules.d/70-persistent-net-name-n-hw-address.rules
# Huawei Technologies Co., Ltd. E180v 12d1:140c qmi_wwan,
# Huawei Technologies Co., Ltd. E173 3G Modem (modem-mode) 12d1:1436
cdc_ether,
# actually this is 华为 E1750 FW Rev. 11.126.13.00.00 Qualcomm based
mobile broadband modem
#
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="02:50:f3:00:00:00",
KERNEL=="wwan*", NAME="wwane1750", RUN+="/bin/ifconfig wwane1750 hw
ether 00:01:02:03:04:05"
#
# udevadm info -a -p /sys/class/net/wwane1750
# udevadm info -q env /sys/class/net/wwane1750

# dmesg
cdc_ether 2-3:1.1 wwan0: register 'cdc_ether' at usb-0000:00:04.1-3,
Mobile Broadband Network Device, 02:50:f3:00:00:00
usbcore: registered new interface driver cdc_ether
systemd-udevd[2423]: renamed network interface wwan0 to wwane1750

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

# mmcli -m 1 --command="^NDISDUP=1,1"

# dhclient wwane1750

# dmesg
cdc_ether 2-3:1.1 wwane1750: CDC: unexpected notification 01!

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

# ping -c 5 google.com
PING google.com (173.194.32.37) 56(84) bytes of data.
64 bytes from arn06s02-in-f5.1e100.net (173.194.32.37): icmp_seq=1
ttl=54 time=799 ms
64 bytes from arn06s02-in-f5.1e100.net (173.194.32.37): icmp_seq=2
ttl=54 time=499 ms
64 bytes from arn06s02-in-f5.1e100.net (173.194.32.37): icmp_seq=3
ttl=54 time=560 ms
64 bytes from arn06s02-in-f5.1e100.net (173.194.32.37): icmp_seq=4
ttl=54 time=469 ms
64 bytes from arn06s02-in-f5.1e100.net (173.194.32.37): icmp_seq=5
ttl=54 time=869 ms

--- google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4689ms
rtt min/avg/max/mdev = 469.901/639.867/869.620/163.119 ms

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

# dhclient -x wwane1750

# mmcli -m 1 --command="^NDISDUP=1,0"
response: ''

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

# ethtool -i wwane1750
driver: cdc_ether
version: 22-Aug-2005
firmware-version: Mobile Broadband Network Device
bus-info: usb-0000:00:04.1-3
supports-statistics: no
supports-test: no
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: no


# mmcli -m 1

/org/freedesktop/ModemManager1/Modem/1 (device id
'33aa8c3f4a5afe2bcab9a12c2979a8268fc57593')
  -------------------------
  Hardware |   manufacturer: 'huawei'
           |          model: 'E1750'
           |       revision: '11.126.13.00.00'
           |      supported: 'gsm-umts'
           |        current: 'gsm-umts'
           |   equipment id: '353…'
  -------------------------
  System   |         device: '/sys/devices/pci0000:00/0000:00:04.1/usb2/2-3'
           |        drivers: 'option1, cdc_ether'
           |         plugin: 'Huawei'
           |   primary port: 'ttyUSB2'
           |          ports: 'ttyUSB0 (at), ttyUSB1 (qcdm), ttyUSB2
(at), wwane1750 (net)'
  -------------------------
  Numbers  |           own : 'unknown'
  -------------------------
  Status   |           lock: 'none'
           | unlock retries: 'sim-pin (3), sim-pin2 (3), sim-puk (10),
sim-puk2 (10)'
           |          state: 'disabled'
           |    power state: 'on'
           |    access tech: 'unknown'
           | signal quality: '0' (cached)
  -------------------------
  Modes    |      supported: 'allowed: 2g; preferred: none
           |                  allowed: 3g; preferred: none
           |                  allowed: 2g, 3g; preferred: none
           |                  allowed: 2g, 3g; preferred: 2g
           |                  allowed: 2g, 3g; preferred: 3g'
           |        current: 'allowed: 2g, 3g; preferred: 3g'
  -------------------------
  Bands    |      supported: 'unknown'
           |        current: 'unknown'
  -------------------------
  IP       |      supported: 'ipv4, ipv6'
  -------------------------
  3GPP     |           imei: '353…'
           |  enabled locks: 'none'
           |    operator id: 'unknown'
           |  operator name: 'unknown'
           |   registration: 'unknown'
  -------------------------
  SIM      |           path: '/org/freedesktop/ModemManager1/SIM/1'

# mmcli -m 1 --command="^GETPORTMODE"
response:
'^GETPORTMODE:TYPE:WCDMA:Qualcomm,MDM:0,NDIS:1,DIAG:2,PCUI:3,CDROM:4,SD:5'


A modulecomb:


mii -            - cdc_ether
     \          /
      - usbnet -
                \
                 - qmi_wwan
                /
       cdc_wdm -


usb_wwan -
          \
           - option



This and similar devices are apparently working in this way also.
Is it planned to support such a mode in the NetworkManager?


poma

_______________________________________________
networkmanager-list mailing list
networkmanager-list gnome org
https://mail.gnome.org/mailman/listinfo/networkmanager-list




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]