diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /net-dialup/speedtouch-usb | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'net-dialup/speedtouch-usb')
-rw-r--r-- | net-dialup/speedtouch-usb/Manifest | 1 | ||||
-rw-r--r-- | net-dialup/speedtouch-usb/files/README | 253 | ||||
-rw-r--r-- | net-dialup/speedtouch-usb/metadata.xml | 6 | ||||
-rw-r--r-- | net-dialup/speedtouch-usb/speedtouch-usb-3.0.1.2-r3.ebuild | 101 |
4 files changed, 361 insertions, 0 deletions
diff --git a/net-dialup/speedtouch-usb/Manifest b/net-dialup/speedtouch-usb/Manifest new file mode 100644 index 000000000000..b17a45eadfdf --- /dev/null +++ b/net-dialup/speedtouch-usb/Manifest @@ -0,0 +1 @@ +DIST SpeedTouch330_firmware_3012.zip 769125 SHA256 1f4ef294f9ac52fc01781f0bba15ab1e686f692dac11ecdcbfedfbf580b19afc diff --git a/net-dialup/speedtouch-usb/files/README b/net-dialup/speedtouch-usb/files/README new file mode 100644 index 000000000000..77fed14ab52a --- /dev/null +++ b/net-dialup/speedtouch-usb/files/README @@ -0,0 +1,253 @@ +Introduction +============ + +This ebuild enables kernel-space support for Alcatel/Thomson SpeedTouch +USB modems, which first appeared in kernel 2.6.10. + +Configuration +============= + +Most SpeedTouch USB modems are connected via the ATM protocol, rather +than Ethernet. For ATM, run the following: + euse -E atm && emerge net-dialup/ppp net-dialup/speedtouch-usb + +It is necessary to choose an interface number for the connection. This +is arbitrary - the only requirement is that the connection number is +not already in use. The first available number is 0, and it is usual to +choose the lowest unused number. For the purposes of this document, 0 +will be chosen. + +Add the following lines from the appropriate section below to +/etc/conf.d/net, then customize them as per the inline comments. + + +a) PPPoATM configuration: + +config_ppp0='ppp' # Runs /lib/rcscripts/net/pppd.sh +# The 2 numbers represent the VPI & VCI of your ISP, and they are separated +# by a dot. Choose here, or ask your ISP: +# http://www.linux-usb.org/SpeedTouch/faq/index.html#q12 +link_ppp0='0.38' +plugins_ppp0='pppoa' +# 'man pppd' shows other options. Compression is disabled because it is +# rarely taken advantage of, and may interfere with the connection. +# Add option 'usepeerdns' to populate /etc/resolv.conf +pppd_ppp0='updetach noauth debug defaultroute noaccomp nobsdcomp noccp + nodeflate nopcomp novj novjccomp child-timeout 60' +username_ppp0='username@isp.com' # ADSL login, assigned by your ISP +password_ppp0='password' # ADSL password, assigned by your ISP + +# If the kernel modules are not built-in, then they must be loaded +# before starting the PPP daemon: +function preup() { + if [[ "$1" = "ppp0" ]] ; then + modprobe -q speedtch + return 0 + fi +} + + +b) PPPoE configuration: + +# Configure first the RFC2684 bridge interface +config_nas0='null' +# Use "-e 0" for LLC mux or "-e 1" for VC mux. +# The 2 numbers after "-a" represent the VPI & VCI of your ISP, and +# they are separated by a dot. Ask your ISP about those numbers. +br2684ctl_nas0='-e 0 -a 0.38' + +config_ppp0='ppp' # Runs /lib/rcscripts/net/pppd.sh +link_ppp0='nas0' # The name of the RFC2684 bridge interface +plugins_ppp0='pppoe' +# 'man pppd' shows other options. Compression is disabled because it is +# rarely taken advantage of, and may interfere with the connection. +# Add option 'usepeerdns' to populate /etc/resolv.conf +pppd_ppp0='updetach noauth debug defaultroute noaccomp nobsdcomp noccp + nodeflate nopcomp novj novjccomp child-timeout 60' +username_ppp0='username@isp.com' # ADSL login, assigned by your ISP +password_ppp0='password' # ADSL password, assigned by your ISP + +depend_ppp0() { + need net.nas0 +} + +# If the kernel modules are not built-in, then they must be loaded +# before starting the RFC2684 bridge: +function preup() { + if [[ "$1" = "nas0" ]] ; then + modprobe -q speedtch + return 0 + fi +} + + + +Configuration continued +======================= + +Create a symlink for the new network interface, for it to be enabled by +baselayout: + cd /etc/init.d && ln -sfn net.lo net.ppp0 +If you use PPPoE, you should also create the symlink for the RFC2684 +bridge interface: + cd /etc/init.d && ln -sfn net.lo net.nas0 + +The "debug" option adds some extra commentary from pppd regarding the +connection to /var/log/messages, e.g.: +"sent [LCP ConfReq id=0x1 <magic 0x7bea6ef1>]". It is wise to keep the +option on permanently, due to its usefulness when debugging. + +Set RC_NET_STRICT_CHECKING="yes" in /etc/conf.d/rc, to prevent Internet +services in /etc/init.d/ from starting before the Internet connection +is established. Other options are to start/stop programs in +/etc/ppp/ip-{up,down}.local, and to customize initscript dependencies +as described in: + http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=4 + + +Starting the Connection +======================= + +To start manually, with the modem connected: + /etc/init.d/net.ppp0 start + +To start automatically when the PC boots: + rc-update add net.ppp0 default + + +Kernel Configuration +==================== + +The ebuild, during an emerge, checks that the required kernel modules +are present. + +Note that in the list below, "[*]" means that the option is compiled +into the kernel, whereas "[M]" means that the option can either be +compiled into the kernel, or as a module. Compiling them into the +kernel is recommended, to guarantee that the modules are already loaded +when they are needed, and it will improve the bootup time by a couple +of seconds. + +In "make menuconfig", you can press "/" and search on e.g. "speedtouch" +to see exactly where an option is - the location of an option and its +dependencies can change between kernel versions. + +Check that the following kernel options are configured as shown (this +list includes the prerequisites, e.g. USB_SPEEDTOUCH depends on USB): + + Code maturity level options ---> + [*] Prompt for development and/or incomplete code/drivers + - CONFIG_EXPERIMENTAL + + General setup ---> + [*] Kernel Userspace Events - CONFIG_KOBJECT_UEVENT + (for kernels < 2.6.16 *ONLY*) + + Device Drivers ---> + Generic Driver Options ---> + [ ] Select only drivers that don't need compile-time external + firmware (*unselected*) - CONFIG_STANDALONE + [*] Hotplug firmware loading support - CONFIG_FW_LOADER + + Networking ---> + [*] Networking support - CONFIG_NET + Networking options ---> + [*] Packet socket - CONFIG_PACKET + [M] Asynchronous Transfer Mode (ATM) - CONFIG_ATM + [M] RFC1483/2684 Bridged protocols - CONFIG_ATM_BR2684 (only needed for PPPoE) + + Device Drivers ---> + Network device support ---> + [*] Network device support - CONFIG_NETDEVICES + [*] PPP (point-to-point protocol) support - CONFIG_PPP + [M] PPP Deflate compression - CONFIG_PPP_DEFLATE (only useful if + compression is supported - rare) + [M] PPP BSD-Compress compression - CONFIG_PPP_BSDCOMP (only useful + if compression is supported - rare) + [M] PPP over Ethernet - CONFIG_PPPOE (only needed for PPPoE) + [M] PPP over ATM - CONFIG_PPPOATM (only needed for PPPoATM) + USB support ---> + [*] Support for Host-side USB - CONFIG_USB + [*] USB device filesystem - CONFIG_USB_DEVICEFS + [M] (O or U)HCI HCD support + USB DSL modem support ---> + [M] USB DSL modem support - CONFIG_USB_ATM + [M] Speedtouch USB support - CONFIG_USB_SPEEDTOUCH + + + +Troubleshooting +=============== + +Try "emerge speedtouch-usb" again, because the ebuild checks that the +required kernel modules are present (showing a warning message if +appropriate), and creates the firmware files and symlinks in +/lib/firmware/ + +If the modem is unresponsive, then run "/etc/init.d/net.ppp0 stop" and +unplug the modem for 30 seconds, to drain its memory. Then reconnect +the modem to the PC and run "/etc/init.d/net.ppp0 start" + +To check the modem's connection progress, run: + tail -f /var/log/messages +/var/log/messages should show e.g.: + +usb n-n: new full speed USB device using xxxx_hcd and address n +usb n-n: found stage 1 firmware speedtch-1.bin +usb n-n: found stage 2 firmware speedtch-2.bin +pppd[nnn]: Plugin pppoatm.so loaded. +pppd[nnn]: pppd n.n.n started by root, uid 0 +pppd[nnn]: Using interface ppp0 +pppd[nnn]: Connect: ppp0 <--> n.nn +ADSL line is synchronising +DSL line goes up +ADSL line is up (nnn Kib/s down | nnn Kib/s up) +pppd[nnn]: CHAP authentication succeeded +pppd[nnn]: local IP address nnn.nnn.nnn.nnn +pppd[nnn]: remote IP address nnn.nnn.nnn.nnn + + +If the authentification fails, then check username_ppp0 and +password_ppp0. + +If the ADSL connection is not established, then check the options in +pppd_ppp0. "man pppd" explains all the options in that file. + +If the ADSL connection seems to have worked, but no websites can be +contacted, then check that /etc/resolv.conf is populated, and possibly +add the "usepeerdns" option (to use the ISP's DNS) to pppd_ppp0 in +/etc/conf.d/net . + +If the problem is still not resolved, post to the Gentoo Forums +at http://forums.gentoo.org/. If there is no answer, then +file a bug at http://bugs.gentoo.org/ . + + +Compression +=========== + +Some ISPs require compression to be disabled in order for the +connection to work, so the default configuration described above +disables compression. Few ISPs support ADSL compression anyway. If you +are lucky enough to have an ISP which *does* support compression +(Google is your best friend for determining this), then compression can +be enabled by following these steps: + +* Compile the kernel modules CONFIG_PPP_DEFLATE and CONFIG_PPP_BSDCOMP +(only one is strictly necessary - pppd prefers "deflate" compression). +Add them to /etc/modules.autoload.d/kernel-2.6 or /etc/conf.d/net above +the "pppoatm" line, if they are not built-in. +* Remove the following options in pppd_ppp0: + noaccomp nobsdcomp noccp nodeflate nopcomp novj novjccomp +* Ensure that "debug" is in the pppd_ppp0 options, to check that +compression is being utilized. Note that "module registered" in +/var/log/messages only confirms that the kernel module is loaded - +it does not indicate that the connection is compressed. + + +Links +===== + +SpeedTouch ebuilds: http://packages.gentoo.org/search/?sstring=speedtouch +SpeedTouch hardware: http://www.speedtouch.com/support.htm +SpeedTouch firmware: http://www.speedtouch.com/driver_upgrade_lx_3.0.1.2.htm diff --git a/net-dialup/speedtouch-usb/metadata.xml b/net-dialup/speedtouch-usb/metadata.xml new file mode 100644 index 000000000000..ad9105084891 --- /dev/null +++ b/net-dialup/speedtouch-usb/metadata.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>net-dialup</herd> +<longdescription>Firmware and configuration instructions for the kernel-space driver for Alcatel SpeedTouch USB modems.</longdescription> +</pkgmetadata> diff --git a/net-dialup/speedtouch-usb/speedtouch-usb-3.0.1.2-r3.ebuild b/net-dialup/speedtouch-usb/speedtouch-usb-3.0.1.2-r3.ebuild new file mode 100644 index 000000000000..01fe498767de --- /dev/null +++ b/net-dialup/speedtouch-usb/speedtouch-usb-3.0.1.2-r3.ebuild @@ -0,0 +1,101 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +inherit eutils linux-info + +DESCRIPTION="Firmware, kernel driver and configuration instructions for Alcatel SpeedTouch USB modems" +HOMEPAGE="http://www.speedtouch.com/" +SRC_URI="http://www.speedtouch.com/download/drivers/USB/SpeedTouch330_firmware_${PV//./}.zip" + +# Taken from http://www.speedtouch.com/driver_upgrade_lx_3.0.1.2.htm +LICENSE="SpeedTouch-USB-Firmware" +SLOT="0" +KEYWORDS="~amd64 x86" +IUSE="" + +RDEPEND="net-dialup/ppp" +DEPEND="app-arch/unzip" + +S="${WORKDIR}" + +pkg_setup() { + linux-info_pkg_setup + + if kernel_is lt 2 6 10 ; then + eerror "The kernel-space driver exists only in kernels >= 2.6.10." + eerror "Please upgrade the kernel." + die "Unsupported kernel version" + fi +} + +src_install() { + local FILE_VER="${PV#*.}" + FILE_VER="${PV%%.*}.${FILE_VER//./}" # {major_ver}.{minor_digits} + + # Extract the "stage 1" portion of the firmware + dd if=KQD6_${FILE_VER} of=speedtch-1.bin.2 \ + ibs=1 obs=991 count=991 skip=36 &> /dev/null \ + || die "Extraction of stage 1 firmware (step 1) failed" + + dd if=ZZZL_${FILE_VER} of=speedtch-1.bin.4 \ + ibs=1 obs=935 count=935 skip=32 &> /dev/null \ + || die "Extraction of stage 1 firmware (step 2) failed" + + # Extract the "stage 2" portion of the firmware + dd if=KQD6_${FILE_VER} of=speedtch-2.bin.2 \ + ibs=1 obs=762650 count=762650 skip=1027 &> /dev/null \ + || die "Extraction of stage 2 firmware (step 1) failed" + + dd if=ZZZL_${FILE_VER} of=speedtch-2.bin.4 \ + ibs=1 obs=775545 count=775545 skip=967 &> /dev/null \ + || die "Extraction of stage 2 firmware (step 2) failed" + + # Copy to the firmware directory + insinto /lib/firmware + insopts -m 600 + doins speedtch-{1,2}.bin.{2,4} || die "doins firmware failed" + + # Symlinks for other revisions of the modem + cd "${D}/lib/firmware" + for n in 1 2 ; do + for rev in 0 1 ; do + ln -sfn speedtch-${n}.bin.2 speedtch-${n}.bin.${rev} + done + # Seems like a reasonable guess, for revision 3 + ln -sfn speedtch-${stub}${n}.bin.4 speedtch-${n}.bin.3 + done + + # Documentation necessary to complete the setup + dodoc "${FILESDIR}/README" || die "dodoc failed" +} + +pkg_postinst() { + [[ -e /etc/hotplug/usb.usermap ]] && egrep -q " 0x06[bB]9 +0x4061 " /etc/hotplug/usb.usermap && \ + ewarn "Please remove the SpeedTouch line from /etc/hotplug/usb.usermap" + + # Check kernel configuration + local CONFIG_CHECK="~FW_LOADER ~NET ~PACKET ~ATM ~NETDEVICES ~USB_DEVICEFS ~USB_ATM ~USB_SPEEDTOUCH \ + ~PPP ~PPPOATM ~PPPOE ~ATM_BR2684" + local WARNING_PPPOATM="CONFIG_PPPOATM:\t is not set (required for PPPoA links)" + local WARNING_PPPOE="CONFIG_PPPOE:\t is not set (required for PPPoE links)" + local WARNING_ATM_BR2684="CONFIG_ATM_BR2684:\t is not set (required for PPPoE links)" + check_extra_config + echo + + # Check user-space for PPPoA support + if ! built_with_use net-dialup/ppp atm ; then + ewarn "Run the following command if connecting via PPPoA protocol:" + ewarn " euse -E atm && emerge net-dialup/ppp" + echo + fi + # Check user-space for PPPoE support + if ! has_version >=net-dialup/linux-atm-2.5.0 ; then + ewarn "Run the following command if connecting via PPPoE protocol:" + ewarn " emerge net-dialup/linux-atm" + echo + fi + + ewarn "To complete the installation, you must read the documentation in" + ewarn " ${ROOT}usr/share/doc/${PF}" +} |