Click to See Complete Forum and Search --> : Mandrake 8.2 Alcatel SpeedTouch USB (PPPoA) Finally Works


Nevaro
11-06-2001, 04:44 AM
Go to this link ( http://www.mandrakeforum.com/article.php?sid=1322&lang=en )and scroll down to MeesterExx's post (the larger post on the page). It sounds kinda confusing, but it does work. No kernal compiling (Thank God). The four update files are linked at the top of the Post page (Click the large "HERE"). The driver download page is linked in his post. Be sure to download the driver "speedtouch-20011007.tar.gz". I had tried for 3 days to get my modem working, and NOTHING worked. It seems to have no real order to the instructions, but they do work, and is easier than the other 15+ page How-To's on the net right now. Remember, this is for Mandrake 8.1. I'm not sure if it will work with other versions or distro's. Good luck.

-Nevaro :D

Nevaro
11-06-2001, 04:46 AM
Sorry about the Mandrake 8.2 in the Topic section. It is version 8.1! ;)

mjb0314
11-06-2001, 09:43 AM
Benoit's drivers will work for any recent distro, I'm using them in RH 7.2. BTW, don't use that guy's script that is listed at that site you linked to. Benoit includes a startup script that you can use, I believe it's in one of the doc directories. It's called adsl.sh.

HTH

X_console
11-06-2001, 10:43 AM
I'm posting it here for convenience:


I am a Linux newbie, so please excuse any breach of etiquette. I just wanted to relate my experiences w/getting ADSL on an Alcatel
Speedtouch USB Modem to work under LM 8.1 as I noticed a couple of other users having problems. It is somewhat of a kluge so I am sure
there is a more proper way to do it. But my net connection works solid now. BTW, Bellsouth here in Atlanta is my isp. That being said, here's
what I did:


1. I did a "reccomended" (ie, not Expert) setup of LM 8.1 to a clean hard drive using EXT2 as my file system. During install I chose the
Alcatel Speed Touch USB for my ADSL setup. After setup I copied the mgmt.o file to the /usr/share/speedtouch directory as setup told me
to do. However, I could not connect. Either as root or user, even after multiple tries at the net config & rebooting.


2. So I downloaded the 4 rpms listed in this post. They would not install under command line or the kde package program due to dependency
problems. I then used the Mandrake Package installer, added my download directory as an update source and it showed the new packages,
and after asking for CD's #1 & 2 allowed me to install them.


3. After installing and rebooting, I ran the internet config again both as root and user, was happy to see USA as a location choice (which it
wasn't in the first config), but still could not connect. Instead of a connection failure msg like I had before, the "test connection" box would
simply dissappear and and the network config part of the control panel lost all it's buttons and boxes leaving the right side of the control
panel completely blank.


4. I then decided to try the latest Benoit drivers for the Alcatel Speedtouch USB found here:
http://benoit.papillault.free.fr/speedtouch/index.en.php3
as this is what the LM 8.1 drivers seemed to be based off of. The drivers are dated Nov 11, 2001.


5. As per the included install instructions I un-tarred, did a "./configure && make"; "su root"; and "make install". They seemed to install fine. I
looked at the files it said to edit, but most of the options seemed to already be there and my user info was already in the chap-secrets and
pap-secrets files (I guess from my previous net configs)


6. So I skipped right to the modem_run part. Did a "cd /usr/local/bin" then ran "modem_run -m -f /usr/local/share/speedtouch/mgmt.o" The
modem lights flashed for a few seconds then came on solid green.


7. So holding my breath I did a "cd /usr/sbin" and ran "pppd call adsl".


8. Waiting a few seconds to give the call time to login i did a "cd /sbin" and ran "isconfig ppp0" and it showed my connection up!


9. Fired up Konqueror and I was live on the net....


I have since written a small shell script to do the modem_run and adsl call so I don't have to type it every time. I have found that for the
"pppd call adsl" to work I have to "su root" as it will not connect if I run it as user, even if run from the "/usr/sbin" directory. So I always
launch it from the Super User Shell Icon.


Here is my script if you would like to use it:
#!/bin/bash
modem_run -m -f /usr/local/share/speedtouch/mgmt.o
pppd call adsl


To sum it all up, I can't say if the new rpms linked in this post helped or not. I did not feel like doing a re-install and just using Benoit's new
drivers to find out. I also have not tried running the internet config or test connection options again as I don't know what it would do to my
configuration. I hope this can be of some help to the frustrated users out there, I know I spent about 5 hours doing and testing various
aspects of this. Perhaps the excellent technical people at Mandrake can figure out why the new rpms didn't solve the problem and Benoit's
driver did. It is issues like these that will keep alot of windows users away from trying such an excellent OS.

Please feel free to email me if you have any questions about what I did, or if you have a better work around than

mjb0314
11-06-2001, 11:16 AM
And here's the script that benoit provides with his drivers (in the doc-linux directory), again, don't use the script above, use this one, it's much better, just put it in /etc/rc.d and create the appropriate symlinks to the runlevel that you boot into. He also includes a script to set up ppp, called adsl-conf-ppp, it's in the same directory, doc-linux.

(Read the script, because there is one section that needs to be edited.)


#!/bin/sh
#
# Script Name : adsl
#
# chkconfig: 345 91 35
# authors: Edouard Gomez <ed.gomez@wanadoo.fr>
# Bruno Bonfils <asyd@debian-fr.org>
# revision: 1.7
# description: This SysV script try to establish a connection with an ISP
# using an Alcatel SpeedTouch USB and benoit papillault's driver
# usage: Depend on linux distro
#
# Return Values :
# -1 argument unknown
# 0 success
# 1 kernel module loading failed
# 2 kernel module unloading failed
# 3 microcode file is missing
# 4 modem_run executable missing
# 5 modem_run failed to synchronise adsl line
# 6 ppp executable missing
# 7 ppp connection failed
# 8 usbdevfs mounting failed
# 9 usbdevfs umounting failed
# 10 modprobe executable missing
# 11 mount executable missing
# 12 umount executable missing
# 13 ifconfig executable missing
# 14 peer file missing
# 255 script not configured

#Set this to 1 if you have configured the script
CONFIGURED=0

# Includes function def
if [ -f /etc/debian_version ] ; then
RHSTYLE=0
else
RHSTYLE=1
fi

if [ $RHSTYLE -ne 0 ] ; then

. /etc/init.d/functions

# Check existence of the network file
[ ! -f /etc/sysconfig/network ] && exit 1

# Include network defs
. /etc/sysconfig/network

else
NETWORKING="yes"
fi

[ ${NETWORKING} = "no" ] && exit 1


# SYTEM DEPENDANT STUFF
# All you have to configure is contained in this block
# You don't have to touch anything else outside of this block
#Set them to 1 (== load) or 0 (== skip)
LOAD_USBCORE="not configured"
LOAD_USBINTERFACE="not configured"
LOAD_NHDLC="not configured"
#Set the name of your default usb interface
#usb-uhci, uhci or usb-ohci
DEFAULT_USBINTERFACE="not configured"
#Set the microcode path here
MICROCODE="not configured"

# VARIABLES
MAX_LOOP=60
USBMODULE=$DEFAULT_USBINTERFACE
VERBOSE=0
PEER="adsl"


# Lock files
# Red Hat & Mandrake
SYSCONF_FILE="/var/lock/subsys/adsl"
# Specific for the Debian
MODEM_RUN_PID=/var/run/modem_run.pid

# Change PATH to be sure to include /usr/local/bin
PATH=$PATH:/usr/local/bin

#PROG NAMES
MODPROBE=$(which modprobe)
KILL=$(which killall)
PPP=$(which pppd)
MODEM_RUN=$(which modem_run)
MOUNT=$(which mount)
UMOUNT=$(which umount)
IFCONFIG=$(which ifconfig)

isconfigured()
{

if [ $CONFIGURED -eq 0 ] ; then
myecho_failure
exit 255
fi

}

myecho_success()
{

if [ $RHSTYLE -ne 0 ] ; then
echo_success
echo
else
echo " done."
fi

}

myecho_failure()
{

if [ $RHSTYLE -ne 0 ] ; then
echo_failure
echo
else
echo " failed."
fi

}

load_kernel_module()
{

if [ ! -x $MODPROBE ] ; then
myecho_failure
exit 10
fi

lsmod | grep -q $1
RETURNED=$?
[ $RETURNED -ne 0 ] && $MODPROBE -k $1

RETURNED=$?

if [ $RETURNED -ne 0 ] ; then
myecho_failure
exit 1
fi

}

unload_kernel_module()
{

if [ ! -x $MODPROBE ] ; then
myecho_failure
exit 10
fi

lsmod | grep -q $1
RETURNED=$?
[ $RETURNED -eq 0 ] && $MODPROBE -r $1

RETURNED=$?

if [ $RETURNED -ne 0 ] ; then
myecho_failure
exit 2
fi

}

kill_process()
{

ps ax | grep -q $1
RETURNED=$?
[ $RETURNED -eq 0 ] && ($KILL $1 >/dev/null 1>&2)

}

connect_adsl_line()
{

#Launch the modem_run driver
if [ ! -f $MICROCODE ] ; then
myecho_failure
exit 3
fi

if [ ! -x $MODEM_RUN ] ; then
myecho_failure
exit 4
fi

if [ $RHSTYLE -eq 0 ] ; then
start-stop-daemon --start --pidfile $MODEM_RUN_PID --make-pidfile \
--exec $MODEM_RUN -- -v $VERBOSE -m -f $MICROCODE
else
$MODEM_RUN -v $VERBOSE -m -f $MICROCODE
fi

RETURNED=$?

if [ $RETURNED -ne 0 ] ; then
myecho_failure
exit 5
fi

}

connect_ppp()
{

#Launch ppp daemon
if [ ! -x $PPP ] ; then
myecho_failure
exit 6
fi

if [ ! -f "/etc/ppp/peers/$PEER" ] ; then
myecho_failure
exit 14
fi

if [ ! -x $IFCONFIG ] ; then
myecho_failure
exit 13
fi

if [ $RHSTYLE -eq 0 ] ; then
start-stop-daemon --start \
--exec $PPP -- call $PEER > /dev/null 2>&1
else
$PPP call $PEER >/dev/null 2>&1
fi
RETURNED=1
LOOPS=0

# Loop until connection has been established with the ISP
# or the transaction has failed
while [ $RETURNED -ne 0 ] && [ $LOOPS -le $MAX_LOOP ] ; do
$IFCONFIG | grep -q 'ppp'
RETURNED=$?
LOOPS=`expr $LOOPS + 1`
sleep 1
done

if [ $LOOPS -gt $MAX_LOOP ] && [ $RETURNED -ne 0 ] ; then
myecho_failure
exit 7
fi

}

mount_usb()
{

if [ ! -x $MOUNT ] ; then
echo_failure
exit 11
fi

$MOUNT | grep -q usbdevfs
RETURNED=$?

if [ $RETURNED -ne 0 ] ; then
$MOUNT none /proc/bus/usb -t usbdevfs

RETURNED=$?

if [ $RETURNED -ne 0 ] ; then
myecho_failure
exit 8
fi

fi

}

umount_usb()
{

if [ ! -x $MOUNT ] ; then
echo_failure
exit 11
fi

if [ ! -x $UMOUNT ] ; then
echo_failure
exit 12
fi

$MOUNT | grep -q usbdevfs
RETURNED=$?

if [ $RETURNED -eq 0 ] ; then
$UMOUNT /proc/bus/usb

RETURNED=$?

if [ $RETURNED -ne 0 ] ; then
myecho_failure
exit 9
fi

fi

}

get_usb_module()
{

MODULE_CONF="/etc/modules.conf"
[ -f /etc/conf.modules ] && MODULE_CONF="/etc/conf.modules"
[ -f /etc/modules.conf ] && MODULE_CONF="/etc/modules.conf"

USBMODULE=$(grep "usb-interface" ${MODULE_CONF} | awk '{ print $3 }')
RETURNED=$?
[ $RETURNED -ne 0 ] || [ "$USBMODULE" = "" ] && USBMODULE=${DEFAULT_USBINTERFACE}

}


################################################## #############################
#
# Beginning of the script
#
################################################## #############################

case "$1" in
start)
echo -n Starting ADSL connection:
isconfigured

# At least but not at last, Mandrake dependant USB daemon
[ -x /usr/sbin/usbd ] && usbd -k 1>&2 >/dev/null

# Load usb core if needed
if [ $LOAD_USBCORE -ne 0 ] ; then
load_kernel_module "usbcore"
fi

# If one of usb modules has been loaded, mount the usbdevfs
if [ $LOAD_USBCORE -ne 0 ] || [ $LOAD_USBINTERFACE -ne 0 ] ; then
mount_usb
sleep 2
fi

# Load usb-interface module described in /etc/modules.conf
if [ $LOAD_USBCORE -ne 0 ] || [ $LOAD_USBINTERFACE -ne 0 ] ; then
get_usb_module
sleep 1
load_kernel_module "$USBMODULE"
sleep 3
fi

# ADSL synchro
connect_adsl_line
sleep 1

# Load n_hdlc line discipline
if [ $LOAD_NHDLC -ne 0 ] ; then
load_kernel_module "n_hdlc"
fi

# ISP connection
connect_ppp

# Report success
myecho_success

if [ $RHSTYLE -ne 0 ] ; then
touch $SYSCONF_FILE
fi
;;
stop)
echo -n Shutting down ADSL connection:
isconfigured

# Kill pppd to break ppp connection
if [ $RHSTYLE -eq 0 ] ; then
start-stop-daemon --stop --pidfile /var/run/ppp0.pid pppd
sleep 2
start-stop-daemon --stop --pidfile $MODEM_RUN_PID modem_run
else
kill_process pppd
sleep 2
kill_process modem_run
fi

# Unload HDLC line discipline
if [ $LOAD_NHDLC -ne 0 ] ; then
unload_kernel_module "n_hdlc"
fi


# At least but not at last, Mandrake dependant USB daemon
[ -x /usr/sbin/usbd ] && (usbd -k 1>&2 >/dev/null)

# Unload modules
if [ $LOAD_USBCORE -ne 0 ] || [ $LOAD_USBINTERFACE -ne 0 ] ; then

kill_process khubd
sleep 1

get_usb_module

unload_kernel_module "$USBMODULE"
sleep 2

umount_usb
sleep 2

if [ $LOAD_USBCORE -ne 0 ] ; then
unload_kernel_module "usbcore"
sleep 1
fi

fi

# Report success
myecho_success

# Remove lock file
if [ $RHSTYLE -ne 0 ] ; then
rm -f $SYSCONF_FILE
fi
;;
restart|force-reload)
echo -n Restarting ADSL connection:
isconfigured

if [ $LOAD_USBCORE -ne 0 ] || [ $LOAD_USBINTERFACE -ne 0 ] ; then

$0 stop >/dev/null

RETURNED=$?

if [ $RETURNED -ne 0 ] ; then
myecho_failure
exit $RETURNED
fi

$0 start >/dev/null

RETURNED=$?

if [ $RETURNED -ne 0 ] ; then
myecho_failure
exit $RETURNED
fi

else

$0 reload >/dev/null

RETURNED=$?

if [ $RETURNED -ne 0 ] ; then
myecho_failure
exit $RETURNED
fi

fi

myecho_success
;;
reload)
echo -n Reloading ADSL connection:
isconfigured

# Kills pppd to break ppp connection
if [ $RHSTYLE -eq 0 ] ; then
start-stop-daemon --stop --pidfile /var/run/ppp0.pid pppd
else
kill_process pppd
fi

sleep 2
connect_ppp

myecho_success
;;
status)
exit 0
;;
*)
if [ $RHSTYLE -ne 0 ] ; then
echo "Usage : $0 [start|stop|restart|reload|status]"
else
echo "Usage : $0 {start|stop|restart|force-reload}"
fi
exit -1

esac

exit 0