GL7812 in USB mode

We have the GL7812 gateway, and currently use it in serial port mode. These are attached to a PC running debian buster.

(The use of debian buster is due to a proprietary application not involved in communication with the gateway modem but I wanted to mention it since the OS version is a hard constraint for us).

I am considering to try using the built in USB port, so I’ve tried activating it with the command AT+USBCOMP=1, then restarting with the command AT+CFUN=1,1.

After this, I see 4 serial devices created by linux. These are /dev/ttyACM0, /dev/ttyACM1, /dev/ttyACM2 and /dev/ttyACM3.

I was under the impression that these gateways have an HL78xx chipset in them, and the documentation for them seems to say 3 devices should be created. Does anyone know what the devices I have appearing are?

The documentation I was looking at is “HL78xx AT Command Reference Guide r28”, section 5.42 on page 159. Incidentally this seems to be duplicated in section 5.55.

I was trying to get the device recognised by modemmanager, but due to the OS version, it predates the addition of HL78xx support. I did manage to find the udev rules needed in the source code for a more recent modemmanager, copied below. Unfortunately although the rules are recognised, the modem isn’t. I am assuming I’ve not got the port assignments correct due to the extra serial device appearing, but I could be wrong.

The udev rules I copied are from (Modem Manager src/plugins/sierra/77-mm-sierra.rules):

SUBSYSTEMS==“usb”, ATTRS{bInterfaceNumber}==“?*”, ENV{.MM_USBIFNUM}=“$attr{bInterfaceNumber}”
ATTRS{idVendor}==“1199”, ATTRS{idProduct}==“c001”, ENV{.MM_USBIFNUM}==“00”, SUBSYSTEM==“tty”, ENV{ID_MM_PORT_TYPE_AT_PRIMARY}=“1”
ATTRS{idVendor}==“1199”, ATTRS{idProduct}==“c001”, ENV{.MM_USBIFNUM}==“02”,
SUBSYSTEM==“tty”, ENV{ID_MM_PORT_TYPE_AT_PPP}=“1”
ATTRS{idVendor}==“1199”, ATTRS{idProduct}==“c001”, ENV{.MM_USBIFNUM}==“04”,
SUBSYSTEM==“tty”, ENV{ID_MM_PORT_TYPE_GPS}=“1”

Modem Manager version I am testing with is 1.14.12-0.1~bpo10+1

I saw in a previous question someone asked for details of the modem, so here is what I have:

ATI3 gives “GL7812.5.5.8.0”

ATI9 gives:

GL7812.5.5.8.0-23.10.0.FreeRTOS.w41

HL78xx.5.5.8.0.RK_03_02_00_00_34211_001.20231031

2023/10/31 10:26:07

for the port assignment, you can see below from AT command user guide:

Yes, that is what I was referring to. But it claims there will be three devices: /dev/ttyACM0, /dev/ttyACM1 and /dev/ttyACM2. The same docs explain how to assign different uses to each port.

However, I am getting a fourth device /dev/ttyACM3 created also. I have no idea what it is.

When I use the Udev rules I listed before, I should be getting the correct assignments for the default purposes of each port:

/dev/ttyACM0 - AT port

/dev/ttyACM1 - PPP port

/dev/ttyACM2 - NMEA port

I can see these ports being probed by modem manager, and recognised as expected. But unfortunately, the device doesn’t seem to be set up afterwards. So I at least suspect that fourth port is relevant, and I would like to know what it is.

that could be the debug port.
But you can ignore it actually.

The useful port to you should be only AT port