Serial Card (Syba)

From LinuxMCE
Revision as of 04:19, 11 October 2011 by Twodogs (Talk | contribs) (Edit Moschip driver file)

Jump to: navigation, search
Version Status Date Updated Updated By
710 Unknown N/A N/A
810 applies 10 Oct 2011 twodogs
1004 Unknown N/A N/A
1204 Unknown N/A N/A
1404 Unknown N/A N/A
Usage Information

This tutorial covers how to install the Syba SY-PCI15001 expansion card. This costs about $35, has 6 serial ports, and uses the MOSCHIP MCS9865 chip (even though Newegg says it uses MCS9845 - wrong). Moschip doesn't have a stellar record with Linux, but the drivers have been recently updated and the price is right. Not exactly plug/play, but it shouldn't take too long to install by following this tutorial.


Overview

The Syba card ships with out-of-date drivers, so we'll use the latest Moschip drivers. Following the Moschip instructions will result in two working ports that LinuxMCE can't recognize (because they're ttyD instead of ttyS). The remaining four ttyS ports will be recognized, but they won't work with LMCE because the standard driver configuration is wrong (need to have hardware flow control enabled). Also, grub only sets up four serial ports, two of which are typically allotted to the motherboard. So, here is what to do...

  • edit grub configuration to allow 8 ports
  • edit the Moschip driver file to permit hardware flow control before compiling
  • compile the driver
  • modify the LMCE script "ListSerialPorts.sh" to recognize the ttyD ports

Installation

Physically install the card. The two ports on the card are the mcs9865-isa ports that show up as ttyD. The remaining 4 ttyS ports are on expansion brackets with short cables. Boot LMCE and go to the KDE desktop. Download the driver from Moschip and extract the compressed file.

http://www.asix.com.tw/products.php?op=pItemdetail&PItemID=125;74;111&PLine=74

Edit Grub

Bring up a terminal and open the text editor with root permissions "sudo kate" Edit "/boot/grub/menu.lst" to add "8250.nr_uarts=8" at the end of the generic kernel line as shown below.

Edit Moschip driver file

edit one of the downloaded files "mcs9865.c"

for each line that says ".en_flow_control= 0," change the "0" to a "1"

using the "find and replace" feature in Kate is the easiest way to do this.

Compile

In the terminal, change to the moschip driver directory (wherever you extracted it.)

type "make" and enter. You'll see something about "lacks a cast" that looks scary, but is nothing to worry about.

type "sudo make install"

Get LMCE to recognize ttyD ports

edit "usr/pluto/bin/ListSerialPorts.sh" with root permissions (sudo kate)

change the two occurrences of "starex-serial" to "mcs9865-serial"

There is a Starex card that creates ttyD ports. We're stealing this subroutine for the Syba card.

Reboot and you've got 6 new ports