HL7800 as a network interface in Linux

Hi @gustav.sohtell,

I assume that HL7800 is already in USB mode. You can confirm this with AT+KUSBCOMP? command. If it returns “1”, that means device is in USB mode.

Once in USB mode, you will see three ttyACMx ports. Typically, ttyACM0, ttyACM1 and ttyACM2.

USB-ACM0 — AT port

USB-ACM1 — AT/PPP data port

USB-ACM2 — NMEA data port

I will recommend to you ACM1 as your PPP port.

  • You will also need PPP daemon installed on your host. Check that pppd is available with pppd version

  • Check that your kernel is built with the ppp module: uname -a; dmesg | grep -i ppp

  • Before configuring the ppp link, check first you can connect to your ISP (Internet Service Provider) manually. Send manually ATDT123 (or “ATD99**1#” for later releases). You should get a response of “CONNECT or CONNECTED”. Then close the AT link.

  • Create an /etc/chatscripts/hl78xx-chat file which contains:
    ABORT BUSY
    ABORT “NO CARRIER”
    ABORT VOICE
    ABORT “NO DIALTONE”
    ABORT “NO ANSWER”
    ABORT DELAYED
    ABORT ERROR
    TIMEOUT 10
    “” AT
    OK "ATD99**1#"
    CONNECT

  • Create an /etc/ppp/peers/hl78xx file which contains:

noauth
connect “/usr/sbin/chat -v -t 5 -f /etc/chatscripts/hl78xx-chat”
debug
/dev/ttyACM1
115200
defaultroute
noipdefault
usepeerdns
lcp-echo-interval 20
noaccomp

  • Launch PPP session with : sudo pppd call hl78xx

  • If PPP was successfully established, “ifconfig” should show something like:

ppp0 Link encap:Point-to-Point Protocol

inet addr:10.0.0.10 P-t-P:1xx.xx.xx.xx Mask:255.255.255.255

UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1

RX packets:7 errors:0 dropped:0 overruns:0 frame:0

TX packets:7 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:3

RX bytes:345 (345.0 B) TX bytes:201 (201.0 B)

  • If you have access to the embedded Linux shell, the syslog file shows very useful information about the ppp connection.

=======================

I have also uploaded PPP chatscripts that you can use.
PPP.7z (422 Bytes)