0
votes

I'm working on the Altera cyclone V Soc FPGA Dev Kit. I'm using the GSRD 14.1 Angstrom provides by rocketboards.com (http://www.rocketboards.org/foswiki/Documentation/GSRD141AngstromGettingStarted)

root@socfpga_cyclone5:~# uname -a
Linux socfpga_cyclone5 3.10.31-ltsi

This kernel don't support usb serial device and I think that I need to add usbserial and maybe usbcore drivers to communicate with a GPS serial module. The kernel includes insmod and modprobe but I can't find specifics driver for my board.

dmesg returns:

usb 1-1: new full-speed USB device number 2 using dwc2
usb 1-1: New USB device found, idVendor=10c4, idProduct=ea60
usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-1: Product: CP2104 USB to UART Bridge Controller
usb 1-1: Manufacturer: Silicon Labs
usb 1-1: SerialNumber: 006FA62E

Is there a solution to add this module ? If I have to rebuild and customize the kernel, I'm looking for some advise :)

Thanks in advance.

EDIT

The solution was add the serial driver support in menuconfig and update the kernel.

1

1 Answers

0
votes

First, plug your serial device into the USB port and check the output of this command :

ls /dev |grep usb

If you see something like "ttyUSB0" or "ttyAMC0", then the driver is already there, either as a statically compile driver or loaded module. I would be really surprised if your issue really is that the driver isn't present; it should be included in just about every distribution.

If nothing comes up, then check to see if the driver is currently loaded (this will tell you if it's actually a problem with your USB-serial device:

lsmod | grep serial

(Note: the module should be called "usb_serial", but I usually grep for a subset of the string I'm actually looking for to catch names that don't quite match what I expect, such as names with or without underscores in them. "grep serial" can match more than "usb_serial", but should include it while still shortening the modprobe output.")

If you see the driver there, then driver is loaded and the problem is with your USB-serial device. Check this text document to see if your device is supported by the driver. It is possible that your device will still work even if it's not listed as supported, because there is support for a generic device in the usb serial module. You'll have to reload the module with this command to take advantage of it:

insmod usbserial vendor=0x#### product=0x####

If the driver isn't loaded, use this command to see if it's available:

modprobe | grep serial

If the driver is there but not currently loaded, you should be able to find it in this directory to use "insmod" on it:

/lib/modules/`uname -r`/kernel/drivers/usb/serial/`

If all of that fails, you may have to recompile with the drivers enabled. Recompile your kernel and make sure you enable USB_SERIAL under the USB menu, and also enable kernel support for TTY, because USB_SERIAL depends on it.