ports/123680: New port: comms/hso-kmod - Driver for Option HSDPA modem
Ganael Laplanche
ganael.laplanche at martymac.com
Wed May 14 19:00:13 UTC 2008
>Number: 123680
>Category: ports
>Synopsis: New port: comms/hso-kmod - Driver for Option HSDPA modem
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Wed May 14 19:00:12 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator: Ganael Laplanche
>Release: 7.0-STABLE
>Organization:
http://contribs.martymac.com
>Environment:
FreeBSD home.martymac.com 7.0-STABLE FreeBSD 7.0-STABLE #15: Wed Apr 30 22:06:57 CEST 2008 root at home.martymac.com:/usr/obj/usr/src/sys/MYKERNEL amd64
>Description:
Here is a port of Fredrik Lindberg's FreeBSD driver for Option HSDPA modem.
- It currently supports FreeBSD 7.x and 8.x and the following devices :
* Option GlobeSurfer iCON 7.2 (2.4.6Hd firmware)
* Option iCON 225
- A devd configuration file may optionally be installed with the kernel module
(hso(4)). It provides automatic switching from CD-mode to modem-mode when the
key is plugged in.
- The port also includes the hsoctl utility that may optionally be built.
It can be used along with the kernel module to connect to your provider
(see hsoctl(1)).
- Since the driver is quite new, DEBUG symbols are generated by default.
This can be avoided using the 'make config' screen.
>How-To-Repeat:
>Fix:
Patch attached with submission follows:
# This is a shell archive. Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file". Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
# hso-kmod
# hso-kmod/Makefile
# hso-kmod/distinfo
# hso-kmod/pkg-plist
# hso-kmod/pkg-descr
# hso-kmod/files
# hso-kmod/files/option-icon.conf.sample
# hso-kmod/files/HSOCTL-DEBUG-patch-Makefile
# hso-kmod/files/pkg-message.in
# hso-kmod/files/HSO-DEBUG-patch-Makefile
#
echo c - hso-kmod
mkdir -p hso-kmod > /dev/null 2>&1
echo x - hso-kmod/Makefile
sed 's/^X//' >hso-kmod/Makefile << 'END-of-hso-kmod/Makefile'
X# New ports collection makefile for: hso-kmod
X# Date created: 12 May 2008
X# Whom: Ganael Laplanche <ganael.laplanche at martymac.com>
X#
X# $FreeBSD$
X#
X
XPORTNAME= hso
XPORTVERSION= 20080514
XCATEGORIES= comms kld
XMASTER_SITES= http://www.shapeshifter.se/pub/hso/
XPKGNAMESUFFIX= -kmod
XDISTFILES= ${PORTNAME}-${PORTVERSION}${EXTRACT_SUFX}
X
XMAINTAINER= ganael.laplanche at martymac.com
XCOMMENT= Driver for Option HSDPA modem
X
XNO_PACKAGE= should be recompiled for a particular FreeBSD kernel
X
XOPTIONS= HSOCTL "Build hsoctl tool" on \
X DEVD "Install devd files" on \
X DEBUG "Build with debug symbols" on
X
XSUB_FILES= pkg-message
XKMODDIR?= /boot/modules
XPLIST_SUB+= KMODDIR=${KMODDIR}
XMAKE_ENV+= KMODDIR=${KMODDIR}
X
XMAN4= hso.4
X
X.include <bsd.port.pre.mk>
X
X.if !defined(WITHOUT_HSOCTL)
XDISTFILES+= hsoctl-${PORTVERSION}${EXTRACT_SUFX}
XWRKSRC_HSOCTL= ${WRKDIR}/hsoctl-${PORTVERSION}
XPLIST_SUB+= PL_HSOCTL=""
XMAN1= hsoctl.1
X.else
XPLIST_SUB+= PL_HSOCTL="@comment "
X.endif
X.if !defined(WITHOUT_DEVD)
XPLIST_SUB+= PL_DEVD=""
X.else
XPLIST_SUB+= PL_DEVD="@comment "
X.endif
X.if defined(WITHOUT_DEBUG)
XEXTRA_PATCHES+= ${PATCHDIR}/HSO-DEBUG-patch-Makefile
X.endif
X
X.if !exists(/usr/src/sys/Makefile)
XIGNORE= requires kernel source files
X.elif ${OSVERSION} < 700055
XIGNORE= requires FreeBSD 7.0 or superior
X.endif
X
Xpost-patch:
X.if !defined(WITHOUT_HSOCTL) && defined(WITHOUT_DEBUG)
X @${PATCH} -d ${WRKSRC_HSOCTL} < ${PATCHDIR}/HSOCTL-DEBUG-patch-Makefile
X.endif
X
Xpost-build:
X.if !defined(WITHOUT_HSOCTL)
X @cd ${WRKSRC_HSOCTL} && ${SETENV} NO_MANCOMPRESS= ${MAKE} all
X.endif
X
Xpost-install:
X ${INSTALL_MAN} ${MAN4:S|^|${WRKSRC}/|} ${PREFIX}/man/man4
X.if !defined(WITHOUT_HSOCTL)
X @cd ${WRKSRC_HSOCTL} && \
X ${SETENV} DESTDIR=${PREFIX}/ BINDIR=bin MANDIR=man/man NO_MANCOMPRESS= \
X ${MAKE} install
X.endif
X.if !defined(WITHOUT_DEVD)
X ${MKDIR} ${PREFIX}/etc/devd
X ${INSTALL_DATA} ${FILESDIR}/option-icon.conf.sample ${PREFIX}/etc/devd/
X @if [ ! -f ${PREFIX}/etc/devd/option-icon.conf ]; then \
X ${CP} -p ${PREFIX}/etc/devd/option-icon.conf.sample ${PREFIX}/etc/devd/option-icon.conf; \
X fi
X.endif
X @${CAT} ${PKGMESSAGE}
X
X.include <bsd.port.post.mk>
END-of-hso-kmod/Makefile
echo x - hso-kmod/distinfo
sed 's/^X//' >hso-kmod/distinfo << 'END-of-hso-kmod/distinfo'
XMD5 (hso-20080514.tar.gz) = 72162021aa4d05304537bf83389f77a6
XSHA256 (hso-20080514.tar.gz) = 9c72974973e8f11cdcd42c251adab0780180a9dc5f098ee8968520db02564f9f
XSIZE (hso-20080514.tar.gz) = 10345
XMD5 (hsoctl-20080514.tar.gz) = 82a7e179222eff55d9633ef23bba9caf
XSHA256 (hsoctl-20080514.tar.gz) = 76d5ad970b1ffa426e67ba939f396009f4b6b1d54c555712bf02202904826913
XSIZE (hsoctl-20080514.tar.gz) = 6645
END-of-hso-kmod/distinfo
echo x - hso-kmod/pkg-plist
sed 's/^X//' >hso-kmod/pkg-plist << 'END-of-hso-kmod/pkg-plist'
X%%PL_DEVD%%@unexec if cmp -s %D/etc/devd/option-icon.conf.sample %D/etc/devd/option-icon.conf; then rm -f %D/etc/devd/option-icon.conf; fi
X%%PL_DEVD%%etc/devd/option-icon.conf.sample
X%%PL_DEVD%%@exec if [ ! -f %D/etc/devd/option-icon.conf ]; then mkdir -p %B; cp -p %D/%F %B/option-icon.conf; fi
X%%PL_DEVD%%@dirrmtry etc/devd
X%%PL_HSOCTL%%bin/hsoctl
X at cwd %%KMODDIR%%
Xhso.ko
X at exec kldxref %D
X at unexec kldxref %D
END-of-hso-kmod/pkg-plist
echo x - hso-kmod/pkg-descr
sed 's/^X//' >hso-kmod/pkg-descr << 'END-of-hso-kmod/pkg-descr'
XFreeBSD driver for newer Option HSDPA USB dongles.
X
XThe driver have been tested with the following devices
X
X * Option GlobeSurfer iCON 7.2 (2.4.6Hd firmware)
X * Option GlobeSurfer iCON 225
X
XOlder cards should work just fine with ubsa(4) or any similar
XUSB-over-serial driver.
X
XNote that this driver should be considered beta.
X
XWWW: http://www.shapeshifter.se/code/hso/
END-of-hso-kmod/pkg-descr
echo c - hso-kmod/files
mkdir -p hso-kmod/files > /dev/null 2>&1
echo x - hso-kmod/files/option-icon.conf.sample
sed 's/^X//' >hso-kmod/files/option-icon.conf.sample << 'END-of-hso-kmod/files/option-icon.conf.sample'
Xattach 100 {
Xmatch "device-name" "umass[0-9]+";
Xmatch "vendor" "0x0af0";
Xmatch "product" "0x6911|0x6971|0x7251|0x7401";
Xmatch "devclass" "0x00";
Xaction "sleep 1; /sbin/camcontrol cmd `/sbin/camcontrol devlist | /usr/bin/grep ZCOPTION | /usr/bin/awk '{match($11, /pass[0-9]+/); print substr($11, RSTART, RLENGTH) }'` -c '01 00 00 00 00 00' -i 1 i1 > /dev/null";
X};
END-of-hso-kmod/files/option-icon.conf.sample
echo x - hso-kmod/files/HSOCTL-DEBUG-patch-Makefile
sed 's/^X//' >hso-kmod/files/HSOCTL-DEBUG-patch-Makefile << 'END-of-hso-kmod/files/HSOCTL-DEBUG-patch-Makefile'
X--- Makefile.orig 2008-05-14 14:18:53.751411172 +0200
X+++ Makefile 2008-05-14 14:19:01.497294028 +0200
X@@ -1,5 +1,5 @@
X SRCS= hsoctl.c
X PROG= hsoctl
X-CFLAGS+= -g
X+#CFLAGS+= -g
X
X .include <bsd.prog.mk>
END-of-hso-kmod/files/HSOCTL-DEBUG-patch-Makefile
echo x - hso-kmod/files/pkg-message.in
sed 's/^X//' >hso-kmod/files/pkg-message.in << 'END-of-hso-kmod/files/pkg-message.in'
X
X===============================================================================
X
XThis port has installed the hso kernel module.
X
X1) To load the kernel module at boot time,
Xadd the following line to /boot/loader.conf:
X
Xhso_load="YES"
X
X2) If you have installed devd files, restart devd :
X/etc/rc.d/devd restart
X
X3) If you have built the hsoctl utility, use it to connect :
Xe.g. : hsoctl -a bredband.tre.se -p 1234 hso0
X
X4) Enjoy !
X
X===============================================================================
X
END-of-hso-kmod/files/pkg-message.in
echo x - hso-kmod/files/HSO-DEBUG-patch-Makefile
sed 's/^X//' >hso-kmod/files/HSO-DEBUG-patch-Makefile << 'END-of-hso-kmod/files/HSO-DEBUG-patch-Makefile'
X--- Makefile.orig 2008-05-14 14:18:19.880920578 +0200
X+++ Makefile 2008-05-14 14:18:29.051785451 +0200
X@@ -2,7 +2,7 @@
X S= ${.CURDIR}/../..
X .PATH: $S/dev/usb
X
X-CFLAGS+= -DUSB_DEBUG=1 -DHSO_DEBUG=-1 -g
X+#CFLAGS+= -DUSB_DEBUG=1 -DHSO_DEBUG=-1 -g
X KMOD= hso
X SRCS= if_hso.c opt_usb.h device_if.h bus_if.h usbdevs.h
X
END-of-hso-kmod/files/HSO-DEBUG-patch-Makefile
exit
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list