You are not logged in.

#1 2008-02-18 21:50:37

Jen Smith
Member
Registered: 2008-02-18
Posts: 16

New Arch user, some praises and a silly question

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

#2 2008-02-18 22:34:03

MoonSwan
Member
From: Great White North
Registered: 2008-01-23
Posts: 881

Re: New Arch user, some praises and a silly question

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

#3 2008-02-19 04:15:02

jacko
Member
Registered: 2007-11-23
Posts: 840

Re: New Arch user, some praises and a silly question

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=x86

  cd $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 smile

  # 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}/include

  for 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_versions

  mkdir -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
  done

  cd $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

#4 2008-02-19 04:52:57

Jen Smith
Member
Registered: 2008-02-18
Posts: 16

Re: New Arch user, some praises and a silly question

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 smile

Offline

#5 2008-02-20 00:59:50

MoonSwan
Member
From: Great White North
Registered: 2008-01-23
Posts: 881

Re: New Arch user, some praises and a silly question

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

#6 2008-02-20 01:50:38

jacko
Member
Registered: 2007-11-23
Posts: 840

Re: New Arch user, some praises and a silly question

its really not that hard to try. All u need to do is open up a terminal and issue the ...

abs

command 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 -c

edit: 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.gz

the name of your binary package may be different, use the name makepkg generates.

Last edited by jacko (2008-02-20 01:54:59)

Offline

#7 2008-02-21 00:48:29

Jen Smith
Member
Registered: 2008-02-18
Posts: 16

Re: New Arch user, some praises and a silly question

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 smile

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

#8 2008-02-21 03:24:28

jacko
Member
Registered: 2007-11-23
Posts: 840

Re: New Arch user, some praises and a silly question

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

#9 2008-02-21 04:40:27

Jen Smith
Member
Registered: 2008-02-18
Posts: 16

Re: New Arch user, some praises and a silly question

jacko wrote:

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 smile

Offline

#10 2008-02-21 04:44:02

Dusty
Schwag Merchant
From: Medicine Hat, Alberta, Canada
Registered: 2004-01-18
Posts: 5,986
Website

Re: New Arch user, some praises and a silly question

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

Board footer

Powered by FluxBB