--- mwavem-2.0.orig/src/mwavem/Makefile.in +++ mwavem-2.0/src/mwavem/Makefile.in @@ -436,7 +436,7 @@ dist-hook: -rm $(distdir)/modem.c -install-exec-local: +DONTUSE-install-exec-local: if [ ! -c "/dev/modems/mwave" ]; then \ mkdir -p /dev/modems; \ mknod --mode=660 /dev/modems/mwave c 10 219; \ @@ -458,7 +458,7 @@ -ln -f -s /etc/init.d/mwavem /etc/rc.d/rc3.d/S96mwavem -ln -f -s /etc/init.d/mwavem /etc/rc.d/rc2.d/S96mwavem -uninstall-local: +DONTUSE-uninstall-local: -rm -f /etc/rc.d/rc*.d/S*mwavem -rm -f /etc/init.d/mwavem if [ -f "/etc/modules.conf" ]; then \ --- mwavem-2.0.orig/src/mwavem/Makefile.am +++ mwavem-2.0/src/mwavem/Makefile.am @@ -9,7 +9,7 @@ dist-hook: -rm $(distdir)/modem.c -install-exec-local: +DONTUSE-install-exec-local: if [ ! -c "/dev/modems/mwave" ]; then \ mkdir -p /dev/modems; \ mknod --mode=660 /dev/modems/mwave c 10 219; \ @@ -31,7 +31,7 @@ -ln -f -s /etc/init.d/mwavem /etc/rc.d/rc3.d/S96mwavem -ln -f -s /etc/init.d/mwavem /etc/rc.d/rc2.d/S96mwavem -uninstall-local: +DONTUSE-uninstall-local: -rm -f /etc/rc.d/rc*.d/S*mwavem -rm -f /etc/init.d/mwavem if [ -f "/etc/modules.conf" ]; then \ --- mwavem-2.0.orig/src/mwavem/modem.c.in +++ mwavem-2.0/src/mwavem/modem.c.in @@ -79,6 +79,7 @@ FILE *pid_file; int pid; +#if 0 pid = fork(); if(pid) { sleep(1); @@ -87,6 +88,9 @@ } /* if */ pid = setsid(); +#else + pid = getpid(); +#endif if((pid_file = fopen(PID_FILE, "w")) == NULL) { MW_SYSLOG_ERROR(LOG_ERR, "mwave modem, can't write to PID file!\n"); --- mwavem-2.0.orig/src/include/port_functions.h +++ mwavem-2.0/src/include/port_functions.h @@ -70,7 +70,13 @@ LPCTSTR lpKeyName, LPCTSTR lpString, LPCTSTR lpFileName); +#if 0 #include +#else +#include +#define syslog(lev, args...) { printf(args) ; printf("\n"); fflush(NULL); } +#endif + #define MW_TRACE extern DWORD modem_trc_flags; --- mwavem-2.0.orig/debian/control +++ mwavem-2.0/debian/control @@ -0,0 +1,29 @@ +Source: mwavem +Section: non-free/utils +Priority: extra +Maintainer: Debian mwavem maintainers +Uploaders: Thomas Hood , tony mancill +Build-Depends: cdbs, debhelper (>= 4.1.0) +Standards-Version: 3.6.2.1 + +Package: mwavem +Architecture: i386 +Depends: makedev (>= 2.3.1-66), lsb-base (>= 3.0-9), ${shlibs:Depends} +Suggests: apmd, setserial +Description: Mwave/ACP modem support software + The Mwave modem support software implements a Hayes-compatible + V.90 modem in the 3780i Mwave/ACP DSP chip which is built in + to several discontinued IBM ThinkPad laptop computers, + including the ThinkPad 600, 600E and 770 models. + . + In addition to the programs included in this package, a driver + is required for the Mwave device. Source code for the driver, + built as a module called 'mwave.o' or 'mwave.ko', is included + in the latest 2.4 and 2.6 Linux kernel sources. To build the + module, set "ACP/Mwave Modem support" to "m" at kernel + configuration time. This module must be loaded before the + Mwavem modem support program can be started. + . + This package is in the non-free section of the archive + because it contains program binaries for the 3780i chip + that have been furnished by IBM without source code. --- mwavem-2.0.orig/debian/mwavem.conf +++ mwavem-2.0/debian/mwavem.conf @@ -0,0 +1,1876 @@ +[WORLDTRADE] +Country=1 +WTTversion=1040 +Check_Dialing_Properties=1 +DATABASE=/usr/share/mwavem/tigr1040.wtt +Last_DP_Access_Code=1 + +[DEBUG] +SPECIALATA=1 +UARTBOOST=0 +AMPFTODATA=1 +V42BGUESS=1 +MANAGER_API_TRACE=0 +MANAGER_API_DATA_TRACE=0 +MANAGER_CORE_TRACE=0 +MANAGER_SPECIFIC_TRACE=0 +MEIO_API_TRACE=0 +MEIO_CORE_TRACE=0 +MEIO_SPECIFC_TRACE=0 +MWMLW32_TRACE=0 +MWMPW32_TRACE=0 +MWMUTIL_TRACE=0 +MWWTT32_TRACE=0 +MWM_BL=0 +MWAVEM_TRACE=1 + +[MWAVE] +OSNAME=/usr/share/mwavem/mwos3780.dsp +BIOS=/usr/share/mwavem/mwbi0917.dsp + +[MWAVE,BOARD] +MWOSINIT=/usr/share/mwavem/init0437.dsp +buscapacity=1150000 +memsize=32768 +ips=39160800 +MEIODSP=/usr/share/mwavem/meix0437.dsp + +[COMMFILE] +MEMFILE=/usr/share/mwavem/mwmmem.prf +MAINFILE=/usr/share/mwavem/modem.dsp +INTERP=/usr/share/mwavem/c96441.dsp +INTERPF=/usr/share/mwavem/gain96.dsp +V22FILE=/usr/share/mwavem/v22.dsp +DATAPUMP1=/usr/share/mwavem/v32bis.dsp +V34=/usr/share/mwavem/v34.dsp +MNP=/usr/share/mwavem/mnp.dsp +MNP5=/usr/share/mwavem/mnp5.dsp +ASYNC=/usr/share/mwavem/async.dsp +V8=/usr/share/mwavem/v8.dsp +V42=/usr/share/mwavem/v42.dsp +V42BIS=/usr/share/mwavem/v42bisn.dsp +CALLPROG=/usr/share/mwavem/callprog.dsp +FAXPMP=/usr/share/mwavem/faxpmp17.dsp +FAX01=/usr/share/mwavem/fax01.dsp +CLASS2=/usr/share/mwavem/class2.dsp +UARTDMA=/usr/share/mwavem/uartdma.dsp +RAMMBASE=/usr/share/mwavem/ramm.dsp +RAMMV34=/usr/share/mwavem/rammv34.dsp +GSM=/usr/share/mwavem/gsm.dsp +SPKVOD=/usr/share/mwavem/spkvod.dsp +SPKMMTP=/usr/share/mwavem/spkmmtp.dsp +ERROR=/usr/share/mwavem/mwmerror.log +CALLERID=/usr/share/mwavem/callerid.dsp +CANCEL=/usr/share/mwavem/cancel.dsp +DTMFR8=/usr/share/mwavem/dtmfr8.dsp +DTMFRM=/usr/share/mwavem/dtmfrm.dsp +GAINWT=/usr/share/mwavem/gainwt.dsp +AGC8=/usr/share/mwavem/agc8.dsp +AGC9=/usr/share/mwavem/agc9.dsp +AGC9WT=/usr/share/mwavem/agc9wt.dsp +SPK076=/usr/share/mwavem/spk076.dsp +SPKEEC=/usr/share/mwavem/spkeec.dsp +SPK076M=/usr/share/mwavem/spk076m.dsp +SPKEECM=/usr/share/mwavem/spkeecm.dsp +CLASS8=/usr/share/mwavem/class8.dsp +DISC=/usr/share/mwavem/disc.dsp +INT9608=/usr/share/mwavem/int9608.dsp +INT0896=/usr/share/mwavem/int0896.dsp +MIX9=/usr/share/mwavem/mixer96.dsp +CL1_HDLC=/usr/share/mwavem/cl1_hdlc.dsp +CLASS1=/usr/share/mwavem/class1.dsp +V23=/usr/share/mwavem/v23.dsp +CLASS80=/usr/share/mwavem/class80.dsp +ROUTER=/usr/share/mwavem/router.dsp +TONEGEN=/usr/share/mwavem/tonegen.dsp +VV_PROT=/usr/share/mwavem/vv_prot.dsp +VV_HDLC=/usr/share/mwavem/vv_hdlc.dsp +VV9608=/usr/share/mwavem/int9608.dsp +VV0896=/usr/share/mwavem/int0896.dsp +V80=/usr/share/mwavem/v80.dsp +V80MAC=/usr/share/mwavem/v80mac.dsp +PC2GPC=/usr/share/mwavem/pc2gpc.dsp +GPC2PC=/usr/share/mwavem/gpc2pc.dsp +STP08M=/usr/share/mwavem/stp08m.dsp +STR08M=/usr/share/mwavem/str08ser.dsp +STPVM=/usr/share/mwavem/stpvm.dsp +STRVM=/usr/share/mwavem/strvm.dsp +T30=/usr/share/mwavem/t30.dsp +MHINT=/usr/share/mwavem/mhint.dsp +SILENCEDET=/usr/share/mwavem/sildet.dsp +V32STUB=/usr/share/mwavem/v32stub.dsp +X2=/usr/share/mwavem/v34pcmc.dsp +ADPCM=/usr/share/mwavem/imaadpcm.dsp +V90=/usr/share/mwavem/v90.dsp +ASYNC2X=/usr/share/mwavem/async2x.dsp + +[FEATURES] +V42BIS=2048 +V42=1 +V42PRELOAD=0 +MNP=1 +DISCRIM=0 +RAMM=0 +ECBLOCKS=8 +DYNASEGM=2 +V34EM=1 +PCM=9 +DRING=0 +A8EACTION=0 +DTMFHACK=0 +CLASS0V80RESTORE=0 +V32BISSTUB=0 +V34RAD=2 +USEV96=0 +V80RAD=0 +OVERVOLTTEST=1 +MEIOTOGGLE=1 +SLIMBASE=1 +ASYNC2X=1 + +[OPTIONS] +MW17MIPS=0 +ALLSPEEDS=0 +FDXECUPP=4 +56KWARNING=0 +PERCTTPCM=0 +WAKEONRING=0 +NODSPIRQ=0 +V80PCM=0 +X2DICTLIMIT=512 +V90DICTLIMIT=1024 +V80THVALUE=6 +V90TOV34=1 +WTCHANGEOPT=1 + +[STARTUP] +SPEED=64000 +DEVICE=/dev/mwave + +[TYPES] +TYPE0=1 +TYPE1=1 +TYPE2=1 +TYPE3=1 +TYPE4=0 +TYPE5=1 +TYPE20=1 +TYPE40=1 +TYPE60=1 +TYPE80=0 +TYPE100=1 +TYPE120=0 +TYPE140=0 +TYPE170=1 + +[VERSIONS] +MODEM=v4.0 +OEM=ThinkPad Enh. +STRINGPCM=56000 +STRING336=33600 +STRING288=28800 +STRING144=14400 +STRING2400=2400 +ID=ThinkPad Modem + +[Telephony] +Perf1=50455247 +Perf2=50455246 + +[Telephony\Country List] +CountryListVersion=0000000e + +[Telephony\Country List\1] +CountryCode=00000001 +Name=United States of America +SameAreaRule=G +LongDistanceRule= 1FG +InternationalRule=011EFG + +[Telephony\Country List\101] +CountryCode=00000001 +Name=Anguilla +SameAreaRule=G +LongDistanceRule= 1FG +InternationalRule=011EFG + +[Telephony\Country List\102] +CountryCode=00000001 +Name=Antigua +SameAreaRule=G +LongDistanceRule= 1FG +InternationalRule=011EFG + +[Telephony\Country List\103] +CountryCode=00000001 +Name=Bahamas +SameAreaRule=G +LongDistanceRule= 1FG +InternationalRule=011EFG + +[Telephony\Country List\104] +CountryCode=00000001 +Name=Barbados +SameAreaRule=G +LongDistanceRule= 1FG +InternationalRule=011EFG + +[Telephony\Country List\105] +CountryCode=00000001 +Name=Bermuda +SameAreaRule=G +LongDistanceRule= 1FG +InternationalRule=011EFG + +[Telephony\Country List\106] +CountryCode=00000001 +Name=British Virgin Islands +SameAreaRule=G +LongDistanceRule= 1FG +InternationalRule=011EFG + +[Telephony\Country List\107] +CountryCode=00000001 +Name=Canada +SameAreaRule=G +LongDistanceRule= 1FG +InternationalRule=011EFG + +[Telephony\Country List\108] +CountryCode=00000001 +Name=Cayman Islands +SameAreaRule=G +LongDistanceRule= 1FG +InternationalRule=011EFG + +[Telephony\Country List\109] +CountryCode=00000001 +Name=Dominica +SameAreaRule=G +LongDistanceRule= 1FG +InternationalRule=011EFG + +[Telephony\Country List\110] +CountryCode=00000001 +Name=Dominican Republic +SameAreaRule=G +LongDistanceRule= 1FG +InternationalRule=011EFG + +[Telephony\Country List\111] +CountryCode=00000001 +Name=Grenada +SameAreaRule=G +LongDistanceRule= 1FG +InternationalRule=011EFG + +[Telephony\Country List\112] +CountryCode=00000001 +Name=Jamaica +SameAreaRule=G +LongDistanceRule= 1FG +InternationalRule=011EFG + +[Telephony\Country List\113] +CountryCode=00000001 +Name=Montserrat +SameAreaRule=G +LongDistanceRule= 1FG +InternationalRule=011EFG + +[Telephony\Country List\114] +CountryCode=00000001 +Name=Nevis +SameAreaRule=G +LongDistanceRule= 1FG +InternationalRule=011EFG + +[Telephony\Country List\115] +CountryCode=00000001 +Name=St. Kitts +SameAreaRule=G +LongDistanceRule= 1FG +InternationalRule=011EFG + +[Telephony\Country List\116] +CountryCode=00000001 +Name=St. Vincent and the Grenadines +SameAreaRule=G +LongDistanceRule= 1FG +InternationalRule=0EFG + +[Telephony\Country List\117] +CountryCode=00000001 +Name=Trinidad and Tobago +SameAreaRule=G +LongDistanceRule= 1FG +InternationalRule=011EFG + +[Telephony\Country List\118] +CountryCode=00000001 +Name=Turks and Caicos Islands +SameAreaRule=G +LongDistanceRule= 1FG +InternationalRule=0EFG + +[Telephony\Country List\120] +CountryCode=00000001 +Name=Barbuda +SameAreaRule=G +LongDistanceRule= 1FG +InternationalRule=011EFG + +[Telephony\Country List\121] +CountryCode=00000001 +Name=Puerto Rico +SameAreaRule=G +LongDistanceRule= 1FG +InternationalRule=011EFG + +[Telephony\Country List\122] +CountryCode=00000001 +Name=Saint Lucia +SameAreaRule=G +LongDistanceRule= 1FG +InternationalRule=011EFG + +[Telephony\Country List\123] +CountryCode=00000001 +Name=United States Virgin Islands +SameAreaRule=G +LongDistanceRule= 1FG +InternationalRule=011EFG + +[Telephony\Country List\124] +CountryCode=00000001 +Name=Guam +SameAreaRule=G +LongDistanceRule= 1FG +InternationalRule=011EFG + +[Telephony\Country List\20] +CountryCode=00000014 +Name=Egypt +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\212] +CountryCode=000000d4 +Name=Morocco +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\213] +CountryCode=000000d5 +Name=Algeria +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00,EFG + +[Telephony\Country List\216] +CountryCode=000000d8 +Name=Tunisia +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\218] +CountryCode=000000da +Name=Libya +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\220] +CountryCode=000000dc +Name=Gambia +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\221] +CountryCode=000000dd +Name=Senegal Republic +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\222] +CountryCode=000000de +Name=Mauritania +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\223] +CountryCode=000000df +Name=Mali +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\224] +CountryCode=000000e0 +Name=Guinea +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\225] +CountryCode=000000e1 +Name=Ivory Coast +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\226] +CountryCode=000000e2 +Name=Burkina Faso +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\227] +CountryCode=000000e3 +Name=Niger +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\228] +CountryCode=000000e4 +Name=Togo +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\229] +CountryCode=000000e5 +Name=Benin +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\230] +CountryCode=000000e6 +Name=Mauritius +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\231] +CountryCode=000000e7 +Name=Liberia +SameAreaRule=G +LongDistanceRule= +InternationalRule=0EFG + +[Telephony\Country List\232] +CountryCode=000000e8 +Name=Sierra Leone +SameAreaRule=G +LongDistanceRule=IG +InternationalRule=00EFG + +[Telephony\Country List\233] +CountryCode=000000e9 +Name=Ghana +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\234] +CountryCode=000000ea +Name=Nigeria +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=009EFG + +[Telephony\Country List\235] +CountryCode=000000eb +Name=Chad +SameAreaRule=G +LongDistanceRule= +InternationalRule=15EFG + +[Telephony\Country List\236] +CountryCode=000000ec +Name=Central African Republic +SameAreaRule=G +LongDistanceRule= +InternationalRule=19EFG + +[Telephony\Country List\237] +CountryCode=000000ed +Name=Cameroon +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\238] +CountryCode=000000ee +Name=Cape Verde Islands +SameAreaRule=G +LongDistanceRule= +InternationalRule=0EFG + +[Telephony\Country List\239] +CountryCode=000000ef +Name=Sao Tome and Principe +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\240] +CountryCode=000000f0 +Name=Equatorial Guinea +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\241] +CountryCode=000000f1 +Name=Gabon +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\242] +CountryCode=000000f2 +Name=Congo +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\243] +CountryCode=000000f3 +Name=Congo, Democratic Republic of the +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\244] +CountryCode=000000f4 +Name=Angola +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\245] +CountryCode=000000f5 +Name=Guinea-Bissau +SameAreaRule=G +LongDistanceRule= +InternationalRule=099EFG + +[Telephony\Country List\246] +CountryCode=000000f6 +Name=Diego Garcia +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\247] +CountryCode=000000f7 +Name=Ascension Island +SameAreaRule=G +LongDistanceRule= +InternationalRule=01EFG + +[Telephony\Country List\248] +CountryCode=000000f8 +Name=Seychelle Islands +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\249] +CountryCode=000000f9 +Name=Sudan +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\250] +CountryCode=000000fa +Name=Rwanda +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\251] +CountryCode=000000fb +Name=Ethiopia +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\252] +CountryCode=000000fc +Name=Somalia +SameAreaRule=G +LongDistanceRule= +InternationalRule=19,EFG + +[Telephony\Country List\253] +CountryCode=000000fd +Name=Djibouti +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\254] +CountryCode=000000fe +Name=Kenya +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=000EFG + +[Telephony\Country List\255] +CountryCode=000000ff +Name=Tanzania +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=0900EFG + +[Telephony\Country List\256] +CountryCode=00000100 +Name=Uganda +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\257] +CountryCode=00000101 +Name=Burundi +SameAreaRule=G +LongDistanceRule= +InternationalRule=90EFG + +[Telephony\Country List\258] +CountryCode=00000102 +Name=Mozambique +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\260] +CountryCode=00000104 +Name=Zambia +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\261] +CountryCode=00000105 +Name=Madagascar +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\262] +CountryCode=00000106 +Name=Reunion Island +SameAreaRule=G +LongDistanceRule= +InternationalRule=19EFG + +[Telephony\Country List\263] +CountryCode=00000107 +Name=Zimbabwe +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\264] +CountryCode=00000108 +Name=Namibia +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\265] +CountryCode=00000109 +Name=Malawi +SameAreaRule=G +LongDistanceRule= +InternationalRule=101EFG + +[Telephony\Country List\266] +CountryCode=0000010a +Name=Lesotho +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\267] +CountryCode=0000010b +Name=Botswana +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\268] +CountryCode=0000010c +Name=Swaziland +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\269] +CountryCode=0000010d +Name=Mayotte Island +SameAreaRule=G +LongDistanceRule= +InternationalRule=10EFG + +[Telephony\Country List\2691] +CountryCode=0000010d +Name=Comoros +SameAreaRule=G +LongDistanceRule= +InternationalRule=10EFG + +[Telephony\Country List\27] +CountryCode=0000001b +Name=South Africa +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=09EFG + +[Telephony\Country List\290] +CountryCode=00000122 +Name=St. Helena +SameAreaRule=G +LongDistanceRule= +InternationalRule=01EFG + +[Telephony\Country List\291] +CountryCode=00000123 +Name=Eritrea +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\297] +CountryCode=00000129 +Name=Aruba +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\298] +CountryCode=0000012a +Name=Faroe Islands +SameAreaRule=G +LongDistanceRule= +InternationalRule=009EFG + +[Telephony\Country List\299] +CountryCode=0000012b +Name=Greenland +SameAreaRule=G +LongDistanceRule= +InternationalRule=009EFG + +[Telephony\Country List\30] +CountryCode=0000001e +Name=Greece +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\31] +CountryCode=0000001f +Name=Netherlands +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\32] +CountryCode=00000020 +Name=Belgium +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\33] +CountryCode=00000021 +Name=France +SameAreaRule=0FG +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\34] +CountryCode=00000022 +Name=Spain +SameAreaRule=IG +LongDistanceRule=IG +InternationalRule=00,EFG + +[Telephony\Country List\350] +CountryCode=0000015e +Name=Gibraltar +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\351] +CountryCode=0000015f +Name=Portugal +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\352] +CountryCode=00000160 +Name=Luxembourg +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\353] +CountryCode=00000161 +Name=Ireland +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\354] +CountryCode=00000162 +Name=Iceland +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\355] +CountryCode=00000163 +Name=Albania +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\356] +CountryCode=00000164 +Name=Malta +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\357] +CountryCode=00000165 +Name=Cyprus +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\358] +CountryCode=00000166 +Name=Finland +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\359] +CountryCode=00000167 +Name=Bulgaria +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\36] +CountryCode=00000024 +Name=Hungary +SameAreaRule=G +LongDistanceRule= 06,FG +InternationalRule=00EFG + +[Telephony\Country List\370] +CountryCode=00000172 +Name=Lithuania +SameAreaRule=G +LongDistanceRule= 8WFG +InternationalRule=8W10EFG + +[Telephony\Country List\371] +CountryCode=00000173 +Name=Latvia +SameAreaRule=G +LongDistanceRule= 8,FG +InternationalRule=00EFG + +[Telephony\Country List\372] +CountryCode=00000174 +Name=Estonia +SameAreaRule=G +LongDistanceRule= 8,2IG +InternationalRule=8,00EFG + +[Telephony\Country List\373] +CountryCode=00000175 +Name=Moldova +SameAreaRule=G +LongDistanceRule= 8WFG +InternationalRule=8W10EFG + +[Telephony\Country List\374] +CountryCode=00000176 +Name=Armenia +SameAreaRule=G +LongDistanceRule= 8,IG +InternationalRule=8,10EFG + +[Telephony\Country List\375] +CountryCode=00000177 +Name=Belarus +SameAreaRule=G +LongDistanceRule= 8WFG +InternationalRule=8W10EFG + +[Telephony\Country List\376] +CountryCode=00000178 +Name=Andorra +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\377] +CountryCode=00000179 +Name=Monaco +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\378] +CountryCode=0000017a +Name=San Marino +SameAreaRule=IG +LongDistanceRule=IG +InternationalRule=00EFG + +[Telephony\Country List\379] +CountryCode=00000027 +Name=Vatican City +SameAreaRule=IG +LongDistanceRule=IG +InternationalRule=00EFG + +[Telephony\Country List\380] +CountryCode=0000017c +Name=Ukraine +SameAreaRule=G +LongDistanceRule= 8WFG +InternationalRule=8W10EFG + +[Telephony\Country List\381] +CountryCode=0000017d +Name=Yugoslavia +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=99EFG + +[Telephony\Country List\385] +CountryCode=00000181 +Name=Croatia +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\386] +CountryCode=00000182 +Name=Slovenia +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\387] +CountryCode=00000183 +Name=Bosnia and Herzegovina +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\389] +CountryCode=00000185 +Name=F.Y.R.O.M. (Former Yugoslav Republic of Macedonia) +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=99EFG + +[Telephony\Country List\39] +CountryCode=00000027 +Name=Italy +SameAreaRule=IG +LongDistanceRule=IG +InternationalRule=00EFG + +[Telephony\Country List\40] +CountryCode=00000028 +Name=Romania +SameAreaRule=G +LongDistanceRule= 0FG +InternationalRule=00EFG + +[Telephony\Country List\41] +CountryCode=00000029 +Name=Switzerland +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\420] +CountryCode=000001a4 +Name=Czech Republic +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\421] +CountryCode=000001a5 +Name=Slovak Republic +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\423] +CountryCode=000001a7 +Name=Liechtenstein +SameAreaRule=G +LongDistanceRule=G +InternationalRule=00EFG + +[Telephony\Country List\43] +CountryCode=0000002b +Name=Austria +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\44] +CountryCode=0000002c +Name=United Kingdom +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\45] +CountryCode=0000002d +Name=Denmark +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\46] +CountryCode=0000002e +Name=Sweden +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=009EFG + +[Telephony\Country List\47] +CountryCode=0000002f +Name=Norway +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\48] +CountryCode=00000030 +Name=Poland +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\49] +CountryCode=00000031 +Name=Germany +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\500] +CountryCode=000001f4 +Name=Falkland Islands +SameAreaRule=G +LongDistanceRule= +InternationalRule=0EFG + +[Telephony\Country List\501] +CountryCode=000001f5 +Name=Belize +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\502] +CountryCode=000001f6 +Name=Guatemala +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\503] +CountryCode=000001f7 +Name=El Salvador +SameAreaRule=G +LongDistanceRule= +InternationalRule=0EFG + +[Telephony\Country List\504] +CountryCode=000001f8 +Name=Honduras +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\505] +CountryCode=000001f9 +Name=Nicaragua +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\506] +CountryCode=000001fa +Name=Costa Rica +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\507] +CountryCode=000001fb +Name=Panama +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\508] +CountryCode=000001fc +Name=St. Pierre and Miquelon +SameAreaRule=G +LongDistanceRule= +InternationalRule=19,EFG + +[Telephony\Country List\509] +CountryCode=000001fd +Name=Haiti +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\51] +CountryCode=00000033 +Name=Peru +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\52] +CountryCode=00000034 +Name=Mexico +SameAreaRule=G +LongDistanceRule= 01FG +InternationalRule=00EFG + +[Telephony\Country List\53] +CountryCode=00000035 +Name=Cuba +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=119EFG + +[Telephony\Country List\5399] +CountryCode=00000035 +Name=Guantanamo Bay +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\54] +CountryCode=00000036 +Name=Argentina +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\55] +CountryCode=00000037 +Name=Brazil +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\56] +CountryCode=00000038 +Name=Chile +SameAreaRule=G +LongDistanceRule=FG +InternationalRule=00EFG + +[Telephony\Country List\57] +CountryCode=00000039 +Name=Colombia +SameAreaRule=G +LongDistanceRule=09FG +InternationalRule=009EFG + +[Telephony\Country List\58] +CountryCode=0000003a +Name=Venezuela +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\590] +CountryCode=0000024e +Name=Guadeloupe +SameAreaRule=G +LongDistanceRule= +InternationalRule=19,EFG + +[Telephony\Country List\5901] +CountryCode=0000024e +Name=French Antilles +SameAreaRule=G +LongDistanceRule= +InternationalRule=19,EFG + +[Telephony\Country List\591] +CountryCode=0000024f +Name=Bolivia +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\592] +CountryCode=00000250 +Name=Guyana +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=001EFG + +[Telephony\Country List\593] +CountryCode=00000251 +Name=Ecuador +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\594] +CountryCode=00000252 +Name=French Guiana +SameAreaRule=G +LongDistanceRule= +InternationalRule=19,EFG + +[Telephony\Country List\595] +CountryCode=00000253 +Name=Paraguay +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\596] +CountryCode=00000254 +Name=Martinique +SameAreaRule=G +LongDistanceRule= +InternationalRule=19,EFG + +[Telephony\Country List\597] +CountryCode=00000255 +Name=Suriname +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\598] +CountryCode=00000256 +Name=Uruguay +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\599] +CountryCode=00000257 +Name=Netherlands Antilles +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\60] +CountryCode=0000003c +Name=Malaysia +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\61] +CountryCode=0000003d +Name=Australia +SameAreaRule=G +LongDistanceRule= 0FG +InternationalRule=0011EFG + +[Telephony\Country List\6101] +CountryCode=0000003d +Name=Cocos-Keeling Islands +SameAreaRule=G +LongDistanceRule= 0FG +InternationalRule=00EFG + +[Telephony\Country List\62] +CountryCode=0000003e +Name=Indonesia +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=001EFG + +[Telephony\Country List\63] +CountryCode=0000003f +Name=Philippines +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\64] +CountryCode=00000040 +Name=New Zealand +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\65] +CountryCode=00000041 +Name=Singapore +SameAreaRule=G +LongDistanceRule= +InternationalRule=001EFG + +[Telephony\Country List\66] +CountryCode=00000042 +Name=Thailand +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=001EFG + +[Telephony\Country List\670] +CountryCode=0000029e +Name=Saipan Island +SameAreaRule=G +LongDistanceRule= 1FG +InternationalRule=011EFG + +[Telephony\Country List\6701] +CountryCode=0000029e +Name=Rota Island +SameAreaRule=G +LongDistanceRule= 1FG +InternationalRule=011EFG + +[Telephony\Country List\6702] +CountryCode=0000029e +Name=Tinian Island +SameAreaRule=G +LongDistanceRule= 1FG +InternationalRule=011EFG + +[Telephony\Country List\672] +CountryCode=000002a0 +Name=Christmas Island +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\6721] +CountryCode=000002a0 +Name=Australian Antarctic Territory +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\6722] +CountryCode=000002a0 +Name=Norfolk Island +SameAreaRule=G +LongDistanceRule= +InternationalRule=0101EFG + +[Telephony\Country List\673] +CountryCode=000002a1 +Name=Brunei +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\674] +CountryCode=000002a2 +Name=Nauru +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\675] +CountryCode=000002a3 +Name=Papua New Guinea +SameAreaRule=G +LongDistanceRule= +InternationalRule=05EFG + +[Telephony\Country List\676] +CountryCode=000002a4 +Name=Tonga +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\677] +CountryCode=000002a5 +Name=Solomon Islands +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\678] +CountryCode=000002a6 +Name=Vanuatu +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\679] +CountryCode=000002a7 +Name=Fiji Islands +SameAreaRule=G +LongDistanceRule= +InternationalRule=05EFG + +[Telephony\Country List\680] +CountryCode=000002a8 +Name=Palau +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\681] +CountryCode=000002a9 +Name=Wallis and Futuna Islands +SameAreaRule=G +LongDistanceRule= +InternationalRule=19,EFG + +[Telephony\Country List\682] +CountryCode=000002aa +Name=Cook Islands +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\683] +CountryCode=000002ab +Name=Niue +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\684] +CountryCode=000002ac +Name=American Samoa +SameAreaRule=G +LongDistanceRule= +InternationalRule=1EFG + +[Telephony\Country List\685] +CountryCode=000002ad +Name=Western Samoa +SameAreaRule=G +LongDistanceRule= +InternationalRule=0EFG + +[Telephony\Country List\686] +CountryCode=000002ae +Name=Kiribati Republic +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\687] +CountryCode=000002af +Name=New Caledonia +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\688] +CountryCode=000002b0 +Name=Tuvalu +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\689] +CountryCode=000002b1 +Name=French Polynesia +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\690] +CountryCode=000002b2 +Name=Tokelau +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\691] +CountryCode=000002b3 +Name=Micronesia, Federated States of +SameAreaRule=G +LongDistanceRule= +InternationalRule=011EFG + +[Telephony\Country List\692] +CountryCode=000002b4 +Name=Marshall Islands +SameAreaRule=G +LongDistanceRule=1FG +InternationalRule=011EFG + +[Telephony\Country List\7] +CountryCode=00000007 +Name=Russia +SameAreaRule=G +LongDistanceRule= 8WFG +InternationalRule=8W10EFG + +[Telephony\Country List\705] +CountryCode=00000007 +Name=Kazakhstan +SameAreaRule=G +LongDistanceRule= 8WFG +InternationalRule=8W10EFG + +[Telephony\Country List\708] +CountryCode=00000007 +Name=Tajikistan +SameAreaRule=G +LongDistanceRule= 8WFG +InternationalRule=8W10EFG + +[Telephony\Country List\800] +CountryCode=00000320 +Name=International Freephone Service +SameAreaRule= +LongDistanceRule= +InternationalRule= + +[Telephony\Country List\81] +CountryCode=00000051 +Name=Japan +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=001EFG + +[Telephony\Country List\82] +CountryCode=00000052 +Name=Korea (Republic of) +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=001EFG + +[Telephony\Country List\84] +CountryCode=00000054 +Name=Vietnam +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\850] +CountryCode=00000352 +Name=Korea (North) +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\852] +CountryCode=00000354 +Name=Hong Kong SAR, PRC +SameAreaRule=G +LongDistanceRule= +InternationalRule=001EFG + +[Telephony\Country List\853] +CountryCode=00000355 +Name=Macau +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\855] +CountryCode=00000357 +Name=Cambodia +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\856] +CountryCode=00000358 +Name=Lao P.D.R. (Lao People's Democratic Republic) +SameAreaRule=G +LongDistanceRule= +InternationalRule=14EFG + +[Telephony\Country List\86] +CountryCode=00000056 +Name=China +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\870] +CountryCode=00000366 +Name=INMARSAT +SameAreaRule=00EFG# +LongDistanceRule=00EFG# +InternationalRule=00EFG# + +[Telephony\Country List\871] +CountryCode=00000367 +Name=INMARSAT (Atlantic-East) +SameAreaRule=00EFG# +LongDistanceRule=00EFG# +InternationalRule=00EFG# + +[Telephony\Country List\872] +CountryCode=00000368 +Name=INMARSAT (Pacific) +SameAreaRule=00EFG# +LongDistanceRule=00EFG# +InternationalRule=00EFG# + +[Telephony\Country List\873] +CountryCode=00000369 +Name=INMARSAT (Indian) +SameAreaRule=00EFG# +LongDistanceRule=00EFG# +InternationalRule=00EFG# + +[Telephony\Country List\874] +CountryCode=0000036a +Name=INMARSAT (Atlantic-West) +SameAreaRule=00EFG# +LongDistanceRule=00EFG# +InternationalRule=00EFG# + +[Telephony\Country List\880] +CountryCode=00000370 +Name=Bangladesh +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\886] +CountryCode=00000376 +Name=Taiwan +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=002EFG + +[Telephony\Country List\90] +CountryCode=0000005a +Name=Turkey +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\91] +CountryCode=0000005b +Name=India +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\92] +CountryCode=0000005c +Name=Pakistan +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\93] +CountryCode=0000005d +Name=Afghanistan +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\94] +CountryCode=0000005e +Name=Sri Lanka +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\95] +CountryCode=0000005f +Name=Myanmar +SameAreaRule=G +LongDistanceRule= +InternationalRule=0EFG + +[Telephony\Country List\960] +CountryCode=000003c0 +Name=Maldives +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\961] +CountryCode=000003c1 +Name=Lebanon +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\962] +CountryCode=000003c2 +Name=Jordan +SameAreaRule=G +LongDistanceRule=FG +InternationalRule=00EFG + +[Telephony\Country List\963] +CountryCode=000003c3 +Name=Syria +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\964] +CountryCode=000003c4 +Name=Iraq +SameAreaRule=G +LongDistanceRule=FG +InternationalRule=00EFG + +[Telephony\Country List\965] +CountryCode=000003c5 +Name=Kuwait +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\966] +CountryCode=000003c6 +Name=Saudi Arabia +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\967] +CountryCode=000003c7 +Name=Yemen +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\968] +CountryCode=000003c8 +Name=Oman +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\971] +CountryCode=000003cb +Name=United Arab Emirates +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\972] +CountryCode=000003cc +Name=Israel +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\973] +CountryCode=000003cd +Name=Bahrain +SameAreaRule=G +LongDistanceRule= +InternationalRule=0EFG + +[Telephony\Country List\974] +CountryCode=000003ce +Name=Qatar +SameAreaRule=G +LongDistanceRule= +InternationalRule=0EFG + +[Telephony\Country List\975] +CountryCode=000003cf +Name=Bhutan +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\976] +CountryCode=000003d0 +Name=Mongolia +SameAreaRule=G +LongDistanceRule=0FG +InternationalRule=00EFG + +[Telephony\Country List\977] +CountryCode=000003d1 +Name=Nepal +SameAreaRule=G +LongDistanceRule= +InternationalRule=00EFG + +[Telephony\Country List\98] +CountryCode=00000062 +Name=Iran +SameAreaRule=G +LongDistanceRule=FG +InternationalRule=00EFG + +[Telephony\Country List\993] +CountryCode=000003e1 +Name=Turkmenistan +SameAreaRule=G +LongDistanceRule= 8WFG +InternationalRule=8W10EFG + +[Telephony\Country List\994] +CountryCode=000003e2 +Name=Azerbaijan +SameAreaRule=G +LongDistanceRule= 8WFG +InternationalRule=8W10EFG + +[Telephony\Country List\995] +CountryCode=000003e3 +Name=Georgia +SameAreaRule=G +LongDistanceRule= 8WFG +InternationalRule=8W10EFG + +[Telephony\Country List\996] +CountryCode=000003e4 +Name=Kyrgyz Republic +SameAreaRule=G +LongDistanceRule=8FG +InternationalRule=00EFG + +[Telephony\Country List\998] +CountryCode=000003e6 +Name=Uzbekistan +SameAreaRule=G +LongDistanceRule= 8WFG +InternationalRule=8W10EFG + --- mwavem-2.0.orig/debian/postinst +++ mwavem-2.0/debian/postinst @@ -0,0 +1,25 @@ +#!/bin/sh +set -e + +case "$1" in +configure|reconfigure) + if [ -e /dev/.devfsd ]; then + # devfs enabled + [ -x "$(which update-devfsd 2>/dev/null)" ] && update-devfsd >/dev/null 2>&1 || : + else + # devfs not enabled + cd /dev + /sbin/MAKEDEV -v mwave | { + read ACTION NODE REST + [ "$NODE" ] && echo "MAKEDEV created device node /dev/$NODE ." + } + fi + [ -x "$(which update-modules 2>/dev/null)" ] && update-modules || : + modprobe mwave >/dev/null 2>&1 || : + ;; +# abort-upgrade|abort-remove|abort-deconfigure) + # Do nothing +esac + +#DEBHELPER# + --- mwavem-2.0.orig/debian/compat +++ mwavem-2.0/debian/compat @@ -0,0 +1 @@ +4 --- mwavem-2.0.orig/debian/preinst +++ mwavem-2.0/debian/preinst @@ -0,0 +1,31 @@ +#!/bin/sh +set -e + +if [ -f /etc/modutils/mwavem ]; then + if [ "$(md5sum /etc/modutils/mwavem)" = "88ad75787525d50a36d8cbac3dd37e76" ] ; then + # remove + rm -f /etc/modutils/mwavem + elif [ -f /etc/modutils/mwave ] ; then + # retire + mv -f /etc/modutils/mwavem /etc/modutils/mwavem.dpkg-old + else + # rename + mv -f /etc/modutils/mwavem /etc/modutils/mwave + fi +fi + +if [ -f /etc/devfs/conf.d/mwavem ]; then + if [ "$(md5sum /etc/devfs/conf.d/mwavem)" = "4afbf1e2e756c0620b055c3827488ea8" ] ; then + # remove + rm -f /etc/devfs/conf.d/mwavem + elif [ -f /etc/devfs/conf.d/mwave ]; then + # retire + mv -f /etc/devfs/conf.d/mwavem /etc/devfs/conf.d/mwavem.dpkg-old + else + # rename + mv -f /etc/devfs/conf.d/mwavem /etc/devfs/conf.d/mwave + fi +fi + +#DEBHELPER# + --- mwavem-2.0.orig/debian/postrm +++ mwavem-2.0/debian/postrm @@ -0,0 +1,17 @@ +#!/bin/sh +set -e + +case "$1" in +purge) + [ -x "$(which update-devfsd 2>/dev/null)" ] && update-devfsd >/dev/null 2>&1 || : + [ -x "$(which update-modules 2>/dev/null)" ] && update-modules || : + # Policy 11.6: Packages must not remove device files + ;; +# remove|upgrade) + # Do nothing +# failed-upgrade|abort-install|abort-upgrade|disappear) + # Do nothing +esac + + +#DEBHELPER# --- mwavem-2.0.orig/debian/mwavem.devfs-conf +++ mwavem-2.0/debian/mwavem.devfs-conf @@ -0,0 +1,2 @@ +REGISTER ^misc/mwave$ CFUNCTION GLOBAL mksymlink /dev/misc/mwave /dev/mwave +UNREGISTER ^misc/mwave$ CFUNCTION GLOBAL unlink /dev/mwave --- mwavem-2.0.orig/debian/mwavem.manpages +++ mwavem-2.0/debian/mwavem.manpages @@ -0,0 +1 @@ +debian/mwavem.8 --- mwavem-2.0.orig/debian/changelog +++ mwavem-2.0/debian/changelog @@ -0,0 +1,249 @@ +mwavem (2.0-2) unstable; urgency=low + + [ Thomas Hood ] + * Delete old conffiles rather than move them if they are original + (Responds to Bill Allombert's plea: + http://lists.debian.org/debian-devel-announce/2005/06/msg00006.html) + * No longer Suggest devfsd + * Bump Standards-Version to 3.6.2.1; no changes required + * Use new lsb init-functions in initscript + * Correct license text quotation in the "copyright" file + + -- tony mancill Thu, 2 Feb 2006 17:00:00 +0100 + +mwavem (2.0-1) unstable; urgency=low + + * New upstream (Closes: #246937) + + Allows mwave device file location to be set in the + configuration file (addresses part of #274566) + * /usr/sbin/mwavemd: + + Add lots of quotation marks and clean up code + + fflush() after print + * /etc/init.d/mwavem: + + No longer load or unload mwave module. This is the + job of hotplug, discover, etc. + + On start, wait a while if the mwave device file does + not exist; the driver may just be creating it + (Closes: #274566) + + Adapt tricks from upstream initscript ("mwaved"): + - Use tty indicated by driver, if possible + - Make "check" method smarter + - Run at niceness -15 + + Clean up and tweak code + * debian/control: + + Update description and explain why this package is in + the non-free section of the Debian archive + * build: + + Don't ship README.freebsd -- eliminates lintian warning + + Drop debian/patches; just patch sources in the .diff + + Drop dh_installmodules in favor of own code + + Simplify debian/rules + + Bump Build-Dependency on debhelper on linda's advice + * /etc/devfs/conf.d/mwave: rename from "mwavem" + * /etc/modutils/mwave: rename from "mwavem" + * /etc/modprobe.d/mwave: add + * /etc/mwavem/mwavem.conf: + + Add "MWAVEM_TRACE=1" + + Add "DEVICE=/dev/mwave" + * debian/copyright: + Update because I received a statement from the author of the + program which gives explicit permission to distribute the + (non-free) DSP binaries. + * README.Debian + + Give instructions for enabling apmd proxy script + (Closes: #305384) + + -- Thomas Hood Fri, 20 May 2005 17:00:00 +0200 + +mwavem (1.0.4-1) unstable; urgency=low + + * New upstream (Closes: #156171) + * mwavem node is now installed by makedev at /dev/mwave . + Devfs config has therefore been changed so that automatically + created node at /dev/misc/mwave is symlinked back to /dev/mwave . + * debian/rules + + Switch to cdbs + * debian/README.Debian + + Update + * debian/copyright + + Add discussion of license issues + * debian/ + + Move files from debian/thood/ subdirectory tree into debian/ + + Eliminate debconf stuff + * debian/postinst: + + Remove obsolete code + + Create mwave device node + * debian/postrm: Remove obsolete code + * debian/control: + + Clean up + + Set myself as the maintainer + + Section: non-free/utils + + Build-Depend on cdbs + + Depend on makedev >= 2.3.1-66 which makes the mwave device + + -- Thomas Hood Tue, 27 Mar 2004 12:00:00 +0100 + +mwavem (1.0.2-13) unstable; urgency=low + + * modified debian/copyright to refer to /usr/share/common-licenses/GPL + so that upload won't be REJECTED + + -- tony mancill Tue, 5 Aug 2003 16:30:51 -0700 + +mwavem (1.0.2-12) unstable; urgency=low + + * orphaned; maintainer set to packages@qa.debian.org + * section set to non-free (closes: #192270) + + -- tony mancill Sun, 20 Jul 2003 20:42:13 -0700 + +mwavem (1.0.2-11) unstable; urgency=low + + * updated module info on mwavem manpage (closes: #132073) + * removed debian/conffiles, Suggest: devfsd (closes: #132074) + * removed README.devfs and mwave-dev-event-handler.8 (closes: #132075) + * postinst can handle failed /etc/init.d/mwavem start (closes: #132076) + * updated /etc/devfs/conf.d/mwavem to use mksymlink (closes: #132078) + * postrm now correctly handles removing /etc/mwavem/ (closes: #132084) + (Many thanks to Thomas Hood for the patches and bugreports.) + + -- tony mancill Tue, 5 Feb 2002 23:09:39 -0800 + +mwavem (1.0.2-10) unstable; urgency=low + + * reworked binary-only package as normal source package + * uploaded to main archive as per ITP (closes: #124295) + + -- tony mancill Thu, 6 Dec 2001 23:36:31 -0800 + +mwavem (1.0.2-9) experimental; urgency=low + + * Modify /etc/devfs/conf.d/mwavem to use new mksymlink function + * Remove README.devfs + + -- Thomas Hood Thu, 29 Nov 2001 23:29:11 -0500 + +mwavem (1.0.2-8) experimental; urgency=low + + * Fix error in README.Debian + * Omit module load options + * Update package description + (Thanks to Alexandre Duret-Lutz for these suggestions) + + -- Thomas Hood Thu, 29 Nov 2001 21:07:14 -0500 + +mwavem (1.0.2-7) experimental; urgency=low + + * Change mwavem nice level to -5 + * Don't pipe /etc/apm/event.d/mwavem output through logger + * Suggest apmd + + -- Thomas Hood Tue, 6 Nov 2001 07:37:20 -0500 + +mwavem (1.0.2-6) experimental; urgency=low + + * Tweak mwavemd + * Update README + + -- Thomas Hood Wed, 10 Oct 2001 10:18:54 -0400 + +mwavem (1.0.2-5) experimental; urgency=low + + * Modify /etc/devfs/conf.d/mwavem to eliminate the need for + /usr/sbin/mwave-dev-event-handler and delete the latter file + + -- Thomas Hood Sun, 7 Oct 2001 18:44:04 -0400 + +mwavem (1.0.2-4) experimental; urgency=low + + * Start mwavem with low niceness + + -- Thomas Hood Sun, 7 Oct 2001 08:51:38 -0400 + +mwavem (1.0.2-3) experimental; urgency=low + + * Eliminate "chat" test of modem, since it sometimes yields + false negatives, though I don't know why. For now, just check + for the existence of $DEV. + + -- Thomas Hood Sat, 22 Sep 2001 15:08:43 -0400 + +mwavem (1.0.2-2) experimental; urgency=low + + * /etc/apm/event.d/mwavem now restarts after a resume+suspend + * Other cosmetic changes + + -- Thomas Hood Fri, 21 Sep 2001 01:31:19 -0400 + +mwavem (1.0.2-1) experimental; urgency=low + + * New upstream version + + -- Thomas Hood Thu, 16 Aug 2001 12:20:30 -0400 + +mwavem (1.0.1-2) experimental; urgency=low + + * chown usr/sbin/mwavem root.root + + -- Thomas Hood Tue, 31 Jul 2001 07:52:52 -0400 + +mwavem (1.0.1-1) experimental; urgency=low + + * New upstream + + -- Thomas Hood Mon, 30 Jul 2001 01:56:14 -0400 + +mwavem (1.0-7) experimental; urgency=low + + * Corrected man page + * Added 'options' line to /etc/modutils/mwavem + + -- Thomas Hood Thu, 26 Jul 2001 15:20:47 -0400 + +mwavem (1.0-6) experimental; urgency=low + + * Clarified messages about old config files emitted by postinst + + -- Thomas Hood Thu, 26 Jul 2001 13:22:49 -0400 + +mwavem (1.0-5) experimental; urgency=low + + * Added check for old config files in postinst + + -- Thomas Hood Thu, 26 Jul 2001 13:16:02 -0400 + +mwavem (1.0-4) experimental; urgency=low + + * Name changed back to 'mwavem' after a (valid) complaint and + all config files renamed to '.../mwavem' + + -- Thomas Hood Thu, 26 Jul 2001 10:23:20 -0400 + +mwave (1.0-3) experimental; urgency=low + + * Name changed to 'mwave' for consistency (demanded by lintian) + * More extensive use of debhelper for greater lintian happiness + * Note that the dynamic symbolic link to the serial device is now + /dev/Mwave-modem instead of /dev/ACP-modem. You can change this + at the top of the /etc/init.d/mwave file if you like. + + -- Thomas Hood Fri, 20 Jul 2001 22:00:23 -0400 + +mwavem (1.0-2) experimental; urgency=low + + * Changed control, copyright, changelog rules files to make them + comply better with the Debian Packaging Manual. This package is + still FAR from being compliant with Debian policy, of course. + * Added man page + * postinst and postrm now call update-modules, update-devfsd and + update-rc.d. + * + + -- Thomas Hood Fri, 20 Jul 2001 21:59:34 -0400 + +mwavem (1.0-1) experimental; urgency=low + + * Initial release. + + -- Thomas Hood Thu, 19 Jul 2001 23:49:37 -0400 + --- mwavem-2.0.orig/debian/mwavem.apm-event +++ mwavem-2.0/debian/mwavem.apm-event @@ -0,0 +1,11 @@ +#!/bin/sh + +case "$1" in + suspend) + ;; + resume) + if [ "$2" = "suspend" ]; then + /etc/init.d/mwavem restart + fi + ;; +esac --- mwavem-2.0.orig/debian/docs +++ mwavem-2.0/debian/docs @@ -0,0 +1,3 @@ +FAQ +NEWS +README --- mwavem-2.0.orig/debian/rules +++ mwavem-2.0/debian/rules @@ -0,0 +1,13 @@ +#!/usr/bin/make -f +include /usr/share/cdbs/1/rules/debhelper.mk +include /usr/share/cdbs/1/class/autotools.mk + +install/mwavem:: + rm -f debian/mwavem/etc/mwavem.conf + install -m0644 debian/mwavem.conf debian/mwavem/etc/mwavem/mwavem.conf + install -m0644 debian/mwavem.modutils debian/mwavem/etc/modutils/mwave + install -m0644 debian/mwavem.modprobe debian/mwavem/etc/modprobe.d/mwave + install -m0644 debian/mwavem.devfs-conf debian/mwavem/etc/devfs/conf.d/mwave + install -m0755 debian/mwavemd debian/mwavem/usr/sbin/mwavemd + install -m0755 debian/mwavem.apm-event debian/mwavem/etc/apm/scripts.d/mwavem + ln -s mwavem.8 debian/mwavem/usr/share/man/man8/mwavemd.8 --- mwavem-2.0.orig/debian/mwavem.modutils +++ mwavem-2.0/debian/mwavem.modutils @@ -0,0 +1,4 @@ +alias char-major-10-219 mwave +alias /dev/mwave mwave +alias /dev/misc/mwave mwave +#options mwave mwave_3780i_io=0x130 mwave_3780i_irq=10 mwave_uart_io=0x2f8 mwave_uart_irq=3 --- mwavem-2.0.orig/debian/mwavem.init +++ mwavem-2.0/debian/mwavem.init @@ -0,0 +1,239 @@ +#!/bin/sh +# +# Initscript for mwavem +# +# Written by Thomas Hood +# This file is part of the Debian mwavem package + +MYNAME="/etc/init.d/mwavem" +MODULENAME=mwave +DESC="Mwave modem support" +DAEMONNAME=mwavemd +DAEMONPATHNAME="/usr/sbin/mwavemd" +PIDFILE=/var/run/mwavemd.pid +MWAVEMANAGERPATHNAME="/usr/sbin/mwavem" +MWAVEMANAGERNICENESS="-15" +MWAVEMANAGERCONFPATHNAME="/etc/mwavem/mwavem.conf" +MWDEV="/dev/mwave" +SERDEV="/dev/ttyS1" +LINK="/dev/Mwave-modem" + +[ -x "$DAEMONPATHNAME" ] || exit 0 +[ -x "$MWAVEMANAGERPATHNAME" ] || exit 0 + +. /lib/lsb/init-functions + +# $1 EXITSTATUS +log_end_msg_and_exit() +{ + log_end_msg "$1" + exit $1 +} + +# Return: +# 0 Got value (in UART_IO) +# 1 Did not get value +get_UART_IO() +{ + # The mwave driver in 2.4 kernels provides /proc/mwave + if [ -e /proc/mwave ] ; then + UART_IO_LINE="$(grep -m1 UART_IO /proc/mwave)" + [ "$UART_IO_LINE" ] || return 1 + set $UART_IO_LINE + UART_IO="$2" + # The mwave driver in early 2.6 kernels provides /sys/devices/mwave/ + elif [ -e /sys/devices/mwave/uart_io ] ; then + UART_IO_LINE="$(cat /sys/devices/mwave/uart_io)" + [ "$UART_IO_LINE" ] || return 1 + set $UART_IO_LINE + UART_IO="$1" + else + return 1 + fi +} + +# Return: +# 0 Got value (in TTYXX) +# 1 Did not get value +get_TTYXX() +{ + get_UART_IO || return 1 + case "$UART_IO" in + "") return 1 ;; + 0x03f8) TTYXX=ttyS0 ;; + 0x02f8) TTYXX=ttyS1 ;; + 0x03e8) TTYXX=ttyS2 ;; + 0x02e8) TTYXX=ttyS3 ;; + esac + return 0 +} + + +report_check() { echo " $*" ; } + +# Return: +# 0 OK +# 1 not OK +# 2 could not tell +# Print messages too +check_tty() +{ + get_TTYXX || { report_check "Could not discover tty device name" ; return 2 ; } + [ -x "$(which setserial 2>/dev/null)" ] || { report_check "Cannot read tty resource configuration because setserial command not available" ; return 2 ; } + set $(setserial /dev/$TTYXX) + TTY_UART=${3%,} + TTY_IO=${5%,} + TTY_IRQ=$7 + if [ -e /proc/mwave ] ; then + set $(grep -m1 UART_IO /proc/mwave) + MWM_IO=$2 + set $(grep -m1 UART_IRQ /proc/mwave) + MWM_IRQ=$2 + elif [ -e /sys/devices/mwave/uart_io ] ; then + set $(cat /sys/devices/mwave/uart_io) + MWM_IO=$1 + set $(cat /sys/devices/mwave/uart_irq) + MWM_IRQ=$1 + else + report_check "Cannot read Mwave resource configuration" + return 2 + fi + if [ "$TTY_UART" != 16550A ] && [ "$TTY_UART" != unknown ] ; then + report_check "$TTYXX UART is invalid" + return 1 + fi + if [ "$TTY_IO" != "$MWM_IO" ]; then + report_check "Mwave's IO $MWM_IO does not match $TTYXX IO $TTY_IO" + return 1 + fi + if [ "$TTY_IRQ" != "$MWM_IRQ" ]; then + report_check "Mwave's IRQ $MWM_IRQ does not match $TTYXX IRQ $TTY_IRQ" + return 1 + fi + report_check "TTY configuration OK" + return 0 +} + +# Return: +# 0 OK +# 1 not OK +check_process() +{ + if [ -f "$PIDFILE" ] && pidof -x "$DAEMONPATHNAME" >/dev/null 2>&1 ; then + report_check "Support process running" + + return 0 + else + report_check "Support process not running" + return 1 + fi +} + +case "$1" in + start) + log_daemon_msg "Starting $DESC" + # Do not remove $LINK here because daemon may already be running. + # Check for the mwave device + for w in 0 1 2 3 4 giveup ; do + if [ "$w" = "giveup" ] ; then + log_progress_msg "(timed out waiting for mwave device file to be created)" + log_end_msg_and_exit 1 + fi + [ -c "$MWDEV" ] && break + sleep 1 + done + # Check serial device configuration if possible + check_tty >/dev/null || { case "$?" in (1) log_progress_msg "(failed serial device configuration check)" ; log_end_msg_and_exit 1 ;; esac ; } + [ "$TTYXX" ] && SERDEV="/dev/${TTYXX}" + # Check for the serial device file + [ -c "$SERDEV" ] || { log_progress_msg "(failed serial device presence check)" ; log_end_msg_and_exit 1 ; } + # Start $DAEMONPATHNAME which creates $PIDFILE containing its own process i.d. + # and symbolically links $LINK to $SERDEV if and when the modem is ready. + if start-stop-daemon --test --start --pidfile "$PIDFILE" --startas "$DAEMONPATHNAME" --background >/dev/null 2>&1 ; then + if ! start-stop-daemon --start --pidfile "$PIDFILE" --startas "$DAEMONPATHNAME" --background -- \ + "$SERDEV" "$LINK" "$PIDFILE" "$MWAVEMANAGERPATHNAME" "$MWAVEMANAGERCONFPATHNAME" "$MWDEV" "$MWAVEMANAGERNICENESS" + then + log_progress_msg "(did not start)" + log_end_msg_and_exit 1 + fi + else + log_progress_msg "(already started)" + log_end_msg_and_exit 0 + fi + # start-stop-daemon succeeded in starting $DAEMONPATHNAME + # + # Wait for either: + # thirty seconds to elapse, or + # $DAEMONPATHNAME to exit without creating $LINK (due to some error), or + # $LINK to be created, indicating that the modem is ready to use. + DAEMON_STARTED=0 + for w in 0 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 timeout ; do + if [ "$w" = "timeout" ] ; then + log_progress_msg "(timed out waiting for daemon to start)" + log_end_msg_and_exit 1 + fi + if [ -h "$LINK" ] ; then + log_progress_msg "$DAEMONNAME" + log_end_msg_and_exit 0 + fi + PIDOF_MWAVEMD="$(pidof -x "$DAEMONPATHNAME")" + if [ "$PIDOF_MWAVEMD" ] ; then + DAEMON_STARTED=1 + else + # Daemon is not running + if [ "$DAEMON_STARTED" = 0 ] ; then + log_progress_msg "(did not start)" + else + log_progress_msg "(aborted early)" + fi + log_end_msg_and_exit 1 + fi + sleep 1 + done + log_failure_msg "Programming error" + exit 99 # We shouldn't ever reach here + ;; + stop) + EXITSTATUS=0 + log_daemon_msg "Stopping $DESC" + if start-stop-daemon --test --stop --quiet --pidfile "$PIDFILE" >/dev/null 2>&1 ; then + start-stop-daemon --stop --quiet --pidfile "$PIDFILE" + # daemon was sent signal 15. Wait for it to die. + for w in 0 1 2 3 giveup ; do + if [ "$w" = "giveup" ] ; then + log_progess_msg "(timed out waiting for daemon to exit) KILLing: $DAEMONNAME" + EXITSTATUS=1 + kill -9 "$(pidof $DAEMONPATHNAME)" >/dev/null 2>&1 + break + fi + if [ ! -f "$PIDFILE" ] ; then + log_progess_msg "$DAEMONNAME" + break + fi + sleep 1 + done + else + log_progress_msg "(no daemon running)" + fi + kill -9 "$(pidof $MWAVEMANAGERPATHNAME)" >/dev/null 2>&1 # Just to make sure + rm -f "$PIDFILE" "$LINK" # Just to make sure + log_end_msg_and_exit $EXITSTATUS + ;; + restart|reload|force-reload) + EXITSTATUS=0 + $0 stop || EXITSTATUS=1 + $0 start || EXITSTATUS=1 + exit $EXITSTATUS + ;; + check) + log_action_msg "Start check of $DESC" + EXITSTATUS=0 + check_tty || EXITSTATUS=1 + check_process || EXITSTATUS=1 + log_action_msg "End check of $DESC" + exit $EXITSTATUS + ;; + *) + echo "Usage: $MYNAME {start|stop|restart|reload|force-reload|check}" >&2 + exit 3 +esac --- mwavem-2.0.orig/debian/mwavemd +++ mwavem-2.0/debian/mwavemd @@ -0,0 +1,129 @@ +#!/bin/sh +# +# I am /usr/sbin/mwavemd +# +# I start the Mwave manager process and exit when the latter exits. +# If and when the M.m. reports that its start-up sequence is complete, +# I test the modem serial port and create a symbolic link to it. +# This serves as the signal to others that the modem is ready to use. +# +# I create a process i.d. file as I start. When the M.m. exits or if +# I am terminated then I delete my process-i.d. file and the symbolic link +# and exit. +# +# Usually I am only invoked by the mwavem init script. +# +# Written by Thomas Hood + +MYNAME=mwavemd + +report_error() { echo "${MYNAME}: Error: $*" >&2 ; } + +if [ "$7" = "" ]; then + report_error "Six args are required -- the pathnames (1) of the serial device file, (2) of the symbolic link to the latter to be created, (3) of my process i.d. file to be created, (4) of the Mwave manager executable, (5) of the Mwave manager configuration file and (6) of the mwave device file; and (7) the niceness of the Mwave manager process. Exiting." + exit 1 +fi + +# The serial device used to access the Mwave modem +DEV="$1" +if [ ! -c "$DEV" ]; then + report_error "$DEV is not a character special file. Exiting." + exit 1 +fi + +# The name of the symbolic link to $DEV +LINK="$2" + +# The name of my process i.d. file +PIDFILE="$3" +if [ -e "$PIDFILE" ]; then + report_error "Process i.d. file $PIDFILE already exists. If you are sure that no other instance of mwavemd is running, then delete $PIDFILE and try again. Exiting." + exit 1 +fi + +# The Mwave manager executable +MWAVEMPATHNAME="$4" +if [ ! -x "$MWAVEMPATHNAME" ]; then + report_error "$MWAVEMPATHNAME is not an executable file. Exiting." + exit 1 +fi + +# The Mwave manager configuration file +CONFPATHNAME="$5" + +# The Mwave device file +# At present, mwavem can't use this argument!!! +MWDEV="$6" + +# The priority at which to run the mwave manager +MWAVEMNICENESS="$7" + +if [ "$MWAVEMNICENESS" ] && [ -x "$(which nice 2>/dev/null)" ]; then + NICECMD="nice -n $MWAVEMNICENESS" +else + NICECMD="" +fi + +# To begin with, delete any old link +rm -f "$LINK" + +# Create new pidfile +echo $$ >| "$PIDFILE" + +# Before exiting for any reason, delete link and pidfile. +# Also kill $MWAVEMPATHNAME in case I am exiting because of a SIGTERM. +trap 'rm -f $LINK ; killall -q -v $MWAVEMPATHNAME ; logger -s -t $MYNAME "Cleaning up, unlinking $LINK and exiting. " 2>&1 ; wait ; rm -f $PIDFILE' EXIT + +# Here we use awk to do our dirty work. +# Awk will exit when the $MWAVEMPATHNAME process exits and closes its stdout. +# (I assume that $MWAVEMPATHNAME exits soon after reporting an "ERROR" but +# that it continues to run (without forking) after reporting that +# the modem has been "STARTED".) +$NICECMD $MWAVEMPATHNAME $CONFPATHNAME | awk -W interactive ' + BEGIN { print "Started the Mwave manager ..." ; fflush() ; exitstatus=101 } + { print ; fflush() } + /STARTED/ { + print "... successful. Now checking for modem device file ..." ; fflush() ; + if ( system("test -c '"$DEV"'") == 0 ) { + system("ln -sf '"$DEV"' '"$LINK"' ") ; + print "... successful. Modem is available at '"$LINK"'." ; fflush() ; + exitstatus=100 + } else { + print "... failed. Modem device file not found." ; fflush() ; + system("killall -q '"$MWAVEMPATHNAME"' ") ; + exitstatus=103 ; + exit + } + } + /ERROR/ { exitstatus=102 } + END { exit exitstatus }' \ + - \ + | logger -s -t $MYNAME 2>&1 + +# Get the exit status of awk +exitstatus=${PIPESTATUS[1]} + +case "$exitstatus" in + 101) + report_error "The Mwave manager exited without starting the modem." + exit 101 + ;; + 102) + report_error "The Mwave manager exited reporting an ERROR." + exit 102 + ;; + 103) + report_error "The Mwave manager has been killed because the modem did not respond." + exit 103 + ;; + 100) + # Normal exit + exit 0 + ;; + *) + report_error "awk exited with status $exitstatus." + exit 1 +esac + +# (Note that the trap command removes the link and the pidfile.) + --- mwavem-2.0.orig/debian/dirs +++ mwavem-2.0/debian/dirs @@ -0,0 +1,8 @@ +/etc/mwavem +/etc/modutils +/etc/modprobe.d +/etc/apm/scripts.d +/etc/devfs/conf.d +/usr/sbin +/usr/share/mwavem +/usr/share/man/man8 --- mwavem-2.0.orig/debian/mwavem.modprobe +++ mwavem-2.0/debian/mwavem.modprobe @@ -0,0 +1,2 @@ +alias char-major-10-219 mwave +#options mwave mwave_3780i_io=0x130 mwave_3780i_irq=10 mwave_uart_io=0x2f8 mwave_uart_irq=3 --- mwavem-2.0.orig/debian/mwavem.8 +++ mwavem-2.0/debian/mwavem.8 @@ -0,0 +1,58 @@ +.\" -*- nroff -*- +.TH mwavem 8 "Version 1.0 - July 2001" +.SH NAME +mwavem \- Mwave/ACP modem support daemon + +.hy 0 +.SH SYNOPSIS +.B mwavem [ ] + +.SH DESCRIPTION +.B mwavem +implements a Hayes-compatible V.90 modem in the International Business +Machines Corp. (IBM) 3780i Mwave Advanced Communications Processor +(Mwave/ACP) Digital Signal Processor (DSP) chip which is built in to +certain IBM ThinkPad laptop computers, including the ThinkPad 600, 600E +and 770. +.PP +.B mwavem +runs in user space, loading the DSP with instructions as required. +It must have adequate permission to access the mwave device node +associated with the mwave kernel device driver. The driver code +is included in the latest (as of January 2002) 2.4 Linux kernel +sources. To build the module, set "ACP/Mwave Modem support" under +"Character devices" to "m" at kernel configuration time. Source +code is available from IBM which can be used to build a module +compatible with earlier kernels. + +.B "" +is the mwavem configuration file. +The default is /etc/mwavem.conf. +(In Debian, the configuration file is /etc/mwavem/mwavem.conf.) + +.SH FILES +.PD 0 +.TP 20 +.BI /etc/mwavem.conf +the configuration file +.PD 0 +.TP 20 +.BI /dev/mwave +the mwave device + +.PP +If you are using devfs then the mwave device driver creates +a device node at /dev/misc/mwave. +devfsd must therefore be configured so as to create a symbolic link +from /dev/mwave to /dev/misc/mwave. +If you are not using devfs then /dev/mwave must be a char device node +with major number 10, minor number 219. + +.SH LIMITATIONS +Only the 3780i chip is supported. Earlier Mwave DSPs, which were used for +sound generation as well as modem functionality, are not supported. + +.SH AUTHORS +.B mwavem +was written by Paul Schroeder and +Mike Sullivan --- mwavem-2.0.orig/debian/copyright +++ mwavem-2.0/debian/copyright @@ -0,0 +1,35 @@ +This package was debianized by tony mancill on +Thu, 6 Dec 2001 23:29:52 -0800, based on packaging by Thomas Hood. +It is now maintained by the participants in the pkg-mwavem project +at alioth.debian.org. + +Source code was obtained from http://oss.software.ibm.com/acpmodem/ . + +Copyright: (C) Copyright International Business Machines Corp. 1999. + All Rights Reserved. + +License on everything except DSP binaries: GPL version 2 or (at the +licensee's option) any later version. + +License on DSP binaries: Freely distributable + +--------------- Beginning of note about the DSP binaries --------- +The author, Paul Schroeder, writes on behalf of his employer, IBM, +that the DSP binaries may be distributed by Debian. The fact that +the DSP binaries are furnished without source code should not be +considered an impediment to distributing any of the code in the mwavem +package, including that which is licensed under the GPL. + +Note that although the DSP binaries are legally distributable by +Debian, they don't come with source code and thus do not satisfy the +Debian Free Software Guidelines. It is my judgment as the maintainer +of the package that this fact makes the package ineligible for the +"main" section of the archive; it must be kept in the "non-free" +section. +-- +Thomas Hood +12 May 2004 +--------------- End of note about the DSP binaries --------- + +On Debian GNU/Linux systems, the complete text of the GNU General +Public License can be found in /usr/share/common-licenses/GPL . --- mwavem-2.0.orig/debian/README.Debian +++ mwavem-2.0/debian/README.Debian @@ -0,0 +1,61 @@ + Mwave/ACP modem support for Debian + ---------------------------------- + +Last modified: 18 May 2005 + +module options +-------------- +The /etc/rc.d/init.d/mwaved script supplied in the mwavem tarball +for use with RedHat systems allows assignment of the load options +for the mwave.o module. However the appropriate place to specify +these options is in the /etc/modules.conf file, i.e., in the +/etc/modutils/mwavem file which gets copied into /etc/modules.conf +or in the /etc/modprobe.d/mwavem file. + +mwave.o can has the following options, with the defaults marked +by an asterisk: + mwave_3780i_irq 5/7/*10/11/15 + mwave_3780i_io *0x130,0x350,0x0070,0xDB0 + mwave_uart_irq *3,4 + mwave_uart_io 0x3f8,*0x2f8,0x3E8,0x2E8 + +(Note that the options were named differently in the 1.0/20010718 +release of the driver code.) Thus the /etc/modutils/mwavem file +may be modified to change these parameters as in the following +example: + options mwave mwave_uart_irq=4 mwave_uart_io=0x3f8 + +Remember that if you change the io address of the mwave uart then +you will also change the device node through which the uart will +be accessible. If the io address of the uart is set to 0x3f8, as +above, then the modem will appear at /dev/ttyS0 or /dev/tts/0 +instead of /dev/ttyS1 or /dev/tts/1. A change must be made to +the assignment to the SERDEV variable in /etc/init.d/mwavem to +accord with this: + SERDEV=/dev/ttyS0 + +configuring the serial interface to the Mwave/ACP modem +------------------------------------------------------- +Prior to release 1.0 of the driver it was necessary to run the +setserial command after loading the driver module. As of mwavem +1.0 this should no longer be necessary. The mwave driver now +informs the serial driver of the creation of a new serial device +when it initializes. However if the uart doesn't respond, try +running + setserial /dev/ttyS1 autoconfig auto_irq +(as root). + +The Mwave modem support program -- mwavem +----------------------------------------- +In the Debian package, the mwavem program is run from the wrapper +script mwavemd. + +mwavem accesses a configuration file, /etc/mwavem/mwavem.conf, and +the mwave device node /dev/mwave with major number 10 and minor +number 219. + +On some systems mwavem needs to be restarted after APM suspend +and resume. To automate this, add the symbolic link: + + /etc/apm/resume.d/20mwavem -> ../scripts.d/mwavem +