Menu

Non-Conexant modem recommendation for Ooma

2022-07-07
2022-07-28
  • Alex Harper

    Alex Harper - 2022-07-07

    I've used NCID successfully with a AT&T POTS line with a Zoom USB modem (Conexant chipset) connected to a Linux PC (not a Pi). Over the last few months I've been trying to use the same modem with an Ooma Telo VOIP device with minimal success. The Telo works fine with my Uniden phone handset CID, so its definitely sending CID info.

    My core problem is that CID info is only received sometimes. Running in debug mode I get RING and CID info for a while, but eventually it stops appearing. Plugging the modem back into the POTS line always works.

    A modem plug/unplug cycle often fixes it, as mentioned in other threads here. My REN should be OK (only two devices) and the problem persists even with only the modem attached to the Telo. I've swapped phone wiring, etc. "AT+VCID=2" seems to work slightly more reliably, but some calls are still ignored.

    I'm at the point that the next simplest option seems to be trying a new modem, however, based on the Wikipedia article table, most compatible modems appear to be Conexant, and I'm assuming those options are just as likely to fail like the Zoom modem I have.

    Avoiding Conexant appears to leave me with the Apple modem or the USR 5637, both of which can be had on ebay. A few questions:

    • Is the tested Apple modem in the Wikipedia table actually model MA034Z?

    • I do use voice hangups, which would lean towards the USR 5637. The problems with that model here seem to revolve around power concerns with the USB ports on Pis. Aside from lack of fax support (which I don't use), is there any known issues with the 5637 connected to a full power PC USB port?

    • Any other considerations?

    Thanks for any insights,

    Alex

     
  • Todd Andrews

    Todd Andrews - 2022-07-10

    Hi Alex,

    Regarding the Apple modem in the Wikipedia table, it is an internal modem and not the external USB model MA034Z/A.

    But after reading your post I am very curious to know if the MA034Z/A will work with NCID so I just bought one from eBay. It is expected to be delivered this coming week so I'll get back to you.

     
  • Alex Harper

    Alex Harper - 2022-07-11

    Hi Todd,

    Thanks for clarifying the Wiki. I was going to run the same experiment myself and order the modems when I return from a trip, but I'll wait to hear your results. I think the 5637 may make more sense, but I suspect I'll have to try both with the Ooma if they are shown to work in general.

    Since I no longer have the POTS line to test against knowing the Apple modem works for someone else will at least mean I am only testing one variable (the Ooma) and not just encountering an incompatible modem.

    Thanks for letting me know,

    Alex

     
  • Todd Andrews

    Todd Andrews - 2022-07-15

    Hi Alex,

    The modem came today. I'll likely update the Wikipedia table eventually with this info, but for now here's what I've discovered.

    On my oldest Mac, a PowerPC G4 CPU running 10.5.8 (Leopard), I'm running NCID 1.10 and it successfully initializes the Apple MA034Z/A modem. This is a good sign. The ATI3 identifying string gives Motorola SM56 USB 1.5.10 so it is definitely not a Conexant chipset. I don't currently have this old Mac wired to my POTS line, but I wanted to see how far an old version of NCID would get on an old version of macOS. Tomorrow I'll plan to try it on one of my newer Macs running the latest NCID version 1.13.

    I had odd and unsuccessful results, though, trying to get my oldest Raspberry Pi, a Model B+ 512MB, 700MHz Q3 2014, to access the modem. (I know you are not running on a Pi and you are running on some other Linux machine; the Pi was the most easily accessible Linux machine for me to do some preliminary testing.) This particular Pi is running 24x7 and monitors my POTS line, running Raspbian Buster and NCID 1.13. Although NCID was able to open the modem's port, it could not initialize it; no responses came back after sending AT commands. On connecting the modem, Raspbian seems to detect it OK, as shown by this output from 'lsusb':

    05ac:1401 Apple, Inc. Modem
    

    It creates /dev/ttyAMA0 (contrast this with /dev/ttyACM0 for Conexant modems). Here is what 'dmesg' shows, as best I can tell for this modem, when booting. Numbers in [brackets] are the relative line# within the output:

    [22] Kernel command line: coherent_pool=1M snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 bcm2708_fb.fbwidth=1920 bcm2708_fb.fbheight=1080 bcm2708_fb.fbswap=1 vc_mem.mem_base=0x1ec00000 vc_mem.mem_size=0x20000000  dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=PARTUUID=bb6b46be-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
    
    [58] Serial: AMBA PL011 UART driver
    
    [167] uart-pl011 20201000.serial: cts_event_workaround enabled
    
    [168] 20201000.serial: ttyAMA0 at MMIO 0x20201000 (irq = 81, base_baud = 0) is a PL011 rev2
    
    [169] printk: console [ttyAMA0] enabled
    
    [219] usb 1-1.3: new full-speed USB device number 5 using dwc_otg
    [220] uart-pl011 20201000.serial: no DMA platform data
    [221] usb 1-1.3: New USB device found, idVendor=05ac, idProduct=1401, bcdDevice= 2.02
    [222] usb 1-1.3: New USB device strings: Mfr=2, Product=3, SerialNumber=4
    [223] usb 1-1.3: Product: Apple USB Modem
    [224] usb 1-1.3: Manufacturer: Motorola, Inc.
    [225] usb 1-1.3: SerialNumber: 000000
    

    Based on this Stackoverflow article I did:

    $ sudo cat /proc/tty/driver/ttyAMA
    
         serinfo:1.0 driver revision:
         0: uart:PL011 rev2 mmio:0x20201000 irq:81 tx:214 rx:0 RTS|CTS|DTR
    

    With a Conexant chipset, I'm used to 'dmesg' reporting the driver as cdc_acm, but I'm not seeing the driver name it is trying to use for this Apple modem.

    I don't know why Buster is automatically assigning the Apple modem as the console device at boot. I suspect this could be related to the reason NCID isn't getting responses to AT commands; I wonder if something else has grabbed control of /dev/ttyAMA0.

    Could you let me know what Linux distro and version you are running (e.g., Fedora 36)? And NCID version? I'd like to try to get close to your setup if I can for my future tests.

     
  • Alex Harper

    Alex Harper - 2022-07-15

    Hi Todd,

    thanks for the update! Is it possible the Motorola SM56 is a softmodem? Press releases found on Google seem to suggest it might be.

    I had assumed a USB Apple modem might work as well as the wikipedia entry since it might have the same chipset, which seems to be true, But if that original entry was also tested on a Mac it seems possible Apple is bundling the softmodem drivers and that's what makes it work? I wonder if an examination of 'ioreg -l' on the Mac might give us a driver name and Mac kernel module for the modem.

    To answer your direct question, my host is Proxmox 7, which for our purposes should be the same as Debian 11 x86_64. NCID itself runs in a LXC container, but the serial device is passed through to the container, so I'd expect it's the host kernel drivers that matter.

    I'm embarrassed to admit I'm running NCID 1.11. I'm so used to automatic updates I forget that I need to manually update NCID. That said, it seems like testing under 1.13 would be best as I'll upgrade shortly.

    I appreciate your investigation, and please don't put too much effort into reproducing my config. I'm very suspicious that the Apple modem is really a softmodem and Apple just has drivers for it on macOS where the modem has been tested. If that's the case, that would mean the USR hardware is my best (only?) choice as a Conexant alternative and I'm happy to try it and report back.

    Thanks,

    Alex

     
  • Todd Andrews

    Todd Andrews - 2022-07-15

    Hi Alex,

    The Apple MA034Z/A is definitely not compatible with newer macOS versions, nor the few Linux machines I've now tried. Even Windows cannot find a driver for it.

    When I executed sudo cat /proc/tty/driver/ttyAMA on Linux and it reported "PL011" I thought this meant an earlier version of the Prolific serial driver, which gave me some hope, but now I see it is for a different serial purpose; ttyAMA0 was not Linux assigned to the Apple Modem at all. It gets assigned whether the Apple modem is plugged in or not. Linux isn't even recognizing the Apple modem as a modem or even a serial device; only 'lsusb' detects the modem. More info on ttyAMA here; the short version is that ttyAMA0 is the first serial port on an ARM-based machine.

    FWIW, I'm attaching the ioreg -l output from my PowerPC Mac that does recognize the Apple modem. It's a list of objects containing the case-insensitive string "sm56kusb".

     
  • Alex Harper

    Alex Harper - 2022-07-15

    Thanks Todd, since it doesn't work on current macOS I'm going to assume the driver has been removed. I may be able in investigate later on an older macOS VM to poke at the com.apple.driver.AppleSM56KUSBModemFamily driver bundle, but I suspect all that will show is that it is a softmodem. In particular the AppleSM56KUSBAudioEngine subtree strongly implies to me that they are doing the audio processing in software.

    I think we can assume that the wikipedia page needs to be clear that the USB modem doesn't work for current macs, and that the internal modem (using the same chipset) only work on versions of macOS that supported that hardware. I know no recent mac has a modem, so I'm not quite sure where the deprecation of the USB modem happened, but I think we can assume only that Apple supported that modem in macOS versions where the base hardware was supported.

    I've placed an order for a USR5637, which USR is clear is a "controller" and not a softmodem (in contrast to their recommended replacement USR5639). I'll report back if it can be made to work with the Ooma.

    Thanks again for your work investigating this,

    Alex

     
    • Alex Harper

      Alex Harper - 2022-07-28

      I've placed an order for a USR5637, which USR is clear is a "controller" and not a softmodem (in contrast to their recommended replacement USR5639). I'll report back if it can be made to work with the Ooma.

      Closing the loop on this, while I only have a few days on it so far, I can report that the USR5637 does seem to work with the Ooma Telo over a multiday period with the default ncid.conf settings. In particular, its working long after the Conexant would have stopped notifying on ring.

      I have not noticed any of the power issues around the USR5637, which I assume is because I'm using a full-power PC USB port.

      I'm going to count this as a success. I'm not sure what makes the Conexant so twitchy around the Ooma, but I'm glad to find at least one other option/chipset.

      Thanks for all the help,

      Alex

       

Log in to post a comment.