Search code examples
makefileserial-portusbinstallationuart

Silabs USB TO UART Debian build error


I'm having a problem installing a driver for my Silabs USB to UART bridge.

I download my driver from here: http://www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx

I'm running Ubuntu 12.04 32bit Kernel Linux 3.5.0-27-generic

The instructions say that make (your cp2010x driver)

cp cp2010x.ko to /libmodules/<kernel>/kernel/driver/usb/serial
insmod /libmodules/<kernel>/kernel/driver/usb/serial/usbserial.ko
insmod xp2010x.ko

However, I get this error when I try to call make:

root@grace:/home/admin/Desktop/usb# make
make -C /lib/modules/3.5.0-27-generic/build M=/home/admin/Desktop/usb modules
make[1]: Entering directory `/usr/src/linux-headers-3.5.0-27-generic'
  CC [M]  /home/admin/Desktop/usb/cp210x.o
/home/admin/Desktop/usb/cp210x.c:164:12: error: ‘usb_serial_probe’ undeclared here (not in a function)
/home/admin/Desktop/usb/cp210x.c:165:16: error: ‘usb_serial_disconnect’ undeclared here (not in a function)
/home/admin/Desktop/usb/cp210x.c: In function ‘cp210x_init’:
/home/admin/Desktop/usb/cp210x.c:989:2: error: implicit declaration of function ‘usb_serial_register’ [-Werror=implicit-function-declaration]
/home/admin/Desktop/usb/cp210x.c:996:3: error: implicit declaration of function ‘usb_serial_deregister’ [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors
make[2]: *** [/home/admin/Desktop/usb/cp210x.o] Error 1
make[1]: *** [_module_/home/admin/Desktop/usb] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.5.0-27-generic'
make: *** [all] Error 2

I am new to Linux. I've Googled the error a lot but I can't find any answers that works.


Solution

  • According to this forum post, those drivers have actually been a part of the kernel since March 2009. You can see the file at drivers/usb/serial/cp210x.c (here is a link to the file in the latest stable version of the kernel).