Wvdial was very usable program a long time ago, but it can be a bit tricky nowadays in some systems. It does not work in antiX runit, because pppd does not load all required libraries. It works MX Linux and Linux Mint 21 and also in antiX Linux after installing some packages. For knowing that all required libraries are available run command
sudo ldd /usr/sbin/pppd
If everything is ok, the reply looks like
linux-vdso.so.1 (0x00007ffc502e8000)
libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3 (0x00007f693b400000)
libssl.so.3 => /lib/x86_64-linux-gnu/libssl.so.3 (0x00007f693b957000)
libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f693b91b000)
libpam.so.0 => /lib/x86_64-linux-gnu/libpam.so.0 (0x00007f693b909000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f693b904000)
libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 (0x00007f693b331000)
libpcap.so.0.8 => /lib/x86_64-linux-gnu/libpcap.so.0.8 (0x00007f693b8b6000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f693b150000)
libaudit.so.1 => /lib/x86_64-linux-gnu/libaudit.so.1 (0x00007f693b11f000)
libcap.so.2 => /lib/x86_64-linux-gnu/libcap.so.2 (0x00007f693b8aa000)
libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007f693afd8000)
liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f693afa9000)
libzstd.so.1 => /lib/x86_64-linux-gnu/libzstd.so.1 (0x00007f693aeed000)
liblz4.so.1 => /lib/x86_64-linux-gnu/liblz4.so.1 (0x00007f693aec7000)
/lib64/ld-linux-x86-64.so.2 (0x00007f693bacd000)
libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007f693ae71000)
libcap-ng.so.0 => /lib/x86_64-linux-gnu/libcap-ng.so.0 (0x00007f693b89e000)
libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007f693ae49000)
If not (like in antiX runit)
linux-vdso.so.1 (0x00007f5efc0e9000)
libcrypto.so.1.1 => not found
libssl.so.1.1 => not found
libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f5efbfdd000)
libpam.so.0 => /lib/x86_64-linux-gnu/libpam.so.0 (0x00007f5efbfcb000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f5efbfc6000)
libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 (0x00007f5efbf04000)
libpcap.so.0.8 => /lib/x86_64-linux-gnu/libpcap.so.0.8 (0x00007f5efbeb8000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f5efbcd7000)
libaudit.so.1 => /lib/x86_64-linux-gnu/libaudit.so.1 (0x00007f5efbca6000)
libcap.so.2 => /lib/x86_64-linux-gnu/libcap.so.2 (0x00007f5efbc9a000)
/lib64/ld-linux-x86-64.so.2 (0x00007f5efc0eb000)
libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007f5efbc42000)
libcap-ng.so.0 => /lib/x86_64-linux-gnu/libcap-ng.so.0 (0x00007f5efbc3a000)
If all required libraries are found, install and configure Wvdial
sudo apt install wvdial
sudo wvdialconf
sudo nano /etc/wvdial.conf
Workable lines for DNA and old Huawei E220 are
[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,"IP","internet"
Modem Type = Analog Modem
Phone = *99#
ISDN = 0
Password = " "
New PPPD = yes
Username = " "
Modem = /dev/ttyUSB0
Baud = 9600
More settings can found from https://www.linux.fi/wiki/Wvdial
IMPORTANT! Before running Wvdial, disconnect other network if there has some network, because /etc/resolv.conf is messing with different network programs at the same time.
To start wvdial run
sudo wvdial
For getting wvdial working as regular user run
sudo chmod u+s /usr/bin/wvdial
https://wiki.archlinux.org/title/Wvdial
When wvdial has started successfully it looks like
–> WvDial: Internet dialer version 1.61
–> Initializing modem.
–> Sending: ATZ
ATZ
OK
–> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
–> Sending: AT+CGDCONT=1,”IP”,”internet”
AT+CGDCONT=1,”IP”,”internet”
OK
–> Modem initialized.
–> Sending: ATDT*99#
–> Waiting for carrier.
ATDT*99#
CONNECT
–> Carrier detected. Waiting for prompt.
–> Don’t know what to do! Starting pppd and hoping for the best.
–> Starting pppd at Sat May 10 12:30:11 2025
–> Pid of pppd: 7010
–> Using interface ppp0
–> local IP address X.X.X.X
–> remote IP address X.X.X.X
–> primary DNS address 62.241.198.245
–> secondary DNS address 62.241.198.246
Connection is on but if there has no internet, check /etc/resolv.conf file
cat /etc/resolv.conf
There should be the same nameserver(s) than in the /etc/ppp/resolv.conf file. If not remove (or unlink) /etc/resolv.conf file and re-start wvdial
=====================================================
Edit: It works in antiX runit and sysvinit version too after installing libelogind-compat, libelogind0, inetutils-syslogd and libssl1.1 packages.
sudo apt install libelogind-compat libelogind0
Packages inetutils-syslogd and libssl1.1 need to install by hand
For testing that all required libraries are available run
sudo ldd /usr/sbin/pppd
If everything is ok, the reply is like
linux-vdso.so.1 (0x00007f74b559d000)
libcrypto.so.1.1 => /lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x00007f74b5000000)
libssl.so.1.1 => /lib/x86_64-linux-gnu/libssl.so.1.1 (0x00007f74b543a000)
libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f74b53fe000)
libpam.so.0 => /lib/x86_64-linux-gnu/libpam.so.0 (0x00007f74b53ec000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f74b53e7000)
libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 (0x00007f74b5325000)
libpcap.so.0.8 => /lib/x86_64-linux-gnu/libpcap.so.0.8 (0x00007f74b4fb4000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f74b4dd3000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f74b5320000)
libaudit.so.1 => /lib/x86_64-linux-gnu/libaudit.so.1 (0x00007f74b52ef000)
libcap.so.2 => /lib/x86_64-linux-gnu/libcap.so.2 (0x00007f74b4dc7000)
/lib64/ld-linux-x86-64.so.2 (0x00007f74b559f000)
libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007f74b4d71000)
libcap-ng.so.0 => /lib/x86_64-linux-gnu/libcap-ng.so.0 (0x00007f74b4d69000)
Wvdial starting fast when all required files are ok. If you have no internet, check /etc/resolv.conf file. If it is empty or wrong, move or unlink it and copy the file from /etc/ppp
sudo cp /etc/ppp/resolv.conf /etc/resolv.conf
Required packages as an attchment. 32-bit for 32-bit system and 64-bit for 64-bit system.
=======================================
Edit 2: When testing with some old mobile dongles (Huawei E220, Huawei E153u-2 and ZTE MF668) all of them are working. With ZTE modem is /dev/ttyUSB2
When running command sudo wvdialconf , it makes automatically a functional /etc/wvdial.conf file, which is in Huawei E220 in DNAś broadband.
[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,"IP","internet"
Modem Type = Analog Modem
ISDN = 0
New PPPD = yes
Phone = *99#
Modem = /dev/ttyUSB0
Username = { }
Password = { }
Baud = 9600
================================================
Edit 12.5.2025: Wvdial-gui package
Packages xterm, yad, wvdial + ppp packages are required for running Wvdial-gui.
=================================================
Edit 17.5.2025: Packages for Artix Linux runit mate.