ARP failure with EM7430

Bjørn Mork bjorn at mork.no
Tue Jun 27 07:41:27 UTC 2017


"Sakai, Kouji" <sakai.koji at jp.fujitsu.com> writes:

> Hello, all
>
> I am trying to manage a EM7430 using libqmi-1-18.0 and kernel-4.8.0-54-generic.
>
> The connection is completed using qmi-network.
>
> root at thinkpad:~# qmi-network /dev/cdc-wdm0 start
> Loading profile at /etc/qmi-network.conf...
>     APN: spmode.ne.jp
>     APN user: aaa
>     APN password: bbb
>     qmi-proxy: yes
> Checking data format with 'qmicli -d /dev/cdc-wdm0 --wda-get-data-format --device-open-proxy'...
> [27  6月 2017, 13:45:25] -Warning ** [/dev/cdc-wdm0] requested auto mode but no MBIM QMUX support available
> Device link layer protocol retrieved: raw-ip
> Getting expected data format with 'qmicli -d /dev/cdc-wdm0 --get-expected-data-format'...
> [27  6月 2017, 13:45:25] -Warning ** [/dev/cdc-wdm0] requested auto mode but no MBIM QMUX support available
> Expected link layer protocol retrieved: raw-ip
> Device and kernel link layer protocol match: raw-ip
> Starting network with 'qmicli -d /dev/cdc-wdm0 --wds-start-network=apn='spmode.ne.jp',username='aaa',password='bbb'  --client-no-release-cid --device-open-proxy'...
> [27  6月 2017, 13:45:25] -Warning ** [/dev/cdc-wdm0] requested auto mode but no MBIM QMUX support available
> Saving state at /tmp/qmi-network-state-cdc-wdm0... (CID: 35)
> Saving state at /tmp/qmi-network-state-cdc-wdm0... (PDH: 63700256)
> Network started successfully
>
>
> But the result of ifconfig is empty. 
> So, I manually try to config with ifconfig, but ping does not pass.
>
> root at thinkpad:~# qmicli -d /dev/cdc-wdm0 --wds-get-current-settings
> [27  6月 2017, 13:45:39] -Warning ** [/dev/cdc-wdm0] requested auto mode but no MBIM QMUX support available
> [/dev/cdc-wdm0] Current settings retrieved:
>            IP Family: IPv4
>         IPv4 address: 10.80.106.48
>     IPv4 subnet mask: 255.255.255.224
> IPv4 gateway address: 10.80.106.49
>     IPv4 primary DNS: 110.163.0.5
>   IPv4 secondary DNS: 110.163.0.6
>                  MTU: 1500
>              Domains: none
> root at thinkpad:~# ifconfig wwp0s20u3i8 10.80.106.48 netmask 255.255.255.224
> root at thinkpad:~# route add default gw 10.80.106.49 wwp0s20u3i8
>
> As a result, ping for EM 7430 came to pass, but ping for default gw still does not pass.
>
> root at thinkpad:~# ping 10.80.106.49
> PING 10.80.106.49 (10.80.106.49) 56(84) bytes of data.
> From 10.80.106.48 icmp_seq=1 Destination Host Unreachable
> From 10.80.106.48 icmp_seq=2 Destination Host Unreachable
>
> If I check with tcpdump, I found that linux is trying to resolve the default gw address with ARP.
> I think EM7430 only supports raw ip mode, ARP processing seems to be impossible.

That's correct.

But the driver will set the IFF_NOARP flag when you switch the interface
to raw-ip mode, so it does work by default.

I don't see how your issue can happen unless you enable ARP again, using
ifconfig or similar. Or maybe somehting on your system is "helping" you
do this? The driver does not prevent you from changing these flags to
non-working settings.  Maybe it should?  But there are so many other
ways you can shoot yourself in the foot that I just don't see much point
in preventing this one thing.

Show us the output of "ifconfig wwp0s20u3i8", and then try
"ifconfig -arp wwp0s20u3i8" (which is the driver default).


Bjørn


More information about the libqmi-devel mailing list