Project

General

Profile

Linux generic HDLC layer + DAHDI » History » Version 2

laforge, 07/25/2022 09:22 AM
ice1usb shop link

1 1 roox
{{TOC}}
2
3
h1. Linux generic HDLC layer
4
5
The generic HDLC layer for Linux currently supports:
6
* Frame Relay (ANSI, CCITT, Cisco and no LMI)
7
** Normal (routed) and Ethernet-bridged (Ethernet device emulation) interfaces can share a single PVC.
8
** ARP support (no "InARP":https://tools.ietf.org/html/rfc2390 support in the kernel - there is an experimental InARP user-space daemon "available":https://kernel.org/pub/linux/utils/net/hdlc/.
9
* raw HDLC - either IP (IPv4) interface or Ethernet device emulation
10
* Cisco HDLC
11
* PPP
12
* X.25 (uses X.25 routines).
13
14
Generic HDLC is a protocol driver only - it needs a low-level driver for your particular hardware (e.g. DAHDI with nethdlc).
15
16
Ethernet device emulation (using HDLC or Frame-Relay PVC) is compatible with IEEE 802.1Q (VLANs) and 802.1D (Ethernet bridging).
17
18
Make sure the hdlc.ko and the hardware driver are loaded. It should create a number of "hdlc" (hdlc0 etc) network devices, one for each
19
WAN port. You'll need the "sethdlc" utility, get it from:
20
	http://www.kernel.org/pub/linux/utils/net/hdlc/
21
22
Make sure you're using a correct version of sethdlc for your kernel.
23
The current version is 4, see _GENERIC_HDLC_VERSION_ in "include/uapi/linux/hdlc/ioctl.h":https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/uapi/linux/hdlc/ioctl.h
24
25
Use sethdlc to set physical interface, HDLC mode used, and add any required PVCs if using Frame Relay.
26
Usually you want something like:
27
28
<pre>
29
sethdlc hdlc0 cisco interval 10 timeout 25
30
# or
31
sethdlc hdlc0 fr lmi ansi
32
sethdlc hdlc0 create 99
33
ip link set hdlc0 up
34
ip address add localIP peer remoteIP dev pvc0
35
</pre>
36
37
In Frame Relay mode, the "master" hdlcX device has to be setup (without assigning any IP address to it) before you can use pvcX devices.
38
39
    e.g. ip link set hdlc0 up 
40
41
42
*Upstream documentation*
43
https://www.kernel.org/doc/Documentation/networking/generic-hdlc.txt
44
45
*Upstream of "sethdlc" and "inarpd"*
46
https://kernel.org/pub/linux/utils/net/hdlc/
47
48
*Upstream kernel code*
49
include/linux/hdlc.h "mainline":https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/linux/hdlc.h "net":https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/tree/include/include/linux/hdlc.h "net-next":https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/tree/include/uapi/include/linux/hdlc.h
50
include/uapi/linux/hdlc.h "mainline":https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/uapi/linux/hdlc.h "net":https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/tree/include/uapi/linux/hdlc.h "net-next":https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/tree/include/uapi/linux/hdlc.h
51
include/uapi/linux/hdlc/ioctl.h "mainline":https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/uapi/linux/hdlc/ioctl.h "net":https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/tree/include/uapi/linux/hdlc/ioctl.h "net-next":https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/tree/include/uapi/linux/hdlc/ioctl.h
52
drivers/net/wan/hdlc.c "mainline":https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/wan/hdlc.c "net":https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/tree/drivers/net/wan/hdlc.c "net-next":https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/tree/drivers/net/wan/hdlc.c
53
drivers/net/wan/hdlc_cisco.c "mainline":https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/wan/hdlc_cisco.c "net":https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/tree/drivers/net/wan/hdlc_cisco.c "net-next":https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/tree/drivers/net/wan/hdlc_cisco.c
54
drivers/net/wan/hdlc_fr.c "mainline":https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/wan/hdlc_fr.c "net":https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/tree/drivers/net/wan/hdlc_fr.c "net-next":https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/tree/drivers/net/wan/hdlc_fr.c
55
drivers/net/wan/hdlc_ppp.c "mainline":https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/wan/hdlc_ppp.c "net":https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/tree/drivers/net/wan/hdlc_ppp.c "net-next":https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/tree/drivers/net/wan/hdlc_ppp.c
56
drivers/net/wan/hdlc_raw.c "mainline":https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/wan/hdlc_raw.c "net":https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/tree/drivers/net/wan/hdlc_raw.c "net-next":https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/tree/drivers/net/wan/hdlc_raw.c
57
drivers/net/wan/hdlc_raw.c "mainline":https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/wan/hdlc_raw_eth.c "net":https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/tree/drivers/net/wan/hdlc_raw_eth.c "net-next":https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/tree/drivers/net/wan/hdlc_raw_eth.c
58
drivers/net/wan/hdlc_x25.c "mainline":https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/wan/hdlc_x25.c "net":https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/tree/drivers/net/wan/hdlc_x25.c "net-next":https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/tree/drivers/net/wan/hdlc_x25.c
59
60
61
h2. sethdlc
62
63
<pre>
64
# sethdlc 
65
sethdlc version 1.18
66
Copyright (C) 2000 - 2005 Krzysztof Halasa <khc@pm.waw.pl>
67
68
Usage: sethdlc INTERFACE [PHYSICAL] [clock CLOCK] [LOOPBACK] [slotmap SLOTMAP]
69
       sethdlc INTERFACE [PROTOCOL]
70
       sethdlc INTERFACE create | delete [ether] DLCI
71
       sethdlc INTERFACE private...
72
73
PHYSICAL := v24 | v35 | x21 | e1 | t1
74
CLOCK := int [rate RATE] | ext | txint [rate RATE] | txfromrx
75
LOOPBACK := loopback | lb
76
77
PROTOCOL := hdlc [ENCODING] [PARITY] |
78
            hdlc-eth [ENCODING] [PARITY] |
79
            cisco [interval val] [timeout val] |
80
            fr [lmi LMI] |
81
            ppp |
82
            x25
83
84
ENCODING := nrz | nrzi | fm-mark | fm-space | manchester
85
PARITY := no-parity | crc16 | crc16-pr0 | crc16-itu | crc16-itu-pr0 | crc32-itu
86
LMI := none | (ansi | ccitt | cisco) [LMI_SPEC]
87
LMI_SPEC := [dce] [t391 val] [t392 val] [n391 val] [n392 val] [n393 val]
88
</pre>
89
90
h2. inarpd
91
92
<pre>
93
# inarpd
94
inarpd version 0.17
95
Copyright (C) 2003 Krzysztof Halasa <khc@pm.waw.pl>
96
97
Usage: inarpd [-r] [+r] [-r] [+r] [-v] interface ...
98
99
options:
100
   -r       = do not add host IP route for neighbours (default)
101
   +r       = add host IP route for neighbours
102
   -v       = print info messages
103
   -v -v    = print network packets
104
   -v -v -v = print debug messages
105
</pre>
106
107
<pre>
108
# inarpd +r -v -v pvc0
109
Searching for network interfaces...
110
Device lo has an IP peer with no local IP address
111
Device eth0 has an IP peer with no local IP address
112
Can't automatically add routes for device pvc0 with peer address
113
Interfaces:
114
   pvc0 [Q922 18:51] 1.1.1.2->1.1.1.0/24
115
Sending request on pvc0
116
Sending  00 0F 08 00 02 04 00 08 00 00 01 01 01 02 18 51 00 00 00 00
117
pvc0: 00 0F 08 00 02 04 00 09 00 00 01 01 01 01 18 51 01 01 01 02
118
</pre>
119
120
h1. DAHDI
121
122
*D* igium *A* sterisk *H* ardware *D* evice *I* nterface.
123
DAHDI (formerly ZAPTEL) is a collection of open source drivers, for Linux, that are used to interface with a variety of telephony related hardware. It consists of two parts:
124
125
* DAHDI-Linux - the individual board drivers for the supported hardware.
126
* DAHDI-Tools -  an assortment of userspace utilities that are used to setup and test the drivers.
127
128
upstream DAHDI kernel module (dahdi-linux)
129
http://git.asterisk.org/gitweb/?p=dahdi/linux.git;a=summary
130
http://git.asterisk.org/gitweb/?p=dahdi/linux.git;a=shortlog;h=refs/heads/master
131
next branch (development)
132
http://git.asterisk.org/gitweb/?p=dahdi/linux.git;a=shortlog;h=refs/heads/next
133
134
upstream DAHDI userspace tools (dahdi-tools)
135
http://git.asterisk.org/gitweb/?p=dahdi/tools.git;a=summary
136
http://git.asterisk.org/gitweb/?p=dahdi/tools.git;a=shortlog;h=refs/heads/master
137
next branch (development)
138
http://git.asterisk.org/gitweb/?p=dahdi/tools.git;a=shortlog;h=refs/heads/next
139
140
upstream DAHDI bugtracking
141
https://issues.asterisk.org/jira/browse/DAHLIN/
142
https://issues.asterisk.org/jira/browse/DAHTOOL/
143
144
DAHDI tools
145
* dahdi_cfg      - Configures DAHDI kernel modules from "/etc/dahdi/system.conf":http://git.asterisk.org/gitweb/?p=dahdi/tools.git;a=blob_plain;f=system.conf.sample;hb=HEAD
146
* lsdahdi        - List all DAHDI channels with their types and spans
147
* dahdi_scan     - Print Configuration of DAHDI spans
148
* dahdi_hardware - Shows DAHDI hardware devices
149
* dahdi_maint    - Sets DAHDI spans into maintenance mode, e.g.: loopback
150
* dahdi_test     - Test if the DAHDI timer provides timely response
151
* dahdi_tool     - Shows status of DAHDI interfaces (ncurses interface)
152
153
Example configuration:
154
"/etc/dahdi/system.conf":http://git.asterisk.org/gitweb/?p=dahdi/tools.git;a=blob_plain;f=system.conf.sample;hb=HEAD
155
156
h2. DAHDI nethdlc
157
158
The DAHDI nethdlc driver bundles the channels together into an hdlc network device, which in turn can be configured with sethdlc.
159
You could optionally pass the name for the network interface after the channel list.
160
161
Syntax:  nethdlc=<channel list>[:interface name]
162
163
Use original names, don't use the names which have been already registered in the system e.g eth.
164
The default name for the interface is hdlcX (e.g. hdlc0).
165
166
h1. E1 Hardware
167
168
h2. osmocom icE1usb
169
170 2 laforge
https://shop.sysmocom.de/Osmocom-icE1usb-E1-interface-for-USB/icE1usb-kit
171 1 roox
https://osmocom.org/projects/e1-t1-adapter/wiki/IcE1usb
172
173
DAHDI driver for icE1usb (written by Harald, available since Dec 2020)
174
https://osmocom.org/news/129
175
https://osmocom.org/issues/4923
176
https://github.com/osmocom/dahdi-linux/tree/laforge/icE1usb
177
https://news.ycombinator.com/item?id=25556911
178
for now (01/01/2021) it does *not* work with the prebuild picoRISCV firmware 
179
http://ftp.osmocom.org/binaries/icE1usb/firmware/all/
180
firmware build from osmo-e1-hardware (laforge/usb-hdr) works fine
181
http://cgit.osmocom.org/osmo-e1-hardware/log/?h=laforge/usb-hdr
182
183
<pre>
184
# lsusb
185
Bus 002 Device 009: ID 1d50:6145 OpenMoko, Inc. icE1usb
186
</pre>
187
188
<pre>
189
/etc/dahdi/system.conf
190
---------------------------
191
span = 1,1,0,ccs,hdb3,crc4
192
nethdlc = 1-31
193
---------------------------
194
195
# modprobe icE1usb
196
# modprobe dahdi
197
198
# dahdi_cfg -vv
199
DAHDI Tools Version - 3.1.0
200
201
DAHDI Version: 3.1.0-28-g9ee58bb
202
Echo Canceller(s):·
203
Configuration
204
======================
205
206
SPAN 1: CCS/HDB3 Build-out: 0 db (CSU)/0-133 feet (DSX-1)
207
208
Channel map:
209
210
Channel 01: Network HDLC (Default) (Echo Canceler: none) (Slaves: 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31)
211
212
31 channels to configure.
213
214
Changing signalling on channel 1 from Unused to Network HDLC
215
Setting echocan for channel 1 to none
216
Changing signalling on channel 2 from Unused to Slave channel
217
Changing master of channel 2 from 2 to 1
218
Setting echocan for channel 2 to none
219
...
220
Changing signalling on channel 31 from Unused to Slave channel
221
Changing master of channel 31 from 31 to 1
222
Setting echocan for channel 31 to none
223
224
# dmesg:
225
usb 2-2: new full-speed USB device number 10 using xhci_hcd
226
usb 2-2: config 1 interface 0 altsetting 0 endpoint 0x83 has invalid wMaxPacketSize 0
227
usb 2-2: New USB device found, idVendor=1d50, idProduct=6145, bcdDevice= 0.03
228
usb 2-2: New USB device strings: Mfr=2, Product=3, SerialNumber=1
229
usb 2-2: Product: icE1usb
230
usb 2-2: Manufacturer: osmocom
231
usb 2-2: SerialNumber: dc697407e76e1722
232
...
233
dahdi: Version: 3.1.0-28-g9ee58bbM
234
dahdi: Telephony Interface Registered on major 196
235
icE1usb 2-2:1.0: entering ice1usb_probe
236
icE1usb 2-2:1.0: Maximum FTS: 12
237
icE1usb 2-2:1.1: entering ice1usb_probe
238
icE1usb 2-2:1.1: Unsupported Interface Class/SubClass fe/01
239
usbcore: registered new interface driver icE1usb
240
icE1usb 2-2:1.0: entering e1u_d_spanconfig
241
icE1usb 2-2:1.0: configured channel 1 (icE1usb/1/0/1) sigtype 1920
242
icE1usb 2-2:1.0: configured channel 2 (icE1usb/1/0/2) sigtype 1920
243
...
244
icE1usb 2-2:1.0: configured channel 30 (icE1usb/1/0/30) sigtype 1920
245
icE1usb 2-2:1.0: configured channel 31 (icE1usb/1/0/31) sigtype 1920
246
icE1usb 2-2:1.0: entering e1u_d_startup
247
icE1usb 2-2:1.0: entering ice1usb_set_altif(1)
248
</pre>
249
250
h2. Digium Wildcard TE110P T1/E1
251
252
TE110 is a half-length, half-height (low-profile) PCI 2.1 single-span E1/T1/J1 PRI/PRA software-configurable digital telephony card for terminating high-capacity digital lines through a computer. The product was replaced by TE12x-series in 2007 by the "vendor":https://wiki.asterisk.org/wiki/display/DAHDI/DAHDI+compatible+hardware and is not longer sold. Even the driver (wcte11xp) was "dropped":http://git.asterisk.org/gitweb/?p=dahdi/linux.git;a=commit;h=3697450317a7bd60bfa7031aad250085928d5c47 from DAHDI upstream.
253
However the wcte11xp driver was "restored":https://github.com/osmocom/dahdi-linux/commit/e840bc3ea1933168bb9fae68d1a4c6bd647ea821 and "adapted":https://github.com/osmocom/dahdi-linux/commit/ca7765aab49d7bc02689a068078e372cda3a7a5f to DAHDI API changes in the osmocom "fork":https://github.com/osmocom/dahdi-linux of dahdi/linux.
254
255
<pre>
256
# lspci
257
04:00.0 Network controller: Tiger Jet Network Inc. Tiger3XX Modem/ISDN interface
258
</pre>
259
260
<pre>
261
/etc/dahdi/system.conf
262
---------------------------
263
span = 1,1,0,ccs,hdb3,crc4
264
nethdlc = 1-31
265
---------------------------
266
267
# modprobe wcte11xp
268
# modprobe dahdi
269
270
# dahdi_cfg -vv
271
DAHDI Tools Version - 3.1.0
272
273
DAHDI Version: 3.1.0-28-g9ee58bb
274
Echo Canceller(s):·
275
Configuration
276
======================
277
278
SPAN 1: CCS/HDB3 Build-out: 0 db (CSU)/0-133 feet (DSX-1)
279
280
Channel map:
281
282
Channel 01: Network HDLC (Default) (Echo Canceler: none) (Slaves: 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31)
283
284
31 channels to configure.
285
286
Changing signalling on channel 1 from Unused to Network HDLC
287
Setting echocan for channel 1 to none
288
Changing signalling on channel 2 from Unused to Slave channel
289
Changing master of channel 2 from 2 to 1
290
Setting echocan for channel 2 to none
291
...
292
Changing signalling on channel 31 from Unused to Slave channel
293
Changing master of channel 31 from 31 to 1
294
Setting echocan for channel 31 to none
295
296
# dmesg:
297
dahdi: Version: 3.1.0-28-g9ee58bb
298
dahdi: Telephony Interface Registered on major 196
299
FALC version: 00000000
300
TE110P: Setting up global serial parameters for E1 FALC V1.2
301
TE110P: Successfully initialized serial bus for card
302
Found a Wildcard: Digium Wildcard TE110P T1/E1
303
TE110P: Span configured for CCS/HDB3/CRC4
304
Calling startup (flags is 4099)
305
</pre>
306
307
h2. Cisco 1841 Router
308
309
Cisco 1841 with IOS version 12.4(24)T6 and C1841-ADVENTERPRISEK9-M features)
310
311
<pre>
312
R1# show version | include IOS
313
Cisco IOS Software, 1841 Software (C1841-ADVENTERPRISEK9-M), Version 12.4(24)T6, RELEASE SOFTWARE (fc2)
314
315
R1# show inventory 
316
NAME: "chassis", DESCR: "1841 chassis"
317
PID: CISCO1841         , VID: V03 , SN: FCZ1034111U
318
319
NAME: "WIC 0", DESCR: "Two port E1 voice interface daughtercard"
320
PID: VWIC-2MFT-E1=     , VID: 1.0, SN: 35150839  
321
322
</pre>
323
324
h1. Example setup
325
326
h2. HDLC RAW back to back: DAHDI nethdlc to DAHDI nethdlc
327
328
<pre>
329
        hammer                                           thinkpad
330
+----------------------+                          +----------------------+
331
|        Linux       .1| hdlc0              hdlc0 |.2      Linux         |
332
|  DAHDI with nethdlc  |   <------------------>   |  DAHDI with nethdlc  |
333
|  Digium TE110P T1/E1 |         HDLC RAW         |   osmocom icE1usb    |
334
+----------------------+                          +----------------------+
335
336
hammer:   10.0.0.1/32
337
thinkpad: 10.0.0.2/32
338
</pre>
339
340
h3. HDLC RAW sideA wcte11xp
341
342
#hammer
343
344
<pre>
345
/etc/dahdi/system.conf
346
---------------------------
347
span = 1,1,0,ccs,hdb3,crc4
348
nethdlc = 1-31
349
---------------------------
350
351
modprobe wcte11xp
352
modprobe dahdi
353
modprobe hdlc
354
modprobe hdlc_raw
355
356
dahdi_cfg -vv
357
358
sethdlc hdlc0 hdlc
359
ip link set hdlc0 up
360
ip address add 10.0.0.1 peer 10.0.0.2 dev hdlc0
361
</pre>
362
363
* DAHDI nethdlc config
364
** enable CRC4 checking
365
** set ccs framing (needed for E1)
366
** set hdb3 coding (needed for E1)
367
** use channels 1-31 (all available channels in a E1 line)
368
* load the required kernel modules
369
* *_dahdi_cfg_* creates and initializes the hdlc0 interface
370
* set hdlc0 interface to use
371
** use rawhdlc encapsulation
372
** set nrz coding
373
** set crc16-itu (CRC16 with ITU-T polynomial) parity 
374
* bring up interfaces
375
* setup p-t-p ip address
376
377
h3. HDLC RAW sideB osmocom icE1usb
378
379
#thinkpad
380
381
<pre>
382
/etc/dahdi/system.conf
383
---------------------------
384
span = 1,1,0,ccs,hdb3,crc4
385
nethdlc = 1-31
386
---------------------------
387
388
modprobe icE1usb
389
modprobe dahdi
390
modprobe hdlc
391
modprobe hdlc_raw
392
393
dahdi_cfg -vv
394
395
sethdlc hdlc0 hdlc
396
ip link set hdlc0 up
397
ip address add 10.0.0.2 peer 10.0.0.1 dev hdlc0
398
</pre>
399
400
<pre>
401
# dmesg:
402
------------------------------------
403
hdlc0: Carrier detected
404
------------------------------------
405
406
# sethdlc hdlc0
407
hdlc0:  protocol hdlc nrz crc16-itu
408
409
# ip address show
410
17: hdlc0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 50
411
    link/rawhdlc·
412
    inet 10.0.0.2 peer 10.0.0.1/32 scope global hdlc0
413
       valid_lft forever preferred_lft forever
414
415
# ping -c 3 10.0.0.1
416
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
417
64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=35.7 ms
418
64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=33.8 ms
419
64 bytes from 10.0.0.1: icmp_seq=3 ttl=64 time=35.9 ms
420
421
--- 10.0.0.1 ping statistics ---
422
3 packets transmitted, 3 received, 0% packet loss, time 2004ms
423
rtt min/avg/max/mdev = 33.820/35.115/35.866/0.919 ms
424
</pre>
425
426
Cleanup
427
<pre>
428
ip link set hdlc0 down
429
rmmod wcte11xp icE1usb dahdi hdlc_raw hdlc
430
</pre>
431
432
h2. HDLC Cisco back to back: DAHDI nethdlc to DAHDI nethdlc
433
434
<pre>
435
        hammer                                           thinkpad
436
+----------------------+                          +----------------------+
437
|        Linux       .1| hdlc0              hdlc0 |.2      Linux         |
438
|  DAHDI with nethdlc  |   <------------------>   |  DAHDI with nethdlc  |
439
|  Digium TE110P T1/E1 |       HDLC Cisco         |   osmocom icE1usb    |
440
+----------------------+                          +----------------------+
441
442
hammer:   10.0.0.1/32
443
thinkpad: 10.0.0.2/32
444
445
</pre>
446
447
h3. Cisco HDLC sideA wcte11xp
448
449
#hammer
450
451
<pre>
452
/etc/dahdi/system.conf
453
---------------------------
454
span = 1,1,0,ccs,hdb3,crc4
455
nethdlc = 1-31
456
---------------------------
457
458
modprobe wcte11xp
459
modprobe dahdi
460
modprobe hdlc
461
modprobe hdlc_cisco
462
463
dahdi_cfg -vv
464
465
sethdlc hdlc0 cisco
466
ip link set hdlc0 up
467
ip address add 10.0.0.1 peer 10.0.0.2 dev hdlc0
468
</pre>
469
470
* DAHDI nethdlc config
471
** enable CRC4 checking
472
** set ccs framing (needed for E1)
473
** set hdb3 coding (needed for E1)
474
** use channels 1-31 (all available channels in a E1 line)
475
* load the required kernel modules
476
* *_dahdi_cfg_* creates and initializes the hdlc0 interface
477
* set hdlc0 interface
478
** set Cisco HDLC mode
479
** set interval (default: 10) - time in seconds between keepalive packets
480
** set timeout  (default: 25) - time in seconds after last received keepalive packet before we assume the link is down
481
* bring up interface
482
* setup p-t-p ip address
483
484
h3. Cisco HDLC sideB osmocom icE1usb
485
486
#thinkpad
487
488
<pre>
489
/etc/dahdi/system.conf
490
---------------------------
491
span = 1,1,0,ccs,hdb3,crc4
492
nethdlc = 1-31
493
---------------------------
494
495
modprobe icE1usb
496
modprobe dahdi
497
modprobe hdlc
498
modprobe hdlc_cisco
499
500
dahdi_cfg -vv
501
502
sethdlc hdlc0 cisco
503
ip link set hdlc0 up
504
ip address add 10.0.0.2 peer 10.0.0.1 dev hdlc0
505
</pre>
506
507
<pre>
508
# dmesg:
509
----------------------------------------
510
hdlc0: Carrier detected
511
hdlc0: Link up (peer uptime 1d2h54m42s)
512
----------------------------------------
513
514
# sethdlc hdlc0
515
hdlc0:  protocol cisco interval 10 timeout 25
516
517
# ip address show
518
18: hdlc0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 50
519
    link/hdlc 
520
    inet 10.0.0.2 peer 10.0.0.1/32 scope global hdlc0
521
       valid_lft forever preferred_lft forever
522
523
# ping -c 3 10.0.0.1
524
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
525
64 Bytes von 10.0.0.1: icmp_seq=1 ttl=64 Zeit=40.2 ms
526
64 Bytes von 10.0.0.1: icmp_seq=2 ttl=64 Zeit=38.8 ms
527
64 Bytes von 10.0.0.1: icmp_seq=3 ttl=64 Zeit=36.8 ms
528
529
--- 10.0.0.1 ping statistics ---
530
3 Pakete übertragen, 3 empfangen, 0% packet loss, time 2003ms
531
rtt min/avg/max/mdev = 36.772/38.597/40.229/1.417 ms
532
533
534
# tcpdump -ihdlc0 -e -n
535
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
536
listening on hdlc0, link-type C_HDLC (Cisco HDLC), capture size 262144 bytes
537
14:22:22.338819 bcast, ethertype Reverse ARP (0x8035), length 22: SLARP (length: 18), keepalive: mineseen=0x00000018, yourseen=0x0000000e, reliability=0xffff, link uptime=1d2h56m55s
538
14:22:28.571549 bcast, ethertype Reverse ARP (0x8035), length 22: SLARP (length: 18), keepalive: mineseen=0x0000000f, yourseen=0x00000018, reliability=0xffff, link uptime=0d21h56m48s
539
14:22:32.578778 bcast, ethertype Reverse ARP (0x8035), length 22: SLARP (length: 18), keepalive: mineseen=0x00000019, yourseen=0x0000000f, reliability=0xffff, link uptime=1d2h57m6s
540
14:22:33.527342 unicast, ethertype IPv4 (0x0800), length 88: 10.0.0.2 > 10.0.0.1: ICMP echo request, id 21, seq 1, length 64
541
14:22:33.567532 unicast, ethertype IPv4 (0x0800), length 88: 10.0.0.1 > 10.0.0.2: ICMP echo reply, id 21, seq 1, length 64
542
14:22:34.528739 unicast, ethertype IPv4 (0x0800), length 88: 10.0.0.2 > 10.0.0.1: ICMP echo request, id 21, seq 2, length 64
543
14:22:34.567501 unicast, ethertype IPv4 (0x0800), length 88: 10.0.0.1 > 10.0.0.2: ICMP echo reply, id 21, seq 2, length 64
544
14:22:35.530793 unicast, ethertype IPv4 (0x0800), length 88: 10.0.0.2 > 10.0.0.1: ICMP echo request, id 21, seq 3, length 64
545
14:22:35.567512 unicast, ethertype IPv4 (0x0800), length 88: 10.0.0.1 > 10.0.0.2: ICMP echo reply, id 21, seq 3, length 64
546
^C
547
9 packets captured
548
9 packets received by filter
549
0 packets dropped by kernel
550
</pre>
551
552
Cleanup
553
<pre>
554
ip link set hdlc0 down
555
rmmod wcte11xp icE1usb dahdi hdlc_cisco hdlc
556
</pre>
557
558
h2. HDLC PPP back to back: DAHDI nethdlc to DAHDI nethdlc
559
560
<pre>
561
        hammer                                           thinkpad
562
+----------------------+                          +----------------------+
563
|        Linux       .1| hdlc0              hdlc0 |.2      Linux         |
564
|  DAHDI with nethdlc  |   <------------------>   |  DAHDI with nethdlc  |
565
|  Digium TE110P T1/E1 |         HDLC PPP         |   osmocom icE1usb    |
566
+----------------------+                          +----------------------+
567
568
hammer:   10.0.0.1/32
569
thinkpad: 10.0.0.2/32
570
</pre>
571
572
573
h3. HDLC PPP sideA wcte11xp
574
575
#hammer
576
577
<pre>
578
/etc/dahdi/system.conf
579
---------------------------
580
span = 1,1,0,ccs,hdb3,crc4
581
nethdlc = 1-31
582
---------------------------
583
584
modprobe wcte11xp
585
modprobe dahdi
586
modprobe hdlc
587
modprobe hdlc_ppp
588
589
dahdi_cfg -vv
590
591
sethdlc hdlc0 hdlc
592
ip link set hdlc0 up
593
ip address add 10.0.0.1 peer 10.0.0.2 dev hdlc0
594
</pre>
595
596
* DAHDI nethdlc config
597
** enable CRC4 checking
598
** set ccs framing (needed for E1)
599
** set hdb3 coding (needed for E1)
600
** use channels 1-31 (all available channels in a E1 line)
601
* load the required kernel modules
602
* *_dahdi_cfg_* creates and initializes the hdlc0 interface
603
* set hdlc0 interface to use
604
** use ppp encapsulation
605
* bring up interfaces
606
* setup p-t-p ip address
607
608
h3. HDLC PPP sideB osmocom icE1usb
609
610
#thinkpad
611
612
<pre>
613
/etc/dahdi/system.conf
614
---------------------------
615
span = 1,1,0,ccs,hdb3,crc4
616
nethdlc = 1-31
617
---------------------------
618
619
modprobe icE1usb
620
modprobe dahdi
621
modprobe hdlc
622
modprobe hdlc_ppp
623
624
dahdi_cfg -vv
625
626
sethdlc hdlc0 hdlc
627
ip link set hdlc0 up
628
ip address add 10.0.0.2 peer 10.0.0.1 dev hdlc0
629
</pre>
630
631
<pre>
632
# dmesg:
633
------------------------------------
634
hdlc0: Carrier detected
635
hdlc0: LCP up
636
hdlc0: IPCP up
637
hdlc0: IPV6CP up
638
------------------------------------
639
640
# sethdlc hdlc0
641
hdlc0:  protocol ppp
642
643
# ip address show
644
19: hdlc0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 50
645
    link/ppp 
646
    inet 10.0.0.2 peer 10.0.0.1/32 scope global hdlc0
647
       valid_lft forever preferred_lft forever
648
649
650
# ping -c 3 10.0.0.1
651
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
652
64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=35.7 ms
653
64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=33.8 ms
654
64 bytes from 10.0.0.1: icmp_seq=3 ttl=64 time=35.9 ms
655
656
--- 10.0.0.1 ping statistics ---
657
3 packets transmitted, 3 received, 0% packet loss, time 2004ms
658
rtt min/avg/max/mdev = 33.820/35.115/35.866/0.919 ms
659
</pre>
660
661
Cleanup
662
<pre>
663
ip link set hdlc0 down
664
rmmod wcte11xp icE1usb dahdi hdlc_ppp hdlc
665
</pre>
666
667
h2. Frame Relay back to back: DAHDI nethdlc to DAHDI nethdlc
668
669
<pre>
670
        hammer                                               thinkpad
671
+----------------------+                             +----------------------+
672
|                      | hdlc0                hdlc0  |                      |
673
|        Linux         |    pvc0  (HDLC 101)  pvc0   |        Linux         |
674
|  DAHDI with nethdlc  |    pvc1  (HDLC 102)  pvc1   |  DAHDI with nethdlc  |
675
|  Digium TE110P T1/E1 |     <------------------>    |   osmocom icE1usb    |
676
|                      |         Frame Relay         |                      |
677
+----------------------+                             +----------------------+
678
679
          pvc0 (DLCI 101)   pvc1 (DLCI 102)
680
hammer:   172.16.101.1      172.16.102.1
681
thinkpad: 172.16.101.2      172.16.102.2
682
</pre>
683
684
Example with 2 DLCI's and LMI (ANSI) enabled.
685
For FR-back to back connections we need to setup the same DLCI's on both sides.
686
687
h3. Frame Relay (DCE side) wcte11xp
688
689
#hammer
690
691
<pre>
692
/etc/dahdi/system.conf
693
---------------------------
694
span = 1,1,0,ccs,hdb3,crc4
695
nethdlc = 1-31
696
---------------------------
697
698
modprobe wcte11xp
699
modprobe dahdi
700
modprobe hdlc_fr
701
702
dahdi_cfg -vv
703
704
sethdlc hdlc0 fr lmi ansi dce
705
sethdlc hdlc0 create 101
706
sethdlc hdlc0 create 102
707
ip link set hdlc0 up
708
ip link set pvc0 up
709
ip link set pvc1 up
710
ip address add 172.16.101.1 peer 172.16.101.2 dev pvc0
711
ip address add 172.16.102.1 peer 172.16.102.2 dev pvc1
712
</pre>
713
714
* DAHDI nethdlc config
715
** enable CRC4 checking
716
** set ccs framing (needed for E1)
717
** set hdb3 coding (needed for E1)
718
** use channels 1-31 (all available channels in a E1 line)
719
* load the required kernel modules
720
* *_dahdi_cfg_* creates and initializes the hdlc0 interface
721
* set hdlc0 interface to use
722
** use frame-relay encapsulation
723
** use LMI (Local Management Interface) type ANSI
724
** be the DTE (Data Terminal Equipment) side of the FR-network
725
* bring up up all the interfaces
726
* setup p-t-p ip addresses
727
728
h3. Frame Relay (DTE side) osmocom icE1usb
729
730
#thinkpad
731
732
<pre>
733
/etc/dahdi/system.conf
734
---------------------------
735
span = 1,1,0,ccs,hdb3,crc4
736
nethdlc = 1-31
737
---------------------------
738
739
modprobe icE1usb
740
modprobe dahdi
741
modprobe hdlc_fr
742
743
dahdi_cfg -vv
744
745
sethdlc hdlc0 fr lmi ansi
746
sethdlc hdlc0 create 101
747
sethdlc hdlc0 create 102
748
ip link set hdlc0 up
749
ip link set pvc0 up
750
ip link set pvc1 up
751
ip address add 172.16.101.2 peer 172.16.101.1 dev pvc0
752
ip address add 172.16.102.2 peer 172.16.102.1 dev pvc1
753
</pre>
754
755
<pre>
756
# dmesg:
757
------------------------------------
758
hdlc0: Carrier detected
759
hdlc0: Link reliable
760
hdlc0: DLCI 101 [] new inactive
761
hdlc0: DLCI 102 [] new inactive
762
hdlc0: DLCI 101 [pvc0] active
763
hdlc0: DLCI 102 [pvc1] active
764
------------------------------------
765
766
# sethdlc hdlc0
767
hdlc0:  protocol fr lmi ansi t391 10 t392 15 n391 6 n392 3 n393 4
768
# sethdlc pvc0
769
pvc0:   Frame-Relay PVC: DLCI 101, master device hdlc0
770
# sethdlc pvc1
771
pvc1:   Frame-Relay PVC: DLCI 102, master device hdlc0
772
773
# ip address show
774
8: hdlc0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 50
775
    link/frad 
776
15: pvc0: <POINTOPOINT,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
777
    link/dlci 00:65 peer 18:51
778
    inet 172.16.101.2 peer 172.16.101.1/32 scope global pvc0
779
       valid_lft forever preferred_lft forever
780
16: pvc1: <POINTOPOINT,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
781
    link/dlci 00:66 peer 18:61
782
    inet 172.16.102.2 peer 172.16.102.1/32 scope global pvc1
783
       valid_lft forever preferred_lft forever
784
</pre>
785
786
* *_ip address show_* shows the DLCI (in hex) for the pvcX interfaces
787
** pvc0: link/dlci 00:65 (DLCI 101)
788
** pvc1: link/dlci 00:66 (DLCI 102)
789
790
791
Debugging
792
<pre>
793
sethdlc hdlc0
794
sethdlc pvc0
795
tcpdump -ihdlc0 -n
796
tcpdump -ipvc0 -n
797
ip monitor all
798
</pre>
799
800
Cleanup
801
<pre>
802
ip link set pvc0 down
803
ip link set pvc1 down
804
sethdlc hdlc0 delete 101
805
sethdlc hdlc0 delete 102
806
ip link set hdlc0 down
807
rmmod wcte11xp icE1usb dahdi hdlc_fr
808
</pre>
809
810
h2. HDLC Cisco back to back: Cisco IOS to DAHDI nethdlc
811
812
<pre>
813
        R1                                                 hammer
814
+----------------------+                          +----------------------+
815
|     Cisco 1841     .1| Serial0/0/0:1      hdlc0 |.2      Linux         |
816
|    VWIC-2MFT-E1=     |   <------------------>   |  DAHDI with nethdlc  |
817
|                      |        HDLC Cisco        |  Digium TE110P T1/E1 |
818
+----------------------+                          +----------------------+
819
820
cisco:  10.0.0.1/32
821
hammer: 10.0.0.2/32
822
</pre>
823
824
h3. HDLC Cisco sideA - Cisco 1841 with VWIC-2MFT-E1=
825
826
#R1
827
828
<pre>
829
R1# conf t
830
R1(config)# controller E1 0/0/0
831
R1(config-controller)# clock source internal
832
R1(config-controller)# channel-group 1 timeslots 1-31 speed 64
833
R1(config-controller)# exit
834
R1(config)# exit
835
836
R1# conf t
837
R1(config)# interface Serial0/0/0:1
838
R1(config-if)# ip address 10.0.0.1 255.255.255.0
839
R1(config-if)# no shutdown
840
R1(config-if)# exit
841
R1(config)# exit
842
</pre>
843
844
* configure E1 controller interface "controller E1 0/0/0"
845
** *_clock source internal_* specifies that the interface will clock its transmitted data from its internal clock.
846
** build channel-group 1 (span) by using timeslots "1-31"; this creates a new serial interface: "Serial0/0/0:<channel-group>"
847
* configure serial interface "Serial 0/0/0:1"
848
** Cisco uses "Cisco HDLC" encapsulation by default on all serial p-t-p interfaces
849
** setup ip address
850
</pre>
851
852
<pre>
853
R1# show logging
854
... cable plugged
855
*Jan  4 17:00:13.548: %CONTROLLER-5-UPDOWN: Controller E1 0/0/0, changed state to up
856
*Jan  4 17:00:15.548: %LINK-3-UPDOWN: Interface Serial0/0/0:1, changed state to up
857
... cable unplugged
858
*Jan  4 20:47:24.047: %CONTROLLER-5-UPDOWN: Controller E1 0/0/0, changed state to down (LOS detected)
859
*Jan  4 20:47:26.047: %LINK-3-UPDOWN: Interface Serial0/0/0:1, changed state to down
860
*Jan  4 20:47:27.047: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/0/0:1, changed state to down
861
862
R1# show controllers E1 0/0/0 brief
863
E1 0/0/0 is up.
864
  Applique type is Channelized E1 - balanced
865
  No alarms detected.
866
  alarm-trigger is not set
867
  Version info Firmware: 20090113, FPGA: 20, spm_count = 0
868
  Framing is CRC4, Line Code is HDB3, Clock Source is Internal.
869
  Data in current interval (365 seconds elapsed):
870
     0 Line Code Violations, 0 Path Code Violations
871
     0 Slip Secs, 0 Fr Loss Secs, 0 Line Err Secs, 0 Degraded Mins
872
     0 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 0 Unavail Secs
873
  Total Data (last 24 hours)
874
     3454 Line Code Violations, 6259 Path Code Violations,
875
     2 Slip Secs, 2 Fr Loss Secs, 3 Line Err Secs, 0 Degraded Mins,
876
     1 Errored Secs, 0 Bursty Err Secs, 4 Severely Err Secs, 66931 Unavail Secs
877
878
R1# show interfaces Serial0/0/0:1        
879
Serial0/0/0:1 is up, line protocol is up 
880
  Hardware is GT96K Serial
881
  Internet address is 10.0.0.1/30
882
  MTU 1500 bytes, BW 1984 Kbit/sec, DLY 20000 usec, 
883
     reliability 255/255, txload 1/255, rxload 1/255
884
  Encapsulation HDLC, loopback not set
885
  Keepalive set (10 sec)
886
  CRC checking enabled
887
  Last input 00:00:04, output 00:00:03, output hang never
888
  Last clearing of "show interface" counters 03:55:15
889
  Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
890
  Queueing strategy: weighted fair
891
  Output queue: 0/1000/64/0 (size/max total/threshold/drops) 
892
     Conversations  0/1/256 (active/max active/max total)
893
     Reserved Conversations 0/0 (allocated/max allocated)
894
     Available Bandwidth 1488 kilobits/sec
895
  5 minute input rate 0 bits/sec, 0 packets/sec
896
  5 minute output rate 0 bits/sec, 0 packets/sec
897
     1312 packets input, 28996 bytes, 0 no buffer
898
     Received 1310 broadcasts, 0 runts, 1 giants, 0 throttles
899
     40 input errors, 4 CRC, 1 frame, 1 overrun, 0 ignored, 33 abort
900
     1640 packets output, 108646 bytes, 0 underruns
901
     0 output errors, 0 collisions, 6 interface resets
902
     0 unknown protocol drops
903
     0 output buffer failures, 0 output buffers swapped out
904
     2 carrier transitions
905
  Timeslot(s) Used:1-31, SCC: 0, Transmitter delay is 0 flags
906
907
R1# debug serial interface 
908
Serial network interface debugging is on
909
*Jan  4 20:43:32.695: Serial0/0/0:1: HDLC myseq 1339, mineseen 1338, yourseen 1308, line up 
910
*Jan  4 20:43:42.695: Serial0/0/0:1: HDLC myseq 1340, mineseen 1340*, yourseen 1309, line up 
911
*Jan  4 20:43:52.695: Serial0/0/0:1: HDLC myseq 1341, mineseen 1341*, yourseen 1310, line up 
912
</pre>
913
914
Debug
915
<pre>
916
R1# show controllers E1 0/0/0
917
R1# show controllers E1 0/0/0 brief
918
R1# show interfaces Serial0/0/0:1
919
R1# show interfaces Serial0/0/0:1 summary
920
R1# show ip interface brief
921
!
922
R2# debug serial interface
923
R2# debug ip packet
924
R2# debug arp
925
R2# show debug
926
R2# terminal monitor
927
R2# no debug all
928
</pre>
929
930
h3. HDLC Cisco sideB osmocom icE1usb
931
932
#hammer
933
934
<pre>
935
/etc/dahdi/system.conf
936
---------------------------
937
span = 1,1,0,ccs,hdb3,crc4
938
nethdlc = 1-31
939
---------------------------
940
941
modprobe icE1usb
942
modprobe dahdi
943
modprobe hdlc
944
modprobe hdlc_cisco
945
946
dahdi_cfg -vv
947
948
sethdlc hdlc0 cisco
949
ip link set hdlc0 up
950
ip address add 10.0.0.2 peer 10.0.0.1 dev hdlc0
951
</pre>
952
953
<pre>
954
# dmesg:
955
----------------------------------------
956
hdlc0: Carrier detected
957
hdlc0: Link up (peer uptime 1d2h54m42s)
958
----------------------------------------
959
960
# sethdlc hdlc0
961
hdlc0:  protocol cisco interval 10 timeout 25
962
963
# ip address show
964
18: hdlc0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 50
965
    link/hdlc 
966
    inet 10.0.0.2 peer 10.0.0.1/32 scope global hdlc0
967
       valid_lft forever preferred_lft forever
968
969
# tcpdump -ihdlc0 -e -n
970
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
971
listening on hdlc0, link-type C_HDLC (Cisco HDLC), capture size 262144 bytes
972
21:29:12.168888 bcast, ethertype Reverse ARP (0x8035), length 24: SLARP (length: 20), keepalive: mineseen=0x00000041, yourseen=0x0000003f, reliability=0xffff, link uptime=9d15h23m8s
973
21:29:13.021980 bcast, ethertype Reverse ARP (0x8035), length 22: SLARP (length: 18), keepalive: mineseen=0x00000040, yourseen=0x00000041, reliability=0xffff, link uptime=1d5h5m22s
974
21:29:19.656778 unicast, ethertype IPv4 (0x0800), length 88: 10.0.0.2 > 10.0.0.1: ICMP echo request, id 14, seq 1, length 64
975
21:29:19.660809 unicast, ethertype IPv4 (0x0800), length 88: 10.0.0.1 > 10.0.0.2: ICMP echo reply, id 14, seq 1, length 64
976
21:29:20.658004 unicast, ethertype IPv4 (0x0800), length 88: 10.0.0.2 > 10.0.0.1: ICMP echo request, id 14, seq 2, length 64
977
21:29:20.661663 unicast, ethertype IPv4 (0x0800), length 88: 10.0.0.1 > 10.0.0.2: ICMP echo reply, id 14, seq 2, length 64
978
21:29:21.659821 unicast, ethertype IPv4 (0x0800), length 88: 10.0.0.2 > 10.0.0.1: ICMP echo request, id 14, seq 3, length 64
979
21:29:21.663519 unicast, ethertype IPv4 (0x0800), length 88: 10.0.0.1 > 10.0.0.2: ICMP echo reply, id 14, seq 3, length 64
980
21:29:22.167445 bcast, ethertype Reverse ARP (0x8035), length 24: SLARP (length: 20), keepalive: mineseen=0x00000042, yourseen=0x00000040, reliability=0xffff, link uptime=9d15h23m18s
981
21:29:23.261982 bcast, ethertype Reverse ARP (0x8035), length 22: SLARP (length: 18), keepalive: mineseen=0x00000041, yourseen=0x00000042, reliability=0xffff, link uptime=1d5h5m32s
982
^C
983
10 packets captured
984
10 packets received by filter
985
0 packets dropped by kernel
986
</pre>
987
988
Cleanup
989
<pre>
990
ip link set hdlc0 down
991
rmmod wcte11xp icE1usb dahdi hdlc_cisco hdlc
992
</pre>
Add picture from clipboard (Maximum size: 48.8 MB)