]> rtime.felk.cvut.cz Git - lincan.git/blob - lincan/README
VME support moved to a separate file
[lincan.git] / lincan / README
1                 Linux CAN Driver (LinCAN) version 0.2 snapshot
2                 Pavel Pisa <pisa@cmp.felk.cvut.cz>
3                         OCERA team member
4                         <http://www.ocera.org>
5
6
7 INTRODUCTION
8 ============
9 The LinCAN is an implementation of the Linux CAN-bus device driver supporting
10 more CAN controller chips and many CAN interface boards. Its development
11 has long history already. The OCERA version of the driver has new better
12 designed internal structure, adds new features (as support for open by multiple
13 applications, select system call) and other enhancements.
14   
15 The driver consist of four main layers:
16   - chip level manipulation routines
17   - board specific support
18   - message queues
19   - user-space API and ABI character device interface
20
21
22 DRIVER HISTORY
23 ==============
24
25 The driver originates in The Linux Lab Project
26   http://www.llp.fu-berlin.de/
27 then it has been first rewritten by Arnaud Westenberg
28   http://home.wanadoo.nl/arnaud/
29 now it is developed and maintained as part of OCERA framework
30   http://www.ocera.org/
31
32 I am unable to contact previous maintainer Arnaud Westenberg
33 (arnaud@wanadoo.nl). If you know something about him, I like
34 to hear it.
35
36 Versions:
37
38 can-0.7.1       latest driver version version published
39                 by Arnaud Westenberg
40
41 can-0.7.1-tm5   the enhanced version with better support of
42                 SJA1000 PeliCAN mode and CAN Ethernet proxy
43                 contributed by Tomasz Motylewski <T.Motylewski@bfad.de>
44
45 can-0.7.1-pi1   the import and usage of previous version for
46 (Dec 2002)      OCERA group purposes
47                 
48 can-0.7.1-pi3.4 enhanced version with select support and rewritten
49 (Mar 2003)      make system for Linux kernels (2.2.x,2.4.x,2.5.x),
50                 interrupts service cleanup and partial redesign
51                 and DEVFS support
52
53 lincan-0.2-pre  heavily rewritten infrastructure of the driver based
54 (Aug 2003)      on atomic slot management of queues
55
56 lincan-0.2      version tested on many bords and 2.2, 2.4, 2.6 Linux
57 (Mar 2004)      and RT-Linux enabled 2.4 Linux kernel
58
59 The actual version of driver have been latest tested it with
60   - PC104 Advantech PCM3680 dual channel board on 2.4 RT-Linux enabled kernel
61   - PiKRON ISA card on 2.4.and 2.6 Linux kernels
62   - BfaD DIMM PC card on 2.4 RT-Linux enabled kernel
63   - KVASER pcican-q on 2.6 Linux kernel
64   - MICROSPACE msmcan on 2.4 Linux and RT-Linux enabled kernel
65   - virtual board tested on all systems as well
66 It takes more time to test it with more cards and polish
67 support for 2.2 and 2.6 kernels, but these should be mainly
68 cosmetic changes (I hope ;-), infrastructure and original
69 support for more than 17 boards with more variants is in.
70
71
72 SOURCES AND URLs
73 ================
74
75 The LinCAN driver component page at OCERA web site
76 (not updated to the new version yet)
77
78   http://www.ocera.org/download/components/WP7/lincan-0.1.html
79   
80 List of related communication components
81   
82   http://www.ocera.org/download/components/WP7/index.html
83
84 The CVS repository of OCERA project at SourceForge
85
86   EXTCVS=":pserver:anonymous@cvs.ocera.sourceforge.net:/cvsroot/ocera"
87   cvs -d$EXTCVS login
88   cvs -z3 -d$EXTCVS co ocera
89   
90 Web access into CVS
91
92   http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/ocera/ocera/components/comm/can/lincan/
93
94 Experimental directory at maintainer (Pavel Pisa's) pages 
95
96   http://cmp.felk.cvut.cz/~pisa/can/
97   http://cmp.felk.cvut.cz/~pisa/can/lincan-YYMMDD.tar.gz
98   
99 Please send comments, bug-fixes and enhancements directly to
100 me (Pavel Pisa <pisa@cmp.felk.cvut.cz>) or to OCERA discussion
101 forum <https://sourceforge.net/forum/forum.php?forum_id=170893> 
102 and lists <ocera-development@lists.sourceforge.net>
103
104
105 COMPILATION
106 ===========
107
108 Just type 'make' at the command line and driver module should compile
109 without errors for current running kernel.
110
111 More information can be found in driver documentation at
112   http://cmp.felk.cvut.cz/~pisa/can/
113   http://cmp.felk.cvut.cz/~pisa/can/lincan-X.Y.pdf
114
115 INSTALLATION
116 ============
117 Type 'make install'. The driver should be copied into actual kernel version
118 modules directory "/lib/modules/x.y.z/kernel/drivers/char".
119
120 LOADING
121 =======
122
123 To load the driver type:
124 # insmod can.o hw='your hardware' irq='irq number' io='io address' <options>
125 Example: # insmod can.o hw=pip5 irq=4 io=0x8000
126
127 The hw argument can be one of:
128 - pip5, for the pip5 computer by MPL
129 - pip6, for the pip6 computer by MPL
130 - pccan-q, for the PCcan-Q ISA card by KVASER
131 - pccan-f, for the PCcan-F ISA card by KVASER
132 - pccan-s, for the PCcan-S ISA card by KVASER
133 - pccan-d, for the PCcan-D ISA card by KVASER
134 - pcican-q, for the PCIcan-Q PCI card by KVASER (4x SJA1000)
135 - pcican-d, for the PCIcan-Q PCI card by KVASER (2x SJA1000)
136 - pcican-s, for the PCIcan-Q PCI card by KVASER (1x SJA1000)
137 - nsican, for the CAN104 PC/104 card by NSI
138 - cc104, for the CAN104 PC/104 card by Contemporary Controls
139 - aim104, for the AIM104CAN PC/104 card by Arcom Control Systems
140 - pc-i03, for the PC-I03 ISA card by IXXAT
141 - pcm3680, for the PCM-3680 PC/104 card by Advantech
142 - m437, for the M436 PC/104 card by SECO
143 - bfadcan for sja1000 CAN embedded card made by BFAD GmbH
144 - pikronisa for ISA memory mapped sja1000 CAN card made by PiKRON Ltd.
145 - msmcan for MICROSPACE IO space indexed i82527
146 - template, for yet unsupported hardware (you need to edit src/template.c)
147 - virtual, CAN channel for testing of software and driver without CAN hardware
148
149 options can be one of:
150 - major=<nr>, major specifies the major number of the driver.
151 - minor=<nr>, you can specify which minor numbers the driver should use for your
152   hardware.
153 - extended=[1|0], configures the driver to use extended message format.
154 - pelican=[1|0], configures the driver to set the CAN chips into pelican mode.
155 - baudrate=<nr>, sets the baudrate of the device(s)
156 - clock_freq=<nr>, the frequency of the CAN quartz
157 - stdmask=<nr>, sets the standard mask of the device
158 - extmask=<nr>, sets the extended mask of the device
159 - mo15mask=<nr>, sets the mask for message object 15 (i82527 only)
160
161 There's still a lot of work to do, have a look at the TODO file for more
162 information.