I have this USB 56k modem which I'm using to write some home automation software that will let me know when my home phone is ringing. My software works on my Ubuntu 14.04 LTS laptop, with my modem being accessible via /dev/ttyACM0 (and I can screen into it and see when the phone rings)

However on my home automation system (a Ninja Sphere, which is an ARMv7 system running Ubuntu 14.04.2 LTS (GNU/Linux 3.12.10-ninja-spheramid-dev201412211738 armv7l)), it doesn't show up there. It runs on my Raspberry Pi running Debian Wheezy, so I'd imagine power draw / incompatibility isn't an issue.

I'm aware that hotplugging is broken in the Sphere's kernel, but if I reboot with my modem already plugged in, I can see it in lsusb, but I can't access it:

Bus 001 Device 007: ID 0572:1340 Conexant Systems (Rockwell), Inc.

If I run udevadm monitor and unplug the modem (after I've rebooted with it plugged in), I get a removal event:

KERNEL[1465.648648] remove   /devices/ocp.2/47400000.usb/47401400.usb/musb-hdrc.0.auto/usb1/1-1/1-1.4/1-1.4:1.0 (usb)
KERNEL[1465.653580] remove   /devices/ocp.2/47400000.usb/47401400.usb/musb-hdrc.0.auto/usb1/1-1/1-1.4/1-1.4:1.1 (usb)
KERNEL[1465.661160] remove   /devices/ocp.2/47400000.usb/47401400.usb/musb-hdrc.0.auto/usb1/1-1/1-1.4 (usb)
UDEV  [1465.667082] remove   /devices/ocp.2/47400000.usb/47401400.usb/musb-hdrc.0.auto/usb1/1-1/1-1.4/1-1.4:1.1 (usb)
UDEV  [1465.668216] remove   /devices/ocp.2/47400000.usb/47401400.usb/musb-hdrc.0.auto/usb1/1-1/1-1.4/1-1.4:1.0 (usb)
UDEV  [1465.683048] remove   /devices/ocp.2/47400000.usb/47401400.usb/musb-hdrc.0.auto/usb1/1-1/1-1.4 (usb)

If I plug in a 4-port USB hub (which draws power from the host) and reboot, the light on the hub comes on and udevadm monitor shows add and remove events each time I unplug / plug:

KERNEL[1534.873966] add      /devices/ocp.2/47400000.usb/47401400.usb/musb-hdrc.0.auto/usb1/1-1/1-1.1 (usb)
KERNEL[1534.884224] add      /devices/ocp.2/47400000.usb/47401400.usb/musb-hdrc.0.auto/usb1/1-1/1-1.1/1-1.1:1.0 (usb)
KERNEL[1534.898938] add      /devices/ocp.2/47400000.usb/47401400.usb/musb-hdrc.0.auto/usb1/1-1/1-1.1/1-1.1:1.1 (usb)
UDEV  [1534.915844] add      /devices/ocp.2/47400000.usb/47401400.usb/musb-hdrc.0.auto/usb1/1-1/1-1.1 (usb)
UDEV  [1534.940319] add      /devices/ocp.2/47400000.usb/47401400.usb/musb-hdrc.0.auto/usb1/1-1/1-1.1/1-1.1:1.0 (usb)
UDEV  [1534.948969] add      /devices/ocp.2/47400000.usb/47401400.usb/musb-hdrc.0.auto/usb1/1-1/1-1.1/1-1.1:1.1 (usb)

Running dmesg | tail while unplugging, then plugging my modem in shows:

[71710.128027] usb 1-1.1: USB disconnect, device number 3
[71712.667430] usb 1-1.1: new full-speed USB device number 4 using musb-hdrc
[71712.789867] usb 1-1.1: New USB device found, idVendor=0572, idProduct=1340
[71712.789916] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[71712.789945] usb 1-1.1: Product: USB Modem
[71712.789970] usb 1-1.1: Manufacturer: Conexant
[71712.789996] usb 1-1.1: SerialNumber: 12345678

I've tried running modprobe usbserial (which gives me a fatal error, saying module usbserial is not found), tried running various other modprobe commands, but nothing is happening.

Because this code is meant for a wider release where I expect non-technical folk can buy any Linux-compatible USB 56k modem and use it, I'm hoping for a "generic" answer, but right now my most pressing questions are:

  • How can I determine what is stopping Linux from assigning an entry in /dev
  • If nothing (e.g. excessive power draw) is stopping my modem from working, what do I need to do to get it going?

(Note, that although Ninja Blocks has gone bankrupt, I think we can still get software pushed out to people who own the device, so system changes shouldn't be a problem)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.