Ubuntu 16.04.1 usbserial 丢失

Ubuntu 16.04.1 usbserial 丢失


当前 Ubuntu 版本中的 usbserial 内核模块有什么问题?我无法安装任何依赖于 usbserial.ko 的驱动程序。

我如何得到这个结果:
当我将 CP2102 虚拟 COM 端口 (VCP) 适配器连接到 USB 时,我得到以下输出:

[ 1893.942663] usb 1-1.1.4.2: new full-speed USB device number 12 using ehci-pci
[ 1894.052823] usb 1-1.1.4.2: New USB device found, idVendor=10c4, idProduct=ea60
[ 1894.052826] usb 1-1.1.4.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1894.052828] usb 1-1.1.4.2: Product: CP2102 USB to UART Bridge Controller
[ 1894.052829] usb 1-1.1.4.2: Manufacturer: Silicon Labs
[ 1894.052831] usb 1-1.1.4.2: SerialNumber: 0001
[ 1895.067552] cp210x: Unknown symbol usb_serial_generic_open (err 0)
[ 1895.067565] cp210x: Unknown symbol usb_serial_generic_close (err 0)
[ 1895.067579] cp210x: Unknown symbol usb_serial_deregister_drivers (err 0)
[ 1895.067595] cp210x: Unknown symbol usb_serial_register_drivers (err 0)

$ lsmod | grep 210x并且$ lsmod | grep usbserial不输出任何内容

然后我尝试重建驱动程序。从http://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers

$ make
$ cp ./cp210x.ko /lib/modules/4.8.0-58-generic/kernel/drivers/usb/serial/cp210x.ko
$ insmod /lib/modules/4.8.0-58-generic/kernel/drivers/usb/serial/cp210x.ko 
insmod: ERROR: could not insert module /lib/modules/4.8.0-58-generic/kernel/drivers/usb/serial/cp210x.ko: Unknown symbol in module

$ modinfo usbserial输出

filename:       /lib/modules/4.8.0-58-generic/kernel/drivers/usb/serial/usbserial.ko
modinfo: ERROR: could not get modinfo from 'usbserial': No such file or directory

我的系统信息:4.8.0-58-generic #63~16.04.1-Ubuntu SMP Mon Jun 26 18:08:51 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux 这是怎么回事?如何修复?如何启动并运行驱动程序?

先感谢您!!

答案1

我在使用 Espressif 的基于 SiLabs CP2102 的 ESP32-DevKitC 开发板时遇到了与您提到的完全相同的问题。您没有提到您使用的环境,但我以 VirtualBox VM 的形式运行 Ubuntu,结果发现这是我的问题的根源。

问题是默认情况下未安装 USB 串行驱动程序在专为虚拟机和云使用而设计的 Ubuntu 图像中。

要解决该问题,请linux-image-extra-virtual通过运行以下命令安装该包:

sudo apt-get install linux-image-extra-virtual

安装该软件包后,我/dev/ttyUSB0将 USB 设备连接到我的(主机)Mac 后不久就得到了一个串行设备。

答案2

我也遇到了同样的问题。你只需要安装linux-modules-extra包含适用于你的内核的驱动程序即可。

使用以下命令:

sudo apt install linux-modules-extra-$(uname -r)

相关内容