Custom udev rules for modem & modem connection setup

Hi All,
I have a SIMCOM 7100 modem with udev rules that i want to deploy. The device is seen as multiple usb devices like:


I have a container running based on the node red resin io container:

Now i have followed the script on: and added this to the docker file with loading the script named startdev:

mount -t devtmpfs none /dev  
udevd &  
udevadm trigger  

With this line:

# copy udev rules
COPY ./app/udev-rules/* /etc/udev/rules.d/

# start dev
CMD ["bash", "/usr/src/app/"]

When i check it doesn’t look like the udev rules are deployed because i don’t see the following symlinks:

/dev/modemS1 and/or /dev/modemGPS
/dev/modemS2 and/or /dev/modemAT
/dev/modemS3 and/or /dev/modemPPP

Also i have added a config with the right APN in system-connections folder in img like the default from the documentation.

Is there something that goes wrong and how can I test if the modem is working at all, with or without the symlinks?

Are you running a -dev version of resinOS? This will allow unsecured access to the Host OS, and so is great for debugging this kind of issue, where the configuration happens at the Host rather than Application level.

We are running the dev version of the OS and we are able to get the modem to connect with qmi on the host OS
But how can we achieve to have the configuration be adopted to the container or the host OS so it will be easy scalable deployed? Do we need to make a custom host image?

Can you try running this project --> on your device, with a network config file added to the boot file partition ( see ).

If your modem doesn’t connect with this, can you try connecting the device via ethernet and run mmcli -L on the host OS to see if the modem is recognised.

You shouldn’t need to use any udev rules here as the modem should always enumerate with the same ttyUSB* numbers at every boot.