How to configure usb fax-modem on kubuntu 20.04

I am on Kubuntu 20.04, I have a usb-connected fax modem, and I installed the following packages:

efax

efax-gtk

sl-modem-daemon

I ran: sudo gpasswd --add shmuel dialout

The modem is identified by VirtualBox as: Conexant System, Inc. USB HSF Modem

When I send a fax I get this output:

Socket running on port 9900
efax-0.9a: 19:30:51 opened /dev/ttyS0
efax-0.9a: 19:30:58 sync: dropping DTR
efax-0.9a: 19:31:02 sync: sending escapes
efax-0.9a: 19:31:08 Error: sync: modem not responding
efax-0.9a: 19:31:08 failed page /home/shmuel/Downloads/poa.pdf.001
efax-0.9a: 19:31:08 finished - no response from modem

I ran

lsusb

And I saw this entry:

Bus 001 Device 010: ID 0572:1300 Conexant Systems (Rockwell), Inc. SoftK56 Data Fax Voice CARP

Settings of efax-gtk look like this

enter image description here

/dev looks like this

enter image description here

enter image description here


  • maybe it is still bound / attached to virtualbox while you try to send fax frome efax ( make sure nothing except you accesses /dev/ttyXXX with lsof)

  • the "real" device might also be /dev/modem /dev/ttySHSF0 /dev/ttySAC0 /dev/ttyUSB0 , sometimes there are multiple /dev/ttyusb serials exported by the hardware ( HSxPA / LTE Sticks) which even might to be "switched" to real identiy (e.g. from SD-Card-Reader to modem by usbmodeswitch

  • it might be related to udev , check it's logs ( permissions seem to work as you can write ) UDev Permission Entry Example

  • there s a ubuntu wiki page describing how how to install connexant drivers

  • to read/write from userland , your user has to be in the dialout group

one good trick to see where it goes would be ( on a root shell -> e.g. sudo -i or prepend sudo to dmesg) :

  • UNPLUG DEVICE
  • dmesg -c → to clear kernel log ringbuffer
  • PLUG DEVICE
  • dmesg

this should give you a little dirty talk and the device name e.g. :

[ 5277.997045] usbcore: registered new interface driver usbserial_generic
[ 5277.997158] usbserial: USB Serial support registered for generic
[ 5278.002889] usbcore: registered new interface driver pl2303
[ 5278.004349] usbserial: USB Serial support registered for pl2303
[ 5278.004403] pl2303 1-3.1.3:1.0: pl2303 converter detected
[ 5278.006801] usb 1-3.1.3: pl2303 converter now attached to ttyUSB0


It's been some years since I did this process myself (also on Kubuntu, fortuitously), but a quick glance at your screenshot shows an absence of either dev/modem or dev/ttySHSF0 is suggesting to me that you either haven't installed the kernel module for your device, or if so then it is failing to load. I'm not sure what your thought process was regarding the sl-modem-daemon (for SmartLink chipsets, not Conexant), but I would start by uninstalling it.

It wouldn't surprise me to learn that sometime in the past decade that the driver had been upstreamed into the generic linux kernel, but since I have no concrete information to that effect, I'll lay out the process that I took back then and hope that it remains workable.

First, the driver download site and accompanying documentation:

  • Linuxant Softmodem Drivers for Conexant chipsets ReadMe
  • Linuxant HSF Softmodem Driver Downloads
  • Linuxant HSF Softmodem Driver FAQ

While I don't suppose there's anything to lose by attempting to install one of the Debian packages they offer, the fact that they are for a 32-bit architecture and you likely have a 64-bit computer is a strong argument for skipping straight to Option C (extract tarball and compile manually) in my opinion. At least that source code is for 64-bit systems; considering all of it is over a dozen years old (written for Linux kernel 2.6 as opposed to version 5.4 in use by Kubuntu), I'd honestly be surprised if it compiles without needing at least a little patching. At least if you're going down that road though, I can speak to it being correct for the specific modem you have and the Linux distribution you're running. Best wishes.