X-Git-Url: http://rtime.felk.cvut.cz/gitweb/lincan.git/blobdiff_plain/8bf274975cae173308f3e85a70cf17834071873b..1d20caee804d28a792dcacbf8424dc23b80c6370:/lincan/README diff --git a/lincan/README b/lincan/README index 1f0202d..faf2677 100644 --- a/lincan/README +++ b/lincan/README @@ -1,7 +1,9 @@ - Linux CAN Driver (LinCAN) version 0.3 + + Linux CAN Driver (LinCAN) version 0.3.3 Pavel Pisa - OCERA team member - + OCERA team member + Real-time Systems Laboratory + Department of Control Engineering, FEE CTU INTRODUCTION @@ -56,16 +58,35 @@ lincan-0.2-pre heavily rewritten infrastructure of the driver based lincan-0.2 version tested on many bords and 2.2, 2.4, 2.6 Linux (Mar 2004) and RT-Linux enabled 2.4 Linux kernel -lincan-0.3 possible SMP and HT deadlock fixed, driver can take +lincan-0.2.8 possible SMP and HT deadlock fixed, driver can take (Jul 2004) advantage of CMPXCHG instruction if present on CPU, added support for CPC-PCI and PCAN-PCI cards, messages timestamping implemented partially implemented support for Bosch C_CAN module, requires more work and real hardware + +lincan-0.3 Changed SJA1000 chip IRQ handling. Enhanced VME +(Nov 2004) and EMS CPC-PCI support and many other changes. + +lincan-0.3.1 Small improvements, RTR read moved into separate IOCTL, +(Jul 2005) initial support for some boards contributed by users + +lincan-0.3.2 Improvements in SJA1000 error handling and reporting, +(Feb 2006) i82527 support fixes, simple UDEV support, + updates for kernels up to 2.6.15 and fully preemptive + kernel compatibility. Support for MX1_DIS1 extension + board for PiMX1 ARM based BCC. + +lincan-0.3.3 Some more fixes of SJA1000 buss-of recovery, +(May 2006) i82527 IRQ stuck problem fixed (reported by Terence Soh), + tested up to 2.6.17 (rc4). Minimal chip info in /proc/can. + Support for NSI CAN PCI contributed by Eric Pennamen. + The actual version of driver have been latest tested it with - PC104 Advantech PCM3680 dual channel board on 2.4 RT-Linux enabled kernel - PiKRON ISA card on 2.4.and 2.6 Linux kernels + - PiKRON CAN extension board for PiMCX1 ARM BCC on 2.6 Linux kernels - BfaD DIMM PC card on 2.4 RT-Linux enabled kernel - KVASER pcican-q on 2.6 Linux kernel - MICROSPACE msmcan on 2.4 Linux and RT-Linux enabled kernel @@ -83,21 +104,22 @@ SOURCES AND URLs The LinCAN driver component page at OCERA web site (not updated to the new version yet) - http://www.ocera.org/download/components/WP7/lincan-0.2.html + http://www.ocera.org/download/components/WP7/lincan-0.3.1.html List of related communication components http://www.ocera.org/download/components/WP7/index.html -The CVS repository of OCERA project at SourceForge +The obtaining LinCAN and other CAN related components +from OCERA CVS repository at SourceForge EXTCVS=":pserver:anonymous@cvs.ocera.sourceforge.net:/cvsroot/ocera" cvs -d$EXTCVS login - cvs -z3 -d$EXTCVS co ocera + cvs -z3 -d$EXTCVS co ocera/components/comm/can Web access into CVS - http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/ocera/ocera/components/comm/can/lincan/ + http://ocera.cvs.sourceforge.net/cgi-bin/viewcvs.cgi/ocera/ocera/components/comm/can/lincan/ Experimental directory at maintainer's (Pavel Pisa's) pages @@ -111,7 +133,7 @@ and lists Driver documentation can be found at - http://cmp.felk.cvut.cz/~pisa/can/doc/lincandoc-0.2.pdf + http://cmp.felk.cvut.cz/~pisa/can/doc/lincandoc-0.3.pdf The anouncements of new version are published at FreshMeat page @@ -135,6 +157,14 @@ Makefiles can be switched to old ones by script sh ./switch-omk2std make +If you have problem to obtain recent GNU make program, + + ftp://alpha.gnu.org/gnu/make/make-3.81beta4.tar.bz2 + +you can use our local copy + + http://cmp.felk.cvut.cz/~pisa/can/make-3.81beta1.tar.gz + COMPILATION from CVS sources without full OCERA tree ==================================================== @@ -142,8 +172,8 @@ COMPILATION from CVS sources without full OCERA tree --------------------------------------------------------------------------- Obtaining CVS sources of the CAN components only --------------------------------------------------------------------------- - cvs -d:pserver:anonymous@cv...:/cvsroot/ocera login - cvs -z3 -d:pserver:anonymous@cv...:/cvsroot/ocera co + cvs -d:pserver:anonymous@ocera.cvs.sourceforge.net:/cvsroot/ocera login + cvs -z3 -d:pserver:anonymous@ocera.cvs.sourceforge.net:/cvsroot/ocera co ocera/components/comm/can --------------------------------------------------------------------------- @@ -165,7 +195,7 @@ compiled with use of old style Makefiles as well. Old style Makefiles compilation of the LinCAN driver only --------------------------------------------------------------------------- cd ocera/components/comm/can/lincan - ./switch2std + ./switch-omk2std make @@ -178,6 +208,20 @@ modules directory "/lib/modules/x.y.z/kernel/drivers/char". OMK system requires manual copy of files from "_compiled" tree to its final destinations. +Create file "lincan.rules" with contents listed below in or linked +into "/etc/udev/rules.d" directory to enable automatic device nodes +creation for UDEV based system + + # LinCAN driver + SUBSYSTEM=="can",GROUP="users",MODE="0660" + +The driver automatic loding can be requested by addition of "lincan" +line into "/etc/modules" od Debian based systems. + +The target hardware/board specific options should be added into +"/etc/modprobe.conf" file or file with similar functionality for your +distribution. The options are discusses in the next paragraph. + LOADING ======= @@ -187,8 +231,10 @@ Examples: # insmod can.o hw=pip5 irq=4 io=0x8000 # insmod can.o hw=virtual io=0 The hw argument can be one of: -- pip5, for the pip5 computer by MPL -- pip6, for the pip6 computer by MPL +- pip5, for the PIP5 computer by MPL +- pip6, for the PIP6 computer by MPL +- pip7, for the PIP7 computer by MPL +- pip8, for the PIP8 computer by MPL - pccan-q, for the PCcan-Q ISA card by KVASER - pccan-f, for the PCcan-F ISA card by KVASER - pccan-s, for the PCcan-S ISA card by KVASER @@ -196,19 +242,33 @@ The hw argument can be one of: - pcican-q, for the PCIcan-Q PCI card by KVASER (4x SJA1000) - pcican-d, for the PCIcan-Q PCI card by KVASER (2x SJA1000) - pcican-s, for the PCIcan-Q PCI card by KVASER (1x SJA1000) +- smartcan for i82527 based card with indexed access - nsican, for the CAN104 PC/104 card by NSI +- nsicanpci, for NSI CAN PCI card (2xi82527) - cc104, for the CAN104 PC/104 card by Contemporary Controls - aim104, for the AIM104CAN PC/104 card by Arcom Control Systems - pc-i03, for the PC-I03 ISA card by IXXAT - pcm3680, for the PCM-3680 PC/104 card by Advantech - m437, for the M436 PC/104 card by SECO - bfadcan for sja1000 CAN embedded card made by BFAD GmbH +- gensja1000io for many sja1000 I/O mapped cards (PCAN-PC/104 for example). - pikronisa for ISA memory mapped sja1000 CAN card made by PiKRON Ltd. +- pimx1 for MX1_DIS1 extension board for PiMX1 ARM based BCC - msmcan for MICROSPACE IO space indexed i82527 - unican for Unicontrols PCAN card - unican-pci for Unicontrols PCAN-PCI card - unican-vme for Unicontrols VCAN card +- ipci165 for IXXAT iPC-I 165 (PCI), requires CONFIG_OC_LINCAN_CARD_ipci165=y - ems_cpcpci for EMS CPC-PCI card +- pcan_dongle for PEAK's printer port dongle addapter +- oscar for SJA1000 based card connected to ARM LH7A400 SoC +- eb8245 for Kontron EB8245 onboard CAN with SJA1000 controller +- adlink7841 for ADLINK PCI-7841 dual SJA1000 based card +- tscan1 for Technologic Systems' TS-CAN1 single SJA1000 based board +- ts7kv for Technologic Systems' TS-7KV Multi-function board with SJA1000 + both these cards require CONFIG_OC_LINCAN_CARD_tscan1=y +- pcan_pci for PEAK System PCAN-PCI single, double or quad SJA1000 based board +- esdpci200 for the CAN/PCI-200 card by ESD Electronics board - template, for yet unsupported hardware (you need to edit src/template.c) - virtual, CAN channel for testing of software and driver without CAN hardware @@ -219,7 +279,7 @@ options can be one of: - extended=[1|0], configures the driver to use extended message format. - pelican=[1|0], configures the driver to set the CAN chips into pelican mode. - baudrate=, sets the baudrate of the device(s) -- clock_freq=, the frequency of the CAN quartz +- clockfreq=, the frequency of the CAN quartz - stdmask=, sets the standard mask of the device - extmask=, sets the extended mask of the device - mo15mask=, sets the mask for message object 15 (i82527 only) @@ -231,3 +291,6 @@ options can be one of: There's still a lot of work to do, have a look at the TODO file for more information. +Some boards support is compiled in only, when it is enabled through +config.omk file. It has to be stored in same directory as Makefile.rules +and config.omk-default is located.