<div dir="ltr"><div dir="ltr">Thanks Aleksander, </div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">tir. 7. apr. 2020 kl. 17:17 skrev Aleksander Morgado <<a href="mailto:aleksander@aleksander.es">aleksander@aleksander.es</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">> I have some further updates here. I read another thread about the '-p' option,<br>
> which, when added to all instances of qmicli invocation in the init.d file makes<br>
> the problem go away in at least more than 9 out of 10 cases. So it is<br>
> apparently a timing issue. Still have to test this on more than one<br>
> system, but I am optimistic. :)<br><br>
The "-p" option, if used, must be used in ALL qmicli commands, so that<br>
all use the intermediate qmi-proxy.<br>
I wonder what init.d file you're talking about, though?<br></blockquote><div><br></div><div>We initialise the modem with this routine (somewhat simplified to illustrate the points):</div><div><br></div><div><span style="font-family:monospace"><span style="color:rgb(0,0,0)">START_NETWORK_ARGS=apn="internet",ip-type=4,autoconnect=yes
</span><br>
<br>#QMICMD='qmicli -p '
<br>QMICMD='qmicli '
<br>
<br>for DEV in $(find /dev -maxdepth 1 -name "cdc-wdm*" | sort)
<br>do
<br>    WANIF=$($QMICMD -d "$DEV" -w)
<br>    if $QMICMD -d "$DEV" --wds-get-packet-service-status | grep -q status:..connected ; then
<br>        echo "Stopping as it was already connected $DEV $WANIF"
<br>        $QMICMD -d "$DEV" --wds-stop-network=disable-autoconnect
<br>        ip link set "$WANIF" down 2>&1
<br>        ip addr flush dev "$WANIF" 2>&1
<br>        echo "Stopped broadband on $DEV $WANIF to restart connection"
<br>    fi
<br>
<br>    # Does it work at all....?
<br>    if ! $QMICMD -d "$DEV" --wda-get-data-format ; then
<br>        echo "Modem does not respond as expected - trying to reset it"
<br>        # Here we had some code to try various things to get it working, like resetting the usb port it is connected to.
<br>        # However, following commands could still fail
<br>    fi
<br>
<br>    # Change to 802-3
<br>    if $QMICMD -d "$DEV" --wda-get-data-format | grep -q 'raw-ip'; then
<br>        echo "Identified $DEV $WANIF as raw-ip, changing to 802-3"
<br>        if ! $QMICMD -d "$DEV" --wda-set-data-format=802-3 ; then
<br>            echo "wda-set-data-format=802-3 failed"
<br>            exit 1
<br>        fi
<br>    else
<br>        echo "Failed to set $DEV $WANIF data format to 802-3"
<br>    fi
<br>                 <br>    # Set up if correct mode
<br>    if ! $QMICMD -d "$DEV" --wda-get-data-format | grep -q '802-3'; then
<br>        echo "Modem is not is correct data format mode"
<br>        exit 1
<br>    fi
<br>    echo "Starting broadband on $DEV $WANIF with args '$START_NETWORK_ARGS'"
<br>    $QMICMD -d "$DEV" --wds-start-network=${START_NETWORK_ARGS:-apn=\"internet\"} --client-no-release-cid
<br>    $QMICMD -d "$DEV" --wds-set-autoconnect-settings=enabled,roaming-allowed
<br>    echo "Started broadband on $DEV $WANIF"
<br>    killall -HUP dhcpcd <br>    exit 0 # Done
<br> done
<br>
<br>einfo "Failed to set up broadband adapter"
<br>exit 1 # Failed<br>
<br></span></div><div>If I use -p it seems to work close to 100% (maybe 100% of the times). Without the script fails too often on the first wda-get-data-format.</div><div><br></div><div>(Btw, --wds-start-network also gives an error, but it does not seem to affect anything:</div><div><span style="font-family:monospace"><span style="color:rgb(0,0,0)">qmicli -p -d /dev/cdc-wdm0 --wds-start-network=apn=internet,ip-type=4,autoconnect=yes --client-no-release-cid
</span><br>error: couldn't start network: QMI protocol error (14): 'CallFailed'
<br>call end reason (3): generic-no-service
<br>verbose call end reason (2,210): [internal] pdn-ipv6-call-disallowed
<br>[/dev/cdc-wdm0] Client ID not released:
<br>        Service: 'wds'
<br>            CID: '9'</span>)</div><div><br></div><div>Actually, while writing this mail, I made a new discovery: It looks like if  <span style="color:rgb(0,0,0);font-family:monospace">-wda-get-data-format </span>fails once, for example when running it first without -p, it will keep on failing, even if run with -p later. However, a usb port reset (unbind/bind) will make it work again if I then run with -p directly afterwards.</div><div><br></div><div>I have very few clues on what is going on. It could very well be that we are doing something wrong....(?)</div><div> <a href="https://aleksander.es" rel="noreferrer" target="_blank"></a><br>
</div><div>BR, </div><div>Tor Rune Skoglund</div><div><br></div></div></div>