Version 2.1.2 (09/14/2011)

  • Fix build error with kernels 2.6.37 and up
  • Fix problem with SuperFSCC/4-LVDS installation
  • See changesets for full list of changes

http://hg.commtech-fastcom.com/fscc-linux/downloads

 

Tags Categories: FSCC, Linux, Software releases Posted By: Matt
Last Edit: 27 Sep 2011 @ 03 35 PM

EmailPermalinkComments (0)

Version 2.1.0 (05/02/2011)

  • Fix comments in code
  • Add make help target
  • Migrate from google code to bitbucket
  • Added code and examples for various transmit modes
  • Fixed dma insmod parameter
  • Add SuperFSCC-LVDS and SuperFSCC/104 to the driver
  • See changesets for full list of changes

http://hg.commtech-fastcom.com/fscc-linux/downloads

Tags Categories: FSCC, Linux, Software releases Posted By: Matt
Last Edit: 02 May 2011 @ 02 05 PM

EmailPermalinkComments (0)
 18 Jan 2011 @ 2:17 PM 

We have officially released a 2.x driver for our FSCC series of cards using Linux.

This release is a departure from the 1.x series most of you are used to. We have broken API compatibility with the hopes of creating a new driver platform designed to use current kernel practices and ease as many complaints as we can from the old series.

If you already have an application designed to use the 1.x series of drivers you don’t have to make the switch. If you haven’t yet started application development we recommend using the new series. While compatibility has been broken it is very similar to the 1.x series of FSCC drivers so users of the old series should have no problem picking up the new driver.

If you would like to get started using this new driver start by download the driver from the following link then following the README file included.

http://code.google.com/p/fscc-linux/

http://hg.commtech-fastcom.com/fscc-linux

Considering this is a new driver if you find any issues or have any recommendations please let us know. Any information you can give us will help our entire user base.

Tags Categories: FSCC, Linux Posted By: Will
Last Edit: 10 May 2011 @ 07 41 AM

EmailPermalinkComments (0)

01/05/2011

  • Update writereg example program.  It was incorrectly checking the return variable of deviceIoControl() for information.  This will resolve any issues that you may see with IOCTL_FSCCDRV_WRITE_REGISTER saying that it failed when it really passed.
  • Fix line endings on Visual Studio project files and .txt files on the CD

12/29/2010

  • New linux code that will fix build errors on newer kernels.

fscc_2011_01_06

Tags Categories: FSCC, Linux, Software releases Posted By: Matt
Last Edit: 06 Jan 2011 @ 03 29 PM

EmailPermalinkComments (0)
 10 Dec 2010 @ 11:32 AM 

Sometimes ‘setserial’ can memorize serial port configuration without requesting whether you would like this to happen. This can cause difficult to determine bugs when switching between serial cards. One way of determining if this is happening to you is by taking a look at the setserial output to see if there are more ports listed than the number of ports in your computer.

Here is a sample ‘setserial’ output showing this situation. I had 2-port card in the computer then replaced it later with a 4-port card. It memorized the configuration of the 2-port card and stored it’s configuration values at /dev/ttyS[4-5] upon reboot. So if you load up your program that uses /dev/ttyS4 expecting to use the first port of your new 4-port card it will not work.

/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
/dev/ttyS1, UART: unknown, Port: 0x02f8, IRQ: 3
/dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4
/dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3
/dev/ttyS4, UART: 16950/954, Port: 0xe800, IRQ: 20
/dev/ttyS5, UART: 16950/954, Port: 0xe808, IRQ: 20
/dev/ttyS6, UART: 16950/954, Port: 0xec00, IRQ: 18
/dev/ttyS7, UART: 16950/954, Port: 0xec08, IRQ: 18
/dev/ttyS8, UART: 16950/954, Port: 0xe800, IRQ: 18
/dev/ttyS9, UART: 16950/954, Port: 0xe800, IRQ: 18
To prevent this from happening there are a couple steps you must take. First, the lines that are executed at boot that restore those old settings are in the file /var/lib/setserial/autoserial.conf. Delete any initializion lines in that file to prevent them from being restored at boot. Secondly, to prevent this from happening in the future you will need to run ‘dpkg-reconfigure setserial’ and select the “Manual” option when asked. The second step will need to be altered if you are not on a Debian based system.
Tags Categories: Linux Posted By: Will
Last Edit: 10 Dec 2010 @ 02 12 PM

EmailPermalinkComments (0)

09/23/2009 – Linux

  • Fix request_irq() to stop using deprecated SA_INTERRUPT and SA_SHIRQ flags.
  • I can also confirm that this driver installs and runs in OpenSuse 11.0.

esccpcmcia_2009_09_23

Tags Categories: ESCC, Linux, Software releases Posted By: Matt
Last Edit: 23 Sep 2009 @ 03 18 PM

EmailPermalinkComments (0)
 06 Jul 2009 @ 1:58 PM 

To start we need to grab a few packages.

su -c 'yum groupinstall "Development Tools" ncurses-devel #'

Now make sure you are not logged in as root and run these commands to setup a directory tree to build the kernel.

cd
mkdir -p rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
echo '%_topdir %(echo $HOME)/rpmbuild' > .rpmmacros

Now we need to get the kernel source code to patch. To do this we use a command like this and edit it to use the specific kernel we wou like to use. You can browse here http://ftp.redhat.com/pub/redhat/linux/enterprise/5Client/en/os/SRPMS/ for more options. This line might take awhile since it is downloading an ~50mb file first.

rpm -i kernel-2.6.18-8.el5.src.rpm

Next up lets unpack the source code and get it ready to go.

cd ~/rpmbuild/SPECS
rpmbuild -bp --target=`uname -m` kernel-2.6.spec

Now we configure the kernel to do everything we need.

cd ~/rpmbuild/BUILD/kernel-2.6.18/linux-2.6.18.<arch>
cp /boot/config-2.6.18-8.el5 .config
make oldconfig

Edit the .config file we just copied to the current directory and modify the line CONFIG_SERIAL_8250_RUNTIME_UARTS to something higher than 4.

CONFIG_SERIAL_8250_RUNTIME_UARTS=8

Add this line as the first line in the .config file.

# i386

Now replace an existing config file with the one we just modified. Then move all of the config files over to the SOURCES directory.

cp .config configs/kernel-2.6.18-i686.config
cp configs/* ~/rpmbuild/SOURCES

We need to copy our patch file into the ~/rpmbuild/SOURCES/ directory so it gets applied during the build.

cp commtech.patch ~/rpmbuild/SOURCES/commtech.patch

Change directories.
cd ~/rpmbuild/SPECS/

Open up the kernel-2.6.spec file and modify this line so it looks like this. This way we can tell the which kernel is which when we are done.
%define release 8%{?dist}.commtech

Then at line 913 add this line.
Patch40000: commtech.patch

Then at line 1985 add this line.
%patch40000 -p1

Build time. This step takes forever so I wouldn’t wait and watch. NOTE: Real early in the build process there is a problem with our patch that makes us manually specify the file that needs patched. So when it asks which file you need to say this line with your username and arch.
/home/<username>rpmbuild/BUILD/kernel-2.6.18/linux-2.6.18.<arch>/drivers/serial

rpmbuild --with baseonly -bb --target=`uname -m` kernel-2.6.spec

Finally the build is done and all you have left to do it install the
kernel and reboot. Just double click on the RPM file of your choosing
in the ~/rpmbuild/RPMS/ directory and follow the install prompt.

Tags Categories: Async-335, FSCC, Linux Posted By: Will
Last Edit: 14 Jul 2009 @ 04 15 PM

EmailPermalinkComments (0)
 23 Jun 2009 @ 1:48 PM 

Here is a guide for patching the Linux kernel in Fedora 8 so that the Commtech boards will be detected.

To start we need to make sure we have all the tools we need for obtaining and building the kernel.


su -c 'yum install yum-utils rpm-build m4 make gcc redhat-rpm-config rpmdevtools ncurses-devel'

Now that we have all the tools we need, we run another command that sets up some directories for usage.


rpmdev-setuptree

Now everything should be setup the way we want it. So we download the kernel source code.


yumdownloader --source kernel
su -c 'yum-builddep kernel-<version>.src.rpm'
rpm -Uvh kernel-<version>.src.rpm
cd ~/rpmbuild/SPECS
rpmbuild -bp --target=`uname -m` kernel.spec

The kernel source code we are going to use is now located in


~/rpmbuild/BUILD/kernel-<version>/

We are about ready to build, but before we do we need to put together a config file. In the configs folder is some you should probably use. Pick one and cp it to .config


cp configs/kernel-2.<version>-<arch>.config .config

Before we start to build the kernel we need to tweak the .config file so that it allows for enough UART ports. So modify .config and change the CONFIG_SERIAL_8250_RUNTIME_UARTS line to something higher like 8.


gedit .config

Then copy it over to help out the build process.


cp .config ~/rpmbuild/SOURCES/config-<arch>

Lets apply the patch then we will be ready to build.


patch -p0 < ../fastcom_async_pci_serial_patch_2.6.24.hardy

Now finally we get to actually build the kernel. It takes forever so go do something else for awhile.


cd ~/rpmbuild/SPECS/
rpmbuild --with baseonly -bb --target=`uname -m` kernel.spec

Finally the build is done and all you have left to do it install the kernel and reboot. Just double click on the RPM file of your choosing in the ~/rpmbuild/RPMS/ directory and follow the install prompt.

cp .config ~/rpmbuild/SOURCES/config-$arc
Tags Categories: Async-335, FSCC, Linux Posted By: Will
Last Edit: 25 Jun 2009 @ 10 29 AM

EmailPermalinkComments (1)
 17 Oct 2008 @ 2:20 PM 

Many users of the FSCC experience the situation where either one of the example programs and utilities returns with an error “Device or Resource busy.”

The likely cause (if we are talking about an FSCC card specifically) is that you performed an operation on the transmitter or receiver and there is not a valid transmit or receive clock present.  One example of an instance in which this can happen is if you configure the card to operate in a mode with an external receive clock (i.e. clock mode 1) and there is not a valid clock present on the RxClkIn pins and then you try to issue a command to the receiver (i.e. a HUNT or RESET command). 

Basically what happens is that the command is sent to the card and it never completes.  This can be verified by reading the status of the command executing bit.  If it is a 1, then there is a command waiting to be executed (when a clock shows up).  This can be remedied by momentarily switching to a mode that uses internal clocking (i.e. 7).  It can be prevented by never issuing a receive command if there is a chance that you don’t have a receive clock.

    NOTE: all of the above can also pertain to the transmitter as well, if you issue a transmit command and you don’t have a transmit clock, the same situation will occur.
Tags Categories: FSCC, Linux Posted By: Matt
Last Edit: 17 Oct 2008 @ 02 20 PM

EmailPermalinkComments (7)
 25 Sep 2008 @ 8:40 PM 

This is a pretty unexciting update.  This just contains a couple of code updates to fix a couple of errors and warnings when building the Linux module in newer 2.6 kernels.

esccp335_2008_09_25

Tags Categories: Linux, Software releases Posted By: Matt
Last Edit: 25 Sep 2008 @ 08 40 PM

EmailPermalinkComments (0)
 13 Jun 2008 @ 8:04 PM 

Another mass update blog post, though not so many this time:

  • 6/13/2008 – Windows
    Added support for external trigger and extended trigger modes of the SuperFSCC-104-ET (Firmware rev 04.0A)
    Add FSCCToolbox DLL example code
  • 6/9/2008 – Windows
    Added 9bit receive mode, returns 2 bytes for each received character (all 9 bits)
  • 5/30/2008 – Linux
    Added monolithic external transmit example.
  • 5/20/2008 – Windows/linux
    Fixing transmit queuing code.  The fix has been fixed…Differences in the DMA vs IRQ driven sections of the code required different handling.  Fixing one broke the other.  This update should make both types operate properly.
  • 5/19/2008 – Linux
    Fixing tx queuing (again)
    Adding in external transmit example

fscc_2008_06_13

Tags Categories: FSCC, Linux, Software releases Posted By: Matt
Last Edit: 13 Jun 2008 @ 08 04 PM

EmailPermalinkComments (0)
 13 Jun 2008 @ 7:49 PM 

This new software release contains an updated Linux driver.  This update fixes a number of build warnings that cropped up in later 2.6 kernel versions.  Hopefully it will compile cleanly for a while.

escc_2008_06_13

Tags Categories: Linux, Software releases Posted By: Matt
Last Edit: 13 Jun 2008 @ 08 05 PM

EmailPermalinkComments (0)
 08 May 2008 @ 5:55 PM 

This new software release includes these new features:

  • 01/07/2008 – Linux
    -updated with mods for 10 board install on centos
    -update pty to allow flush on devnode (without exiting)
    - modify driver to handle xdu as flush, update so 2.4 threading operates
  • 05/07/2008 – Linux:
    -Fixed up various PCI nasties to make the driver compile in kernels at around 2.6.24

This new driver can be found here: superfastcom_2008_05_07.zip

Tags Categories: Linux, Software releases, SuperFastcom Posted By: Matt
Last Edit: 13 Jun 2008 @ 08 15 PM

EmailPermalinkComments (0)
 20 Dec 2007 @ 10:52 PM 

Exactly how does one apply the kernel patch for a Fastcom:FSCC, 232/4-PCI-335, 422/2-PCI-335 or 422/4-PCI into a Ubuntu Linux 7.10 (Gutsy) kernel?

Funny you should ask. The steps below are based largely on the howto on the Ubuntu help pages.

To start, you will need to install a few packages:

sudo apt-get install linux-kernel-devel fakeroot build-essential

The you need to get the kernel source. The simplest way, useful to those who want to rebuild the standard Ubuntu packages with additional patches is:

apt-get source linux-image-`uname -r` (that is a tick mark, it is the symbol on the key with the ~)
apt-get build-dep linux-image-`uname -r`

Now I want to apply my kernel patch of choice. For this example I will use the 2.6.22 kernel and associated patch.

cd linux-source-2.6.22-2.6.22
patch -p0
< fastcom_async_pci_serial_patch_2.6.22.gutsy

Now I copy my current config to the appropriate source config directory. Obviously I am using i386 and generic, you may be using something different.

cp /boot/config-2.6.22-14-generic debian/config/i386/config

You will want to change one entry in the config file before you proceed. You want to change the number of runtime UARTs to at least 8 (more if you are using multiple cards).

vi debian/config/i386/config
CONFIG_SERIAL_8250_RUNTIME_UARTS=8

Then to update the configs, run this:

sudo chmod 755 debian/scripts/misc/splitconfig.pl
sudo chmod 755 debian/scripts/misc/oldconfig
debian/scripts/misc/oldconfig ARCH (replacing ARCH with your architecture i.e. i386, etc)

Now it is time to compile! To build a specific target, use this command:

AUTOBUILD=1 NOEXTRAS=1 fakeroot debian/rules binary-FLAVOUR

Where FLAVOUR is one of the main flavours of the kernel (e.g. generic).

Relax. Have a cigar – this will take a little while.

When it finishes the newly created deb packages will be in the parent directory. To install them:

sudo dpkg -i linux-image-2.6.22-14-generic_2.6.22-14.47_i386.deb
sudo dpkg -i linux-headers-2.6.22-14-generic_2.6.22-14.47_i386.deb

Then reboot into your new kernel. That’s it.

Tags Categories: Async-335, FSCC, Linux Posted By: Matt
Last Edit: 26 Nov 2008 @ 09 49 AM

EmailPermalinkComments (5)
\/ More Options ...
Change Theme...
  • Users » 10
  • Posts/Pages » 84
  • Comments » 26
Change Theme...
  • VoidVoid « Default
  • LifeLife
  • EarthEarth
  • WindWind
  • WaterWater
  • FireFire
  • LightLight

About



    No Child Pages.