未检测到 USB 56k 调制解调器

未检测到 USB 56k 调制解调器

我有这个 USB 56k 调制解调器我正在用它来编写一些家庭自动化软件,当我的家庭电话响起时,它会让我知道。我的软件可以在我的 Ubuntu 14.04 LTS 笔记本电脑上运行,我的调制解调器可以通过/dev/ttyACM0(我可以screen进入它并查看电话何时响起)

然而,在我的家庭自动化系统(Ninja Sphere,它是运行 Ubuntu 14.04.2 LTS (GNU/Linux 3.12.10-ninja-spheramid-dev201412211738 armv7l) 的 ARMv7 系统)上,它没有显示在那里。它在我的 Raspberry Pi 上运行,运行 Debian Wheezy,所以我想功耗/不兼容性不是问题。

我知道Sphere 内核中的热插拔被破坏,但是如果我在已插入调制解调器的情况下重新启动,我可以在 中看到它lsusb,但无法访问它:

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

如果我运行udevadm monitor并拔掉调制解调器(在插入调制解调器后重新启动后),我会收到删除事件:

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)

如果我插入 4 端口 USB 集线器(从主机获取电源)并重新启动,则集线器上的指示灯会亮起,并在udevadm monitor每次拔出/插入时显示添加和删除事件:

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)

拔掉插头后运行dmesg | tail,然后插入调制解调器显示:

[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

我尝试运行modprobe usbserial(这给了我一个致命错误,说未找到模块 usbserial),尝试运行其他各种modprobe命令,但什么也没有发生。

因为这段代码是为了更广泛的发布,我希望非技术人员可以购买任何与 Linux 兼容的 USB 56k 调制解调器并使用它,所以我希望得到一个“通用”答案,但现在我最紧迫的问题是:

  • 我如何确定是什么阻止了 Linux 分配条目/dev
  • 如果没有什么(例如过多的功耗)阻止我的调制解调器工作,我需要做什么才能让它运行?

(请注意,虽然 Ninja Blocks 已经破产,但我认为我们仍然可以将软件推送给拥有该设备的人,因此系统更改应该不成问题)

相关内容