EM7455 /dev/ttyUSBX device files

There are 3 ttyUSB (interface 0, 2 and 3) devices files created by the GobiSerial driver on Linux.

What is the purpose each of these device files?

/: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
|__ Port 1: Dev 2, If 0, Class=Vendor Specific Class, Driver=GobiSerial, 5000M
|__ Port 1: Dev 2, If 2, Class=Vendor Specific Class, Driver=GobiSerial, 5000M
|__ Port 1: Dev 2, If 3, Class=Vendor Specific Class, Driver=GobiSerial, 5000M
|__ Port 1: Dev 2, If 8, Class=Vendor Specific Class, Driver=GobiNet, 5000M

They are DM, nmea, AT port

What is the use of DM and nmea?

Please confirm if they are enumerated incrementally or the order does not matter.
In other words,
ttyUSBn for DM
ttyUSBn+1 for nmea
AT for ttyUSBn+2

Please confirm that the interface numbers are consistent.

you can check if AT command port is having response on ttyUSB2
you can check if there is NMEA frame in ttyUSB1 when AT!GPSFIX.

They enumerate incrementally unless a process is holding open a file descriptor with the path the driver wants. In that case it skips that number. For example if you reset the device while you have ttyUSB2 open, there will be a hole between ttyUSB1 and ttyUSB3. All the tty nodes after USB2 will be shifted up by one.