# GL7812 in USB mode

**URL:** <https://forum.sierrawireless.com/t/gl7812-in-usb-mode/35782>\
**Category:** GL Series\
**Created:** [February 26, 2026, 4:27pm UTC](https://forum.sierrawireless.com/t/gl7812-in-usb-mode/35782 "2026-02-26T16:27:11Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![simonbone](https://avatars.discourse-cdn.com/v4/letter/s/db5fbb/32.png) [@simonbone](https://forum.sierrawireless.com/u/simonbone)\
**Post date:** [February 26, 2026, 4:27pm UTC](https://forum.sierrawireless.com/t/gl7812-in-usb-mode/35782/1 "2026-02-26T16:27:11Z")

</div>

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](https://gitlab.freedesktop.org/mobile-broadband/ModemManager) 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

…

---

<div class="post-metadata">

**Author:** ![jyijyi](https://sea1.discourse-cdn.com/flex025/user_avatar/forum.sierrawireless.com/jyijyi/32/4766_2.png) [@jyijyi](https://forum.sierrawireless.com/u/jyijyi)\
**Post date:** [February 26, 2026, 4:41pm UTC](https://forum.sierrawireless.com/t/gl7812-in-usb-mode/35782/2 "2026-02-26T16:41:47Z")

</div>

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

 ![image](https://us1.discourse-cdn.com/flex025/uploads/sierrawireless/original/2X/5/581049c529aebd12b205a3fafe2a5921f5e23d9c.png)

---

<div class="post-metadata">

**Author:** ![simonbone](https://avatars.discourse-cdn.com/v4/letter/s/db5fbb/32.png) [@simonbone](https://forum.sierrawireless.com/u/simonbone)\
**Post date:** [February 26, 2026, 4:46pm UTC](https://forum.sierrawireless.com/t/gl7812-in-usb-mode/35782/3 "2026-02-26T16:46:53Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![jyijyi](https://sea1.discourse-cdn.com/flex025/user_avatar/forum.sierrawireless.com/jyijyi/32/4766_2.png) [@jyijyi](https://forum.sierrawireless.com/u/jyijyi)\
**Post date:** [February 26, 2026, 5:09pm UTC](https://forum.sierrawireless.com/t/gl7812-in-usb-mode/35782/4 "2026-02-26T17:09:19Z")

</div>

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

The useful port to you should be only AT port
