Search Members Help

» Welcome Guest
[ Log In :: Register ]

Mini-ITX Boards Sale, Fanless BareBones Mini-ITX, Bootable 1G DSL USBs, 533MHz Fanless PC <-- SALE $200 each!
Get The Official Damn Small Linux Book. DSL Market , Great VPS hosting provided by Tektonic
 

[ Track this topic :: Email this topic :: Print this topic ]

reply to topic new topic new poll
Topic: I got drivers to compile, Help setting up a linmodem< Next Oldest | Next Newest >
jerome5 Offline





Group: Members
Posts: 59
Joined: Aug. 2004
Posted: Sep. 02 2004,03:33 QUOTE

Update:
Installed  an outdated version of the source
2.4.22 instead of 2.4.26 for DSL 0.8

After much searching I found a debian package for alien and its dependencies and converted the rpm package to a deb.

I got a spec file and a tar.gz file in the root directory
After I ran Make install
I got a bunch of unresolved symbols and an error.

[I]
But the most important thing is that it made a BCMSM.o file, I figuer this is the driver for the modem, and it took a bit of tweeking to get it to compile anyway.[I]

--------------------- BCMSM-init-redhat
# BCMSM init.d script for RedHat
# Copyright © 2000 Broadcom Corporation.  All rights reserved.
# chkconfig: 12345 99 1
# description: BCM V.92 56K Modem
# . /etc/rc.d/init.d/functions

echo "line8"
manage_nodes(2)

function manage_nodes()
{
# $1 - DEVICE
# $2 - CREATE/REMOVE
create=$2
if [ -z $create ]; then
create="0"
fi
if [ -e /proc/tty/drivers ]; then
MINOR_MATCH_PATTERN=^.*/dev/$1[[:space:]]*[[:digit:]]*[[:space:]]*
MINOR_LIST=`egrep "$MINOR_MATCH_PATTERN" /proc/tty/drivers | sed "s#$MINOR_MATCH_PATTERN\([0-9\-]*\).*#\1#"`
MINOR_START=`echo $MINOR_LIST | sed 's/\([0-9]*\).*/\1/'`
MINOR_END=`echo $MINOR_LIST | sed 's/\([0-9]*\)-\([0-9]*\).*/\2/'`
else
MINOR_START="0"
MINOR_END="0"
fi
for suffix in "" "audio" "eye" "log" "status"; do
if [ ! -z $suffix ]; then
devname=$1"_"$suffix
else
devname=$1
fi

major=`egrep "$devname$" /proc/devices | sed 's/\([0-9]*\) .*/\1/'`
if [ ! -z $major ]; then
for ((minor=($MINOR_START); ($minor <= $MINOR_END); minor=($minor + 1))) ; do
devnode=/dev/ttySM$suffix$minor
if [ -e $devnode ]; then
rm -f $devnode
fi
if [ $create = "1" ]; then
mknod $devnode c $major $minor
chmod 666 $devnode
fi
done
fi
done
suffix="config"
devname=$1"_"$suffix
major=`egrep "$devname$" /proc/devices | sed 's/\([0-9]*\) .*/\1/'`
minor=0
devnode=/dev/ttySM$suffix
if [ -e $devnode ]; then
rm -f $devnode
fi
if [ $create = "1" ]; then
mknod $devnode c $major $minor
chmod 666 $devnode
fi
}

if [ ! -e /proc/devices ]; then
exit 0
fi

DEVICE=BCMSM
KERNEL_VERSION=`uname -r`
MODULE_DIR=`echo /lib/modules/$KERNEL_VERSION`


case "$1" in
 start)
echo -n "Starting $DEVICE: "

echo -n "$DEVICE "

if [ ! -f $MODULE_DIR/modules.dep ]; then
depmod -a
fi

modprobe $DEVICE 2>/dev/null

manage_nodes $DEVICE 1

if [ -e /dev/ttySMconfig ]; then
if [ -f /etc/$DEVICE.conf ]; then
cat /etc/$DEVICE.conf > /dev/ttySMconfig
fi
fi

echo

touch /var/lock/subsys/$DEVICE

;;
 stop)
echo -n "Shutting down $DEVICE: "

if lsmod | grep -q $DEVICE; then
echo -n "$DEVICE "
if [ -e /dev/ttySMconfig ]; then
cat /dev/ttySMconfig > /etc/$DEVICE.conf
fi

manage_nodes $DEVICE 0

rmmod $DEVICE
fi

echo

rm -f /var/lock/subsys/$DEVICE

;;
 restart|reload)
$0 stop
$0 start
;;
 *)
echo "Usage: start {start|stop|restart|reload}"
exit 1
esac

exit 0
------------------------

---------_BCMSM-3.4.19.spec
Summary: BCM V.92 56K Modem kernel module.
Name: BCMSM
Vendor: Broadcom Corporation
Version: 3.4.19
Release: 6
Source: BCMSM-3.4.19.tar.gz
Copyright: Commercial
Group: System Environment/Kernel
Provides: BCMSM


%description
This package contains the BCM V.92 56K Modem module compiled
for kernel versions 2.4.9-e.3 2.4.9-e.3smp 2.4.9-e.3enterprise 2.4.9-e.3summit .

%prep
%setup

%build

%install
for k in 2.4.9-e.3 2.4.9-e.3smp 2.4.9-e.3enterprise 2.4.9-e.3summit  ; do
make clean
make install KERNEL_VERSION=$k KERNEL_DIR=/usr/src/kernel_headers/linux-$k RPM=1 INSTALL_ROOT=$RPM_BUILD_ROOT
done

%clean

%pre
set allow_null_glob_expansion;

#Unload device if present
if lsmod | grep -q BCMSM ; then
rmmod BCMSM 2>&1 > /dev/null
fi

ok=0
for v in 2.4.9-e.3 2.4.9-e.3smp 2.4.9-e.3enterprise 2.4.9-e.3summit  ; do
if [ "`uname -r`" == $v ] ; then ok=1 ; fi
done;
#Disable this check by OEM request.
ok=1
if [ $ok == 0 ] ; then
echo "error: the installed kernel is `uname -r` but this package requires one of the following kernels: 2.4.9-e.3 2.4.9-e.3smp 2.4.9-e.3enterprise 2.4.9-e.3summit "
exit -1
fi



%post

/sbin/depmod -a

for v in 2.4.9-e.3 2.4.9-e.3smp 2.4.9-e.3enterprise 2.4.9-e.3summit  ; do
if [ "`uname -r`" == $v ] ; then
/etc/rc.d/init.d/BCMSM start 2>&1 > /dev/null
break
fi
done;

if [ -x /sbin/chkconfig  ] ; then
/sbin/chkconfig --add BCMSM
fi

#If chkconfig fails setup links manually
if [ "`echo /etc/rc.d/rc[12345].d`" != '/etc/rc.d/rc[12345].d' ]; then
for RCDIR in /etc/rc.d/rc[12345].d; do
if [ ! -e $RCDIR/S99BCMSM ]; then
ln -s /etc/rc.d/init.d/BCMSM $RCDIR/S99BCMSM
fi
done
fi
if [ "`echo /etc/rc.d/rc[06].d`" != '/etc/rc.d/rc[06].d' ]; then
for RCDIR in /etc/rc.d/rc[06].d; do
if [ ! -e $RCDIR/K01BCMSM ]; then
ln -s /etc/rc.d/init.d/BCMSM $RCDIR/K01BCMSM
fi
done
fi

#Back up previous /dev/modem
if [ "`echo /dev/modem*`" != '/dev/modem*' ] ; then
mv /dev/modem /dev/BCMSM_old_modem_link ;
fi
ln -s /dev/ttySM0 /dev/modem


%preun
set allow_null_glob_expansion;

if [ -x /sbin/chkconfig  ] ; then
if  /sbin/chkconfig --list | grep -q BCMSM  ; then
/sbin/chkconfig --del BCMSM
fi
fi

#In case chkconfig fails and doesnt remove links
if [ "`echo /etc/rc.d/rc[12345].d`" != '/etc/rc.d/rc[12345].d' ]; then
for RCDIR in /etc/rc.d/rc[12345].d; do
rm -f $RCDIR/S99BCMSM;
done;
fi;
if [ "`echo /etc/rc.d/rc[06].d`" != '/etc/rc.d/rc[06].d' ]; then
for RCDIR in /etc/rc.d/rc[06].d; do
rm -f $RCDIR/K01BCMSM;
done;
fi;

if [ "`echo /dev/BCMSM_old_modem_link*`" != '/dev/BCMSM_old_modem_link*' ] ; then
rm -f /dev/modem
mv -f /dev/BCMSM_old_modem_link /dev/modem ;
fi

rm -f /dev/ttySM*
rm -f /etc/BCMSM.conf
rm -f /var/lock/subsys/BCMSM

if lsmod | grep -q BCMSM ; then
rmmod BCMSM
fi

exit 0

%postun

/sbin/depmod -a

exit 0

%files
%defattr(-,root,root)
/lib/modules/2.4.9-e.3/misc/BCMSM.o
/lib/modules/2.4.9-e.3smp/misc/BCMSM.o
/lib/modules/2.4.9-e.3enterprise/misc/BCMSM.o
/lib/modules/2.4.9-e.3summit/misc/BCMSM.o

/etc/rc.d/init.d/BCMSM

%changelog
*Fri May 17 2002 Luis Gutierrez <luisgm@broadcom.com>
-First revision

------------

OK after all this I realise that this is supposed to make a device ttySM*  (I actually got it to make /dev/ttySMconfig)  and put it as the device in ppp config but still no workie. If anyone has experience with making and installing drivers please share what you know. I think I am really close to having a linmodem
Back to top
Profile PM 
jerome5 Offline





Group: Members
Posts: 59
Joined: Aug. 2004
Posted: Sep. 02 2004,03:41 QUOTE

Driver source

Sorry for the long post.
Back to top
Profile PM 
1 replies since Sep. 02 2004,03:33 < Next Oldest | Next Newest >

[ Track this topic :: Email this topic :: Print this topic ]

 
reply to topic new topic new poll
Quick Reply: I got drivers to compile

Do you wish to enable your signature for this post?
Do you wish to enable emoticons for this post?
Track this topic
View All Emoticons
View iB Code