You are not logged in.
First off, just a little background info. A few months ago I got fed up with Windows. No need to list the reasons why; there's a trillion "Windows sucks" threads out there as it is. I originally started with Ubuntu; most forums agreed it was a good place to start. (Which it was, pretty easy to figure out) I migrated thru a few other distros; OpenSUSE, PCLinuxOS, Debian, and finally Arch.
My Linux experience is pretty slim, but I'm picking things up pretty quickly. Was a little daunted by the install process, but got through it pretty easily. Gotta say I love how Arch is designed to be customized from the get-go. Not knocking the "ready mades" (Ubuntu for example worked pretty well right out of the box) but for the most part, you get set up how they think you should have it, then have to rip it apart to get what you want. Not only does this way make more sense, but it's edjumakational as well, and I picked up some new things along the way. Great job to the developers; this is exactly what I was looking for, and loving it.
Anyways -
The question is about USB devices not powering off on shutdown. I found a few threads about this; some here and some on Ubuntu's forums. From what I'm figuring out, this is apparently kind of common with some nVidia nForce motherboards. I don't have any BIOS options or jumpers that I can work with. This issue cropped up with every distro I've tried. (And gotta throw out the "Well it works in Windows" line)
What fixed it (on Ubuntu anyway) was a patch that was found here. (I'm not sure what kernel I'm using at the moment, I'm at work typing this) I'm completely terrified about compiling kernels; I'd rather do a self-lobotomy. Someone from the Ubuntu forums put a compiled version up on a repository to make things simple. But end result was that my USB devices (mouse, G15 keyboard, etc) turned themselves off at shutdown.
Would something like this be feasible for Arch? And if so, anyone care to put up a simple how-to to get it done? Absolutely not a "game breaker" for me, but I tend to forget sometimes, and really like to see if I can do it for the learning experience.
One other question is about using telnet or SSH to a Windows server. Think old school BBS's. Is there a way to get the terminal (using Konsole then SSH or Telnet depending on the server) to display the extended IBM character set? (That is, ANSI art) It processes the control codes just fine, but I just can't get the "graphic" characters for the life of me.
Thanks
Last edited by Jen Smith (2008-02-18 21:53:07)
Offline
I can't answer your questions per se, but I'll be curious to know the answer to the usb question itself, as I also have a g15 keyboard.
As an aside, I remember you from the pclos forums. You'd probably know my old (pclos) nick. If you're curious pm me. Either way, enjoy your stay on Arch. So far I've found this board more interesting than pclos' ever was.
Offline
The patch u posted was designed for 2.6.22, so u may still be ok to apply this patch to the 2.6.24 kernel. In fact I think I will try it and tell what happens.
edit: yes the patch seems to work with the 2.6.24 kernel source, the patch is pretty simple. I have an updated PKGBUILD on my machine, if u are interested I can share it with you or if anyone else wants it I guess I can up it to the AUR. Just let me know.
here is my updated PKGBUILD if u are familiar with ABS and makepkg system of arch. The relevant parts are in bold, u must change these lines according to the name of the patch u save it as.
# $Id: PKGBUILD,v 1.290 2008/02/10 15:02:38 tpowa Exp $
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
# Maintainer: Thomas Baechler <thomas@archlinux.org>
pkgname=kernel26
_basekernel=2.6.24
pkgver=2.6.24.1
pkgrel=2
pkgdesc="The Linux Kernel and modules"
arch=(i686 x86_64)
license=('GPL2')
groups=('base')
url="http://www.kernel.org"
backup=('boot/kconfig26' etc/mkinitcpio.d/${pkgname}.preset)
depends=('coreutils' 'module-init-tools' 'mkinitcpio>=0.5.15')
# pwc, ieee80211 and hostap-driver26 modules are included in kernel26 now
# nforce package support was abandoned by nvidia, kernel modules should cover everything now.
# kernel24 support is dropped since glibc24
replaces=('kernel24' 'kernel24-scsi' 'kernel26-scsi'
'alsa-driver' 'ieee80211' 'hostap-driver26'
'pwc' 'nforce' 'squashfs' 'unionfs' 'ivtv'
'zd1211' 'kvm-modules' 'iwlwifi' 'rt2x00-cvs')
install=kernel26.install
source=(ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-$_basekernel.tar.bz2
ftp://ftp.kernel.org/pub/linux/kernel/v … pkgver.bz2
pre-2.6.24.2.patch
### next two lines only needed for rc kernel building
#http://www.kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.24-rc6.bz2
#http://www.kernel.org/pub/linux/kernel/v2.6/snapshots/patch-2.6.24-rc6-git2.bz2
# the main kernel config files
config config.x86_64
# the archlinux boot logos
logo_linux_clut224.ppm
logo_linux_mono.pbm
logo_linux_vga16.ppm
# standard config files for mkinitcpio ramdisk
kernel26.preset
mkinitcpio-$pkgname.conf
# add possibility to load your own dsdt acpi table
acpi-dsdt-initrd-v0.8.4-2.6.21.patch
# fix bluetooth on some toshiba notebooks
toshiba-bluetooth.patch
# add additional unusual usb entry
usb-storage-unusual-devs.patch
# improve intel macintosh support
mactel-linux-2.6.24.patch
# fix broken acpi c states on buggy bioses, which violate acpi specification
acpi-buggy-bios.patch
# add squashfs and unionfs
http://heanet.dl.sourceforge.net/source … 3.3.tar.gz
http://download.filesystems.org/unionfs … c7.diff.gz
# patch below for aufs compatibility
lhash-2.6.24.patch
put_filp-2.6.24.patch
sec_perm-2.6.24.patch
#put_filp.patch
# add possibility to undervolt certain cpus
linux-phc-0.3.0-kernel-vanilla-2.6.23rc3.patch
# adding genpatches from gentoo# fix Leadtek_WinFast_2000
winfast-2000.patch# usb shutdown patch
linux-2.6.22-usb-shutdown.diff
)
md5sums=('3f23ad4b69d0a552042d1ed0f4399857'
'86d55d5080217b2e79e0fff227218cd1'
'276c1c801605b39dfab5badddbf97c66'
'97c28c42ef2bbf8c9c6464a1e09eaf90'
'3a2693f2793fd1a968a750dbf154ab57'
'6a5a1925501fe20fafd04fdb3cb4f6ed'
'e8c333eaeac43f5c6a1d7b2f47af12e2'
'c120adbd9c0daa0136237a83adeabd1e'
'2365779022389399c5c705004cdbc583'
'36858bd6a0bca63d2aa901b2e42d4a05'
'493137566bc397ec762c86e64bd96849'
'695d8578a0334fa9bb140917561f03d4'
'3ed791c3af3099489faf0d22cbcc55a8'
'988bdc1b9635024c0c91048b05e5ce7f'
'bbc730a590d4e09b3d937b257e5a4bfe'
'62d3ff7c067a5aa82f57711b3a4ab86a'
'd25fbc1b2097c7b512cea289a74f8bdb'
'0f72452b84db921e417b719c1d5d8213'
'1a7e063a4972143374049e0df006044e'
'b478f209867ab551f12ad23062c3109d'
'0866faa4e11ed5b65f1b9bf91a7b6310'
'9dd6078ef9426ef0dafa9bcfd042af58'
'887baf33fb2044f62b742b3b3fb443ff')build() {
[ "${CARCH}" = "i686" ] && KARCH=x86
[ "${CARCH}" = "x86_64" ] && KARCH=x86cd $startdir/src/linux-$_basekernel
# add upstream patch from 2.6.24 series
patch -Np1 -i ../patch-$pkgver || return 1# add queued patches for 2.6.24 series
#http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git
patch -Np1 -i ../pre-2.6.24.2.patch || return 1
### next 2 lines are only needed for rc kernels
#patch -Np1 -i ../patch-$pkgver-rc6 || return 1
#patch -Np1 -i ../patch-2.6.24-rc6-git2 || return 1# add custom acpi dsdt patch, in reference to:
# http://gaugusch.at/kernel.shtml
# http://acpi.sourceforge.net
patch -Np1 -i ../acpi-dsdt-initrd-v0.8.4-2.6.21.patch || return 1# fix enabling of bluetooth on some toshiba notebooks in reference to:
# http://bugs.archlinux.org/task/5608
# http://www.cwrose.de/toshiba/s5200.html#bluetooth
patch -Np1 -i ../toshiba-bluetooth.patch || return 1# fix I/O errors with Teac HD-35PU devices
patch -Np1 -i ../usb-storage-unusual-devs.patch || return 1# improve intel macintosh support, in reference to:
# http://www.mactel-linux.org/wiki/Main_Page
# http://mactel-linux.svn.sourceforge.net … nk/kernel/
patch -Np1 -i ../mactel-linux-2.6.24.patch || return 1# add possibility to undervolt certain cpus, in reference to:
# https://www.dedigentoo.org/trac/linux-phc/
patch -Np1 -i ../linux-phc-0.3.0-kernel-vanilla-2.6.23rc3.patch || return 1# fix buggy bios acpi to get c states, which violate acpi specification, in reference to:
# http://bugzilla.kernel.org/show_bug.cgi?id=7578
# http://bugs.archlinux.org/task/6875
patch -Np1 -i ../acpi-buggy-bios.patch || return 1# fix Leadtek_WinFast_2000
# in reference to:
# http://www.linuxtv.org/v4lwiki/index.ph … nFast_2000
patch -Np0 -i ../winfast-2000.patch || return 1# adding some genpatches from gentoo, in reference to:
# http://sources.gentoo.org/viewcvs.py/li … nk/2.6.24/
# nothing interesting yet# add sqashfs support, in reference to:
# http://squashfs.sourceforge.net/
patch -Np1 -i ../squashfs3.3/kernel-patches/linux-2.6.24/squashfs3.3-patch || return 1# add unionfs support. in reference to:
# http://www.fsl.cs.sunysb.edu/project-unionfs.html
patch -Np1 -i ../unionfs-2.2.2_for_2.6.24-rc7.diff || return 1# add sec_perm-2.6.24.patch for aufs, in reference to:
# http://aufs.sourceforge.net/
patch -Np1 -i ../sec_perm-2.6.24.patch || return 1
patch -Np0 -i ../put_filp-2.6.24.patch || return 1
patch -Np1 -i ../lhash-2.6.24.patch || return 1# add usb shutdown patch
patch -Np1 -i ../linux-2.6.22-usb-shutdown.diff || return 1# remove the extraversion from Makefile
### next line is only needed for rc kernels
#sed -i 's|^EXTRAVERSION = .*$|EXTRAVERSION =-rc6|g' Makefile
sed -i 's|^EXTRAVERSION = .*$|EXTRAVERSION =|g' Makefile
# Arch logo!
cp ../logo_linux_clut224.ppm drivers/video/logo/
cp ../logo_linux_mono.pbm drivers/video/logo/
cp ../logo_linux_vga16.ppm drivers/video/logo/
if [ "$CARCH" = "x86_64" ]; then
cat ../config.x86_64 >./.config
else
cat ../config >./.config
fi
# build the full kernel version to use in pathnames
. ./.config
### next line is only needed for rc kernels
#_kernver="2.6.24-rc6${CONFIG_LOCALVERSION}"
_kernver="${_basekernel}${CONFIG_LOCALVERSION}"
# load configuration
yes "" | make config
# build!
####################
# stop here
#msg "Stopping build"
#return 1
####################
make bzImage modules || return 1
mkdir -p $startdir/pkg/{lib/modules,boot}
make INSTALL_MOD_PATH=$startdir/pkg modules_install || return 1
cp System.map $startdir/pkg/boot/System.map26
cp arch/$KARCH/boot/bzImage $startdir/pkg/boot/vmlinuz26
install -D -m644 Makefile \
$startdir/pkg/usr/src/linux-${_kernver}/Makefile
install -D -m644 kernel/Makefile \
$startdir/pkg/usr/src/linux-${_kernver}/kernel/Makefile
install -D -m644 .config \
$startdir/pkg/usr/src/linux-${_kernver}/.config
install -D -m644 .config $startdir/pkg/boot/kconfig26
mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/includefor i in acpi asm-{generic,x86} config linux math-emu media net pcmcia scsi sound video; do
cp -a include/$i $startdir/pkg/usr/src/linux-${_kernver}/include/
done# copy files necessary for later builds, like nvidia and vmware
cp Module.symvers $startdir/pkg/usr/src/linux-${_kernver}
cp -a scripts $startdir/pkg/usr/src/linux-${_kernver}
# fix permissions on scripts dir
chmod og-w -R $startdir/pkg/usr/src/linux-${_kernver}/scripts
#mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/.tmp_versionsmkdir -p $startdir/pkg/usr/src/linux-${_kernver}/arch/$KARCH/kernel
cp arch/$KARCH/Makefile $startdir/pkg/usr/src/linux-${_kernver}/arch/$KARCH/
cp arch/$KARCH/Makefile_32 $startdir/pkg/usr/src/linux-${_kernver}/arch/$KARCH/
cp arch/$KARCH/Makefile_64 $startdir/pkg/usr/src/linux-${_kernver}/arch/$KARCH/
if [ "$CARCH" = "i686" ]; then
cp arch/$KARCH/Makefile_32.cpu $startdir/pkg/usr/src/linux-${_kernver}/arch/$KARCH/
fi
cp arch/$KARCH/kernel/asm-offsets.s $startdir/pkg/usr/src/linux-${_kernver}/arch/$KARCH/kernel/# add headers for lirc package
mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/drivers/media/video
cp drivers/media/video/*.h $startdir/pkg/usr/src/linux-${_kernver}/drivers/media/video/
for i in bt8xx cpia2 cx25840 cx88 em28xx et61x251 pwc saa7134 sn9c102 usbvideo zc0301; do
mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/drivers/media/video/$i
cp -a drivers/media/video/$i/*.h $startdir/pkg/usr/src/linux-${_kernver}/drivers/media/video/$i
done
# add dm headers
mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/drivers/md
cp drivers/md/*.h $startdir/pkg/usr/src/linux-${_kernver}/drivers/md
# add inotify.h
mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/include/linux
cp include/linux/inotify.h $startdir/pkg/usr/src/linux-${_kernver}/include/linux/
# add CLUSTERIP file for iptables
mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/net/ipv4/netfilter/
cp net/ipv4/netfilter/ipt_CLUSTERIP.c $startdir/pkg/usr/src/linux-${_kernver}/net/ipv4/netfilter/
# add wireless headers
mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/net/mac80211/
cp net/mac80211/*.h $startdir/pkg/usr/src/linux-${_kernver}/net/mac80211/
# add xfs and shmem for aufs building
mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/fs/xfs
mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/mm
cp fs/xfs/xfs_sb.h $startdir/pkg/usr/src/linux-${_kernver}/fs/xfs/xfs_sb.h
cp mm/shmem.c $startdir/pkg/usr/src/linux-${_kernver}/mm/shmem.c
# add vmlinux
cp vmlinux $startdir/pkg/usr/src/linux-${_kernver}
# copy in Kconfig files
for i in `find . -name "Kconfig*"`; do
mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/`echo $i | sed 's|/Kconfig.*||'`
cp $i $startdir/pkg/usr/src/linux-${_kernver}/$i
donecd $startdir/pkg/usr/src/linux-${_kernver}/include && ln -s asm-$KARCH asm
chown -R root.root $startdir/pkg/usr/src/linux-${_kernver}
find $startdir/pkg/usr/src/linux-${_kernver} -type d -exec chmod 755 {} \;
cd $startdir/pkg/lib/modules/${_kernver} && \
(rm -f source build; ln -sf ../../../usr/src/linux-${_kernver} build)
# install fallback mkinitcpio.conf file and preset file for kernel
install -m644 -D $startdir/src/${pkgname}.preset $startdir/pkg/etc/mkinitcpio.d/${pkgname}.preset || return 1
install -m644 -D $startdir/src/mkinitcpio-$pkgname.conf $startdir/pkg/etc/mkinitcpio.d/$pkgname-fallback.conf || return 1
# set correct depmod command for install
sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" $startdir/kernel26.install
echo -e "# DO NOT EDIT THIS FILE\nALL_kver='${_kernver}'" > ${startdir}/pkg/etc/mkinitcpio.d/${pkgname}.kver
# remove unneeded architectures
rm -rf $startdir/pkg/usr/src/linux-${_kernver}/arch/{alpha,arm,arm26,avr32,blackfin,cris,frv,h8300,ia64,m32r,m68k,m68knommu,mips,parisc,powerpc,ppc,s390,sh,sh64,sparc,sparc64,um,v850,xtensa}
}
Last edited by jacko (2008-02-19 04:25:50)
Offline
MoonSwan -- sure, PM me your old nick if you like; I still check the PCLOS forums from time to time but pretty passively now. Not knocking the distro, but the whole methodology behind Arch is really appealing to me, and seems to be working a lot better with my current hardware.
Jacko -- wow wasn't expecting that good an answer that quickly, let alone that it actually worked. I just skimmed over the ABS system in the Wiki; I've not tried that part of the distro yet. It's pretty late for me tonight, but will take a shot at doing what you suggested tomorrow. (In a virtual machine first.. make sure I got the gist of it before I do something bad) If I get stuck I'll take you up on the offer. Thanks for trying this out ![]()
Offline
If you get this patch to work, do tell me the steps I'd need to take to re-create your success. I haven't tried any of the ABS/AUR stuff as yet, still figuring out other hardware/software issues & tricks. I agree about the methodology here being more appealing, else why would I stay? I loved pclos for its simplicity in some ways but I'm finding Arch more interesting to use on the whole.
{edit} I can't seem to find a way to pm people on this board...strange. Oh well. If its of use, my avatar is the same here & there. My name there wasn't hard to find, if you search for Moonswan you'll find it pretty fast.
Last edited by MoonSwan (2008-02-20 01:04:18)
Offline
its really not that hard to try. All u need to do is open up a terminal and issue the ...
abscommand and download all the PKGBUILDS to /var/abs
Once you done that copy the contents of /var/abs/core/base/kernel26 to ~/kernel26 so you can build the kernel package as a normal user.
cd to ~/kernel26 and update the PKGBUILD with the one I provided above and then save the patch u posted to ~/kernel26 as linux-2.6.22-usb-shutdown.diff then all that is left is to compile the kernel with your patched source.
makepkg -cedit: once u do makepkg u will be left with a *pkg.tar.gz file in your build directory (~/kernel26). Just install it as root with
pacman -U kernel26*.pkg.tar.gzthe name of your binary package may be different, use the name makepkg generates.
Last edited by jacko (2008-02-20 01:54:59)
Offline
I was away from the keyboard for a couple days, didn't get a chance to try it until now.
Jacko -- that last walkthru you posted was spot on, and it works perfectly. Everything powers down properly now. I love this distro ![]()
Question -- what happens the next time the kernel gets updated? Do I just run makepkg and pacman again, or will there be another step?
And another question, not really specific to Arch. I'm using a Creative Labs Audigy 2 for a sound card. It's working just fine, no complaints, but I have one thing I can't figure out. I'm unable to mute the thing. The option just isn't there. I can just turn it down to zero of course; but there is no mute toggle. I've had this "problem" on every KDE install, regardless of distro. Under Gnome, it works. I've tried Ubuntu for a while, had both Gnome and KDE installed at the same time. Worked on Gnome, but the option isn't there in KDE. I found a few other posts around the net from a few people getting the same thing, but no fixes.
It's not a big deal, mostly just out of idle curiosity where the problem is and if it can be corrected.
Thanks again
Offline
what happens the next time the kernel gets updated?
you will have to update the abs and then repeat the steps all over again. U will have to add the patch like I did to the new PKGBUILD. Though, as long as the kernel stays at version 2.6.24 u should be all right to apply this patch exactly as I have. The older the patch gets the less likely it will work, but the good news is that the patch doesn't change a whole lot code around so for the time being and in the near future this patch should work for you.
if u have questions at any time, just ask.
Offline
what happens the next time the kernel gets updated?
you will have to update the abs and then repeat the steps all over again. U will have to add the patch like I did to the new PKGBUILD. Though, as long as the kernel stays at version 2.6.24 u should be all right to apply this patch exactly as I have. The older the patch gets the less likely it will work, but the good news is that the patch doesn't change a whole lot code around so for the time being and in the near future this patch should work for you.
Sounds good, just making sure I got the procedure right. Compile time aside it took all of maybe two minutes to do, so not a big deal ![]()
Offline
You also don't "have" to update your kernel -- the one you just compiled might last you for several minor releases of the arch and/or linux kernels.
However, do monitor the security announcements, when a flaw is found, its a good idea to patch your kernel.
Dusty
Offline