Linux Installation
This guide applies to both US (USB to Serial) and VX (ExpressCard Serial) devices.
There are 2 methods to install US/VX devices in a Linux system. Starting from kernel 2.6.14, it includes a module called ftdi_sio which supports our US/VX chipset. We can use the built-in ftdi_sio (if standard distro) (method 1) or we can rebuild the kernel or kernel module (method 2).
Method 1 is an easy method, but it's restricted to only one device (1 and 2 port device only) at a time unless you restart or unload/reload the ftdi_sio module.
Method 2 is more technical because it involves re-building the kernel module or kernel. It will also support multiple devices in the system as well as 4 and 8 port US/VX devices.
Method 1 (Easier method)
Use this method if you have only one US or VX device and want to use with Linux (kernel version 2.6.14 or later).
-
Open a terminal window in Linux
-
Copy "99-bbftdisio.rules" files to /etc/udev/rules.d directory:
sudo cp /home/TestUser/Desktop/diskimage/99-bbftdisio.rules /etc/udev/rules.dWhere
/home/TestUser/Desktop/diskimage/is the location of "99-bbftdisio.rules" file. -
Restart your system
-
After system restart, plug in your US or VX device
-
Open a terminal window in Linux again
-
Use
lsusbto confirm Linux recognizes the system
Method 2
This method is a bit difficult but it will work with multiple devices plugged into the Linux system.
Need kernel build tools on your system to build the Linux kernel or module.
To build the patch kernel module, generally you need to perform the following steps:
- Setup Kernel development package and tools
- Download kernel source
- Patch ftdi_sio files. 'ftdi_sio.patch' and 'ftdi_sio_ids.patch' are to patch the Linux kernel 2.6.x ftdi_sio module source.
- Build the kernel module
- Copy Module to the Linux model system and load the module
Please follow the steps below to build the module (the following examples use Ubuntu 10.10):
Get the Linux kernel source
sudo apt-get install aptitude
sudo apt-get install patch
export KERNEL_VERSION=`uname -r|cut -d '-' -f 1`
sudo aptitude install linux-source-$KERNEL_VERSION
cd /usr/src
sudo tar jxf linux-source-$KERNEL_VERSION.tar.bz2
sudo ln -s linux-source-$KERNEL_VERSION linux
sudo ln -s /usr/src/linux/lib/modules/`uname -r`/build
cd linux
Prepare the build system
sudo cp /boot/config-`uname -r` /usr/src/linux/.config
cd linux
sudo make oldconfig
sudo make prepare0
sudo make scripts
sudo make modules_prepare
sudo cp /lib/modules/2.6.35-22-generic/kernel/drivers/usb/serial/ftdi_sio.ko /lib/modules/2.6.35-22-generic/kernel/drivers/usb/serial/ftdi_sio.ko_backup
Patch and Build the 'ftdi_sio' module
'ftdi_sio.patch' and 'ftdi_sio_ids.patch' are to patch the Linux kernel 2.6.x ftdi_sio module source. The following example shows building a single 'ftdi_sio' module. You can also rebuild the whole kernel system.
sudo patch /usr/src/linux/drivers/usb/serial/ftdi_sio.c < /home/bandu/Downloads/ftdi_sio.patch
sudo patch /usr/src/linux/drivers/usb/serial/ftdi_sio_ids.h < /home/bandu/Downloads/ftdi_sio_ids.patch
sudo make -C /lib/modules/`uname -r`/build M=`pwd` drivers/usb/serial/ftdi_sio.ko
Copy Module to the Linux model system and load the module
sudo cp /usr/src/linux/drivers/usb/serial/ftdi_sio.ko /lib/modules/2.6.35-22-generic/kernel/drivers/usb/serial/
sudo rmmod ftdi_sio
sudo modprobe ftdi_sio
Optional: Load module at startup
To prepare the module to load every time at start up, append 'ftdi_sio' string to the /etc/modules file.