courtesy of Arathon

Thursday, June 11, 2009

computer things

When your new motherboard/CPU combo boots the first couple of times just fine, then starts not even making it to the POST sequence (and the hard drive access light just stays on), the first thing you should check is whether or not your CPU power cable is plugged in. (BOTH ENDS. MOTHERBOARD AND POWER SUPPLY.) Needless to say, this was not the first, second, or tenth thing that I checked.

Also, when your CD drive doesn't work either - it would probably be a good idea to check your SATA cable rather than worrying about whether your Crysis DVD ruined your drive with all those horrible clicking noises.

Newsflash! Core i7 setups don't work with CPU fans from Core 2 Duo setups! Which means I'm stuck with the generic Intel fan, which is kinda whiny, compared to my Arctic Freezer 7 Pro.

Let's see, what else? Ahh yes. Windows 7 can't seem to set up wireless drivers as easily as Ubuntu. Silly Microsoft. What else? I'm loving how Linux sees my new CPU as eight separate processors.

If Amarok 2 is annoying you (and it probably is), at least you now know that you can make all the icons come back by installing the kde-icons-oxygen package via Synaptic (or apt-get!). Getting sound to work seems a bit more complicated, but I think I installed mostly xine packages, especially the one about plugins-all or something like that.

Anyone looking for a motherboard, CPU, and 4 GB of RAM to start them down the road to a pretty hot computer? Only caveat being that this motherboard's S3/S4 'sleep' (often called suspend) functionality has never worked, and won't work for you either.

______________________________

PART TWO:

HECK YES. Best part of the day so far was learning how to re-enable my wireless card after resuming from S3 (in Ubuntu, though this should work in pretty much any flavor of Linux). The only thing you really have to know is the name of the kernel module/device driver for your wireless card -- oh, and the name of your wirelss network interface, which is usually either wlan0 or ra0. The name of my kernel module is rt61pci.
  1. ifconfig wlan0 down
  2. modprobe -r rt61pci
  3. modprobe rt61pci
  4. ifconfig wlan0 up
  5. dhclient wlan0
Since I know you're curious, this next list actually describes what those commands are doing:
  1. Deactivating your wireless interface. This is probably already the case if things aren't working, but it's hard to know. If running 'ifconfig' doesn't report wlan0 as "UP", then it's already down, and this step is unnecessary.
  2. Removing the kernel module. Also possibly unnecessary, but better safe than wondering-why-your-wireless-internet-connection-won't-just-work.
  3. (re)Loading the kernel module. Definitely necessary, and the important step that your computer is sadly leaving out when resuming from sleep.
  4. Activating the wireless interface. After running this, ifconfig will report wlan0 as UP BROADCAST RUNNING MULTICAST, most likely. The UP part is the important one, since all the others were showing up before you did your magic.
  5. Getting an IP address from the router! This took me a while to finally figure out - I tried manually assigning myself an IP address, but it didn't work. I don't know if that's because I didn't actually communicate with the router, or because it was already taken...regardless, using dhclient got me an IP address in no time, and all of a sudden, everything WORKS.
If you're dealing with this sort of issue, the best thing to do is to write these commands in a script and put it somewhere will it will get auto-executed on resume from sleep. I'm stealing this script from someone else, and adding the dhclient step for (y)our benefit. If you run these commands directly (within a terminal), you'll need to remember to use 'sudo' for each one, since you're not allowed to do these things unless you are root. The ones in bold are the actual meat of the script:
#!/bin/sh

case $1 in
hibernate|suspend)
;;
thaw|resume)
ifconfig wlan0 down
modprobe -r rt61pci
modprobe rt61pci
ifconfig wlan0 up
dhclient wlan0
;;
help)
echo “$( basename $0 ): Reinitializes wireless rt61pci after a suspend”
;;
*)
echo “$( basename $0 ): called wrong”
exit 1
;;
esac
It is important that you put this particular script under /etc/pm/sleep.d/, or wherever your distro puts the scripts that it runs during "suspend events".

2 comments:

Sara said...

all Greek to me, dude. but I sort of get a kick out of the fact that you blog this stuff. Maybe I should post some detailed instructions for euthanizing mice...

Andrew Q.X.T. said...

^ PLEASE DO THAT SARA. mice are such fun animals to play with.

and Peter, this post, at some point in the future, may be very tangibly helpful to me. not even joking.
I do want your old RAM, and maybe even the other stuff. you have my number.