You are not logged in.
I uploaded the modules for the Lucent LT Winmodem in incoming.
Here's the PKGBUILD :
pkgname=ltmodem
pkgver=8.26
pkgrel=1
pkgdesc="Modules for the Lucent LT Winmodem (PCI), compiled for the 2.6.8.1 kernel "
url="http://linmodems.technion.ac.il"
license=""
depends=()
makedepends=('bash' 'sed')
conflicts=()
replaces=()
backup=()
install=
source=(http://linmodems.technion.ac.il/packages/ltmodem/kernel-2.6/ltmodem-2.6-alk-v00.tar.gz)
md5sums=(c219d9d62034da24c1543f3c4bce1c91)
build() {
cd $startdir/src/ltmodem-2.6-alk
# Configure
VERSION=$(uname -r)
SCRIPT=$(echo 's/2.6/'$VERSION'/g')
SOURCE=$startdir/pkg/usr/src/ltmodem
MODULE=$startdir/pkg/lib/modules/$VERSION/ltmodem
FILE=$startdir/src/ltmodem-2.6-alk/Makefile.tmp
sed -e "$SCRIPT" < $startdir/src/ltmodem-2.6-alk/Makefile > $FILE
mv $FILE $startdir/src/ltmodem-2.6-alk/Makefile
FILE=$startdir/src/ltmodem-2.6-alk/serial.c.tmp
sed -e 's/save_flags(/local_save_flags(/g;s/restore_flags(/local_irq_restore(/g' < $startdir/src/ltmodem-2.6-alk/serial.c > $FILE
mv $FILE $startdir/src/ltmodem-2.6-alk/serial.c
# Make
make || return 1
# Install
if [ ! -d $SOURCE ] ; then
mkdir -p $SOURCE
fi
cp Makefile linuxif.h *.c ltmdmobj.o $SOURCE
cp $startdir/README $SOURCE
if [ ! -d $MODULE ] ; then
mkdir -p $MODULE
fi
cp ltmodem.ko ltserial.ko $MODULE
}
I also included a README to help with the configuration:
This README file briefly explain how to set up your system for the
Lucent Microelectronics LT Winmodem (PCI) modules.
To check if your modem is supported, you can use the lspci command or
use the scanModem utility which can be downloaded at:
"http://linmodems.technion.ac.il/packages/scanModem.gz". The scanModem
should only be unpacked in a Linux partition because corruption by
hardstops occurs in Microsoft partitions.
1. Install ltmodem with pacman
2. Create a character special file
mknod --mode=0604 /dev/ttyLT0 c 62 64
3. In /etc/modprobe.conf add:
alias char-major-62 ltserial
alias /dev/modem ltserial
4. In /etc/rc.conf, add:
ppp_generic ltserial ltmodem
to the MODULES line
5. You can set a link to the device. With udev, add
KERNEL="ttyLT0", SYMLINK="modem"
to /etc/udev/rules.d/00-myrules.rules
If pppd quits with an ERROR 1 just after connection, try commenting
auth in /etc/ppp/options or use the call option (see manpage).
Let me know any comments, bugs, etc.
Snowman
Offline
I registered my package at http://bliss-solutions.org/archlinux/incoming/
but I couldn't login to ftp://ftp.archlinux.org. I tried with an anonymous login and my email address but it didn't work.
Snowman
Offline
I succeded uploading my package ltmodem-8.26-1.tar.bz2 to the incoming.section on the ftp.archlinux.org site.
Offline
hi
the package looks good so far
one tip/suggestion
it would be possible to make the package kernel independent
that's better for the maintainter and user
pacman -S ltmodem would rebuild the module for an updated kernel and you needn't to release a new package or the user need to recompile it on his own
have a look at my intel 536/537 modem package in staging
add your readme to the PKGBUILD as info in a install file
let the module build in the install file too
look at my example if you like
http://xentac.net/tur/tags/staging/intel-537/
just some thoughts
bye
Offline
I prefer packages that are (at the binary package level) kernel dependent. I am not a fan of meta-packages.
I have discovered that all of mans unhappiness derives from only one source, not being able to sit quietly in a room
- Blaise Pascal
Offline
tpowa,
I will look at your exemple. It is possible that I make some minor change ( maybe doing a daemon, using one of the standard directory instead of creating the ltmodem ones, etc.).
However, from comments in the code/makefile, it seems that the drivers only work for 2.6.nn kernels now due to some modification in the code. I think that the modification is a commented line but that will need to be tested.
Offline
i prefer meta packages
because i have not always time to keep up with kernel updates and this way it's not a problem
and it runs on most setups :-)
Offline
But pacman doesn't know about the files, it won't work in all cases, and you can't install the drivers for two seperate kernels (say 2.4 and 2.6, both stock) at the same time.
Saving the packager from doing gis* job also isn't a good excuse. You have a responsibilty to ensure that your packages work, which is a broader definition than just "it installs and runs".
Meta packages are ok when they have to happen, but should not be used with reckless abandon. That's why things like srcpac were created.
*gis is the third person singular possessive determiner that Dusty proposed we use to stay gender neutral. ge is the third person singular pronoun.
I have discovered that all of mans unhappiness derives from only one source, not being able to sit quietly in a room
- Blaise Pascal
Offline
gis * ... learned something new :-)
yep i see your point
i think i change my package back to kernel dependent
i forgot that we have srcpack
Offline
I uploaded a new release in incoming on ftp.archlinux.org (ltmodem-8.26-2.tar.bz2).
Here's my new PKGBUILD:
# Contributor: Eric Belanger <belanger@astro.umontreal.ca>
pkgname=ltmodem
pkgver=8.26
pkgrel=2
pkgdesc="Drivers for the Lucent LT Winmodem (PCI), compiled for the 2.6.8.1 kernel "
url="http://linmodems.technion.ac.il"
makedepends=('bash' 'sed')
install=ltmodem.install
source=(http://linmodems.technion.ac.il/packages/ltmodem/kernel-2.6/ltmodem-2.6-alk-v00.tar.gz ltmodem)
md5sums=('c219d9d62034da24c1543f3c4bce1c91' '6186783284a9137d98f7b2eb3e223da0')
build() {
cd $startdir/src/ltmodem-2.6-alk
# Paching Makefile and code
VERSION=$(uname -r)
SCRIPT=$(echo 's/2.6/'$VERSION'/g')
SOURCE=$startdir/pkg/usr/src/linux-$VERSION/ltmodem
MODULE=$startdir/pkg/lib/modules/$VERSION/kernel/drivers/net
DAEMON=$startdir/pkg/etc/rc.d
FILE=$startdir/src/ltmodem-2.6-alk/Makefile.tmp
sed -e "$SCRIPT" < $startdir/src/ltmodem-2.6-alk/Makefile > $FILE
mv $FILE $startdir/src/ltmodem-2.6-alk/Makefile
FILE=$startdir/src/ltmodem-2.6-alk/serial.c.tmp
sed -e 's/save_flags(/local_save_flags(/g;s/restore_flags(/local_irq_restore(/g' < $startdir/src/ltmodem-2.6-alk/serial.c > $FILE
mv $FILE $startdir/src/ltmodem-2.6-alk/serial.c
# Make
make || return 1
# Install
mkdir -p $SOURCE
mkdir -p $MODULE
mkdir -p $DAEMON
cp Makefile linuxif.h lt_modem.c serial.c ltmdmobj.o $SOURCE
cp ltmodem.ko ltserial.ko $MODULE
cp $startdir/ltmodem $DAEMON
chmod a+x $DAEMON/ltmodem
}
Here are ltmodem.install and ltmodem (they are not included in ltmodem-8.26-2.tar.bz2)
# arg 1: the new package version
post_install() {
mknod --mode=0604 /dev/ttyLT0 c 62 64
cat << EOF
This package provides the modules for the Lucent Microelectronics LT
Winmodem (PCI).
To check if your modem is supported, you can use the lspci command or
use the scanModem utility which can be downloaded at:
"http://linmodems.technion.ac.il/packages/scanModem.gz". The scanModem
should only be unpacked in a Linux partition because corruption by
hardstops occurs in Microsoft partitions.
In /etc/rc.conf, add ltmodem to the daemons list.
You can set a link to the device. If you use udev, add
KERNEL="ttyLT0", SYMLINK="modem"
to /etc/udev/rules.d/udev.rules
Note: If pppd quits with an ERROR 1 just after connection, try commenting
auth in /etc/ppp/options or use the call option (see the pppd manpage).
EOF
}
# arg 1: the old package version
post_remove() {
rm /dev/ttyLT0
/bin/true
}
op=$1
shift
$op $*
#!/bin/bash
. /etc/rc.conf
. /etc/rc.d/functions
case "$1" in
start)
stat_busy "Loading Lucent Modem Driver"
modprobe ppp_generic
modprobe ltmodem
modprobe ltserial
if [ $? -gt 0 ]; then
stat_fail
else
add_daemon ltmodem
stat_done
fi
;;
stop)
stat_busy "Stopping Lucent Modem Driver"
modprobe -r ltserial
modprobe -r ltmodem
modprobe -r ppp_generic
if [ $? -gt 0 ]; then
stat_fail
else
add_daemon ltmodem
stat_done
fi
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "Usage $0 {start|stop|restart}"
;;
esac
Principal changes:
- I use a install file instead of the README
-the modules are loaded with a daemon
-the modules and sources are intalled in more standard directory
This package is for the 2.6.8.1 kernel. It will work with the 2.6.7 kernel if the package is rebuilt.
Offline
yeah modprobe ppp_generic in daemon file is a good idea
will add this to my package
the mknod in your install file will not have an effect
because the dev tree is built new everytime you restart your pc
(please correct me if i'm wrong)
doesn't udev recognize the new dev when loading the module
the intel drivers work this way
no mknod needed
Offline
me again ;-)
add to your install file depmod -a
then the module can be used without a reboot :-)
you can mail me your new package
adress:
t.powa @ >nospam< gmx.de
if everything is alright i add the package to the tur repos
Offline
Why write a daemon script to load the modules? Isn't it better to load them using the MODULES variable in rc.conf? You could add to you post_install function a note saying that these modules need loading.
Using a daemon to just load modules can become annoying because people could say, "hey! where'd these modules come from?" Not only that, but it's not doing anything else. It really does seem like a good candidate for rc.conf.
I have discovered that all of mans unhappiness derives from only one source, not being able to sit quietly in a room
- Blaise Pascal
Offline
well see it this way
if you use an other distro the intel drivers install a rc script where it loads the modules that are needed no other user interaction is needed
i would call it user friendly ;-)
i don't think that someone with an internal modem will use a extrenal too so why not loading the modules in the rc script and everything is done?
Well i can add a warning that this will be done and if someone doesn't like it load the modules by hand
EDIT:
my package needs this rc file for starting the hamregistry program
so i added the modules to this file too
with the ltmodem drivers it's a little bit different it loads only modules
i agree there it would make sense to add them only to rc.conf's modules list
Offline
changed my package...
added comment to load ppp_generic and modem-driver to modules list
now it's more the arch way
let the user have full control ;-)
i changed your package too (updated to 8.31) please test and give feedback it's now available in staging
pacman -S ltmodem
please change the topic to [in staging]
enjoy
Offline