summaryrefslogtreecommitdiffstats
path: root/share/examples/isdn/FAQ
blob: dcc6e67d2c40c5890c3f202415d00c1105ff6a35 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
-------------------------------------------------------------------------------

                   ISDN4BSD Frequently Asked Questions
                   ===================================

                last edit-date: [Wed Nov  1 15:08:03 2000]

 $FreeBSD$

--------------------------------------------------------------------------------

Contents:
=========

	 1. How do I get started with synchronous PPP (sPPP) ?
	 2. does anyone know a software that can receive/send fax over ISDN ?
	 3. does i4b callback only work with setups where the remote end
		returns a busy ?
	 4. trouble with kernel options IPFIREWALL and IPDIVERT and natd
	 5. I want to use -r with isdnd but it does not work
	 6. How do I configure and run the answering machine ?
	 7. Teles S0/16.3 ... unknown ?
	 8. How do i integrate a new lowlevel driver into i4b ?
	 9. Why it always says "no Space in TX FIFO - State F4 awaiting" ?
	10. Incoming alert - what does it mean ?
	11. How do i change irq's on my teles 16.3 card ?
	12. NL: i'm getting CAUSE 100 or CAUSE 101 when dialling out
	14. I'm using sPPP. I can connect to my ISP but no TCP/IP services work. HELP!
	15. i4b 0.80.00: problems with AVM Fritz PCI
	16. How do i setup logfile rotation for isdnd ?
	17. How do i setup dialin from Windows NT RAS to i4b ?
	18. How can I convert my old .g711a files to the new format?
	19. I have lots of old .g711a files to convert what can I do?
	20. How can I convert the .al files to Sun/NeXT .au/.snd/.vox files?
	21. Help, isdn4bsd 0.82 fails to probe my Elsa PCC-16!
	22. How do i enable and configure userland PPP with i4b ?
	23. What is the procedure to install a new i4b on FreeBSD 3.x ?
	24. Why do i get "ifconfig: ioctl (SIOCAIFADDR): file exists" ?
	25. How to properly operate isdnd's fullscreen output in a 132x60 vty
	26. NetBSD: i see isic0 while booting but I cannot access my Fritz!Card
	27. i4b_pci_attach: pci_map_port 1 failed! What does this mean ?
	28. What is: i4b-L2 i4b_rxd_ack: ((N(R)-1)=35) != (UA=36) !!!
	29. Why does isdnd take up 95% CPU time ?


1. How do I get started with synchronous PPP (sPPP) ?
================================================================================

  Of course you first have to have sPPP interfaces in your kernel. If
  you installed everything using FreeBSD/install.sh then the correct
  entries should have been automatically made in /sys/conf/files for you.
  For NetBSD it isn't quite as simple since NetBSD/install-netbsd.sh does
  not do it for you.

  Then all you need to do is put an entry like this:

  	device   "i4bisppp"      4

  into your kernel configuration file (if it's not already there) and
  generate and boot the new kernel. The above line will give you 4
  sPPP interfaces - isp0 to isp3.

  Then just modify /etc/isdn/isdnd.rc (see the example in etc-isdn/isdnd.rc)
  to suit your needs (telephone numbers, etc).

  The next step is to read the ispppcontrol man page and then to look at
  etc/rc.isdn-PPP. ispppcontrol is a very important component in getting
  sPPP working correctly and the ispppcontrol lines in your /etc/rc.isdn
  must be correct.

  In my experience there are two things which can cause problems:

  1) the authproto line has to agree with what your ISP desires. In
     general I've found that it's best to have something like this -

  	ispppcontrol <interface> myauthproto={pap,chap} myauthname=<AuthName>
  		myauthsecret=<AuthSecret> hisauthproto=none callin

     The "hisauthproto=none" is usually needed because the ISP does not want
     to authorise himself to you; he expects you to authorize yourself to him !
     I once forgot to set hisauthproto and it took me quite a while to figure
     out why I couldn't connect.

  2) the IP address at your ISP's end must be correct.

  How can I find out (1) whether my ISP wants pap or chap and (2) what his
  IP address is ? you might ask. Generally, your ISP should have provide
  this information to you. But, if he didn't, or you've mislayed the
  documentation (as I did), there's still hope.

  Fortunately, J"org Wunsch implemented the sPPP kernel code so that it
  provides all the information required if the interface is configured
  with the debug flag set (e.g. ``ifconfig isp0 debug''). It's just a
  little cryptic.

  By the way, I suggest turning the debug flag on until you have things
  working and then turning it off. The debug output is rather voluminous
  and could fill up your /var partition, otherwise.

  The debug output will appear on the console and also be logged to
  /var/log/messages (under FreeBSD) unless you changed /etc/syslog.conf.

  A. How to figure out the authproto
  ----------------------------------

  Here is an example where I configured isp0 with myauthproto=pap, my
  ISP wanted chap, but was willing to accept pap:

  /kernel: isp0: lcp up(starting)
  /kernel: isp0: lcp output <conf-req id=0x7 len=10 5-6-34-e4-30-5a>
  /kernel: isp0: lcp input(req-sent): <conf-req id=0x1 len=30 0-4-0-0-1-4-5-
  f4-3-5-c2-23-5-11-4-5-f4-13-9-3-0-c0-7b-6e-fe-b5>
         ^^^^^
             |___ c223 is chap, it's what the ISP wants to use

  /kernel: isp0: lcp parse opts:  0x0 [rej]  mru  auth-proto  0x11 [rej]
  x13 [rej]  send conf-rej (I didn't agree)
  /kernel: isp0: lcp output <conf-rej id=0x1 len=21 0-4-0-0-11-4-5-f4-13-9-3-
  0-c0-7b-6e-fe-b5>
  /kernel: isp0: lcp input(req-sent): <conf-ack id=0x7 len=10 5-6-34-e4-30-5a>
  /kernel: isp0: lcp input(ack-rcvd): <conf-req id=0x2 len=13 1-4-5-f4-3-5-
  c2-23-5>
  /kernel: isp0: lcp parse opts:  mru  auth-proto
  /kernel: isp0: lcp parse opt values:  mru 1524  auth-proto [mine 0x0 !=
  his chap]  send conf-nak (we want to use pap, not chap)
  /kernel: isp0: lcp output <conf-nak id=0x2 len=9 3-5-c0-23-5>
                                                         ^^^^^
                                                             |___ c023 is pap

  /kernel: isp0: lcp input(ack-rcvd): <conf-req id=0x3 len=12 1-4-5-f4-3-4-
  c0-23> (he agrees to use pap)
  /kernel: isp0: lcp parse opts:  mru  auth-proto
  /kernel: isp0: lcp parse opt values:  mru 1524  auth-proto  send conf-ack
  /kernel: isp0: lcp output <conf-ack id=0x3 len=12 1-4-5-f4-3-4-c0-23>
  					he agrees to use pap ___|^^^^^

  so, if you have problems in the lcp phase, check which authentication method
  your ISP wants to use. Usually chap is prefered, but pap will be accepted.

  B. How to figure out the ISP's IP address
  -----------------------------------------

	======================================================================

	UPDATE NOTE (February 8, 1999):

	Jan Riedinger writes:
	---------------------
	>I further think Gary should mention
	>in the FAQ in the section "B. How to figure out the ISP's IP address
	>that it isn't normaly necessary to do it because of the auto
	>address negotiation.

	Gary answers:
	-------------
	I think you're right. I wrote that stuff before the support for
	negotiation of the IPS's address was added to if_spppsubr.c.

	======================================================================


  I also intentionally configured the interface with the wrong address for
  my ISP, like this:

  	ifconfig isp0 0.0.0.0 10.0.0.1 debug link1

  this means that I want the ISP to assign me an address (the 0.0.0.0) and
  that I expect him to use 10.0.0.1 (which is wrong). Here's the result:
  (note that these addresses have been changed by me)

  /kernel: isp0: phase network
  /kernel: isp0: ipcp open(initial)
  /kernel: isp0: ipcp up(starting)
  /kernel: isp0: ipcp output <conf-req id=0x9 len=10 3-6-0-0-0-0>
  /kernel: isp0: ipcp input(req-sent): <conf-req id=0x1 len=16 2-6-0-2d-f-1-
  3-6-c-22-38-4e>
  /kernel: isp0: ipcp parse opts:  compression [rej]  address  send conf-rej
  /kernel: isp0: ipcp output <conf-rej id=0x1 len=10 2-6-0-2d-f-1>
  /kernel: isp0: ipcp input(req-sent): <conf-nak id=0x9 len=10 3-6-c-22-38-4e>
  /kernel: isp0: ipcp nak opts:  address [wantaddr 12.34.56.78] [agree]
                                                     ^^^^^
                                                         |___ he assigns me this

  /kernel: isp0: ipcp output <conf-req id=0xa len=10 3-6-c3-b4-eb-63>
  /kernel: isp0: ipcp input(req-sent): <conf-req id=0x2 len=10 3-6-62-4c-36-20>
  /kernel: isp0: ipcp parse opts:  address
  /kernel: isp0: ipcp parse opt values:  address 98.76.54.32 [not agreed]
                                                   ^^^^^
                                                        |_this is *his* address
  send conf-nak
  /kernel: isp0: ipcp output <conf-nak id=0x2 len=10 3-6-a-0-0-1>
  	I expect a different address and (incorrectly) reject what he wants.
  	I tell him that I expect 10.0.0.1. After this the connection fails.

  Anyway, I now know that his address is really 98.76.54.32 and can use
  it to correctly configure the interface.

  With the correct IP address I shoulkd now be able to connect with no
  problems. As stated above, the authorization protocol is normally not
  so important since most ISPs are willing to use pap, although chap is
  more secure. Generally, I'd try chap first and only switch to pap if
  the ISP doesn't accept it.

  (by Gary Jennejohn, Home - garyj@muc.de, Work - garyj@fkr.dec.com)



2. does anyone know a software that can receive/send fax over ISDN ?
================================================================================

 > Hi,
 >
 > does anyone know a software that can receive/send fax over ISDN? I am
 > using a Fritz!Card, which can handle group 3 (analogous) fax, but I
 > can't find any hint in the i4b software that this is supported in any
 > way.

This is probably not implemented.

Implementing G3 fax in ISDN would mean simulating an analog modem
on the digital link. This means having to generate the right waveforms
for the modulated data, and receive analog data from the other end
which you had to run FFT analysis on and then interpret.

In addition you have to do this in realtime, to be able to deal with
the timing involved in the fax protocol, something neither
FreeBSD or Linux is good at in their native form..

A third point is that a software simulated faxmodem usually does not
work well. I tested Teles software faxmodem in Win-95 towards an Ericsson V34
HE modem, and was able to send faxes from the ISDN card at 4800 baud
only, and receive faxes ad 9600 baud only(!) (And it is not the
Ericsson modems fault, it works flawlessly towards other fax machines.)

My point is that the best thing to do is to use an ordinary faxmodem
to handle faxes with Hylafax of mgetty+sendfax or efax, or you may use
a combined ISDN card with an analog part.

Of course, if you are crazy enough, you may try to implement a
software simulated modem in e.g. RT-linux, or a similar realtime
extension for FreeBSD.

Best regards,
Nils Ulltveit-Moe	(etonumo@eto.ericsson.se)



3. does i4b callback only work with setups where the remote end returns a busy ?
================================================================================

> Is my assumption correct, does i4b callback only work with setups where
> the remote end returns a busy on the dialin?

Yes - otherwise you'll pay for the connection, at least here in Germany.

Most routers support two kind of callbacks - the one that i4b supports
means: the called system rejects (so no charge for this connection), waits
a configurable time and the calls back. Information on who has called and
who is to be called back relies on the ISDN calling party number information
and stuff statically configured in the routers (or isnd's) configuration.

The other type of callback (not supported by i4b right now) means: the
called system accepts the connection and starts ppp negotiation. During this
the ppp's aggree to do a callback. Information on who called in and who is
going to be called back is subject to the authentication/negotiation already
done by the two ppp's. Then ppp closes down, the connection is disconnected
and the called system calls back.

I've never seen someone actually use the second type due to its obvious
disadvantages. It may be usefull if you travel, call in from an unknown
number and want to be called back at that number.

Martin Husemann <martin@rumolt.teuto.de>


4. trouble with kernel options IPFIREWALL and IPDIVERT and natd
================================================================================

   NOTICE: section obsolete since IP address changes are handled properly now!
   ===========================================================================

This section
> Trying to build a router/gateway between my privat Ethernet and
> the Internet (via my ISP), I have problems with I4B or NAT (I think:).
>
> The 2.2.5-R kernel with options IPFIREWALL and IPDIVERT works fine
> with ISDN4BSD 0.50-alpha and firewall rule 'pass all from any to any'.
> However, when I add 'divert natd all from any to any via isp0'
> and start natd, name server lookups to the ISP's NS don't work.
>
> Also, ping and nslookup fails from any other internal host.

I had exactly the same problems. natd doesn't seem to get a message if
the IP address of the interface changes (after successful dialout).
I have to manually send a HUP signal to natd. I do this via the following
(ugly?!) hack:

I added the following two lines to the system section of isdnd.rc:
regexpr         = "call active"         # look for matches in log messages
regprog         = hup_natd              # execute program whan match is found

The small script "hup_natd", located in /etc/isdn, looks like:
#!/bin/sh
pid=`cat /var/run/natd.pid`
kill -HUP $pid
sleep 3
kill -HUP $pid
sleep 5
kill -HUP $pid

It looks ugly, but at least for me it works. The two sleeps are necessary
since I have to wait for ppp negotiation to complete (I don't get a message
from isdnd for that). If I'm lucky I have my connection after 3 seconds,
but 8 seconds should suffice for worst case (the first HUP without a sleep
sometimes even succeeded on an slow 486/33 with 8MB RAM, more HUPs don't hurt).

I'm really interested in some more elegant method.

Daniel		(rock@cs.uni-sb.de)


Arve Ronning replied:
=====================

> I had exactly the same problems. natd doesn't seem to get a message if
> the IP address of the interface changes (after successful dialout).

Well, it (natd) _does_ pick up the dynamic address supplied for isp0.
Try 'natd -verbose ...' and you'll see it. Otherwise I agree, there is
certainly something missing in natd's functionality, or maybe sppp
does'nt
supply what it's supposed to ??

> I have to manually send a HUP signal to natd. I do this via the following
> (ugly?!) hack:

YES...super; strange but correct. It works when I send natd a -HUP after
sppp is up. Thanx for the tip. However, natd must be -HUPed _every_ time
sppp has been down (idle timeout) and comes back up!

> I'm really interested in some more elegant method.

So am I, let's see what may come out of the discussion on the list.



5. I want to use -r with isdnd but it does not work
================================================================================

> > Use isdnd in fullscreen mode.
>
> I tried that already, but got an error when I start isdnd that way:
>
>       /usr/local/bin/isdnd -d 0xf9 -f -r /dev/ttyv1 -t cons25
>
> root is logged in on device /dev/ttyv1, the message in /var/log/messages looks like:
>
> "May 22 11:52:28 asterix isdnd[4160]: ERR ERROR, cannot setup tty as controlling terminal: Operation not permitted"
>
> How can I give this device permission ?


In case you want to use switch "-r" noone else _must_ use the tty you redirect
to, you have to remove the getty from the virtual terminal in /etc/ttys and
restart the init process.


6. How do I configure and run the answering machine (under FreeBSD 2.2.x) ?
================================================================================

The answering machine will be activated, when isdnd executes the program
that has been named in "/etc/isdn/isdnd.rc" in the section "telephone
answering" at entry "answerprog = ". If the program is executed
without a pathname, the answer program is expected in "/etc/isdn".
Examples of such programs can be found in "/etc/isdn/samples". They
are named:

	"answer"	answers only, no recording
	"record"	answers, and records messages
	"tell"		the number of the calling person is told,
			no recording.
	"tell-record"	calling number as answer, message is recorded
	"isdntel.sh"	answers and records messages; by using the
			program "isdntel", one has the control over
			the recorded messages in the directory
			"/var/isdn". Look at "man isdntel" and
			"man isdntelctl".

These programs have to be altered to suit your needs. Unfortunately there
is no program with which you can record your answer message. This is not
really bad, because you only have to alter the above mentioned program
"record" a bit (comment out the "if ... fi" statements for the beep
and msg messages). You have to create the directory "/var/isdn" first in
order to record messages. They will be stored in this location then.

Stefan Herrmann <stefan@asterix.webaffairs.net>


7. Teles S0/16.3 ... unknown ?
================================================================================
Hi,

I have just purchased a Teles S0/16.3 card.
But it's not what i4b is looking for .... I mean, it's a different card.

The docs  (and sources)of i4b talks about a Telws S0/16.3 card with 3
address: d80 etc.

This one (is not PnP) has jumpers for 0x180 0x280 0x380.

It has the SIemens Chips numbered PSB 21525 N (HSCX TE V2.1) and PSB
2186N V1.1 (ISAC-S TE).

I undestand that the 16.3c is not supported, but over this board is
written "TELES.S0/16.3 Revision 1.3"

Can anybody tell me what is this card ???

answer:
-------

It's not a different card. The jumpers are documented to select
IO-address 0x180, 0x280 or 0x380 in some TELES manuals.
But in fact they select the addresses 0xd80, 0xe80 or 0xf80.

Wolfgang


And an additional note from Poul-Henning Kamp:
----------------------------------------------
There is an intricate story behind this, in short some ISA cards
only decode the first 10 address bits (0x3ff), which over the years
has resulted in a mutation the "de-facto-spec" such that addressbits
10-15 can be used by the card for selecting various stuff.  This
is extensively used on obscure cards with massive IO needs, sound,
IEEE488 and ISDN cards often belong in this category.



8. How do i integrate a new lowlevel driver into i4b ?
================================================================================

1) Request a flag value from me
2) add an entry for the card into FreeBSD/CONFIG
3) add driver filename to FreeBSD/files.i386.cat
4) add entry for the card to FreeBSD/options.i386.cat
5) add support to print type of card to diehl/diehlctl/main.c
6) add support to print type of card to isdnd/support.c, name_of_controller()
7) place your file as named in 3) into directory layer1
8) add the flag value and function prototypes to layer1/i4b_l1.h
9) add support for NetBSD to layer1/isa_isic.c
10) add support for attach/probe to layer1/i4b_isic.c
11) add card type to machine/i4b_ioctl.h and update CARD_TYPEP_MAX
12) add an entry to the man page man/isic.4

Produce diffs (please use context diffs, flag "-c" for diff) and send them in.


9. Why it always says "no Space in TX FIFO - State F4 awaiting" ?
================================================================================

as I wrote about two weeks ago I had massive problems concerning this
"no space in TX FIFO"-thing,

/kernel: i4b-L1-ph_data_req: No Space in TX FIFO, state = F4 Awaiting Signal

Even though I used a correctly recognized Teles S0/16.3 nonpnp isdncard,
nothing worked, errormsgs were flooding the console until I rebooted the box.

I decided to play around in the BIOS-settings, I first just set them all
to default, which didn't work, and then changed lots of things - unfortunately
I can't remember them. After about hundreds of trial 'n errors I gave up.

A few days ago I just made another attempt, booted the box and to my surprise
it all worked without the smallest problem, great data rates :)

I tried hard to found what the something special was I changed in the BIOS
settings, but I just couldnt get isdnd back to its stupid behaviour it
showed all the time before, but I would recommend everybody who has this
kind of problem to look into his BIOS.

			(from Meike Aulbach, strange@stoned.rhein-main.de)


i4b now works for me, I had a USB-device interfering on IRQ 9,
which was supposed to be only for my Creatix Card.
(NetBSD 1.3, Creatix)
	
Strange enough, my DOS s0-test worked, are they just polling the card?
	
Even when the testsoftware under DOS is working, don't be shure, that
your hw-setup is correct for xxx(x)BSD. Triplecheck all your IRQ and
enable and disable PNP to triple-verify. Even unconfigured devices can
block your card. .....
	
And that took me more than 2 months to discover :-((((
	
			(from Andreas Lohrum, andreas.lohrum@consol.de)


when i changed the mainboard of a box that ran i4b alright, i forgot to
set 'used by isa' in the pnp-bios-settings for the irq of my teles
isdn-card. because of that some pci-card got the interrupt that the
isdn-card should have gotten.
i then also got this error: 'No space in TX FIFO'.

The reason occurred to my rather quick, but i would think, that this would
be a nice hint in a FAQ :)

			(from Heiko Schaefer, hschaefer@fto.de)


after my huge amount of problems, Meike's hint (changing the
ISA/PNP-settings in the BIOS) finally fixed things.
I have only tried out this stuff with my Creatix-card, I'll check
out the PNP-stuff with my Sedlbauer-card soon too though.

			(from Harold Gutch, logix@foobar.franken.de)


10. Incoming alert - what does it mean ?
================================================================================

In the log on vty6 (isdnd full screen log) I'm seeing

16.07.98 11:42:35 CHD 00001 rwth rate 90 sec/unit (rate)
16.07.98 11:42:35 CHD 00001 rwth dialing from 4191236 to 441291234
16.07.98 11:42:35 CHD 00001 rwth outgoing call proceeding (ctl 0, ch 0)
16.07.98 11:42:35 CHD 00001 rwth incoming alert  <<<<<<<<<<<<<<<
16.07.98 11:42:35 CHD 00001 rwth outgoing call active (ctl 0, ch 0)

What does this 'incoming alert' mean?


It means that it is "ringing" at the remote end.


11. How do i change irq's on my teles 16.3 card ?
================================================================================

Question:

So how do you change irq's on your teles 16.3 card (under FBSD or DOS,
I don't have and don't want to have Windows running on that computer) ?

Answer:

The irq is configured into the card each time the driver under whatever
OS you currently boot initializes the card. Thus, change the irq for the
isic driver in your kernel config file to one of the supported (!) irqs
for this card (hint: read "man isic") which is currently unused in your
machine and generate a new kernel.


12. NL: i'm getting CAUSE 100 or CAUSE 101 when dialling out
================================================================================

This one seems to be specific for the Netherlands. (-hm)

Question:

I'm trying to get i4b running on my new FreeBSD 2.2.8 system. The kernel
compiles smootly and everything is looking fine until it's time to dial.
I get the following error:

Feb 10 20:31:00 goofy isdnd[498]: CHD 00018 I4BPPP outgoing call disconnected (remote)
Feb 10 20:31:00 goofy isdnd[498]: CHD 00018 I4BPPP cause 101: Message not compatible with call state (Q.850)
Feb 10 20:31:00 goofy isdnd[498]: ERR set_channel_idle: controller [0], invalid channel [-1]!
Feb 10 20:31:00 goofy isdnd[498]: ERR msg_disconnect_ind: set_channel_idle failed!

The remote site is a Cisco 4000 type router.  I used debug to take a view at
the ISDN events on the router but according to that the call doesn't arrive
over there.

Same hardware has worked fine with FreeBSD 2.2.6/i4b 0.63.

Who knows what's wrong?


Answer:

This sounds very much like your local phone number or remote phone number
is configured wrongly... in the Netherlands you need to specify the number
EXCLUDING the city code... so if you live in Utrecht and your number is
0301234567 you specify 1234567.

I have seen this in several locations in the Netherlands for years, not
just with i4b, but also with differentt isdn equipment.. why? guess it
simply depends on which operator defines your line or what exchange it
is connected to... :P
What I found is that what solved this with other isdn hardware/software,
also solves it for i4b.. ie.. make sure the local phone number is
specified, and is specified without the city code.
The numbering plan should be 'unknown'

Anyway, it would be nice if the Dutch ptt (they are called KPN btw)
would tell us why this happens... they havent been able to tell me in the
past so I guess I give up on that, but if everyone finds out whats exactly
happening here I'd be interested to know... :)

List of number configurations that I have found to almost always work in
the Netherlands:

1. Local phone number:
   usually your prefered msn without city code works here.
   (ie, 1234567 if you would like to use 0201234567 for outgoing calls)
   on some locations leaving it blank or defining it with the city code,
   but without the leading 0 works as well here.

2. remote phone number:
   When this is a 'local' call, don't specify city code.
   For calling parties in other cities you of cource have to use the city
   code... in general you can say that KPN only accepts the shortest
   possible notation where it would still be clear who you want to call.

3. numbers for incomming call recognition:
   KPN always specifies incoming caller ids with city code, but without
   leading 0. so 0201234567 will be displayed as 201234567


Hope this helps.
Bart

			(from Bart van Leeuwen bart@ixori.demon.nl)


14. I'm using sPPP. I can connect to my ISP but no TCP/IP services work. HELP!
==============================================================================

This is probably because you have the RFC1323 - TCP Extensions for High
Performance - support turned on and your ISP (or some router in the loop)
is discarding the extensions.

This can easily be checked by doing ``sysctl net.inet.tcp.rfc1323''. If the
result is 1, then the RFC1323 support is turned on.

Turn this off by doing ``sysctl -w net.inet.tcp.rfc1323=0'' (This is
called "net.inet.tcp.do_rfc1323" under BSD/OS).

For FreeBSD make sure that tcp_extension="NO" is in your /etc/rc.conf
(/etc/defaults/rc.conf with more recent versions of FreeBSD) and
/etc/rc.conf.local (in -STABLE and upcoming 3.2)

This may be different for NetBSD, OpenBSD and BSD/OS.

Martin Husemann writes:
-----------------------
This does apply for NetBSD too (and probably OpenBSD, since it's been
in NetBSD for a long time). The sysctl name is even compatible ;-) We don't
have a coresponding rc.conf entry, I do it in /etc/netstart.local.

I would suggest to set this to 0 on all machines routed over ISDN (not only
the router), as this "high speed options" in fact do slow down an ISDN link
by making VJ "compression" impossible - as far as I understood it. So there
should be a more general advice in the FAQ, not only "turn it off if it
doesn't work for you".

I've only seen the problems against old linux kernels (about two years ago),
are there still machines out there that have such a broken TCP/IP stack? We
should start to blame the vendors...

	(by Gary Jennejohn, garyj@muc.de, with additions from
	 Harold Gutch <logix@foobar.franken.de> and
	 Martin Husemann <martin@rumolt.teuto.de>).


15. i4b 0.80.00: problems with AVM Fritz PCI
==============================================================================

Question:
=========

The system is FreeBSD 3.1-RELEASE with i4b-00.80.00-beta-070599 [...]

I'm trying to compile a Kernel with support for my AVM Fritz!PCI card,
however, when compiling, it fails with the following error

sh ../../conf/newvers.sh GENERIC -DAVM_A1_PCI
cc -c -O -Wreturn-type -Wcomment -Wredundant-decls -Wimplicit  -Wnested-
externs
-Wstrict-prototypes -Wmissing-prototypes  -Wpointer-arith -Winline -
Wuninitializ
ed -Wformat -Wunused  -fformat-extensions -ansi  -nostdinc -I- -I. -I../..
-I/us
r/include -DAVM_A1_PCI -DKERNEL -DVM_STACK -include opt_global.h -elf
vers.c
loading kernel
i4b_isic_pci.o: In function `i4b_pci_attach':
i4b_isic_pci.o(.text+0x141): undefined reference to `avma1pp_map_int'
i4b_isic_pci.o: In function `isic_pciattach':
i4b_isic_pci.o(.text+0x196): undefined reference to `isic_attach_avma1pp'
*** Error code 1


Solution:
=========

> I have added
>
> i4b/layer1/i4b_avm_fritz_pci.c  optional        isic    device-driver
>
> and am recomiling at the moment, but given that it's a 486, it could take
> some time :-)

The problem appears to be that overinstall.sh does not update files.i386
and options.i386, and that AVM_A1_PCI was added after 3.1-RELEASE and
hence is not defined.

Manually editing these files (using install.sh as a guide) allows the
kernel to compile cleanly.


(from Rich Wood, rich@dynamite.org)


16. How do i setup logfile rotation for isdnd ?
==============================================================================

For syslog-based logging:
-------------------------

man newsyslog (on FreeBSD)

You just add a line to /etc/newsyslog.conf:
/var/log/isdnd.log      664     7       100     *       Z
and you are all done...

(From: Andreas Haakh <ah@alvman.RoBIN.de>)


For logfile-based logging:
--------------------------

I suggest using newsyslog(8). Adding a line like:

/var/log/isdn.log               664  100   *    168   Z  /var/run/isdnd.pid

to /etc/newsyslog.conf will do the job (here: once a week, for the next
100 weeks) with compression of the old log.

This is the standard method for other daemons (apache, etc.).

(From: Udo Schweigert <ust@cert.siemens.de>)


17. How do i setup dialin from Windows NT RAS to i4b ?
==============================================================================

> > I need to be able to dial in from a WNT box, equipped with TELES h/w and
> > s/w, to a FreeBSD machine. I don't have a clue what RAS is using.
> > I've tried
> > ipr and isp. The latter seems to work but is hanging on authentication. Is
> > there somebody who has done this before and is able to give me some hints?
>
> RAS is using PPP, so you should be able to get the isp interface working. I
> haven't done it so I can't give you concrete hints, but setting the isp
> interface to debug mode and posting the log (with passwords cut out or with
> test passwords) could help us to debug your setup.

I have several customers using sPPP do dial in from their W95/W98/WNT.

If You use FreeBSD_3.2-BETA with i4b-071 or older then you have to apply
the attached patch to /sys/net/if_spppsubr.c (patch -p0 <patchfile).

You need to configure isp0. See the manpages or the supplied templates in
the i4b-distribution. I would suggest to supply an ip-number for the
isp0-interface and force the clients to accept this value.
Don't forget to supply the relevant parameters to sppconfig_isp0 in
/etc/rc.conf...

On WNT you have to install the CAPI-2.0-drivers and Dialin-network.

Create a new entry and check the following box:
* Connection to internet
select the appropriate ISDN-device for dialout, insert a phone-number
and that's it.
You are asked for username & password. Supply the values You did define in
spppconfig_isp0 and dial...

Patch for i4b version 0.71 or older:
------------------------------------

*** /sys/net/if_spppsubr.c	Sun Dec 27 22:30:44 1998
--- /sys/net/if_spppsubr.c.orig	Sat May  8 10:54:14 1999
***************
*** 2056,2062 ****
  			if (debug)
  				addlog("[non-empty] ");
  			/* suggest a zero one */
! 			p[2] = p[3] = p[4] = p[5] = 0;
  			break;

  		case LCP_OPT_MRU:
--- 2056,2062 ----
  			if (debug)
  				addlog("[non-empty] ");
  			/* suggest a zero one */
! 			/* p[2] = p[3] = p[4] = p[5] = 0; */
  			break;

  		case LCP_OPT_MRU:
***************
*** 2668,2678 ****
  					addlog("%s [not agreed] ",
  						sppp_dotted_quad(desiredaddr));

- 				p[2] = hisaddr >> 24;
- 				p[3] = hisaddr >> 16;
- 				p[4] = hisaddr >> 8;
- 				p[5] = hisaddr;
  			}
  			break;
  		}
  		/* Add the option to nak'ed list. */
--- 2668,2678 ----
  					addlog("%s [not agreed] ",
  						sppp_dotted_quad(desiredaddr));

  			}
+ 			p[2] = hisaddr >> 24;
+ 			p[3] = hisaddr >> 16;
+ 			p[4] = hisaddr >> 8;
+ 			p[5] = hisaddr;
  			break;
  		}
  		/* Add the option to nak'ed list. */

(From: Andreas Haakh <ah@alvman.RoBIN.de>)


18. How can I convert my old .g711a files to the new format?
================================================================================
I got the best results with:
cat /some/path/dwhello.g711a | alaw2ulaw | g711conv -u > /tmp/newhello.al

(From: David Wetzel <dave@turbocat.de>)


19. I have lots of old .g711a files to convert what can I do?
================================================================================

Create a shell script (/tmp/csnd.sh) with this contents:
#!/bin/sh

OLDFILES=`ls *.g711a`
#echo $OLDFILES

for THEFILE in $OLDFILES
do
(
        echo -n "converting $THEFILE..."
        BASENAME=`basename $THEFILE .g711a`

        /bin/cat $THEFILE | alaw2ulaw | g711conv -u > $BASENAME.al
        echo "done"
)

done
###### END

then type "chmod a+x /tmp/csnd.sh" in you shell.
cd /usr/local/lib/isdn (or where your old sounds live)
/tmp/csnd.sh
Optional:
rm *.g711a (you should know what you do here :-)

(From: David Wetzel <dave@turbocat.de>)


20. How can I convert the .al files to Sun/NeXT .au/.snd/.vox files?
================================================================================

/bin/cat /some/path/old.al | sox -t raw -A -b -r 8000 - -t .au /some/path/new.snd


(From: David Wetzel <dave@turbocat.de>)


21. Help, isdn4bsd 0.82 fails to probe my Elsa PCC-16!
================================================================================

>Isdn4bsd 0.82 fails to probe my Elsa PCC-16. It just can't find isic0.

flags have changed from 19 to 20.


(From: "Frank J. Beckmann" <frank@vogon.agala.harz.de>)


22. How do i enable and configure userland PPP with i4b ?
================================================================================

NOTE: this is the procedure used as of end of July 1999, it may change in
      the near future!

Get the current ppp sources from

	http://www.freebsd.org/~brian

unpack them and apply the patch

	ftp://ftp6.uk.freebsd.org/pub/PPPoISDN/pppcommit.patch

to the ppp directory (where you just unpacked the above mentioned ppp source).
Make and install the result.

Have a look at the user-ppp directory and the end of etc-isdn/isdnd.rc.sample
for ppp and i4b sample configurations to get things up and running.

More information to ppp setup can be found at

	http://www.Awfulhak.org/ppp.html
	http://www.freebsd.org/handbook/ppp-and-slip.html
	http://www.freebsd.org/FAQ/userppp.html

and in the directory "user-ppp" of the isdn4bsd distribution.


23. What is the procedure to install a new i4b on FreeBSD 3.x ?
================================================================================

cd /usr/src
mkdir i4b
cd i4b
tar xvzf i4b-00.82.00-beta-140799.tar.gz
cd FreeBSD
sh overuninstall.sh
sh overinstall.sh
cd ..
make cleandir
make depend
make
make install
cd /sys/i386/conf
config <YOURKERNEL>
cd ../../compile/<YOURKERNEL>
make clean
make depend
make
make install
shutdown -r now


(From: Luke Roberts <luke@roberts.nl>)


24. Why do i get "ifconfig: ioctl (SIOCAIFADDR): file exists" ?
================================================================================

Ich ?berlege gerade, aber ich glaube, ich bekomme sie auch.  Das
Problem existiert schon seit geraumer Zeit immer beim Konfigurieren
eines point-to-point Interfaces (SLIP, PPP).

Das `file exists' ist ein Misnomer, es r?hrt daher, da? der
Routingcode die errno's in einer leicht ver?nderten Weise benutzt, so
da? nicht neue errno's daf?r erfunden werden mu?ten.  Lies es als
`route exists'.  (Und falls Du im Zusammenhang mit Routing mal ein `no
such process' siehst, lies es als `no such route'.)

Die Meldung ist harmlos.  Sonst h?tte ich mir schon l?ngst mal die
M?he gemacht, mich durch den ganzen Routing-Code zu hangeln und zu
sehen, warum das passiert.

(From Joerg Wunsch <j@uriah.heep.sax.de>)


25. How to properly operate isdnd's fullscreen output in a 132x60 vty
================================================================================

Q: I'm using allscreens_flags="132x60" in /etc/rc.conf but the vty gets
   switched after isdnd is started, so isdnd didn't know about the new
   dimensions of the screen.

A: This one's easy:
   In /etc/rc.isdn change
        isdn_ttype=cons25
   to
        isdn_ttype=cons60l1wide
        /usr/sbin/vidcontrol VESA_132x60 < ${isdn_fsdev}

   The new VESA modes don't have termcap entries yet, so you'll
   have to add one yourself to define 132x60:

   cons60l1wide|cons60-iso8859-1:\
        :co#132:tc=cons60l1:


(From: "H. Eckert" <ripley@nostromo.in-berlin.de>)


26. NetBSD: i see isic0 while booting but I cannot access my Fritz!Card
================================================================================

I got his:
isic0 at pci0 dev 8 function 0: Fritz!Card
isic0: ISAC 2085 Version A1/A2 or 2086/2186 Version 1.1 (IOM-2)
isic0: interrupting at irq 11
(...)
i4b: ISDN call control device attached
i4btrc: 2 ISDN trace device(s) attached
i4bctl: ISDN system control port attached
i4brbch: 4 raw B channel access device(s) attached
i4btel: 2 ISDN telephony interface device(s) attached
i4bipr: 2 IP over raw HDLC ISDN device(s) attached (VJ header compression)
i4bisppp: 2 ISDN SyncPPP device(s) attached

But I could not use the card, because I forgot
"options __I4B_IS_INTEGRATED" in the kernal config file.
[Jan Sparud helped me to find that]

(From: David Wetzel <dave@turbocat.de>)


27. i4b_pci_attach: pci_map_port 1 failed! What does this mean ?
================================================================================

Q: Hi,

   I am trying to set up a ELSA QuickStep 1000pro PCI ISDN adaptor in a FreeBSD
   3.3 box. I configured the kernel according to the i4b.ps documentation. At
   boottime, these messages are displayed:

   isic0: <ELSA QuickStep 1000pro PCI ISDN adaptor> rev 0x01 int a irq 11 on
   pci0.1 7.0
   i4b_pci_attach: pci_map_port 1 failed!

   What does this mean ?, should I be worried ?, will the device function
   properly ?

A: Problem is solved.

   In the BIOS, the PCI slot containing the ISDN card was set to IRQ 14 (having
   no IDE devices). The isic driver finds the card using irq 11 and then says
   "pci_port_map_port failed". The slot is set to IRQ 11 (which was free also)
   and everything works fine here ..

From: Joost Mulders <dhcp@j-mulders.demon.nl>


28. What is: i4b-L2 i4b_rxd_ack: ((N(R)-1)=35) != (UA=36) !!!
================================================================================

> Some time I get follow message at console:
>
> i4b-L2 i4b_rxd_ack: ((N(R)-1)=35) != (UA=36) !!!

A layer 2 error occured. These types of errors are automatically
corrected by the layer 2 protocol.


29. Why does isdnd take up 95% CPU time ?
================================================================================

Q: i just set up my isdn w/ user ppp, it works nice, but my isdn daemon takes
   up 95% of my CPU time.

   output of "top":
   --snip--
   Mem: 42M Active, 4616K Inact, 11M Wired, 2896K Cache, 14M Buf, 408K Free
   Swap: 132M Total, 5128K Used, 127M Free, 3% Inuse

     PID USERNAME PRI NICE  SIZE    RES STATE    TIME   WCPU    CPU COMMAND
      63 root      58   0  1372K   752K RUN     38:05 93.75% 93.75% isdnd
     207 gboehm     2   0 25196K 22044K select   1:15  2.20%  2.20% XF86_Mach64
   --/snip--

A: i just found out what i did wrong ...
   i forgot to set these both lines in my /etc/rc.conf:

   isdn_fsdev="NO"
   isdn_flags=""

   had to do that if i want to run isdnd as an daemon service, 'cause the
   defaults in /etc/defaults/rc.conf are:

   isdn_fsdev="/dev/ttyv4"         # Output device for fullscreen mode (or NO for daemon mode).
   isdn_flags="-dn -d0x1f9"        # Flags for isdnd

From: Guido Boehm <g.boehm@web.de>
OpenPOWER on IntegriCloud