* Object
This is the specific packaging of eagle-usb for
TestMandrake10 :
- part of the driver is already included in the kernel (mostly the module)
- scripts are included in the eagle-usb rpm (formerly known as adiusbadsl) which can be seen as the usermode part of the driver (nearly independant on kernel like eaglectrl + scripts)
Do not forget
CheckListRelease before launching the make of an rpm ;-)
* References
See
DeveloppementPackaging for general documentation on packaging eagle-usb driver.
See
TestMandrake10 for testing of eagle-usb on Mandrake
See
TestEagleUs to download the latest versions either from cvs or as a tar.bz2 (and see current bugs)
See
DocumentationFonctionnalitesUs for all features that have to be taken into account by driver / script
See
MandrakeNews for latest infos on
Mandrake10
See
WhyKernelSourceIsCompulsory to realize why it's bad not to include kernel-source on CD
* Some infos
- use 1.9.6 version (url:
http://tbasic.free.fr/eagle/)
- renommer le paquer en eagle-usb-1.9.6-1mdk.rpm
- le makefile génère uniquement un /etc/eagle-usb/scripts/eagle-usb.conf.template qui est utilisé par eagleconfig pour créer le vrai fichier. Comme vous n'utilisez pas eagleconfig, il faudra remplacer /etc/eagle-usb/scripts/eagle-usb.conf.template par /etc/eagle-usb/eagle-usb.conf
Latest corrections and remaining bugs in TestMandrake10
Those are modifications made since eagle-usb-1.9.5-4mdk
minor - DSP sent 3x - eu_dsp modified works for kernel-2.6 and 2.4, still sent 3x in kernel-2.4 though...
minor - display MAC address with eaglestat - eaglestat / driver modified
minor - warning by eaglectrl with parameters in eagle-usb.conf / add a section <eaglectrl> </eaglectrl>
ok - ldetect-lst updated with 9021 till 9024 - thanks
major - connection at boot did not work (corrected in eu_dsp)
major - not related to eagle-usb, noapic and acpi=off required for MSI-6380 / K7T266 pro2 motherboard - kernel bug... (maybe corrected...)
* RPM auto-generation (may not be useful for Mandrake 10)
download eagle-usb-1.9.6 from
TestEagleUs page.
tar xfj eagle-usb-1.9.6.tar.bz2
make rpm
It should create a folder ../eagle-usb.dist containing:
eagle-usb-1.9.6.tar.bz2
eagle-usb-1.9.6-1.i586.rpm
eagle-usb-module-2.6.2-1mdk-1.9.6-1.i586.rpm
eagle-usb-1.9.6-1.src.rpm
The approach taken here is to use eagleconfig to put all config files (hotplug, ...) in the right place.
For Mandrake, that's not appropriate, src rpm have been modified to reflect their need.
* Manual installation
download eagle-usb-1.9.6 from
TestEagleUs page.
tar xfj eagle-usb-1.9.6.tar.bz2
./configure --prefix=/usr --disable-module
make
make DESTDIR=~/installdir/eagle-1.9.6 install
* exit 123
In each installed script, "
exit 123" should be replaced by:
. /etc/eagle-usb/scripts/setvars
* ifcfg-ethX
Drakconnect has to create /etc/sysconfig/network-scripts/ifcfg-eth2 (if eth2 is the modem interface)
DEVICE=eth2
BOOTPROTO=static
IPADDR=192.168.60.30
NETMASK=255.255.255.0
BROADCAST=192.168.60.255
ONBOOT=no
MII_NOT_SUPPORTED=yes
* eagle-usb.conf
<eaglectrl>
# Options are set whith the following syntax:
#
# Name = Value
#
# where "Name" is the option name, and
# "Value" is the option value, specified
# in hexadecimal (without any prefix).
# Option names are case sensitive.
# Options that are commented out are specified
# with their default values.
#
# Other than VPI, VCI and Encapsulation,
# I really don't known what these options mean.
#POTS FOR EAGLE
OPTN0=80020066
# OPTN2=23700000
# OPTN3=00000000
OPTN4=00000000
# OPTN5=00000000
# OPTN6=00000000
# OPTN7=02CD8044
# OPTN15=09090909
VPI=00000008
VCI=00000023
#The following values are valid for encapsulation :
#MPOA_MODE_BRIDGED_ETH_LLC ----> 1
#MPOA_MODE_BRIDGED_ETH_VC ----> 2
#MPOA_MODE_ROUTED_IP_LLC ----> 3
#MPOA_MODE_ROUTED_IP_VC ----> 4
#MPOA_MODE_PPPOA_LLC ----> 5
#MPOA_MODE_PPPOA_VC ----> 6
Encapsulation=00000006
Linetype=00000001
RatePollFreq=00000009
</eaglectrl>
# Added by eagleconfig
STATIC_IP=none
LANG=auto
ASYNCHRONOUS_START=1
- "ISP" has been removed (unuseful) - well I had a use for it in eaglediag... and it would be better than a number that keeps changing in
list of ISP as new ISP are identified COUNTRY/ISP is a good structure FRAFRD for Free Dégroupé in France, FRAFRE for non dégroupé (512 and 1024 are the same)
- "STATIC_IP" : keep "none" => let pppd/dhclient recover ip adress
- "LANG": keep "auto" => use the $LANG environment variable
- "ASYNCHRONOUS_START": keep "1" => boot process may be faster
- <eaglectrl> section to avoid "warning unknow option"
see
ConfigFiles for more information
whenever there is a new ISP, modify
eu_config_bash and
/usr/lib/libDrakX/network/adsl_consts.pm and send the result of :
diff -Naur adsl_consts.pm adsl_consts.pm.new
* needed files
note: of course you can change path (/usr/local => /usr)
necessary
/usr/local/sbin/eaglectrl
/usr/local/sbin/eaglestat
/usr/local/sbin/fctStartAdsl
/usr/local/sbin/fctStopAdsl
/usr/local/sbin/pppoa
/etc/eagle-usb/lang/de
/etc/eagle-usb/lang/en
/etc/eagle-usb/lang/es
/etc/eagle-usb/lang/fr
/etc/eagle-usb/lang/f2
/etc/eagle-usb/lang/it
/etc/eagle-usb/lang/pl
/etc/eagle-usb/lang/p2
/etc/eagle-usb/dsp_code_pots.bin
/etc/eagle-usb/dsp_code_isdn.bin
/etc/eagle-usb/eagle-usb.conf
/etc/eagle-usb/scripts/setvars
/etc/hotplug/usb/eu_dsp
/etc/ppp/peers/adsl
/usr/lib/hotplug/eagle-usb/usb.usermap
/etc/sysconfig/network-scripts/net_cnx_up
/etc/sysconfig/network-scripts/net_cnx_down
/etc/sysconfig/network-scripts/net_cnx_pg
highly recommended (really!)
/usr/local/sbin/startadsl
/usr/local/sbin/stopadsl
/usr/local/sbin/eaglediag
could be included
/etc/eagle-usb/scripts/testconnec
not useful
/etc/eagle-usb/scripts/eu_init
/usr/local/sbin/eagleconfig
* usage
- hotplug loads eagle-usb.o/.ko module
- this module automatically sends firmware (nothing to do)
- hotplug launch /etc/hotplug/usb/eu_dsp. This script send DSP & Options to the modem. After few seconds, the modem become operational.
- net_cnx_up & net_cnx_down are used to start/stop the connexion
- startadsl & stopadsl should not be used by scripts. Scripts should only use fctStartAdsl/net_cnx_up and fctStopAdsl/net_cnx_down
- fctStartAdsl (or net_cnx_up) can wait 60s to let the modem become ready. If eagle-usb.conf contains "ASYNCHRONOUS_START=1", it will be launched in background (not blocking)
- to get modem interface, use "eaglectrl -i". This can only be done when modem is already operational.
not to forget
le pb d'eagle-usb sur le cd4 etait du au fait que le package avait ete renomme d'eagle en eagle-usb mais que gi/perl-install/share/rpmsrate listait toujours eagle et non eagle-usb.
mkdir -p ~/rpm/{SRPMS,RPMS/i586,tmp,BUILD,SPECS}
cat > ~/.rpmmacros<<EOF
%_target linux
%_topdir /home/tv/rpm
%_tmppath /home/tv/rpm/tmp/
EOF
rpm -Uvh eagle-usb-1.9.5-5mdk.src.rpm
puis copier le nouveau tarball dans ~/rpm/SOURCES et modifier les tags
"release" et "version" dans le spec file (et ne pas oublier d'ajouter
un changelog)
puis lancer rpm -ba ~/rpm/SPECS/eagle-usb.spec
> J'ai du mal à voir les différences entre le fichier de spec de Tux et le
> vôtre...
rpm -bp ~/rpm/SPECS/eagle-usb.spec
diff -u ~/rpm/SPECS/eagle-usb.spec BUILD/eagle-usb-*/eagle.spec
Not updated
List of files from the CVS
Colors represent what is to be taken into account
- grey can be discarded : either obsolete or not relevant
- blue is to be included in the kernel (eagle-usb.o.gz in 2.4.x, eagle-usb.ko in 2.6.x) and kernel-source (/usr/src/linux/3rdparty/eagle-usb/ instead of adiusbadsl)
- yellow is to be included in the rpm (or src.rpm)
- other files will be necessary (either compiled or created at install), see other paragraphs
CVS entries have been omitted and need not be included in package.
Directory eagle-usb/utils/eagleconfig/ can be omitted : not yet maintained (former version eagleconfig.pl for configuration)
file
|
description
|
comment / destination
|
eagle-usb/README
| documentation
|
eagle-usb rpm
|
eagle-usb/driver/firmware/sagem/isdn/rtbldei0.bnm
eagle-usb/driver/firmware/sagem/isdn/rtbldei1.bnm
eagle-usb/driver/firmware/sagem/isdn/rtbldei2.bnm
eagle-usb/driver/firmware/sagem/isdn/rtbldei3.bnm
eagle-usb/driver/firmware/sagem/isdn/rtbldei4.bnm
eagle-usb/driver/firmware/sagem/pots/rtbldep0.bnm
eagle-usb/driver/firmware/sagem/pots/rtbldep1.bnm
eagle-usb/driver/firmware/sagem/pots/rtbldep2.bnm
eagle-usb/driver/firmware/sagem/pots/rtbldep3.bnm
eagle-usb/driver/firmware/sagem/pots/rtbldep4.bnm |
DSP code
DSPcode.bin ?
|
compiled ?
in eagle-usb rpm ?
|
eagle-usb/driver/firmware/HexRecord.h
eagle-usb/driver/firmware/Makefile
eagle-usb/driver/firmware/bnm-format.txt
eagle-usb/driver/firmware/builddsp.c |
used
to compile DSP code
|
in
kernel-source ?
|
eagle-usb/driver/firmware/usr/isdn/rtbldei0.bnm
eagle-usb/driver/firmware/usr/isdn/rtbldei1.bnm
eagle-usb/driver/firmware/usr/isdn/rtbldei2.bnm
eagle-usb/driver/firmware/usr/isdn/rtbldei3.bnm
eagle-usb/driver/firmware/usr/isdn/rtbldei4.bnm
eagle-usb/driver/firmware/usr/pots/rtbldep0.bnm
eagle-usb/driver/firmware/usr/pots/rtbldep1.bnm
eagle-usb/driver/firmware/usr/pots/rtbldep2.bnm
eagle-usb/driver/firmware/usr/pots/rtbldep3.bnm
eagle-usb/driver/firmware/usr/pots/rtbldep4.bnm |
DSP code
DSPcode.bin ?
|
compiled ?
in eagle-usb rpm ?
|
eagle-usb/driver/Adiutil.h
eagle-usb/driver/Boot.c
eagle-usb/driver/Boot.h
eagle-usb/driver/COPYING
eagle-usb/driver/Cmv.h
eagle-usb/driver/Dsp.c
eagle-usb/driver/Dsp.h
eagle-usb/driver/Macros.h
eagle-usb/driver/Makefile
eagle-usb/driver/Makefile-2.4
eagle-usb/driver/Makefile-2.6
eagle-usb/driver/Me.c
eagle-usb/driver/Me.h
eagle-usb/driver/Mpoa.c
eagle-usb/driver/Mpoa.h
eagle-usb/driver/Oam.c
eagle-usb/driver/Oam.h
eagle-usb/driver/Pipes.c
eagle-usb/driver/Pipes.h
eagle-usb/driver/Sar.c
eagle-usb/driver/Sar.h
eagle-usb/driver/Sm.c
eagle-usb/driver/Uni.c
eagle-usb/driver/Uni.h
eagle-usb/driver/debug.h
eagle-usb/driver/eagle-usb.h
eagle-usb/driver/eu_eth.c
eagle-usb/driver/eu_eth.h
eagle-usb/driver/eu_firmware.h
eagle-usb/driver/eu_main.c
eagle-usb/driver/eu_msg.c
eagle-usb/driver/eu_msg.h
eagle-usb/driver/eu_sm.h
eagle-usb/driver/eu_types.h
eagle-usb/driver/eu_utils.c
eagle-usb/driver/eu_utils.h
|
module
code
|
kernel-source
|
eagle-usb/driver/user/CMVei.txt
eagle-usb/driver/user/CMVep.txt
eagle-usb/driver/user/Makefile
eagle-usb/driver/user/eagle-usb.conf
eagle-usb/driver/user/eaglectrl.c
eagle-usb/driver/user/eaglestat
eagle-usb/driver/user/usrisdn.conf
eagle-usb/driver/user/usrpots.conf |
eaglectrl
code
|
to
be compiled eagle-usb rpm
|
eagle-usb/Makefile
eagle-usb/Makefile.common.in
eagle-usb/TODO
eagle-usb/VERSION
eagle-usb/autogen.sh
eagle-usb/configure.in
eagle-usb/gpl.txt
eagle-usb/install-sh
eagle-usb/kernel.m4
eagle-usb/lisezmoi.txt
eagle-usb/makedist
eagle-usb/readme.txt
eagle-usb/pppoa/COPYING |
|
|
eagle-usb/pppoa/Makefile
eagle-usb/pppoa/common.c
eagle-usb/pppoa/config.h
eagle-usb/pppoa/debug.c
eagle-usb/pppoa/if.c
eagle-usb/pppoa/ppp.c
eagle-usb/pppoa/pppoa.c
eagle-usb/pppoa/pppoa.h |
pppoa
(debugged version for eagle-usb driver)
|
to
be compiled
eagle-usb rpm
|
eagle-usb/utils/scripts/lang/de
eagle-usb/utils/scripts/lang/en
eagle-usb/utils/scripts/lang/es
eagle-usb/utils/scripts/lang/f2
eagle-usb/utils/scripts/lang/fr
eagle-usb/utils/scripts/lang/it
eagle-usb/utils/scripts/lang/p2
eagle-usb/utils/scripts/lang/pl |
language
files used by scripts
|
eagle-usb
rpm
|
eagle-usb/utils/scripts/Makefile
eagle-usb/utils/scripts/eagle-usb.spec
eagle-usb/utils/scripts/eagleconfig
eagle-usb/utils/scripts/eaglediag
eagle-usb/utils/scripts/eu_dsp
eagle-usb/utils/scripts/eu_init
eagle-usb/utils/scripts/fctStartAdsl
eagle-usb/utils/scripts/fctStopAdsl
eagle-usb/utils/scripts/net.agent
eagle-usb/utils/scripts/net_cnx_down
eagle-usb/utils/scripts/net_cnx_pg
eagle-usb/utils/scripts/net_cnx_up
eagle-usb/utils/scripts/options
eagle-usb/utils/scripts/setvars
eagle-usb/utils/scripts/startadsl
eagle-usb/utils/scripts/startmire
eagle-usb/utils/scripts/stopadsl
eagle-usb/utils/scripts/testconnec
eagle-usb/utils/scripts/uninstOld
eagle-usb/utils/scripts/usb.usermap |
|
|
|
|
|
Comparison of rpm spec files
mkdir -p ~/rpm/{SRPMS,RPMS/i586,tmp,BUILD,SPECS}
cat > ~/.rpmmacros<<EOF
%_target linux
%_topdir /home/tv/rpm
%_tmppath /home/tv/rpm/tmp/
EOF
rpm -Uvh eagle-usb-1.9.5-5mdk.src.rpm
puis copier le nouveau tarball dans ~/rpm/SOURCES et modifier les tags
"release" et "version" dans le spec file (et ne pas oublier d'ajouter
un changelog)
puis lancer rpm -ba ~/rpm/SPECS/eagle-usb.spec
> J'ai du mal à voir les différences entre le fichier de spec de Tux et le
> vôtre...
rpm -bp ~/rpm/SPECS/eagle-usb.spec
diff -u ~/rpm/SPECS/eagle-usb.spec BUILD/eagle-usb-*/eagle.spec
List of files created by make
eagle-usb.ko.gz in 3rdparty/eagle-usb
eaglectrl (is it dependant on the kernel ?)
No
List of files installed by make install
With destination directories
startadsl / stopadsl / startmire / eaglestat / eaglediag go to /usr/local/sbin. For distrib with no /usr/local/sbin, /usr/sbin is used instead.
Actions taken by eagleconfig
- add parameters to /etc/eagle-usb/eagle-usb.conf
- add hotplug scripts & hardware references
- add boot service
- add testconnec reference in cron.d - optionnal
...
Comments / Questions
- for Sleeper : DSPcode.bin compiled from bnm ? only one list is used (sagem) - to be confirmedMaybe a list of bnm is needed : for Sagem Fast800 E2T, Elcon modems (Aztech) + CMV (OPTN...)
- for Tux : one file options is necessary in /etc/ppp/ and two files are created in /etc/ppp/peers (adsl for connection, mire for testing), how is launched pppd ? pppd call adsl is suficient ?
only chap-secrets is used in /etc/ppp. /etc/ppp/peers contains adsl => this name&script is used when doing "pppd call adsl". This last command put the modem interface up ("fctStartAdsl -i" command in "adsl" file) [and then launch pppd when non dégroupé]
- for Tux : how are those files modified for pppoe ? only pty line ?
pppoa is changed to pppoe in the "adsl" file and VPI/VCI/ENC is updated too. As I can remember, that's all...
Latest files included in rpm
http://www.mandrakesoft.com/products/101/community/packages/DOWNLOAD?p=media-main-eagle-usb-1.9.9-6mdk.i586.rpm.html
drwxr-xr-x 2 root root 0 sep 14 11:26 /etc/eagle-usb/dsp
-rw-rw-r-- 1 root root 512801 sep 14 11:26 /etc/eagle-usb/dsp/dsp_code_isdn.bin
-rw-rw-r-- 1 root root 515640 sep 14 11:26 /etc/eagle-usb/dsp/dsp_code_pots.bin
-rw-r--r-- 1 root root 914 sep 14 11:26 /etc/eagle-usb/eagle-usb.conf
drwxr-xr-x 2 root root 0 sep 14 11:26 /etc/eagle-usb/lang
-rw-r--r-- 1 root root 5267 sep 14 11:26 /etc/eagle-usb/lang/de
-rw-r--r-- 1 root root 4906 sep 14 11:26 /etc/eagle-usb/lang/en
-rw-r--r-- 1 root root 4832 sep 14 11:26 /etc/eagle-usb/lang/es
-rw-r--r-- 1 root root 5393 sep 14 11:26 /etc/eagle-usb/lang/f2
-rw-r--r-- 1 root root 5390 sep 14 11:26 /etc/eagle-usb/lang/fr
-rw-r--r-- 1 root root 5176 sep 14 11:26 /etc/eagle-usb/lang/it
-rw-r--r-- 1 root root 4947 sep 14 11:26 /etc/eagle-usb/lang/p2
-rw-r--r-- 1 root root 4912 sep 14 11:26 /etc/eagle-usb/lang/pl
drwxr-xr-x 2 root root 0 sep 14 11:26 /etc/eagle-usb/scripts
-rw-r--r-- 1 root root 914 sep 14 11:26 /etc/eagle-usb/scripts/eagle-usb.conf.template
-rwxr-xr-x 1 root root 9473 sep 14 11:26 /etc/eagle-usb/scripts/eu_config_bash
-rw-r--r-- 1 root root 173 sep 14 11:26 /etc/eagle-usb/scripts/options
-rwxr-xr-x 1 root root 10197 sep 14 11:26 /etc/eagle-usb/scripts/setvars
-rwxr-xr-x 1 root root 2773 sep 14 11:26 /etc/eagle-usb/scripts/testconnec
-rw-r--r-- 1 root root 1364 sep 14 11:26 /etc/eagle-usb/scripts/usb.usermap
-rwxr-xr-x 1 root root 2473 sep 14 11:26 /etc/hotplug/usb/eagle-usb
-rw-r--r-- 1 root root 173 sep 14 11:26 /etc/ppp/options.adsl.template
drwxr-xr-x 2 root root 0 sep 14 11:26 /usr/lib/hotplug/eagle-usb
-rwxr-xr-x 1 root root 18762 sep 14 11:26 /usr/sbin/eagleconfig
-rwxr-xr-x 1 root root 19924 sep 14 11:26 /usr/sbin/eaglectrl
-rwxr-xr-x 1 root root 22182 sep 14 11:26 /usr/sbin/eaglediag
-rwxr-xr-x 1 root root 351 sep 14 11:26 /usr/sbin/eaglestat
-rwxr-xr-x 1 root root 5432 sep 14 11:26 /usr/sbin/fctStartAdsl
-rwxr-xr-x 1 root root 1886 sep 14 11:26 /usr/sbin/fctStopAdsl
-rwxr-xr-x 1 root root 14360 sep 14 11:26 /usr/sbin/pppoa
-rwxr-xr-x 1 root root 1603 sep 14 11:26 /usr/sbin/startadsl
-rwxr-xr-x 1 root root 852 sep 14 11:26 /usr/sbin/stopadsl
drwxr-xr-x 2 root root 0 sep 14 11:26 /usr/share/doc/eagle-usb-2.0.0
-rw-r--r-- 1 root root 18007 fév 6 2004 /usr/share/doc/eagle-usb-2.0.0/COPYING
-rw-r--r-- 1 root root 1089 aoû 30 00:35 /usr/share/doc/eagle-usb-2.0.0/README
-rw-r--r-- 1 root root 6 jui 16 22:57 /usr/share/doc/eagle-usb-2.0.0/VERSION
-rwxr-xr-x 1 root root 35 fév 6 2004 /usr/share/doc/eagle-usb-2.0.0/net_cnx_down
-rwxr-xr-x 1 root root 124 fév 6 2004 /usr/share/doc/eagle-usb-2.0.0/net_cnx_pg
-rwxr-xr-x 1 root root 108 fév 6 2004 /usr/share/doc/eagle-usb-2.0.0/net_cnx_up