Linux   ISDN LZS compressie


Gebruikt: linux kernel versie 2.2.3, isdn4k-utils-3.0beta2
Een echte handleiding is het niet, meer een opsomming wat ik heb gedaan om het aan de gang te krijgen.
Helaas werken de laatste isdn4linux sources niet meer met kernels 2.0.xx, wel gehoord dat het mogelijk is met wat hacken.

  • 1) downloaden van de benodigde bestanden.
  • 2) patchen van de kernel.
  • 3) hercompileren & instaleren van kernel.
  • 4) compileren & instaleren van de isdn4kutils.
  • 5) compileren & instaleren van ipppcomp (de lzs module).
  • 6) module opties & eventuele scripts wijzigen.
  • 7) activeren.


  • 1) downloaden van de benodigde bestanden.

  • Lokale Stabiele kernel ISDN sources (isdn.tar.gz)

  • 2) patchen van de kernel.

  • commands:
    cd /usr/src
    tar -vxf /path2tar/isdn.tar.xz
    cd isdn
    ./std2kern -d ( om je kernel te updaten naar de meest actuele versie)

  • 3) hercompileren & instaleren van kernel.

  • commands:
    cd /usr/src/linux
    make dep
    make clean
    make install
    make modules
    make modules_install


  • 4) compileren & instaleren van de isdn4kutils.

  • commands:
    cd /usr/src/isdn4k-utils-3.0beta2/
    ./configure
    make (stel alle opties in)
    make install
    ---
    bij mij zat er een bugje in ./isdnlog/isdnlog/takt_nl.c
    verander in die file:
    350: if (call[chan].sondernummer[CALLED] != -1) {
    351: switch (SN[call[chan].sondernummer[CALLED]].tarif) {
    360: takt = SN[call[chan].sondernummer[CALLED]].takt1; /* Werktag 9-18 Uhr */
    362: takt = SN[call[chan].sondernummer[CALLED]].takt2; /* Restliche Zeit */
    365: takt = SN[call[chan].sondernummer[CALLED]].takt2;
    367: if (description) strcpy(description, SN[call[chan].sondernummer[CALLED]].sinfo);
    hierna compileerd het goed (gedaan na het bekijken van de takt_de.c).


  • 5) compileren & instaleren van ipppcomp (de lzs module).

  • commands:
    cd /usr/src/isdn4k-utils-3.0beta2/ipppcomp/
    cp /usr/src/linux/drivers/isdn/isdn_ppp.h .
    gcc -O2 -I/usr/src/linux/include -D__KERNEL__ -DMODULE -c isdn_lzscomp.c
    cp isdn_lzscomp.o /lib/modules/2.2.3/misc/ depmod -a

  • 6) module opties & eventuele scripts wijzigen.

  • /etc/conf.modules
    options isdn_lzscomp comp=8 debug=1
    en eventueel een insmod in een inbel script van de isdn_lszcomp module


  • 7) activeren.

  • insmod isdn_lzscomp
    bij provider inbellen.


    • log als het niet goed gaat:

    • Mar 22 14:02:51 Speed ipppd[1072]: PHASE_WAIT -> PHASE_ESTABLISHED, ifunit: 0, linkunit: 0, fd: 7
      Mar 22 14:02:52 Speed ipppd[1072]: Remote message: ^M Starting PPP for address 194.109.151.209^M ^M
      Mar 22 14:02:52 Speed ipppd[1072]: MPPP negotiation, He: Yes We: Yes
      Mar 22 14:02:52 Speed ipppd[1072]: CCP enabled! Trying CCP.
      Mar 22 14:02:52 Speed ipppd[1072]: CCP: got ccp-unit 0 for link 0 (protocol: 0x80fd)
      Mar 22 14:02:52 Speed ipppd[1072]: ccp_resetci!
      Mar 22 14:02:52 Speed ipppd[1072]: Kernel check for LZS failed
      Mar 22 14:02:52 Speed ipppd[1072]: local IP address 194.109.151.209
      Mar 22 14:02:52 Speed ipppd[1072]: remote IP address 194.109.6.1

    • log als het goed gaat:

    • Mar 22 16:44:44 Speed ipppd[14044]: PHASE_WAIT -> PHASE_ESTABLISHED, ifunit: 0, linkunit: 0, fd: 7
      Mar 22 16:44:45 Speed ipppd[14044]: Remote message: ^M Starting PPP for address 194.109.151.109^M ^M Mar 22 16:44:45 Speed ipppd[14044]: MPPP negotiation, He: Yes We: Yes
      Mar 22 16:44:45 Speed ipppd[14044]: CCP enabled! Trying CCP.
      Mar 22 16:44:45 Speed ipppd[14044]: CCP: got ccp-unit 0 for link 0 (protocol: 0x80fd)
      Mar 22 16:44:45 Speed ipppd[14044]: ccp_resetci!
      Mar 22 16:44:45 Speed ipppd[14044]: Compressor Stac Electronics LZS loaded!
      Mar 22 16:44:45 Speed ipppd[14044]: ccp_resetci!
      Mar 22 16:44:45 Speed ipppd[14044]: Compressor Stac Electronics LZS loaded!
      Mar 22 16:44:45 Speed ipppd[14044]: local IP address 194.109.151.109
      Mar 22 16:44:45 Speed ipppd[14044]: remote IP address 194.109.6.1
      Mar 22 16:44:45 Speed ipppd[14044]: [0] LZS (hists 1 check 3) compression enabled

    • ping statistics zonder lzs:

    • [root@Speed ipppcomp]# ping -s 5000 www.provider.nl
      PING www.provider.nl (194.109.6.99): 5000 data bytes
      5008 bytes from 194.109.6.99: icmp_seq=0 ttl=251 time=1362.0 ms
      5008 bytes from 194.109.6.99: icmp_seq=1 ttl=252 time=1327.8 ms
      5008 bytes from 194.109.6.99: icmp_seq=3 ttl=252 time=1326.7 ms
      5008 bytes from 194.109.6.99: icmp_seq=4 ttl=252 time=1326.4 ms
    • ping statistics met lzs:

    • [root@Speed ipppcomp]# ping -s 5000 www.provider.nl
      PING www.provider.nl (194.109.6.99): 5000 data bytes
      5008 bytes from 194.109.6.99: icmp_seq=0 ttl=252 time=718.9 ms
      5008 bytes from 194.109.6.99: icmp_seq=1 ttl=252 time=719.7 ms
      5008 bytes from 194.109.6.99: icmp_seq=2 ttl=252 time=724.9 ms
      5008 bytes from 194.109.6.99: icmp_seq=3 ttl=252 time=719.6 ms

    • Huidige Problemen met de lzscompressie:

    • 1) Error
    • Indicatie veel packetloss & hoge ping:
      Mar 23 13:25:03 Speed ipppd[16475]: [0] LZS (hists 1 check 3) compression enabled
      Mar 23 13:32:24 Speed kernel: ippp: decomp wants reset with params
      Mar 23 13:33:48 Speed kernel: ippp: decomp wants reset with params
      Mar 23 13:33:48 Speed last message repeated 3 times
      backtrace:
      Deze Error vindt z'n oorsprong in isdn_ppp.c functie isdn_ppp_decompress(), met een vooraf gedefineerde buffergrootte van 2048 wordt de decompressie routine aangeroepen, en deze retourneerd een DECOMP_ERROR, wat een lzs reset tot gevolg heeft. Ben bezig te onderzoeken waar in lzsDecompress het fout gaat.
    • 2) Error
    • bundled uitbellen naar provider werkt niet meer:
      [root@Speed /mnt]# isdn add
      Ok, added a new link. (dialing)
      Maar er komt geen reactie in de logfile, en er wordt niet uitgebeld.. checking as well.

    • Meer Informatie
    • ISDN 4 Linux
    • Thanx iedereen die mij heeft geholpen natuurlijk!



     

    Version 0.01: first test for making low profile helper
    Version 0.02: And now for something completely different


    Copyrightę 1999-2017 leo@beforge.net

    Laatste kernel ISDN sources (isdn.tar.gz, soms zelfs niet compileerbaar)
    Laatste ISDN utilities (isdn4k-utils.tar.gz)
    Laatste kernel ISDN sources (isdn.tar.gz)