Wvdial and mobile broadband in year 2025

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.

https://www.antixforum.com/forums/topic/antix23-1-pppd-does-not-work-ppp-internet-connection/#post-144099

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.

WWDIAL-packages.zip

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

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.

WVDIAL-for-Artix-Linux.zip