<div dir="ltr"><div dir="auto">For the dhcp, <div dir="auto">i run the qmi-network command for the modem, and then restart systemd-networkd to get IP on wwan*.</div><div dir="auto"><br></div><div dir="auto">Is there another command i should use to get ip on wwan interface?</div><div dir="auto"><br></div><div dir="auto">For the driver change, yes. I am aware i can not change driver name. I do not want to do this. The kernel is now selecting the driver i want, qmi, since i changed the composition on the modem to qmi. </div><div dir="auto"><br></div><div dir="auto">I will give netdev a try in assigning /dev port by unique name ATTR. To keep startup script stable for modems.</div></div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Apr 1, 2020, 12:57 AM Bjørn Mork <<a href="mailto:bjorn@mork.no" target="_blank">bjorn@mork.no</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Brandon Lee <<a href="mailto:blee0518@gmail.com" rel="noreferrer" target="_blank">blee0518@gmail.com</a>> writes:<br>
<br>
> also Bjorn, you are obviously highly more skilled in all this than I am. I<br>
> did not even think to dig into the code, and i probably wouldnt understand<br>
> most of it.  I am curious, what you would recommend over systemd to<br>
> acquire an IP from the wwan interfaces using dhcp?<br>
<br>
I don't recommend DHCP for MBIM or QMI devices.  The DHCP server is a<br>
sloppy workaround added to the modem firmware. Sometimes. It may or may<br>
not work.  It's mostly untested (by vendor or anyone else) for MBIM<br>
devices, since Windows doesn't use it.<br>
<br>
Us the native managment protocol (QMI or MBIM) to get the address info<br>
and let NetworkManager, or similar alternatives, configure the IP<br>
interface accordingly.<br>
<br>
> One final question for Bjorn, as i am taken back by his detail in coding.<br>
> I am having issues with the port being assigned to the proper cdc-wdm*.<br>
> Most of the time it boots with the same assignment but maybe 1 in 10 it<br>
> switches them. I tried a symlink rule but it didnt help. Can you give<br>
> proper advice on how to assign the device to a cdc-wdm on reboot/startup?<br>
> what i tried and it didnt work:<br>
><br>
> # assign module1 to cdc-wdm0<br>
> KERNEL=="cdc-wdm0", \<br>
> ATTR{idProduct}=="9071", \<br>
> SYMLINK+="cdc-wdm0"<br>
><br>
> Looking to try this but it would be a port assignment not device to udev<br>
> assignment<br>
> KERNEL=="cdc-wdm0*", KERNELS=="1-4:1.0", SYMLINK+="cdc-wdm0"<br>
<br>
As Aleksander already explained:  You cannot change this name.  It is<br>
assigned by the driver/kernel based on order of discovery. Neither the<br>
driver nor the tools support renaming.<br>
<br>
But what you can do is look up the character device name based on the<br>
network device name, which systemd will keep stable for you based on bus<br>
and port. If not, then it is possible to create an udev rule to achive a<br>
stable netdev name.<br>
<br>
If your cdc_mbim or qmi_wwan netdev is named "foo0bar3", then the<br>
matching cdc-wdmX device is<br>
<br>
 $ basename /sys/class/net/foo0bar3/device/usbmisc/*<br>
 cdc-wdm42<br>
<br>
<br>
<br>
Bjørn<br>
</blockquote></div>