Monday, November 28, 2005

lm_sensors and Gigabyte GA-6VA7+

Working on setting up lm_sensors on my Gigabyte GA-6VA7+ (Intel Celeron Coppermine 566Mhz CPU) system. First step is to turn on I2C support in the 2.6 kernel configuration.

# cd /usr/src/linux
# make menuconfig


Device drivers
--> I2C Support
--> --> I2C Support (turn ON as BUILT-IN)
--> --> --> I2C device interface
--> --> --> --> (turn all sub-options on as MODULE)
--> --> --> I2C Algorithms
--> --> --> --> (turn all sub-options on as MODULE)
--> --> --> I2C Hardware Bus support
--> --> --> --> (turn all sub-options on as MODULE)
--> --> Miscellaneous I2C Chip support
--> --> --> (turn all sub-options on as MODULE)
--> --> I2C Core debugging messages (turn ON as BUILT-IN)
--> --> I2C Algorithm debugging messages (turn ON as BUILT-IN)
--> --> I2C Bus debugging messages (turn ON as BUILT-IN)
--> --> I2C Chip debugging messages (turn ON as BUILT-IN)

Now, make sure that /boot is mounted, then compile your new kernel.

# make && make modules_install
# mount /boot
# cp arch/i386/boot/bzImage /boot/kernel-2.6.13-28Nov2005-2037
# cp System.map /boot/System.map-2.6.13-28Nov2005-2037
# cp .config /boot/config-2.6.13-28Nov2005-2037
# nano -w /boot/grub/grub.conf


Now, this is just a testing configuration and not my final configuration. After the boot, I'll have to figure out what sensors are actually available and which ones I need to keep.

# emerge -pv lm_sensors
# emerge lm_sensors


While that's compiling, read the lm_sensors FAQ. Section 3.1 (Why so many modules, and how do I cope with them?) explains the basics of how to get started with lm_sensors.

(Notice the warnings at the end of the ebuild.)

>>> /etc/init.d/lm_sensors
*
* Next you need to run:
* /usr/sbin/sensors-detect
* to detect the I2C hardware of your system and create the file:
* /etc/conf.d/lm_sensors
*
* You will also need to run the above command if you're upgrading from
* <=lm_sensors-2.9.0, as the needed entries in /etc/conf.d/lm_sensors has
* changed.
*
* Be warned, the probing of hardware in your system performed by
* sensors-detect could freeze your system. Also make sure you read
* the documentation before running lm_sensors on IBM ThinkPads.
*
* Please see the lm_sensors documentation and website for more information.
*
>>> Regenerating /etc/ld.so.cache...
>>> sys-apps/lm_sensors-2.9.2 merged.
(snip)

# /usr/sbin/sensors-detect


The following is output from my Gigabyte motherboard:

# sensors-detect revision 1.393 (2005/08/30 18:51:18)

This program will help you determine which I2C/SMBus modules you need to
load to use lm_sensors most effectively. You need to have i2c and
lm_sensors installed before running this program.
Also, you need to be `root', or at least have access to the /dev/i2c-*
files, for most things.
If you have patched your kernel and have some drivers built in, you can
safely answer NO if asked to load some modules. In this case, things may
seem a bit confusing, but they will still work.

It is generally safe and recommended to accept the default answers to all
questions, unless you know what you're doing.

We can start with probing for (PCI) I2C or SMBus adapters.
You do not need any special privileges for this.
Do you want to probe now? (YES/no): yes
Probing for PCI bus adapters...
Use driver `i2c-matroxfb' for device 01:00.0: MGA G200 AGP
Use driver `i2c-viapro' for device 00:07.3: VIA Technologies VT82C596 Apollo ACPI
Probe succesfully concluded.

We will now try to load each adapter module in turn.
Load `i2c-matroxfb' (say NO if built into your kernel)? (YES/no): yes
FATAL: Module i2c_matroxfb not found.
Loading failed... skipping.
Load `i2c-viapro' (say NO if built into your kernel)? (YES/no): yes
Module loaded succesfully.
If you have undetectable or unsupported adapters, you can have them
scanned by manually loading the modules before running this script.

To continue, we need module `i2c-dev' to be loaded.
If it is built-in into your kernel, you can safely skip this.
i2c-dev is not loaded. Do you want to load it now? (YES/no): yes
Module loaded succesfully.

We are now going to do the adapter probings. Some adapters may hang halfway
through; we can't really help that. Also, some chips will be double detected;
we choose the one with the highest confidence value in that case.
If you found that the adapter hung after probing a certain address, you can
specify that address to remain unprobed. That often
includes address 0x69 (clock chip).

Next adapter: SMBus Via Pro adapter at 5000
Do you want to scan it? (YES/no/selectively): yes
Client found at address 0x50
Probing for `SPD EEPROM'... Success!
(confidence 8, driver `eeprom')
Probing for `DDC monitor'... Failed!
Probing for `Maxim MAX6900'... Failed!
Client found at address 0x51
Probing for `SPD EEPROM'... Success!
(confidence 8, driver `eeprom')
Client found at address 0x52
Probing for `SPD EEPROM'... Success!
(confidence 8, driver `eeprom')
Client found at address 0x69

Some chips are also accessible through the ISA bus. ISA probes are
typically a bit more dangerous, as we have to write to I/O ports to do
this. This is usually safe though.

Do you want to scan the ISA bus? (YES/no): yes
Probing for `National Semiconductor LM78'
Trying address 0x0290... Failed!
Probing for `National Semiconductor LM78-J'
Trying address 0x0290... Failed!
Probing for `National Semiconductor LM79'
Trying address 0x0290... Failed!
Probing for `Winbond W83781D'
Trying address 0x0290... Failed!
Probing for `Winbond W83782D'
Trying address 0x0290... Failed!
Probing for `Winbond W83627HF'
Trying address 0x0290... Failed!
Probing for `Winbond W83627EHF'
Trying address 0x0290... Failed!
Probing for `Winbond W83697HF'
Trying address 0x0290... Failed!
Probing for `Silicon Integrated Systems SIS5595'
Trying general detect... Failed!
Probing for `VIA Technologies VT82C686 Integrated Sensors'
Trying general detect... Failed!
Probing for `VIA Technologies VT8231 Integrated Sensors'
Trying general detect... Failed!
Probing for `ITE IT8712F'
Trying address 0x0290... Failed!
Probing for `ITE IT8705F / SiS 950'
Trying address 0x0290... Failed!
Probing for `IPMI BMC KCS'
Trying address 0x0ca0... Failed!
Probing for `IPMI BMC SMIC'
Trying address 0x0ca8... Failed!

Some Super I/O chips may also contain sensors. Super I/O probes are
typically a bit more dangerous, as we have to write to I/O ports to do
this. This is usually safe though.

Do you want to scan for Super I/O sensors? (YES/no): yes
Probing for `ITE 8702F Super IO Sensors'
Failed! (skipping family)
Probing for `Nat. Semi. PC87351 Super IO Fan Sensors'
Failed! (skipping family)
Probing for `SMSC 47B27x Super IO Fan Sensors'
Failed! (skipping family)
Probing for `VT1211 Super IO Sensors'
Failed! (skipping family)
Probing for `Winbond W83627EHF/EHG Super IO Sensors'
Failed! (skipping family)

Do you want to scan for secondary Super I/O sensors? (YES/no): yes
Probing for `ITE 8702F Super IO Sensors'
Failed! (skipping family)
Probing for `Nat. Semi. PC87351 Super IO Fan Sensors'
Failed! (skipping family)
Probing for `SMSC 47B27x Super IO Fan Sensors'
Failed! (skipping family)
Probing for `VT1211 Super IO Sensors'
Failed! (skipping family)
Probing for `Winbond W83627EHF/EHG Super IO Sensors'
Failed! (skipping family)

Now follows a summary of the probes I have just done.
Just press ENTER to continue:

Driver `eeprom' (should be inserted):
Detects correctly:
* Bus `SMBus Via Pro adapter at 5000'
Busdriver `i2c-viapro', I2C address 0x50
Chip `SPD EEPROM' (confidence: 8)
* Bus `SMBus Via Pro adapter at 5000'
Busdriver `i2c-viapro', I2C address 0x51
Chip `SPD EEPROM' (confidence: 8)
* Bus `SMBus Via Pro adapter at 5000'
Busdriver `i2c-viapro', I2C address 0x52
Chip `SPD EEPROM' (confidence: 8)


I will now generate the commands needed to load the I2C modules.
Sometimes, a chip is available both through the ISA bus and an I2C bus.
ISA bus access is faster, but you need to load an additional driver module
for it. If you have the choice, do you want to use the ISA bus or the
I2C/SMBus (ISA/smbus)? isa

If you want to load the modules at startup, generate a config file
below and make sure lm_sensors gets started; e.g
$ rc-update add lm_sensors default.

To make the sensors modules behave correctly, add these lines to
/etc/modules.conf:

#----cut here----
# I2C module options
alias char-major-89 i2c-dev
#----end cut here----

WARNING! If you have some things built into your kernel, the list above
will contain too many modules. Skip the appropriate ones! You really should
try these commands right now to make sure everything is working properly.
Monitoring programs won't work until it's done.
To load everything that is needed, execute the commands above...

#----cut here----
# I2C adapter drivers
modprobe i2c-viapro
# I2C chip drivers
modprobe eeprom
# sleep 2 # optional
/usr/bin/sensors -s # recommended

Do you want to generate /etc/conf.d/lm_sensors? Enter s to specify other file name?
(YES/no/s): yes
Done.


I had to add the rc-update command, but the /etc/modules.conf file already had the proper I2C line.

Hmm... got the "No sensors found!" error message. Yet I'm 95% sure that I did everything according to directions. Well, it is an older motherboard so I might be better off retrying setting up lm_sensors on a newer system.

Output from dmesg:

vt596_smbus 0000:00:07.3: using Interrupt SMI# for SMBus.
vt596_smbus 0000:00:07.3: SMBREV = 0x0
vt596_smbus 0000:00:07.3: VT596_smba = 0x5000
i2c_adapter i2c-0: registered as adapter #0
i2c-core: driver eeprom registered.
i2c_adapter i2c-0: found normal i2c entry for adapter 0, addr 50
i2c_adapter i2c-0: Transaction (pre): CNT=00, CMD=3f, ADD=a0, DAT0=06, DAT1=00
i2c_adapter i2c-0: SMBus busy (0x02). Resetting...
i2c_adapter i2c-0: Successfull!
i2c_adapter i2c-0: Transaction (post): CNT=00, CMD=3f, ADD=a0, DAT0=06, DAT1=00
i2c_adapter i2c-0: Transaction (pre): CNT=00, CMD=3f, ADD=a0, DAT0=06, DAT1=00
i2c_adapter i2c-0: Transaction (post): CNT=00, CMD=3f, ADD=a0, DAT0=06, DAT1=00
i2c_adapter i2c-0: client [eeprom] registered to adapter
registering 0-0050
i2c_adapter i2c-0: found normal i2c entry for adapter 0, addr 51
i2c_adapter i2c-0: Transaction (pre): CNT=00, CMD=3f, ADD=a2, DAT0=06, DAT1=00
i2c_adapter i2c-0: Transaction (post): CNT=00, CMD=3f, ADD=a2, DAT0=06, DAT1=00
i2c_adapter i2c-0: Transaction (pre): CNT=00, CMD=3f, ADD=a2, DAT0=06, DAT1=00
i2c_adapter i2c-0: Transaction (post): CNT=00, CMD=3f, ADD=a2, DAT0=06, DAT1=00
i2c_adapter i2c-0: client [eeprom] registered to adapter
registering 0-0051
i2c_adapter i2c-0: found normal i2c entry for adapter 0, addr 52
i2c_adapter i2c-0: Transaction (pre): CNT=00, CMD=3f, ADD=a4, DAT0=06, DAT1=00
i2c_adapter i2c-0: Transaction (post): CNT=00, CMD=3f, ADD=a4, DAT0=06, DAT1=00
i2c_adapter i2c-0: Transaction (pre): CNT=00, CMD=3f, ADD=a4, DAT0=06, DAT1=00
i2c_adapter i2c-0: Transaction (post): CNT=00, CMD=3f, ADD=a4, DAT0=06, DAT1=00
i2c_adapter i2c-0: client [eeprom] registered to adapter
registering 0-0052
i2c_adapter i2c-0: found normal i2c entry for adapter 0, addr 53
i2c_adapter i2c-0: Transaction (pre): CNT=00, CMD=3f, ADD=a6, DAT0=06, DAT1=00
i2c_adapter i2c-0: Error: no response!
i2c_adapter i2c-0: Transaction (post): CNT=00, CMD=3f, ADD=a6, DAT0=06, DAT1=00
i2c_adapter i2c-0: found normal i2c entry for adapter 0, addr 54
i2c_adapter i2c-0: Transaction (pre): CNT=00, CMD=3f, ADD=a8, DAT0=06, DAT1=00
i2c_adapter i2c-0: Error: no response!
i2c_adapter i2c-0: Transaction (post): CNT=00, CMD=3f, ADD=a8, DAT0=06, DAT1=00
i2c_adapter i2c-0: found normal i2c entry for adapter 0, addr 55
i2c_adapter i2c-0: Transaction (pre): CNT=00, CMD=3f, ADD=aa, DAT0=06, DAT1=00
i2c_adapter i2c-0: Error: no response!
i2c_adapter i2c-0: Transaction (post): CNT=00, CMD=3f, ADD=aa, DAT0=06, DAT1=00
i2c_adapter i2c-0: found normal i2c entry for adapter 0, addr 56
i2c_adapter i2c-0: Transaction (pre): CNT=00, CMD=3f, ADD=ac, DAT0=06, DAT1=00
i2c_adapter i2c-0: Error: no response!
i2c_adapter i2c-0: Transaction (post): CNT=00, CMD=3f, ADD=ac, DAT0=06, DAT1=00
i2c_adapter i2c-0: found normal i2c entry for adapter 0, addr 57
i2c_adapter i2c-0: Transaction (pre): CNT=00, CMD=3f, ADD=ae, DAT0=06, DAT1=00
i2c_adapter i2c-0: Error: no response!
i2c_adapter i2c-0: Transaction (post): CNT=00, CMD=3f, ADD=ae, DAT0=06, DAT1=00


Output from lsmod:

# lsmod
Module Size Used by
eeprom 5528 -
i2c_sensor 2984 -
i2c_viapro 7640 -
dm_mod 45340 -

Friday, November 25, 2005

Visual Basic RND issues, take 2

I talked about this a few months ago in Visual Basic Rnd() function tricks and traps, where I discovered that I wasn't getting a full 32bits of randomness out of VB's Rnd() function in my VBScript/Visual Basic pages. At the time, I thought it was simply due to Rnd() returning a 32bit IEEE floating point value which really only has 30bits of data.

In reality, the situation is even worse:

PRNG (Pseudo Random Number Generator) By Michael Meelis
Microsoft Visual Basic: Pseudo Random Number Generator
Using and Creating Cryptographic-Quality Random Numbers By Jon Callas
True random number generators

VB's Rnd() function only provides 24bits of randomness. After the 2^24th sample, it starts repeating. (See INFO: How Visual Basic Generates Pseudo-Random Numbers for the RND Function.)

Randomize() just contributes to the problem. See An Examination of Visual Basic's Random Number Generation By Mark Hutchinson and notice that calling Randomize() is based on the time of the day and only provides around 2^16 different starting points within the 2^24 stream. So if you're calling Randomize() before every Rnd(), you're only getting 16bits of randomness. (It's actually worse, because you'll get identical starting points at the same time of day.)

Wednesday, November 23, 2005

NTP daemons for Gentoo

Looks like there are two basic choices (according to "emerge -s ntp"), ntp and openntpd.

*  net-misc/ntp
Latest version available: 4.2.0.20040617-r3
Latest version installed: [ Not Installed ]
Size of downloaded files: 2,403 kB
Homepage: http://www.ntp.org/
Description: Network Time Protocol suite/programs
License: as-is

* net-misc/openntpd
Latest version available: 3.7_p1
Latest version installed: 3.7_p1
Size of downloaded files: 133 kB
Homepage: http://www.openntpd.org/
Description: Lightweight NTP server ported from OpenBSD
License: BSD


I decided to go with OpenNTPD because it seemed to be smaller and less troublesome then the official NTP daemon. (As one of the lines on the OpenNTPD page says... I'm not after microsecond accuracy.)

If you want to use OpenNTPD, you should dig through the presentations / papers for a brief overview of the project (such as matching time against random servers).

Note that if you're in North America, you'll probably want to change the "servers" line in /etc/ntpd.conf. NTP.org has a list of server pools that you can pick from, divided by geography. I chose to use "north-america.pool.ntp.org" as my servers pool.

(I am still evaluating OpenNTPD... and I may switch over to the official NTP server instead.)

Useful links:
Gentoo Linux Localization Guide
Jeff McCoy | Time

Useful commands:

# hwclock --show
# zdump GMT
# zdump EST5EDT
# date


These commands should show you a hardware clock that matches either GMT (if you have things set to UTC) or your local timezone. I had a misconfigured hardware clock that was set to localtime, while my system was thinking it was UTC/GMT time.

Note that when you look at /var/log/messages, the OpenNTPD messages can be a bit confusing. You will see lines like:

Dec 19 21:33:10 localhost ntpd[5673]: adjusting local clock by -11.800044s
Dec 19 21:36:23 localhost ntpd[5673]: adjusting local clock by -11.691234s
Dec 19 21:39:36 localhost ntpd[5673]: adjusting local clock by -11.621488s


What this actually means is that your clock is currently off by approximately 12 seconds. Eventually, OpenNTPD will adjust your clock to be as close as possible to the official time, but it won't make that adjustment suddenly (all at once). Instead, it will slowly reduce the error amount to the minimum possible for your system.

If you want your server to synchronize at a faster rate, you should manually set the time using the 'date' command to as close to proper time as you can. Otherwise, it may take a few days for OpenNTPD to finish synchronizing your machine's local clock.

You should also look up the "hwclock" command, especially the --hctosys and --systohc options. Also look at "nano -w /etc/conf.d/clock", you should probably set the CLOCK_SYSTOHC flag to "yes" so that your system time gets written to the hardware clock during shutdown.

Monday, November 21, 2005

Success at fixing sluggishness

Hah, I finally flipped the right bit on my AMD64 Gentoo server to eliminate the issue with sluggishness while mdadm is rebuilding a RAID array. So, without further ado, here is my current .config file for a 2.6.13 kernel along with the diff between the last unsuccessful kernel and the kernel that worked.

KernelConfig-1122-0030.txt

KernelConfig-1122-0030-diff.txt

I changed close to a dozen flags when I built the last kernel. One (or more) of them was key in getting rid of the sluggishness.

Troubleshooting (comparison of kernel configs)

I now have a few sample kernel configs from kind folks in alt.os.linux.gentoo. There are two that I've focused in on (mostly because they posted first and they gave background on the config files).

2005_1-LiveCDConfig.txt - This is the .config file from the AMD64 2005.1 LiveCD. Since I know this kernel works, it's a prime starting point for researching why I'm having the issues that I'm having.

Anton-AsusK8VSE-Sep2005-config.txt - This kernel config is for an Asus K8VSE, which isn't exactly the board that I'm using (an Asus A8V). However, it is at least a VIA chipset so is pretty relevant. Comparing against this helps to narrow what is different between my kernel, Anton's kernel and the kernel config on the LiveCD.

Scharf-AsusA8V-Aug2005-config.txt - This is a kernel config for an Asus A8V (same motherboard as me). So it will help me verify my particular configuration.

Now for the comparison files. These were created by GNU's diff3 tool on my WinXP laptop, but the output should be pretty standard diff3 output. File #1 is always the LiveCD, file #2 is my current kernel config and file #3 is whatever .config file that I'm comparing against.

LiveCD-vs-Kernel11141600-vs-Anton.txt

LiveCD-vs-Kernel11141600-vs-Scharf.txt

Lines that are the same between the LiveCD and the sample config, but *different* on my config would show up as:

1:35c
3:35c
CONFIG_HOTPLUG=y
2:36c
# CONFIG_HOTPLUG is not set


CONFIG_HOTPLUG is set as "y" in both the LiveCD kernel config and Anton's kernel config, but not defined in my kernel config. Naturally, my first pass through the comparison is looking for instances like this and then researching the option to understand whether it should be uniquely set on my system.

Now for the details, I've identified a few troublespots in my kernel config that could be causing issues (these are comparisons against the Scharf config). What I'm finding is that there are very few places in my config where I'm doing something different then the Scharf config (but the LiveCD is the same as the Scharf config).:

1:35c
3:35c
CONFIG_HOTPLUG=y
2:36c
# CONFIG_HOTPLUG is not set

Both Anton/Scharf configs set this the same way as the LiveCD.

1:61c
3:60c
# CONFIG_MODULE_FORCE_UNLOAD is not set
2:62c
CONFIG_MODULE_FORCE_UNLOAD=y

Both Anton/Scharf configs set this the same way as the LiveCD.

1:110c
3:102c
# CONFIG_SOFTWARE_SUSPEND is not set
2:120,121c
CONFIG_SOFTWARE_SUSPEND=y
CONFIG_PM_STD_PARTITION=""

The software suspend option is probably not the cause of my troubles. Anton's config uses software suspend to a dedicated partition. However, I should still plan on turning this off since I'm not going to use software suspend.

1:211c
3:189c
# CONFIG_IA32_AOUT is not set
2:211c
CONFIG_IA32_AOUT=y

Anton configuration has this set to "Y", the Scharf has it not set.

1:895c
3:613c
# CONFIG_NETCONSOLE is not set
2:591,595c
CONFIG_NETCONSOLE=y
CONFIG_NETPOLL=y
# CONFIG_NETPOLL_RX is not set
# CONFIG_NETPOLL_TRAP is not set
CONFIG_NET_POLL_CONTROLLER=y

Mine is the only config to set this to "Y".

1:1597c
3:1334c
# CONFIG_PROFILING is not set
2:1089,1090c
CONFIG_PROFILING=y
CONFIG_OPROFILE=y

Probably not an issue. The Anton config sets this to "Y"/"M" instead of "Y"/"Y".

Updates:

None of the above settings seem to have made any difference.

Monday, November 14, 2005

More troubleshooting steps

A) AMD64 / Athlon X2 Opinions - Recommends adding "clock=pmtmr notsc" to the kernel parameters in the grub.conf file. It probably won't help with the sluggishness and lost ticks since those arguments are not being passed on the LiveCD boot.

The LiveCD boots with:

livecd / # dmesg
Bootdata ok (command line is initrd=gentoo.igz root=/dev/ram0 init=/linuxrc looptype=squashfs loop=/livecd.squashfs udev nodevfs dokeymap cdroot vga=791 splash=silent,theme:livecd-2005.1 CONSOLE=/dev/tty1 quiet BOOT_IMAGE=gentoo )
Linux version 2.6.12-gentoo-r6 (root@poseidon) (gcc version 3.4.3 20041125 (Gentoo 3.4.3-r1, ssp-3.4.3-0, pie-8.7.7)) #1 SMP Mon Aug 1 14:22:17 UTC 2005
(snip)


B) Abit AN8 config file from Help with kernel .config (amd64 3000+, s939 nforce4). The poster is also using "pci=biosirq pci=irqroute clock=pmtmr notsc" in their kernel config line.

(haven't tried yet)

C) Config file for an Abit AN8-Ultra. No reported issues by the poster (same thread as #B above).

(haven't tried yet)

D) Turning off power management and CPU frequency options (in both the kernel and the BIOS). A somewhat drastic step, but will allow me to hopefully rule this in/out. This kernel will be my Nov 14th 1500 kernel.

I'm in the process of building this kernel. But after booting and testing with it, no change in the issue.

E) Going to try flipping back to an earlier kernel. I went back to my Nov 8th kernel and merely added in the driver support for sata_promise, the HPT302 chip and the TX2 card (even though the latter two are not installed at the moment). I now have a slightly different "ticks" message:

Losing some ticks... checking if CPU frequency changed.
warning: many lost ticks.
Your time source seems to be instable or some driver is hogging interupts
rip scsi_dispatch_cmd+0x1f3/0x250

I had not seen "rip scsi_dispatch_cmd+0x1f3/0x250" yet. The old message was "rip __do_softirq+0x48/0xb0". Wow, no google hit for the scsi_dispatch_cmd line.

Sunday, November 13, 2005

AMD64 broken kernel config file

Current broken configuration. Here is the diff between my current configuration and what was on the LiveCD. Left side is the LiveCD config file, right side is my kernel's config file.

AMD64 2005.1 Gentoo LiveCD Kernel Config

I'm still trying to puzzle out what is different on the LiveCD (which works, and which options are causing me grief on the installed kernel). I've even tried adding the "noapic notsc" to my kernel line in grub.conf, but it doesn't fix the issue of sluggishness (it just hides the error).

3,4c3,4
< # Linux kernel version: 2.6.12-gentoo-r6
< # Mon Aug 1 14:21:03 2005
---
> # Linux kernel version: 2.6.13-gentoo-r5
> # Sun Nov 13 14:44:42 2005
22c22
< CONFIG_LOCK_KERNEL=y
---
> CONFIG_BROKEN_ON_SMP=y
31c31
< # CONFIG_POSIX_MQUEUE is not set
---
> CONFIG_POSIX_MQUEUE=y
35c35
< CONFIG_HOTPLUG=y
---
> # CONFIG_HOTPLUG is not set
39,41c39,42
< CONFIG_CPUSETS=y
< CONFIG_EMBEDDED=y
< # CONFIG_KALLSYMS is not set
---
> # CONFIG_EMBEDDED is not set
> CONFIG_KALLSYMS=y
> CONFIG_KALLSYMS_ALL=y
> # CONFIG_KALLSYMS_EXTRA_PASS is not set
47d47
< CONFIG_CC_OPTIMIZE_FOR_SIZE=y
61c61
< # CONFIG_MODULE_FORCE_UNLOAD is not set
---
> CONFIG_MODULE_FORCE_UNLOAD=y
63c63
< CONFIG_MODVERSIONS=y
---
> # CONFIG_MODVERSIONS is not set
65,66c65
< CONFIG_KMOD=y
< CONFIG_STOP_MACHINE=y
---
> # CONFIG_KMOD is not set
71c70
< # CONFIG_MK8 is not set
---
> CONFIG_MK8=y
73,75c72,74
< CONFIG_GENERIC_CPU=y
< CONFIG_X86_L1_CACHE_BYTES=128
< CONFIG_X86_L1_CACHE_SHIFT=7
---
> # CONFIG_GENERIC_CPU is not set
> CONFIG_X86_L1_CACHE_BYTES=64
> CONFIG_X86_L1_CACHE_SHIFT=6
79,81c78,79
< # CONFIG_X86_MSR is not set
< # CONFIG_X86_CPUID is not set
< CONFIG_X86_HT=y
---
> CONFIG_X86_MSR=y
> CONFIG_X86_CPUID=y
85,90c83,86
< CONFIG_SMP=y
< CONFIG_PREEMPT=y
< CONFIG_PREEMPT_BKL=y
< CONFIG_SCHED_SMT=y
< # CONFIG_K8_NUMA is not set
< # CONFIG_NUMA_EMU is not set
---
> # CONFIG_SMP is not set
> CONFIG_PREEMPT_NONE=y
> # CONFIG_PREEMPT_VOLUNTARY is not set
> # CONFIG_PREEMPT is not set
92,93c88,95
< CONFIG_HAVE_DEC_LOCK=y
< CONFIG_NR_CPUS=8
---
> CONFIG_ARCH_FLATMEM_ENABLE=y
> CONFIG_SELECT_MEMORY_MODEL=y
> CONFIG_FLATMEM_MANUAL=y
> # CONFIG_DISCONTIGMEM_MANUAL is not set
> # CONFIG_SPARSEMEM_MANUAL is not set
> CONFIG_FLATMEM=y
> CONFIG_FLAT_NODE_MEM_MAP=y
> CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y
95,99c97,104
< # CONFIG_X86_PM_TIMER is not set
< # CONFIG_HPET_EMULATE_RTC is not set
< # CONFIG_GART_IOMMU is not set
< CONFIG_DUMMY_IOMMU=y
< # CONFIG_X86_MCE is not set
---
> CONFIG_X86_PM_TIMER=y
> CONFIG_HPET_EMULATE_RTC=y
> CONFIG_GART_IOMMU=y
> CONFIG_SWIOTLB=y
> CONFIG_X86_MCE=y
> CONFIG_X86_MCE_INTEL=y
> CONFIG_PHYSICAL_START=0x100000
> # CONFIG_KEXEC is not set
100a106,109
> # CONFIG_HZ_100 is not set
> CONFIG_HZ_250=y
> # CONFIG_HZ_1000 is not set
> CONFIG_HZ=250
110c119,120
< # CONFIG_SOFTWARE_SUSPEND is not set
---
> CONFIG_SOFTWARE_SUSPEND=y
> CONFIG_PM_STD_PARTITION=""
119,120c129,130
< CONFIG_ACPI_AC=m
< CONFIG_ACPI_BATTERY=m
---
> # CONFIG_ACPI_AC is not set
> # CONFIG_ACPI_BATTERY is not set
122a133
> # CONFIG_ACPI_HOTKEY is not set
126,129c137,140
< CONFIG_ACPI_ASUS=m
< CONFIG_ACPI_IBM=m
< CONFIG_ACPI_TOSHIBA=m
< CONFIG_ACPI_BLACKLIST_YEAR=0
---
> # CONFIG_ACPI_ASUS is not set
> # CONFIG_ACPI_IBM is not set
> # CONFIG_ACPI_TOSHIBA is not set
> CONFIG_ACPI_BLACKLIST_YEAR=2001
136c147
< CONFIG_ACPI_CONTAINER=m
---
> # CONFIG_ACPI_CONTAINER is not set
142c153
< CONFIG_CPU_FREQ_TABLE=m
---
> CONFIG_CPU_FREQ_TABLE=y
144c155
< CONFIG_CPU_FREQ_STAT=m
---
> CONFIG_CPU_FREQ_STAT=y
149,152c160,163
< CONFIG_CPU_FREQ_GOV_POWERSAVE=m
< CONFIG_CPU_FREQ_GOV_USERSPACE=m
< CONFIG_CPU_FREQ_GOV_ONDEMAND=m
< CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
---
> # CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
> # CONFIG_CPU_FREQ_GOV_USERSPACE is not set
> # CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
> CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
157,161c168,170
< CONFIG_X86_POWERNOW_K8=m
< CONFIG_X86_POWERNOW_K8_ACPI=y
< CONFIG_X86_SPEEDSTEP_CENTRINO=m
< CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI=y
< CONFIG_X86_ACPI_CPUFREQ=m
---
> CONFIG_X86_POWERNOW_K8=y
> # CONFIG_X86_SPEEDSTEP_CENTRINO is not set
> # CONFIG_X86_ACPI_CPUFREQ is not set
166,168c175
< # CONFIG_X86_ACPI_CPUFREQ_PROC_INTF is not set
< CONFIG_X86_P4_CLOCKMOD=m
< CONFIG_X86_SPEEDSTEP_LIB=m
---
> # CONFIG_X86_SPEEDSTEP_LIB is not set
177c184
< CONFIG_PCIEPORTBUS=y
---
> # CONFIG_PCIEPORTBUS is not set
186,198c193
< CONFIG_PCCARD=m
< # CONFIG_PCMCIA_DEBUG is not set
< CONFIG_PCMCIA=m
< CONFIG_CARDBUS=y
<
< #
< # PC-card bridges
< #
< CONFIG_YENTA=m
< CONFIG_PD6729=m
< CONFIG_I82092=m
< CONFIG_TCIC=m
< CONFIG_PCCARD_NONSTATIC=m
---
> # CONFIG_PCCARD is not set
211c206
< # CONFIG_IA32_AOUT is not set
---
> CONFIG_IA32_AOUT=y
216a212,277
> # Networking
> #
> CONFIG_NET=y
>
> #
> # Networking options
> #
> CONFIG_PACKET=y
> # CONFIG_PACKET_MMAP is not set
> CONFIG_UNIX=y
> # CONFIG_NET_KEY is not set
> CONFIG_INET=y
> CONFIG_IP_MULTICAST=y
> # CONFIG_IP_ADVANCED_ROUTER is not set
> CONFIG_IP_FIB_HASH=y
> # CONFIG_IP_PNP is not set
> # CONFIG_NET_IPIP is not set
> # CONFIG_NET_IPGRE is not set
> # CONFIG_IP_MROUTE is not set
> # CONFIG_ARPD is not set
> # CONFIG_SYN_COOKIES is not set
> # CONFIG_INET_AH is not set
> # CONFIG_INET_ESP is not set
> # CONFIG_INET_IPCOMP is not set
> # CONFIG_INET_TUNNEL is not set
> CONFIG_IP_TCPDIAG=y
> CONFIG_IP_TCPDIAG_IPV6=y
> # CONFIG_TCP_CONG_ADVANCED is not set
> CONFIG_TCP_CONG_BIC=y
> CONFIG_IPV6=y
> # CONFIG_IPV6_PRIVACY is not set
> # CONFIG_INET6_AH is not set
> # CONFIG_INET6_ESP is not set
> # CONFIG_INET6_IPCOMP is not set
> # CONFIG_INET6_TUNNEL is not set
> # CONFIG_IPV6_TUNNEL is not set
> # CONFIG_NETFILTER is not set
>
> #
> # SCTP Configuration (EXPERIMENTAL)
> #
> # CONFIG_IP_SCTP is not set
> # CONFIG_ATM is not set
> # CONFIG_BRIDGE is not set
> # CONFIG_VLAN_8021Q is not set
> # CONFIG_DECNET is not set
> # CONFIG_LLC2 is not set
> # CONFIG_IPX is not set
> # CONFIG_ATALK is not set
> # CONFIG_X25 is not set
> # CONFIG_LAPB is not set
> # CONFIG_NET_DIVERT is not set
> # CONFIG_ECONET is not set
> # CONFIG_WAN_ROUTER is not set
> # CONFIG_NET_SCHED is not set
> # CONFIG_NET_CLS_ROUTE is not set
>
> #
> # Network testing
> #
> # CONFIG_NET_PKTGEN is not set
> # CONFIG_HAMRADIO is not set
> # CONFIG_IRDA is not set
> # CONFIG_BT is not set
>
> #
225c286
< CONFIG_FW_LOADER=m
---
> # CONFIG_FW_LOADER is not set
236,244c297
< CONFIG_PARPORT=m
< CONFIG_PARPORT_PC=m
< CONFIG_PARPORT_SERIAL=m
< CONFIG_PARPORT_PC_FIFO=y
< CONFIG_PARPORT_PC_SUPERIO=y
< CONFIG_PARPORT_PC_PCMCIA=m
< CONFIG_PARPORT_NOT_PC=y
< # CONFIG_PARPORT_GSC is not set
< CONFIG_PARPORT_1284=y
---
> # CONFIG_PARPORT is not set
260,295c313,317
< CONFIG_BLK_DEV_FD=m
< CONFIG_PARIDE=m
< CONFIG_PARIDE_PARPORT=m
<
< #
< # Parallel IDE high-level drivers
< #
< CONFIG_PARIDE_PD=m
< CONFIG_PARIDE_PCD=m
< CONFIG_PARIDE_PF=m
< CONFIG_PARIDE_PT=m
< CONFIG_PARIDE_PG=m
<
< #
< # Parallel IDE protocol modules
< #
< CONFIG_PARIDE_ATEN=m
< CONFIG_PARIDE_BPCK=m
< CONFIG_PARIDE_COMM=m
< CONFIG_PARIDE_DSTR=m
< CONFIG_PARIDE_FIT2=m
< CONFIG_PARIDE_FIT3=m
< CONFIG_PARIDE_EPAT=m
< CONFIG_PARIDE_EPATC8=y
< CONFIG_PARIDE_EPIA=m
< CONFIG_PARIDE_FRIQ=m
< CONFIG_PARIDE_FRPW=m
< CONFIG_PARIDE_KBIC=m
< CONFIG_PARIDE_KTTI=m
< CONFIG_PARIDE_ON20=m
< CONFIG_PARIDE_ON26=m
< CONFIG_BLK_CPQ_DA=m
< CONFIG_BLK_CPQ_CISS_DA=m
< # CONFIG_CISS_SCSI_TAPE is not set
< CONFIG_BLK_DEV_DAC960=m
< CONFIG_BLK_DEV_UMEM=m
---
> CONFIG_BLK_DEV_FD=y
> # CONFIG_BLK_CPQ_DA is not set
> # CONFIG_BLK_CPQ_CISS_DA is not set
> # CONFIG_BLK_DEV_DAC960 is not set
> # CONFIG_BLK_DEV_UMEM is not set
299,300c321,322
< CONFIG_BLK_DEV_NBD=m
< CONFIG_BLK_DEV_SX8=m
---
> # CONFIG_BLK_DEV_NBD is not set
> # CONFIG_BLK_DEV_SX8 is not set
304c326
< CONFIG_BLK_DEV_RAM_SIZE=8192
---
> CONFIG_BLK_DEV_RAM_SIZE=4096
316c338
< # CONFIG_IOSCHED_CFQ is not set
---
> CONFIG_IOSCHED_CFQ=y
332d353
< CONFIG_BLK_DEV_IDECS=m
335c356
< CONFIG_BLK_DEV_IDEFLOPPY=m
---
> # CONFIG_BLK_DEV_IDEFLOPPY is not set
343,345c364,365
< CONFIG_BLK_DEV_CMD640=y
< CONFIG_BLK_DEV_CMD640_ENHANCED=y
< CONFIG_BLK_DEV_IDEPNP=y
---
> # CONFIG_BLK_DEV_CMD640 is not set
> # CONFIG_BLK_DEV_IDEPNP is not set
350,351c370,371
< CONFIG_BLK_DEV_OPTI621=y
< CONFIG_BLK_DEV_RZ1000=y
---
> # CONFIG_BLK_DEV_OPTI621 is not set
> # CONFIG_BLK_DEV_RZ1000 is not set
356,358c376,377
< CONFIG_BLK_DEV_AEC62XX=y
< CONFIG_BLK_DEV_ALI15X3=y
< # CONFIG_WDC_ALI15X3 is not set
---
> # CONFIG_BLK_DEV_AEC62XX is not set
> # CONFIG_BLK_DEV_ALI15X3 is not set
360,367c379,385
< CONFIG_BLK_DEV_ATIIXP=y
< CONFIG_BLK_DEV_CMD64X=y
< CONFIG_BLK_DEV_TRIFLEX=y
< CONFIG_BLK_DEV_CY82C693=y
< CONFIG_BLK_DEV_CS5520=y
< CONFIG_BLK_DEV_CS5530=y
< CONFIG_BLK_DEV_HPT34X=y
< # CONFIG_HPT34X_AUTODMA is not set
---
> # CONFIG_BLK_DEV_ATIIXP is not set
> # CONFIG_BLK_DEV_CMD64X is not set
> # CONFIG_BLK_DEV_TRIFLEX is not set
> # CONFIG_BLK_DEV_CY82C693 is not set
> # CONFIG_BLK_DEV_CS5520 is not set
> # CONFIG_BLK_DEV_CS5530 is not set
> # CONFIG_BLK_DEV_HPT34X is not set
369,374c387,391
< CONFIG_BLK_DEV_SC1200=y
< CONFIG_BLK_DEV_PIIX=y
< CONFIG_BLK_DEV_IT821X=y
< CONFIG_BLK_DEV_NS87415=y
< CONFIG_BLK_DEV_PDC202XX_OLD=y
< # CONFIG_PDC202XX_BURST is not set
---
> # CONFIG_BLK_DEV_SC1200 is not set
> # CONFIG_BLK_DEV_PIIX is not set
> # CONFIG_BLK_DEV_IT821X is not set
> # CONFIG_BLK_DEV_NS87415 is not set
> # CONFIG_BLK_DEV_PDC202XX_OLD is not set
377,382c394,399
< CONFIG_BLK_DEV_SVWKS=y
< CONFIG_BLK_DEV_SIIMAGE=m
< CONFIG_BLK_DEV_SIS5513=y
< CONFIG_BLK_DEV_SLC90E66=y
< CONFIG_BLK_DEV_TRM290=y
< CONFIG_BLK_DEV_VIA82CXXX=y
---
> # CONFIG_BLK_DEV_SVWKS is not set
> # CONFIG_BLK_DEV_SIIMAGE is not set
> # CONFIG_BLK_DEV_SIS5513 is not set
> # CONFIG_BLK_DEV_SLC90E66 is not set
> # CONFIG_BLK_DEV_TRM290 is not set
> # CONFIG_BLK_DEV_VIA82CXXX is not set
401,403c418,420
< CONFIG_BLK_DEV_SR=y
< CONFIG_BLK_DEV_SR_VENDOR=y
< CONFIG_CHR_DEV_SG=m
---
> # CONFIG_BLK_DEV_SR is not set
> # CONFIG_CHR_DEV_SG is not set
> # CONFIG_CHR_DEV_SCH is not set
415,416c432,433
< CONFIG_SCSI_SPI_ATTRS=m
< CONFIG_SCSI_FC_ATTRS=m
---
> # CONFIG_SCSI_SPI_ATTRS is not set
> # CONFIG_SCSI_FC_ATTRS is not set
422,431c439,443
< CONFIG_BLK_DEV_3W_XXXX_RAID=m
< CONFIG_SCSI_3W_9XXX=m
< CONFIG_SCSI_ACARD=m
< CONFIG_SCSI_AACRAID=m
< CONFIG_SCSI_AIC7XXX=m
< CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
< CONFIG_AIC7XXX_RESET_DELAY_MS=5000
< # CONFIG_AIC7XXX_DEBUG_ENABLE is not set
< CONFIG_AIC7XXX_DEBUG_MASK=0
< CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
---
> # CONFIG_BLK_DEV_3W_XXXX_RAID is not set
> # CONFIG_SCSI_3W_9XXX is not set
> # CONFIG_SCSI_ACARD is not set
> # CONFIG_SCSI_AACRAID is not set
> # CONFIG_SCSI_AIC7XXX is not set
433,443c445,447
< CONFIG_SCSI_AIC79XX=m
< CONFIG_AIC79XX_CMDS_PER_DEVICE=32
< CONFIG_AIC79XX_RESET_DELAY_MS=5000
< # CONFIG_AIC79XX_ENABLE_RD_STRM is not set
< # CONFIG_AIC79XX_DEBUG_ENABLE is not set
< CONFIG_AIC79XX_DEBUG_MASK=0
< # CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
< CONFIG_MEGARAID_NEWGEN=y
< CONFIG_MEGARAID_MM=m
< CONFIG_MEGARAID_MAILBOX=m
< CONFIG_MEGARAID_LEGACY=m
---
> # CONFIG_SCSI_AIC79XX is not set
> # CONFIG_MEGARAID_NEWGEN is not set
> # CONFIG_MEGARAID_LEGACY is not set
445,484c449,472
< CONFIG_SCSI_SATA_AHCI=m
< CONFIG_SCSI_SATA_SVW=m
< CONFIG_SCSI_ATA_PIIX=m
< CONFIG_SCSI_SATA_NV=m
< CONFIG_SCSI_SATA_PROMISE=m
< CONFIG_SCSI_SATA_QSTOR=m
< CONFIG_SCSI_SATA_SX4=m
< CONFIG_SCSI_SATA_SIL=m
< CONFIG_SCSI_SATA_SIS=m
< CONFIG_SCSI_SATA_ULI=m
< CONFIG_SCSI_SATA_VIA=m
< CONFIG_SCSI_SATA_VITESSE=m
< CONFIG_SCSI_BUSLOGIC=m
< # CONFIG_SCSI_OMIT_FLASHPOINT is not set
< CONFIG_SCSI_DMX3191D=m
< CONFIG_SCSI_EATA=m
< CONFIG_SCSI_EATA_TAGGED_QUEUE=y
< CONFIG_SCSI_EATA_LINKED_COMMANDS=y
< CONFIG_SCSI_EATA_MAX_TAGS=16
< CONFIG_SCSI_FUTURE_DOMAIN=m
< CONFIG_SCSI_GDTH=m
< CONFIG_SCSI_IPS=m
< CONFIG_SCSI_INITIO=m
< CONFIG_SCSI_INIA100=m
< CONFIG_SCSI_PPA=m
< CONFIG_SCSI_IMM=m
< # CONFIG_SCSI_IZIP_EPP16 is not set
< # CONFIG_SCSI_IZIP_SLOW_CTR is not set
< CONFIG_SCSI_SYM53C8XX_2=m
< CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
< CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
< CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
< # CONFIG_SCSI_SYM53C8XX_IOMAPPED is not set
< CONFIG_SCSI_IPR=m
< # CONFIG_SCSI_IPR_TRACE is not set
< # CONFIG_SCSI_IPR_DUMP is not set
< CONFIG_SCSI_QLOGIC_FC=m
< # CONFIG_SCSI_QLOGIC_FC_FIRMWARE is not set
< CONFIG_SCSI_QLOGIC_1280=m
< CONFIG_SCSI_QLOGIC_1280_1040=y
---
> # CONFIG_SCSI_SATA_AHCI is not set
> # CONFIG_SCSI_SATA_SVW is not set
> # CONFIG_SCSI_ATA_PIIX is not set
> # CONFIG_SCSI_SATA_NV is not set
> CONFIG_SCSI_SATA_PROMISE=y
> # CONFIG_SCSI_SATA_QSTOR is not set
> # CONFIG_SCSI_SATA_SX4 is not set
> # CONFIG_SCSI_SATA_SIL is not set
> # CONFIG_SCSI_SATA_SIS is not set
> # CONFIG_SCSI_SATA_ULI is not set
> CONFIG_SCSI_SATA_VIA=y
> # CONFIG_SCSI_SATA_VITESSE is not set
> # CONFIG_SCSI_BUSLOGIC is not set
> # CONFIG_SCSI_DMX3191D is not set
> # CONFIG_SCSI_EATA is not set
> # CONFIG_SCSI_FUTURE_DOMAIN is not set
> # CONFIG_SCSI_GDTH is not set
> # CONFIG_SCSI_IPS is not set
> # CONFIG_SCSI_INITIO is not set
> # CONFIG_SCSI_INIA100 is not set
> # CONFIG_SCSI_SYM53C8XX_2 is not set
> # CONFIG_SCSI_IPR is not set
> # CONFIG_SCSI_QLOGIC_FC is not set
> # CONFIG_SCSI_QLOGIC_1280 is not set
486,493c474,482
< CONFIG_SCSI_QLA21XX=m
< CONFIG_SCSI_QLA22XX=m
< CONFIG_SCSI_QLA2300=m
< CONFIG_SCSI_QLA2322=m
< CONFIG_SCSI_QLA6312=m
< CONFIG_SCSI_LPFC=m
< CONFIG_SCSI_DC395x=m
< CONFIG_SCSI_DC390T=m
---
> # CONFIG_SCSI_QLA21XX is not set
> # CONFIG_SCSI_QLA22XX is not set
> # CONFIG_SCSI_QLA2300 is not set
> # CONFIG_SCSI_QLA2322 is not set
> # CONFIG_SCSI_QLA6312 is not set
> # CONFIG_SCSI_QLA24XX is not set
> # CONFIG_SCSI_LPFC is not set
> # CONFIG_SCSI_DC395x is not set
> # CONFIG_SCSI_DC390T is not set
497,503d485
< # PCMCIA SCSI adapter support
< #
< CONFIG_PCMCIA_FDOMAIN=m
< CONFIG_PCMCIA_QLOGIC=m
< CONFIG_PCMCIA_SYM53C500=m
<
< #
507c489
< CONFIG_BLK_DEV_MD=m
---
> CONFIG_BLK_DEV_MD=y
510c492
< CONFIG_MD_RAID1=m
---
> CONFIG_MD_RAID1=y
516c498
< CONFIG_BLK_DEV_DM=m
---
> CONFIG_BLK_DEV_DM=y
528,531c510,512
< CONFIG_FUSION=m
< CONFIG_FUSION_MAX_SGE=40
< CONFIG_FUSION_CTL=m
< CONFIG_FUSION_LAN=m
---
> # CONFIG_FUSION is not set
> # CONFIG_FUSION_SPI is not set
> # CONFIG_FUSION_FC is not set
536c517
< CONFIG_IEEE1394=m
---
> CONFIG_IEEE1394=y
543,544c524,525
< CONFIG_IEEE1394_EXTRA_CONFIG_ROMS=y
< CONFIG_IEEE1394_CONFIG_ROM_IP1394=y
---
> # CONFIG_IEEE1394_EXTRA_CONFIG_ROMS is not set
> # CONFIG_IEEE1394_EXPORT_FULL_API is not set
553c534
< CONFIG_IEEE1394_OHCI1394=m
---
> # CONFIG_IEEE1394_OHCI1394 is not set
558,565c539,542
< CONFIG_IEEE1394_VIDEO1394=m
< CONFIG_IEEE1394_SBP2=m
< # CONFIG_IEEE1394_SBP2_PHYS_DMA is not set
< CONFIG_IEEE1394_ETH1394=m
< CONFIG_IEEE1394_DV1394=m
< CONFIG_IEEE1394_RAWIO=m
< CONFIG_IEEE1394_CMP=m
< # CONFIG_IEEE1394_AMDTP is not set
---
> # CONFIG_IEEE1394_SBP2 is not set
> # CONFIG_IEEE1394_ETH1394 is not set
> # CONFIG_IEEE1394_RAWIO is not set
> # CONFIG_IEEE1394_CMP is not set
570,638c547
< CONFIG_I2O=m
< CONFIG_I2O_CONFIG=m
< CONFIG_I2O_BLOCK=m
< CONFIG_I2O_SCSI=m
< CONFIG_I2O_PROC=m
<
< #
< # Networking support
< #
< CONFIG_NET=y
<
< #
< # Networking options
< #
< CONFIG_PACKET=y
< # CONFIG_PACKET_MMAP is not set
< CONFIG_UNIX=y
< # CONFIG_NET_KEY is not set
< CONFIG_INET=y
< # CONFIG_IP_MULTICAST is not set
< # CONFIG_IP_ADVANCED_ROUTER is not set
< # CONFIG_IP_PNP is not set
< # CONFIG_NET_IPIP is not set
< # CONFIG_NET_IPGRE is not set
< # CONFIG_ARPD is not set
< # CONFIG_SYN_COOKIES is not set
< # CONFIG_INET_AH is not set
< # CONFIG_INET_ESP is not set
< # CONFIG_INET_IPCOMP is not set
< # CONFIG_INET_TUNNEL is not set
< CONFIG_IP_TCPDIAG=y
< # CONFIG_IP_TCPDIAG_IPV6 is not set
< CONFIG_IPV6=m
< CONFIG_IPV6_PRIVACY=y
< CONFIG_INET6_AH=m
< CONFIG_INET6_ESP=m
< CONFIG_INET6_IPCOMP=m
< CONFIG_INET6_TUNNEL=m
< CONFIG_IPV6_TUNNEL=m
< # CONFIG_NETFILTER is not set
< CONFIG_XFRM=y
< # CONFIG_XFRM_USER is not set
<
< #
< # SCTP Configuration (EXPERIMENTAL)
< #
< # CONFIG_IP_SCTP is not set
< CONFIG_ATM=m
< # CONFIG_ATM_CLIP is not set
< # CONFIG_ATM_LANE is not set
< # CONFIG_ATM_BR2684 is not set
< # CONFIG_BRIDGE is not set
< CONFIG_VLAN_8021Q=m
< # CONFIG_DECNET is not set
< CONFIG_LLC=y
< # CONFIG_LLC2 is not set
< # CONFIG_IPX is not set
< # CONFIG_ATALK is not set
< # CONFIG_X25 is not set
< # CONFIG_LAPB is not set
< # CONFIG_NET_DIVERT is not set
< # CONFIG_ECONET is not set
< # CONFIG_WAN_ROUTER is not set
<
< #
< # QoS and/or fair queueing
< #
< # CONFIG_NET_SCHED is not set
< # CONFIG_NET_CLS_ROUTE is not set
---
> # CONFIG_I2O is not set
641c550
< # Network testing
---
> # Network device support
643,675d551
< # CONFIG_NET_PKTGEN is not set
< # CONFIG_NETPOLL is not set
< # CONFIG_NET_POLL_CONTROLLER is not set
< # CONFIG_HAMRADIO is not set
< # CONFIG_IRDA is not set
< CONFIG_BT=m
< CONFIG_BT_L2CAP=m
< CONFIG_BT_SCO=m
< CONFIG_BT_RFCOMM=m
< CONFIG_BT_RFCOMM_TTY=y
< CONFIG_BT_BNEP=m
< CONFIG_BT_BNEP_MC_FILTER=y
< CONFIG_BT_BNEP_PROTO_FILTER=y
< # CONFIG_BT_CMTP is not set
< CONFIG_BT_HIDP=m
<
< #
< # Bluetooth device drivers
< #
< CONFIG_BT_HCIUSB=m
< CONFIG_BT_HCIUSB_SCO=y
< CONFIG_BT_HCIUART=m
< CONFIG_BT_HCIUART_H4=y
< CONFIG_BT_HCIUART_BCSP=y
< CONFIG_BT_HCIUART_BCSP_TXCRC=y
< CONFIG_BT_HCIBCM203X=m
< CONFIG_BT_HCIBPA10X=m
< CONFIG_BT_HCIBFUSB=m
< CONFIG_BT_HCIDTL1=m
< CONFIG_BT_HCIBT3C=m
< CONFIG_BT_HCIBLUECARD=m
< CONFIG_BT_HCIBTUART=m
< CONFIG_BT_HCIVHCI=m
680,681c556,557
< # CONFIG_TUN is not set
< CONFIG_NET_SB1000=m
---
> CONFIG_TUN=y
> # CONFIG_NET_SB1000 is not set
691,739c567
< CONFIG_NET_ETHERNET=y
< CONFIG_MII=m
< CONFIG_HAPPYMEAL=m
< CONFIG_SUNGEM=m
< CONFIG_NET_VENDOR_3COM=y
< CONFIG_VORTEX=m
< CONFIG_TYPHOON=m
<
< #
< # Tulip family network device support
< #
< CONFIG_NET_TULIP=y
< CONFIG_DE2104X=m
< CONFIG_TULIP=m
< CONFIG_TULIP_MWI=y
< CONFIG_TULIP_MMIO=y
< CONFIG_TULIP_NAPI=y
< CONFIG_TULIP_NAPI_HW_MITIGATION=y
< CONFIG_DE4X5=m
< CONFIG_WINBOND_840=m
< CONFIG_DM9102=m
< CONFIG_PCMCIA_XIRCOM=m
< CONFIG_HP100=m
< CONFIG_NET_PCI=y
< CONFIG_PCNET32=m
< CONFIG_AMD8111_ETH=m
< # CONFIG_AMD8111E_NAPI is not set
< CONFIG_ADAPTEC_STARFIRE=m
< # CONFIG_ADAPTEC_STARFIRE_NAPI is not set
< CONFIG_B44=m
< CONFIG_FORCEDETH=m
< CONFIG_DGRS=m
< # CONFIG_EEPRO100 is not set
< CONFIG_E100=m
< CONFIG_FEALNX=m
< CONFIG_NATSEMI=m
< CONFIG_NE2K_PCI=m
< CONFIG_8139CP=m
< CONFIG_8139TOO=m
< # CONFIG_8139TOO_PIO is not set
< CONFIG_8139TOO_TUNE_TWISTER=y
< CONFIG_8139TOO_8129=y
< # CONFIG_8139_OLD_RX_RESET is not set
< CONFIG_SIS900=m
< CONFIG_EPIC100=m
< CONFIG_SUNDANCE=m
< CONFIG_SUNDANCE_MMIO=y
< CONFIG_VIA_RHINE=m
< CONFIG_VIA_RHINE_MMIO=y
---
> # CONFIG_NET_ETHERNET is not set
744,759c572,582
< CONFIG_ACENIC=m
< # CONFIG_ACENIC_OMIT_TIGON_I is not set
< CONFIG_DL2K=m
< CONFIG_E1000=m
< # CONFIG_E1000_NAPI is not set
< CONFIG_NS83820=m
< CONFIG_HAMACHI=m
< CONFIG_YELLOWFIN=m
< CONFIG_R8169=m
< # CONFIG_R8169_NAPI is not set
< CONFIG_R8169_VLAN=y
< CONFIG_SKGE=m
< CONFIG_SK98LIN=m
< CONFIG_VIA_VELOCITY=m
< CONFIG_TIGON3=m
< CONFIG_BNX2=m
---
> # CONFIG_ACENIC is not set
> # CONFIG_DL2K is not set
> # CONFIG_E1000 is not set
> # CONFIG_NS83820 is not set
> # CONFIG_HAMACHI is not set
> # CONFIG_YELLOWFIN is not set
> # CONFIG_R8169 is not set
> CONFIG_SKGE=y
> # CONFIG_SK98LIN is not set
> # CONFIG_TIGON3 is not set
> # CONFIG_BNX2 is not set
764,765c587
< CONFIG_IXGB=m
< # CONFIG_IXGB_NAPI is not set
---
> # CONFIG_IXGB is not set
773,778c595
< CONFIG_TR=y
< CONFIG_IBMOL=m
< CONFIG_3C359=m
< CONFIG_TMS380TR=m
< CONFIG_TMSPCI=m
< CONFIG_ABYSS=m
---
> # CONFIG_TR is not set
783,828c600
< CONFIG_NET_RADIO=y
<
< #
< # Obsolete Wireless cards support (pre-802.11)
< #
< CONFIG_STRIP=m
< CONFIG_PCMCIA_WAVELAN=m
< CONFIG_PCMCIA_NETWAVE=m
<
< #
< # Wireless 802.11 Frequency Hopping cards support
< #
< CONFIG_PCMCIA_RAYCS=m
<
< #
< # Wireless 802.11b ISA/PCI cards support
< #
< # CONFIG_HERMES is not set
< CONFIG_ATMEL=m
< CONFIG_PCI_ATMEL=m
<
< #
< # Wireless 802.11b Pcmcia/Cardbus cards support
< #
< CONFIG_AIRO_CS=m
< CONFIG_PCMCIA_ATMEL=m
< CONFIG_PCMCIA_WL3501=m
<
< #
< # Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
< #
< CONFIG_PRISM54=m
< CONFIG_NET_WIRELESS=y
<
< #
< # PCMCIA network device support
< #
< CONFIG_NET_PCMCIA=y
< CONFIG_PCMCIA_3C589=m
< CONFIG_PCMCIA_3C574=m
< CONFIG_PCMCIA_FMVJ18X=m
< CONFIG_PCMCIA_PCNET=m
< CONFIG_PCMCIA_NMCLAN=m
< CONFIG_PCMCIA_SMC91C92=m
< CONFIG_PCMCIA_XIRC2PS=m
< CONFIG_PCMCIA_AXNET=m
---
> # CONFIG_NET_RADIO is not set
833,893c605,610
< CONFIG_WAN=y
< CONFIG_DSCC4=m
< CONFIG_DSCC4_PCISYNC=y
< CONFIG_DSCC4_PCI_RST=y
< CONFIG_LANMEDIA=m
< CONFIG_SYNCLINK_SYNCPPP=m
< CONFIG_HDLC=m
< CONFIG_HDLC_RAW=y
< CONFIG_HDLC_RAW_ETH=y
< CONFIG_HDLC_CISCO=y
< CONFIG_HDLC_FR=y
< CONFIG_HDLC_PPP=y
<
< #
< # X.25/LAPB support is disabled
< #
< CONFIG_PCI200SYN=m
< CONFIG_WANXL=m
< CONFIG_PC300=m
< CONFIG_PC300_MLPPP=y
< CONFIG_FARSYNC=m
< CONFIG_DLCI=m
< CONFIG_DLCI_COUNT=24
< CONFIG_DLCI_MAX=8
< CONFIG_SBNI=m
< CONFIG_SBNI_MULTILINE=y
<
< #
< # ATM drivers
< #
< # CONFIG_ATM_TCP is not set
< # CONFIG_ATM_LANAI is not set
< # CONFIG_ATM_ENI is not set
< # CONFIG_ATM_FIRESTREAM is not set
< # CONFIG_ATM_ZATM is not set
< # CONFIG_ATM_IDT77252 is not set
< # CONFIG_ATM_AMBASSADOR is not set
< # CONFIG_ATM_HORIZON is not set
< # CONFIG_ATM_FORE200E_MAYBE is not set
< # CONFIG_ATM_HE is not set
< CONFIG_FDDI=y
< CONFIG_DEFXX=m
< CONFIG_SKFP=m
< CONFIG_HIPPI=y
< CONFIG_ROADRUNNER=m
< # CONFIG_ROADRUNNER_LARGE_RINGS is not set
< CONFIG_PLIP=m
< CONFIG_PPP=m
< CONFIG_PPP_MULTILINK=y
< CONFIG_PPP_FILTER=y
< CONFIG_PPP_ASYNC=m
< CONFIG_PPP_SYNC_TTY=m
< CONFIG_PPP_DEFLATE=m
< CONFIG_PPP_BSDCOMP=m
< CONFIG_PPPOE=m
< CONFIG_PPPOATM=m
< CONFIG_SLIP=m
< CONFIG_SLIP_COMPRESSED=y
< CONFIG_SLIP_SMART=y
< CONFIG_SLIP_MODE_SLIP6=y
< CONFIG_NET_FC=y
---
> # CONFIG_WAN is not set
> # CONFIG_FDDI is not set
> # CONFIG_HIPPI is not set
> # CONFIG_PPP is not set
> # CONFIG_SLIP is not set
> # CONFIG_NET_FC is not set
895c612,616
< # CONFIG_NETCONSOLE is not set
---
> CONFIG_NETCONSOLE=y
> CONFIG_NETPOLL=y
> # CONFIG_NETPOLL_RX is not set
> # CONFIG_NETPOLL_TRAP is not set
> CONFIG_NET_POLL_CONTROLLER=y
900,941c621
< CONFIG_ISDN=m
<
< #
< # Old ISDN4Linux
< #
< # CONFIG_ISDN_I4L is not set
<
< #
< # CAPI subsystem
< #
< CONFIG_ISDN_CAPI=m
< # CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON is not set
< CONFIG_ISDN_CAPI_MIDDLEWARE=y
< CONFIG_ISDN_CAPI_CAPI20=m
< CONFIG_ISDN_CAPI_CAPIFS_BOOL=y
< CONFIG_ISDN_CAPI_CAPIFS=m
<
< #
< # CAPI hardware drivers
< #
<
< #
< # Active AVM cards
< #
< CONFIG_CAPI_AVM=y
< CONFIG_ISDN_DRV_AVMB1_B1PCI=m
< CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
< CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
< CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
< CONFIG_ISDN_DRV_AVMB1_T1PCI=m
< CONFIG_ISDN_DRV_AVMB1_C4=m
<
< #
< # Active Eicon DIVA Server cards
< #
< CONFIG_CAPI_EICON=y
< CONFIG_ISDN_DIVAS=m
< CONFIG_ISDN_DIVAS_BRIPCI=y
< CONFIG_ISDN_DIVAS_PRIPCI=y
< CONFIG_ISDN_DIVAS_DIVACAPI=m
< CONFIG_ISDN_DIVAS_USERIDI=m
< CONFIG_ISDN_DIVAS_MAINT=m
---
> # CONFIG_ISDN is not set
970,973c650,653
< CONFIG_KEYBOARD_SUNKBD=m
< CONFIG_KEYBOARD_LKKBD=m
< CONFIG_KEYBOARD_XTKBD=m
< CONFIG_KEYBOARD_NEWTON=m
---
> # CONFIG_KEYBOARD_SUNKBD is not set
> # CONFIG_KEYBOARD_LKKBD is not set
> # CONFIG_KEYBOARD_XTKBD is not set
> # CONFIG_KEYBOARD_NEWTON is not set
976c656
< CONFIG_MOUSE_SERIAL=m
---
> # CONFIG_MOUSE_SERIAL is not set
980,982c660
< CONFIG_INPUT_MISC=y
< CONFIG_INPUT_PCSPKR=m
< # CONFIG_INPUT_UINPUT is not set
---
> # CONFIG_INPUT_MISC is not set
989,992c667,669
< CONFIG_SERIO_SERPORT=m
< CONFIG_SERIO_CT82C710=m
< CONFIG_SERIO_PARKBD=m
< CONFIG_SERIO_PCIPS2=m
---
> # CONFIG_SERIO_SERPORT is not set
> # CONFIG_SERIO_CT82C710 is not set
> # CONFIG_SERIO_PCIPS2 is not set
1010,1011c687
< CONFIG_SERIAL_8250_CS=m
< CONFIG_SERIAL_8250_ACPI=y
---
> # CONFIG_SERIAL_8250_ACPI is not set
1013,1018c689
< CONFIG_SERIAL_8250_EXTENDED=y
< CONFIG_SERIAL_8250_MANY_PORTS=y
< CONFIG_SERIAL_8250_SHARE_IRQ=y
< # CONFIG_SERIAL_8250_DETECT_IRQ is not set
< CONFIG_SERIAL_8250_MULTIPORT=y
< CONFIG_SERIAL_8250_RSA=y
---
> # CONFIG_SERIAL_8250_EXTENDED is not set
1027,1030c698,699
< # CONFIG_LEGACY_PTYS is not set
< # CONFIG_PRINTER is not set
< CONFIG_PPDEV=m
< # CONFIG_TIPAR is not set
---
> CONFIG_LEGACY_PTYS=y
> CONFIG_LEGACY_PTY_COUNT=256
1041,1042c710,711
< # CONFIG_HW_RANDOM is not set
< CONFIG_NVRAM=m
---
> CONFIG_HW_RANDOM=y
> # CONFIG_NVRAM is not set
1050c719,722
< # CONFIG_AGP is not set
---
> # CONFIG_FTAPE is not set
> CONFIG_AGP=y
> CONFIG_AGP_AMD64=y
> # CONFIG_AGP_INTEL is not set
1052,1059c724,729
<
< #
< # PCMCIA character devices
< #
< # CONFIG_SYNCLINK_CS is not set
< CONFIG_MWAVE=m
< # CONFIG_RAW_DRIVER is not set
< # CONFIG_HPET is not set
---
> # CONFIG_MWAVE is not set
> CONFIG_RAW_DRIVER=y
> CONFIG_HPET=y
> # CONFIG_HPET_RTC_IRQ is not set
> CONFIG_HPET_MMAP=y
> CONFIG_MAX_RAW_DEVS=256
1070a741
> # CONFIG_I2C_SENSOR is not set
1077a749,754
> # Hardware Monitoring support
> #
> CONFIG_HWMON=y
> # CONFIG_HWMON_DEBUG_CHIP is not set
>
> #
1095,1111c772
< CONFIG_FB=y
< CONFIG_FB_CFB_FILLRECT=y
< CONFIG_FB_CFB_COPYAREA=y
< CONFIG_FB_CFB_IMAGEBLIT=y
< CONFIG_FB_SOFT_CURSOR=y
< # CONFIG_FB_MACMODES is not set
< # CONFIG_FB_MODE_HELPERS is not set
< # CONFIG_FB_TILEBLITTING is not set
< # CONFIG_FB_CIRRUS is not set
< # CONFIG_FB_PM2 is not set
< # CONFIG_FB_CYBER2000 is not set
< # CONFIG_FB_ASILIANT is not set
< # CONFIG_FB_IMSTT is not set
< # CONFIG_FB_VGA16 is not set
< CONFIG_FB_VESA=y
< CONFIG_FB_VESA_STD=y
< # CONFIG_FB_VESA_TNG is not set
---
> # CONFIG_FB is not set
1113,1130d773
< # CONFIG_FB_HGA is not set
< # CONFIG_FB_NVIDIA is not set
< # CONFIG_FB_RIVA is not set
< # CONFIG_FB_MATROX is not set
< # CONFIG_FB_RADEON_OLD is not set
< # CONFIG_FB_RADEON is not set
< # CONFIG_FB_ATY128 is not set
< # CONFIG_FB_ATY is not set
< # CONFIG_FB_SAVAGE is not set
< # CONFIG_FB_SIS is not set
< # CONFIG_FB_NEOMAGIC is not set
< # CONFIG_FB_KYRO is not set
< # CONFIG_FB_3DFX is not set
< # CONFIG_FB_VOODOO1 is not set
< # CONFIG_FB_TRIDENT is not set
< # CONFIG_FB_GEODE is not set
< # CONFIG_FB_S1D13XXX is not set
< # CONFIG_FB_VIRTUAL is not set
1137,1147d779
< CONFIG_FRAMEBUFFER_CONSOLE=y
< # CONFIG_FONTS is not set
< CONFIG_FONT_8x8=y
< CONFIG_FONT_8x16=y
<
< #
< # Logo configuration
< #
< # CONFIG_LOGO is not set
< # CONFIG_BACKLIGHT_LCD_SUPPORT is not set
< CONFIG_FB_SPLASH=y
1152,1170c784
< CONFIG_SPEAKUP=y
< CONFIG_SPEAKUP_ACNTSA=y
< CONFIG_SPEAKUP_ACNTPC=y
< CONFIG_SPEAKUP_APOLLO=y
< CONFIG_SPEAKUP_AUDPTR=y
< CONFIG_SPEAKUP_BNS=y
< CONFIG_SPEAKUP_DECTLK=y
< CONFIG_SPEAKUP_DECEXT=y
< # CONFIG_SPEAKUP_DECPC is not set
< CONFIG_SPEAKUP_DTLK=y
< CONFIG_SPEAKUP_KEYPC=y
< CONFIG_SPEAKUP_LTLK=y
< CONFIG_SPEAKUP_SFTSYN=y
< CONFIG_SPEAKUP_SPKOUT=y
< CONFIG_SPEAKUP_TXPRT=y
<
< #
< # Enter the 3 to 6 character keyword from the list above, or none for no default synthesizer on boot up.
< #
---
> # CONFIG_SPEAKUP is not set
1176,1186c790
< CONFIG_SOUND=y
<
< #
< # Advanced Linux Sound Architecture
< #
< # CONFIG_SND is not set
<
< #
< # Open Sound System
< #
< # CONFIG_SOUND_PRIME is not set
---
> # CONFIG_SOUND is not set
1193c797
< CONFIG_USB=m
---
> CONFIG_USB=y
1208c812
< CONFIG_USB_EHCI_HCD=m
---
> CONFIG_USB_EHCI_HCD=y
1211c815,816
< CONFIG_USB_OHCI_HCD=m
---
> # CONFIG_USB_ISP116X_HCD is not set
> CONFIG_USB_OHCI_HCD=y
1214,1216c819,820
< CONFIG_USB_UHCI_HCD=m
< CONFIG_USB_SL811_HCD=m
< CONFIG_USB_SL811_CS=m
---
> CONFIG_USB_UHCI_HCD=y
> CONFIG_USB_SL811_HCD=y
1221,1228c825,827
< CONFIG_USB_AUDIO=m
<
< #
< # USB Bluetooth TTY can only be used with disabled Bluetooth subsystem
< #
< # CONFIG_USB_MIDI is not set
< CONFIG_USB_ACM=m
< # CONFIG_USB_PRINTER is not set
---
> # CONFIG_USB_BLUETOOTH_TTY is not set
> # CONFIG_USB_ACM is not set
> CONFIG_USB_PRINTER=y
1233c832
< CONFIG_USB_STORAGE=m
---
> CONFIG_USB_STORAGE=y
1235,1242c834,841
< CONFIG_USB_STORAGE_DATAFAB=y
< CONFIG_USB_STORAGE_FREECOM=y
< CONFIG_USB_STORAGE_ISD200=y
< CONFIG_USB_STORAGE_DPCM=y
< CONFIG_USB_STORAGE_USBAT=y
< CONFIG_USB_STORAGE_SDDR09=y
< CONFIG_USB_STORAGE_SDDR55=y
< CONFIG_USB_STORAGE_JUMPSHOT=y
---
> # CONFIG_USB_STORAGE_DATAFAB is not set
> # CONFIG_USB_STORAGE_FREECOM is not set
> # CONFIG_USB_STORAGE_ISD200 is not set
> # CONFIG_USB_STORAGE_DPCM is not set
> # CONFIG_USB_STORAGE_USBAT is not set
> # CONFIG_USB_STORAGE_SDDR09 is not set
> # CONFIG_USB_STORAGE_SDDR55 is not set
> # CONFIG_USB_STORAGE_JUMPSHOT is not set
1247,1250c846
< CONFIG_USB_HID=m
< CONFIG_USB_HIDINPUT=y
< # CONFIG_HID_FF is not set
< CONFIG_USB_HIDDEV=y
---
> # CONFIG_USB_HID is not set
1257,1259c853,856
< CONFIG_USB_AIPTEK=m
< CONFIG_USB_WACOM=m
< CONFIG_USB_KBTAB=m
---
> # CONFIG_USB_AIPTEK is not set
> # CONFIG_USB_WACOM is not set
> # CONFIG_USB_ACECAD is not set
> # CONFIG_USB_KBTAB is not set
1261,1264c858,863
< CONFIG_USB_MTOUCH=m
< CONFIG_USB_EGALAX=m
< CONFIG_USB_XPAD=m
< CONFIG_USB_ATI_REMOTE=m
---
> # CONFIG_USB_MTOUCH is not set
> # CONFIG_USB_ITMTOUCH is not set
> # CONFIG_USB_EGALAX is not set
> # CONFIG_USB_XPAD is not set
> # CONFIG_USB_ATI_REMOTE is not set
> # CONFIG_USB_KEYSPAN_REMOTE is not set
1284,1314c883,888
< CONFIG_USB_CATC=m
< CONFIG_USB_KAWETH=m
< CONFIG_USB_PEGASUS=m
< CONFIG_USB_RTL8150=m
< CONFIG_USB_USBNET=m
<
< #
< # USB Host-to-Host Cables
< #
< CONFIG_USB_ALI_M5632=y
< CONFIG_USB_AN2720=y
< CONFIG_USB_BELKIN=y
< CONFIG_USB_GENESYS=y
< CONFIG_USB_NET1080=y
< CONFIG_USB_PL2301=y
< CONFIG_USB_KC2190=y
<
< #
< # Intelligent USB Devices/Gadgets
< #
< # CONFIG_USB_ARMLINUX is not set
< # CONFIG_USB_EPSON2888 is not set
< # CONFIG_USB_ZAURUS is not set
< CONFIG_USB_CDCETHER=y
<
< #
< # USB Network Adapters
< #
< CONFIG_USB_AX8817X=y
< CONFIG_USB_ZD1201=m
< # CONFIG_USB_MON is not set
---
> # CONFIG_USB_CATC is not set
> # CONFIG_USB_KAWETH is not set
> # CONFIG_USB_PEGASUS is not set
> # CONFIG_USB_RTL8150 is not set
> # CONFIG_USB_USBNET is not set
> CONFIG_USB_MON=y
1319d892
< CONFIG_USB_USS720=m
1324,1352c897
< CONFIG_USB_SERIAL=m
< CONFIG_USB_SERIAL_GENERIC=y
< CONFIG_USB_SERIAL_AIRPRIME=m
< # CONFIG_USB_SERIAL_BELKIN is not set
< # CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
< CONFIG_USB_SERIAL_CP2101=m
< # CONFIG_USB_SERIAL_CYPRESS_M8 is not set
< # CONFIG_USB_SERIAL_EMPEG is not set
< # CONFIG_USB_SERIAL_FTDI_SIO is not set
< # CONFIG_USB_SERIAL_VISOR is not set
< # CONFIG_USB_SERIAL_IPAQ is not set
< # CONFIG_USB_SERIAL_IR is not set
< # CONFIG_USB_SERIAL_EDGEPORT is not set
< # CONFIG_USB_SERIAL_EDGEPORT_TI is not set
< # CONFIG_USB_SERIAL_GARMIN is not set
< CONFIG_USB_SERIAL_IPW=m
< # CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
< # CONFIG_USB_SERIAL_KEYSPAN is not set
< # CONFIG_USB_SERIAL_KLSI is not set
< # CONFIG_USB_SERIAL_KOBIL_SCT is not set
< # CONFIG_USB_SERIAL_MCT_U232 is not set
< # CONFIG_USB_SERIAL_PL2303 is not set
< # CONFIG_USB_SERIAL_HP4X is not set
< # CONFIG_USB_SERIAL_SAFE is not set
< # CONFIG_USB_SERIAL_TI is not set
< # CONFIG_USB_SERIAL_CYBERJACK is not set
< # CONFIG_USB_SERIAL_XIRCOM is not set
< CONFIG_USB_SERIAL_OPTION=m
< CONFIG_USB_SERIAL_OMNINET=m
---
> # CONFIG_USB_SERIAL is not set
1359c904
< CONFIG_USB_AUERSWALD=m
---
> # CONFIG_USB_AUERSWALD is not set
1368c913,914
< CONFIG_USB_SISUSBVGA=m
---
> # CONFIG_USB_SISUSBVGA is not set
> # CONFIG_USB_LD is not set
1372c918
< # USB ATM/DSL drivers
---
> # USB DSL modem support
1374,1375d919
< CONFIG_USB_ATM=m
< CONFIG_USB_SPEEDTOUCH=m
1385,1388c929
< CONFIG_MMC=m
< # CONFIG_MMC_DEBUG is not set
< CONFIG_MMC_BLOCK=m
< CONFIG_MMC_WBSD=m
---
> # CONFIG_MMC is not set
1393,1397c934,938
< CONFIG_INFINIBAND=m
< CONFIG_INFINIBAND_MTHCA=m
< # CONFIG_INFINIBAND_MTHCA_DEBUG is not set
< CONFIG_INFINIBAND_IPOIB=m
< # CONFIG_INFINIBAND_IPOIB_DEBUG is not set
---
> # CONFIG_INFINIBAND is not set
>
> #
> # SN Devices
> #
1410a952
> # CONFIG_EXT2_FS_XIP is not set
1424,1428c966
< CONFIG_JFS_FS=m
< CONFIG_JFS_POSIX_ACL=y
< # CONFIG_JFS_SECURITY is not set
< # CONFIG_JFS_DEBUG is not set
< # CONFIG_JFS_STATISTICS is not set
---
> # CONFIG_JFS_FS is not set
1434,1439c972
< CONFIG_XFS_FS=y
< CONFIG_XFS_EXPORT=y
< CONFIG_XFS_RT=y
< CONFIG_XFS_QUOTA=y
< CONFIG_XFS_SECURITY=y
< CONFIG_XFS_POSIX_ACL=y
---
> # CONFIG_XFS_FS is not set
1444d976
< CONFIG_QUOTACTL=y
1446c978
< # CONFIG_AUTOFS_FS is not set
---
> CONFIG_AUTOFS_FS=y
1463c995
< CONFIG_MSDOS_FS=m
---
> CONFIG_MSDOS_FS=y
1467,1469c999
< CONFIG_NTFS_FS=m
< # CONFIG_NTFS_DEBUG is not set
< # CONFIG_NTFS_RW is not set
---
> # CONFIG_NTFS_FS is not set
1477d1006
< # CONFIG_DEVFS_FS is not set
1480,1483c1009,1011
< CONFIG_TMPFS_XATTR=y
< CONFIG_TMPFS_SECURITY=y
< # CONFIG_HUGETLBFS is not set
< # CONFIG_HUGETLB_PAGE is not set
---
> # CONFIG_TMPFS_XATTR is not set
> CONFIG_HUGETLBFS=y
> CONFIG_HUGETLB_PAGE=y
1497c1025
< CONFIG_SQUASHFS=y
---
> # CONFIG_SQUASHFS is not set
1507c1035
< CONFIG_NFS_FS=m
---
> CONFIG_NFS_FS=y
1508a1037
> # CONFIG_NFS_V3_ACL is not set
1511c1040
< CONFIG_NFSD=m
---
> CONFIG_NFSD=y
1512a1042
> # CONFIG_NFSD_V3_ACL is not set
1515c1045
< CONFIG_LOCKD=m
---
> CONFIG_LOCKD=y
1518c1048,1049
< CONFIG_SUNRPC=m
---
> CONFIG_NFS_COMMON=y
> CONFIG_SUNRPC=y
1521,1524c1052,1057
< CONFIG_SMB_FS=m
< CONFIG_SMB_NLS_DEFAULT=y
< CONFIG_SMB_NLS_REMOTE="cp437"
< # CONFIG_CIFS is not set
---
> CONFIG_SMB_FS=y
> # CONFIG_SMB_NLS_DEFAULT is not set
> CONFIG_CIFS=y
> # CONFIG_CIFS_STATS is not set
> # CONFIG_CIFS_XATTR is not set
> # CONFIG_CIFS_EXPERIMENTAL is not set
1532,1537c1065
< CONFIG_PARTITION_ADVANCED=y
< # CONFIG_ACORN_PARTITION is not set
< # CONFIG_OSF_PARTITION is not set
< # CONFIG_AMIGA_PARTITION is not set
< # CONFIG_ATARI_PARTITION is not set
< # CONFIG_MAC_PARTITION is not set
---
> # CONFIG_PARTITION_ADVANCED is not set
1539,1548d1066
< # CONFIG_BSD_DISKLABEL is not set
< # CONFIG_MINIX_SUBPARTITION is not set
< # CONFIG_SOLARIS_X86_PARTITION is not set
< # CONFIG_UNIXWARE_DISKLABEL is not set
< CONFIG_LDM_PARTITION=y
< # CONFIG_LDM_DEBUG is not set
< # CONFIG_SGI_PARTITION is not set
< # CONFIG_ULTRIX_PARTITION is not set
< # CONFIG_SUN_PARTITION is not set
< # CONFIG_EFI_PARTITION is not set
1578c1096
< # CONFIG_NLS_ASCII is not set
---
> CONFIG_NLS_ASCII=y
1589c1107
< # CONFIG_NLS_ISO8859_15 is not set
---
> CONFIG_NLS_ISO8859_15=y
1597c1115,1116
< # CONFIG_PROFILING is not set
---
> CONFIG_PROFILING=y
> CONFIG_OPROFILE=y
1605c1124
< CONFIG_LOG_BUF_SHIFT=15
---
> CONFIG_LOG_BUF_SHIFT=18
1608d1126
< CONFIG_DEBUG_PREEMPT=y
1613a1132
> # CONFIG_CHECKING is not set
1614a1134
> # CONFIG_IOMMU_DEBUG is not set
1628,1630c1148,1150
< # CONFIG_CRYPTO_NULL is not set
< # CONFIG_CRYPTO_MD4 is not set
< CONFIG_CRYPTO_MD5=y
---
> CONFIG_CRYPTO_NULL=m
> CONFIG_CRYPTO_MD4=m
> CONFIG_CRYPTO_MD5=m
1634,1636c1154,1156
< # CONFIG_CRYPTO_WP512 is not set
< # CONFIG_CRYPTO_TGR192 is not set
< CONFIG_CRYPTO_DES=y
---
> CONFIG_CRYPTO_WP512=m
> CONFIG_CRYPTO_TGR192=m
> CONFIG_CRYPTO_DES=m
1640c1160
< CONFIG_CRYPTO_AES=m
---
> CONFIG_CRYPTO_AES_X86_64=m
1645,1646c1165,1166
< # CONFIG_CRYPTO_KHAZAD is not set
< # CONFIG_CRYPTO_ANUBIS is not set
---
> CONFIG_CRYPTO_KHAZAD=m
> CONFIG_CRYPTO_ANUBIS=m
1650c1170
< # CONFIG_CRYPTO_TEST is not set
---
> CONFIG_CRYPTO_TEST=m
1661c1181
< CONFIG_LIBCRC32C=m
---
> CONFIG_LIBCRC32C=y

Saturday, November 12, 2005

Sluggish linux box, troubleshooting steps

Time to sit down and jot some things down so I can figure out which device/driver in my Gentoo AMD64 box is causing issues. This gets a little complex because I have (5) 5400rpm 300GB PATA drives, (2) 7200rpm 300GB PATA drives and (1) 7200rpm 200GB SATA drive installed.

Back when I finally booted into the AMD64 LiveCD, I got the following information from /proc/partitions:

livecd ~ # cat /proc/partitions
major minor #blocks name

7 0 49712 loop0
33 0 292970160 hde - 300GB 5400rpm PATA (PDC20269)
34 0 292970160 hdg - 300GB 5400rpm PATA (PDC20269)
57 0 292970160 hdk - 300GB 5400rpm PATA (HPT302)
89 0 292970160 hdo - 300GB 5400rpm PATA (HPT302)
91 0 292970160 hds - 300GB 5400rpm PATA (HPT302)
3 0 293057352 hda - 300GB 7200rpm PATA (motherboard primary IDE)
8 0 293057352 sda - 300GB 7200rpm PATA (PDC20378 m/b)
8 16 199148544 sdb - 200GB 7200rpm SATA (m/b SATA)
livecd ~ #


Key:
HPT302 = HighPoint Rocket133SB PCI cards (1 PATA port per card)
PDC20269 = Promise Ultra133 TX2 PCI card (2 PATA ports)
PDC20378 = Promise RAID controller on A8V motherboard

So, that tells me that if I manage to get my kernel configured properly, I should be seeing all (8) drives with no sluggishness due to oddball drivers. The question of the moment is how do I find out what configuration was used to build the Linux kernel on the LiveCD? That, or I should look into attempting to use "genkernel" to create my settings semi-automatically.

I found the kernel configuration for the LiveCD by booting the LiveCD and looking at the compressed file /proc/config.gz. You can see the contents of this file by using the command:

# cat /proc/config.gz | gzip -d | less

So I went and looked at the differences between my Nov 8th kernel (which works, except for support for the onboard Promise chip and the HPT302s) and my problematic Nov 9th kernel.

nogitsune linux # diff /boot/config-2.6.13-8Nov2005 /boot/config-2.6.13-9Nov2005
4c4
< # Tue Nov 8 18:19:03 2005
---
> # Wed Nov 9 05:13:43 2005
416c416
< # CONFIG_CHR_DEV_SG is not set
---
> CONFIG_CHR_DEV_SG=y
456c456
< # CONFIG_SCSI_SATA_PROMISE is not set
---
> CONFIG_SCSI_SATA_PROMISE=y
nogitsune linux #


That's it. Just two changes to the .config file. So I'm currently undoing the "CONFIG_CHR_DEV_SG=y" line and leaving the Promise SATA line in. I've recompiled and I'm getting ready to reboot to see if it recognizes the PATA disk connected to the PDC20378 chip on the motherboard.

It did, but still didn't fix the issue of sluggishness.

Useful steps to know about when booting off the LiveCD for my system. I manually reassemble the RAID items and mount all of my LVM2 partitions.

livecd ~ # modprobe md
livecd ~ # modprobe dm-mod
livecd ~ # modprobe raid1
livecd ~ # for i in 0 1 2 3; do mknod /dev/md$i b 9 $i; done
livecd ~ # swapon /dev/md1
swapon: /dev/md1: Invalid argument
livecd ~ # mdadm --assemble /dev/md0 /dev/hda1 /dev/sda1
mdadm: /dev/md0 has been started with 2 drives.
livecd ~ # mdadm --assemble /dev/md1 /dev/hda2 /dev/sda2
mdadm: /dev/md1 has been started with 2 drives.
livecd ~ # mdadm --assemble /dev/md2 /dev/hda3 /dev/sda3
mdadm: /dev/md2 has been started with 2 drives.
livecd ~ # mdadm --assemble /dev/md3 /dev/hda4 /dev/sda4
mdadm: /dev/md3 has been started with 1 drive (out of 2) and 1 spare.
livecd ~ # swapon /dev/md1
livecd ~ # mount /dev/md2 /mnt/gentoo
livecd ~ # mount /dev/md0 /mnt/gentoo/boot
livecd ~ # vgchange -ay vgmirror
6 logical volume(s) in volume group "vgmirror" now active
livecd ~ # mount /dev/vgmirror/opt /mnt/gentoo/opt
livecd ~ # mount /dev/vgmirror/usr /mnt/gentoo/usr
livecd ~ # mount /dev/vgmirror/var /mnt/gentoo/var
livecd ~ # mount /dev/vgmirror/home /mnt/gentoo/home
livecd ~ # mount /dev/vgmirror/tmp /mnt/gentoo/tmp
livecd ~ # chmod 1777 /mnt/gentoo/tmp
livecd ~ # mount /dev/vgmirror/vartmp /mnt/gentoo/var/tmp
livecd ~ # chmod 1777 /mnt/gentoo/var/tmp
livecd ~ # mount -t proc none /mnt/gentoo/proc
livecd ~ # chroot /mnt/gentoo /bin/bash
livecd / # env-update
>>> Regenerating /etc/ld.so.cache...
livecd / # source /etc/profile


Modules that get loaded on the 2005.1 AMD64 LiveCD on my system:

livecd linux # cat /proc/modules
raid1 14720 4 - Live 0xffffffff880f9000
md 36480 5 raid1, Live 0xffffffff880ef000
ipv6 212928 10 - Live 0xffffffff880ba000
floppy 52824 0 - Live 0xffffffff880ac000
pcspkr 4056 0 - Live 0xffffffff880aa000
skge 30224 0 - Live 0xffffffff880a1000
dm_mod 39264 7 - Live 0xffffffff88096000
ata_piix 7812 0 - Live 0xffffffff88093000
ahci 9348 0 - Live 0xffffffff8808f000
sata_qstor 8068 0 - Live 0xffffffff8808c000
sata_vsc 6788 0 - Live 0xffffffff88089000
sata_uli 6144 0 - Live 0xffffffff88086000
sata_sis 5888 0 - Live 0xffffffff88083000
sata_sx4 11396 0 - Live 0xffffffff8807f000
sata_nv 7556 0 - Live 0xffffffff8807c000
sata_via 7172 0 - Live 0xffffffff88079000
sata_svw 6404 0 - Live 0xffffffff88076000
sata_sil 7940 0 - Live 0xffffffff88073000
sata_promise 9092 4 - Live 0xffffffff8806f000
libata 30856 12 ata_piix,ahci,sata_qstor,sata_vsc,sata_uli,sata_sis,sata_sx4,sata_nv,sata_via,sata_svw,sata_sil,sata_promise, Live 0xffffffff88066000
sbp2 19080 0 - Live 0xffffffff88060000
ohci1394 27596 0 - Live 0xffffffff88058000
ieee1394 63096 2 sbp2,ohci1394, Live 0xffffffff88047000
sl811_hcd 11392 0 - Live 0xffffffff88043000
ohci_hcd 17156 0 - Live 0xffffffff8803d000
uhci_hcd 26528 0 - Live 0xffffffff88035000
usb_storage 55616 0 - Live 0xffffffff88026000
usbhid 27680 0 - Live 0xffffffff8801e000
ehci_hcd 25864 0 - Live 0xffffffff88016000
usbcore 86008 7 sl811_hcd,ohci_hcd,uhci_hcd,usb_storage,usbhid,ehci_hcd, Live 0xffffffff88000000
livecd linux #

Wednesday, November 09, 2005

Sluggish linux box (losing some ticks)

Messages seen in my "# dmesg" output.

Losing some ticks... checking if CPU frequency changed.
kjournald starting. Commit interval 5 seconds
EXT3 FS on dm-2, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting. Commit interval 5 seconds
EXT3 FS on dm-3, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting. Commit interval 5 seconds
EXT3 FS on dm-4, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting. Commit interval 5 seconds
EXT3 FS on dm-5, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
skge eth0: enabling interface
skge eth0: Link is up at 1000 Mbps, full duplex, flow control tx and rx
eth0: no IPv6 routers present
warning: many lost ticks.
Your time source seems to be instable or some driver is hogging interupts
rip __do_softirq+0x48/0xb0


The system is very sluggish, even at the console. In addition, the rebuild of my one mirror set is only proceeding at a sedate 3MB/s rather then 10-20MB/s. Looking at "top -n1" shows CPU utilization issues. Compare the first example here (a normal working system) with my trouble system (2nd example):

Cpu(s): 0.2% us, 0.0% sy, 0.0% ni, 99.7% id, 0.0% wa, 0.0% hi, 0.0% si

Cpu(s): 0.9% us, 39.8% sy, 0.0% ni, 6.0% id, 0.3% wa, 1.0% hi, 52.0% si

Key (also see kernel_stat.h):
us = user
sy = system
ni = nice
id = idle (CPU not doing any work)
wa = iowait (time spent waiting for IO to complete)
hi = hardware interrupts (time spent within hardware interrupt handlers)
si = softirq (time spent within other critical sections within the kernel)

You can see the 40% "sy" (system) and 52% "si" (softirq) utilizations on the problem box, with only 6% idle.

Tuesday, November 08, 2005

Gentoo 2005.1 Software RAID (part 2) AMD64 on Asus A8V

This is a record of the kernel flags that I'm going to use for my AMD64 system. It's an Asus A8V (K8T800Pro and VT8237) with an Athlon64 3200+ chip along with 2GB of RAM. Hard drives are hooked up to the onboard Promise controller (PDC20378), the onboard SATA controller and the onboard IDE controller. Plus the motherboard has an onboard gigabit ethernet NIC (Marvell 88E8001).

In addition, I have even more hard drives hooked up to a Promise Ultra133 TX2 PCI card (PDC20269) and some HighPoint Rocket133SB PCI cards (HPT302).

# emerge mdadm
# emerge lvm2
# cd /usr/src/linux
# make menuconfig


Linux Kernel v2.6.13-gentoo-r5 Configuration
(C)ode maturity level options
(G)eneral setup
(L)oadable module support
(P)rocessor type and features
--> (P)rocessor family (changed to "AMD-Opteron/Athlon64")
--> (S)ymetric multi-processing support (turned this one OFF)
(P)ower management options (ACPI, APM)
(B)us options (PCI, etc.)
(E)xecutable file formats
(D)evice drivers
--> ATA/ATAPI/MFM/RLL support
--> --> (g)eneric/default IDE chipset support (should already be ON)
--> (S)CSI device support
--> --> (S)CSI generic support (turn this ON)
--> --> (S)CSI low-level drivers
--> --> --> (S)erial ATA (SATA) support (should already be ON)
--> --> --> --> (I)ntel PIIX/ICH SATA support (turn OFF)
--> --> --> --> (P)romise SATA TX2/TX4 support (turn ON as BUILT-IN)
--> M(u)lti-device support (should already be ON)
--> --> (R)AID support (turn it ON as BUILT-IN)
--> --> --> (R)AID-1 mirroring mode (turn it ON as BUILT-IN)
--> --> (D)evice mapper support (set to MODULE or BUILT-IN)
--> N(e)tworking support
--> --> (E)thernet (10 or 100Mbit)
--> --> --> (E)thernet (10 or 100Mbit) (Turn OFF)
--> --> (E)thernet (1000Mbit)
--> --> --> (I)ntel(R) PRO/1000 Gigabit Ethernet support (turn OFF)
--> --> --> N(e)w SysKonnect GigaEthernet support (EXPERIMENTAL) (turn ON as BUILT-IN)
--> --> --> (B)roadcom Tigon3 support (turn OFF)
--> (C)haracter Devices
--> --> (I)ntel/AMD/VIA HW Random Number Generator (should be ON)
--> --> (I)ntel 440LX/BX/GX, I8xx and E7x05 chipset support (turn it OFF)
--> (S)ound
--> --> (S)ound card support (turn OFF)
(F)ile systems
--> N(e)twork File Systems
--> --> (S)MB file system support (turn ON as BUILT-IN)
--> --> (C)IFS support (turn ON as BUILT-IN)
(P)rofiling support
(K)ernel hacking
(S)ecurity options
(C)ryptographic options
--> (C)ryptographic API (turn ON)
--> --> HM(A)C support (NEW) (turn ON as BUILT-IN)
--> --> (turn ON all other options as MODULE)
(L)ibrary routines

Exit and save your configuration. Then build the kernel (the following command is for 2.6 kernels). Expect the compile to take almost no time at all on an AMD64 chip. I used to wait an hour for all this to happen on my old VIA EPIA.

# make && make modules_install

Once the code finishes compiling, you need to copy the kernel to your /boot partition.

# mount /boot
# ls -l /boot
# ls -l arch/x86_64/boot
# df
# cp arch/x86_64/boot/bzImage /boot/kernel-2.6.13-9Nov2005
# cp System.map /boot/System.map-2.6.13-9Nov2005
# cp .config /boot/config-2.6.13-9Nov2005
# ls -l /boot
# nano -w /boot/grub/grub.conf


Add your new kernel. I'd recommend always leaving the configuration for your old kernel in place and inserting the new config above the old one. That way you get (2) benefits:

1) The "default 0" command will boot the new kernel automatically (because it appears first in the grub.conf file).

2) Your old kernel is still in place, in case the new kernel doesn't boot. There's probably no reason to remove old kernels from the system unless you are running out of space on the /boot partition. (Which is why I use the "df" command to check space.)

Bugs and goofs:

1) The disks attached to the onboard Promise PDC20378 RAID controller are not recognized by my first kernel (although they show up when I booted the LiveCD). So I'm missing a kernel option. Possibly I haven't turned SCSI on which allows me to pick the Promise SATA driver.

This is fixed by adding:

(D)evice drivers
--> (S)CSI device support
--> --> (S)CSI low-level drivers
--> --> --> (S)erial ATA (SATA) support (should already be ON)
--> --> --> --> (P)romise SATA TX2/TX4 support (turn ON as BUILT-IN)

1b) However, once you've turned on that particular driver (CONFIG_SCSI_SATA_PROMISE=y), your system will slow down and become very sluggish anytime that mdadm is rebuilding an array with drives attached to that controller. You will also start to see the following messages in your "dmesg" output:

warning: many lost ticks.
Your time source seems to be instable or some driver is hogging interupts
rip __do_softirq+0x48/0xb0


2) The disks attached to the PCI Rocket133 cards did not show up after the first boot. Same deal as #1, worked with the LiveCD, but I didn't get the driver selection right when I built the first kernel. On the upside, it allowed me to identify the (2) disks that are attached to the Promise PCI controller without any effort (hde and hdg are on the Promise card).

(I'm still troubleshooting the Rocket133.)

Key things to look for in menuconfig for Rocket133 might be:

(D)evice drivers
--> ATA/ATAPI/MFM/RLL support
--> --> SCSI emulation support
--> --> generic/default IDE chipset support
--> --> PCI IDE chipset support
--> --> Generic PCI IDE Chipset Support

Probably the only one that matters is (CONFIG_BLK_DEV_HPT366=y):

--> --> HPT36X/37X chipset support (turn this ON as BUILT-IN)

Yes, the Rocket 133SB (Rocket133SB) HPT302 chip is apparently supported by the HPT366.c file. You can find this by grepping the kernel sources:

# cd /usr/src/linux
# find . -print | xargs grep -i 'hpt302'
# grep -i 'hpt366' .config


...

So, after turning on the two drivers I have all 8 drives showing up against in /proc/partitions:

hde / hdg -- Promise PCI card
hdk, hdo, hds -- Highpoint Rocket133 cards
hda -- motherboard IDE
sda -- Promise motherboard RAID PATA
sdb -- motherboard SATA

Performance is still slow, so now I'm digging through the kernel configs trying to find lines that contain "irq".

One key line that look interesting:

Sharing PCI IDE interrupts support (CONFIG_IDEPCI_SHARE_IRQ)

Turned that on, but still haven't fixed the sluggishness or the lost ticks issue. I'm very tempted to give up on the PDC20378 chip, except that I know it worked on the LiveCD.

Friday, November 04, 2005

Gentoo 2005.1 on Athlon64 3200+ and Asus A8V Deluxe

So, I was going to rebuild my 1Ghz Athlon machine with 640MB, but in the process of transplating hard drives and installing a new (quieter) CPU fan, I seem to have put it down for the count. Moderate annoyance only as it's an older motherboard and was nearing the end of its lifespan. (I may try and troubleshoot it next week.)

Instead, I replaced with an Asus A8V Deluxe (VIA chipset, BIOS version 08.00.09 05/19/05) motherboard with an Athlon64 3200+ and 2GB of RAM. In addition, I have (8) 300GB hard drives hooked up to this unit. The (2) RAID1 boot drives are 7200rpm (hooked to the primary IDE port and the 2nd one on the Promise FastTrak RAID port). The other (6) drives are 5400rpm drives hooked up to a Promise SX6000 card.

Now, I'm not sure that I can have both the onboard FastTrak and the SX6000 running at the same time. (If not, I have a 1-port ATA/133 PCI HighPoint card that I can use for the 2nd boot drive.)

Tossed the Gentoo 2005.1 boot CD in. The graphical splash screen loads, and it starts counting through devices. At "Booting the system (64%)", I get a kernel panic and it stops booting. The screen now reads (approximately):

kernel BUG at <bad filename>:55433!
Invalid operand: 0000 [#1]
PREEMPT SMP
Modules linked in: ...
(bunch of registers)
Process swapper (pid: 0 ...
(trace dump)
<0> Kernel panic - not syncing: Fatal exception in interrupt


Pressing [F2] does nothing at this point.

Attempting to boot Knoppix 4.0.2 CD results in the boot CD hanging during device initialization. But if I boot the Knoppix CD as "failsafe" it loads correctly.

Attempted fix #1:

Disable the onboard Promise FastTrak controller (since I have a Promise SX6000 installed in a PCI slot). In past Windows systems (FastTrak66 and FastTrak100 cards), their documentation indicates that you should not have two FastTrak cards installed at the same time. Whether this applies to a SuperTrak and FastTrak pairing, I'm unsure.

Still got the error. It's probably not the Promise cards.

Attempted fix #2:

Re-enable the Promise FastTrak controller (setting it as "IDE mode"), and check boot options on the Gentoo Universal LiveCD. Since this is a single-core Athlon64, I'm going to try the NOSMP flag. This involves intervening in the boot process when the LiveCD reaches the "boot:" prompt. You can then type "gentoo nosmp" to boot the kernel without SMP support.

No luck, system hangs when initializing the kernel (I'm wondering if NOSMP is even a boot option on the LiveCD).

Attempted fix #3:

Check for a newer version of the BIOS at Asus Support. (One person's experience with flashing an A8V.)

No luck. System still bombs out with a kernel error.

Attempted fix #4:

Downloaded the AMD64 version of the 2005.1 Universal LiveCD. This still gives me a kernel bug, but it bombs out with a more descriptive error (rather then saying "bad filename".) The kernel is bombing on "include/linux/i2o.h:517".

One note indicates that it's a bug between the SX6000 card and the Linux kernel. One suggestion indicates that you should go into the SX6000 BIOS (hitting Ctrl-F when prompted after it scans the arrays) and set the operating system type to "Other OS". (Tried this, no luck.)

Currently, I'm using 1.10 build 15 version of the BIOS (B77 from June 2002), and I see that there is a newer 1.20.0.27 from April 2004 on the Promise.com website. So I'll go ahead and try patching up the Promise BIOS. (Tried this as well, the SX6000 refuses to flash in this system. I'm getting an error message while trying to usethe flash tool. I'll try the card in another system and see if that works better.)

Attempted fix #5:

Ripped the SX6000 out. I replaced it with (1) FastTrak133 TX2 PCI card and (3) HighPoint Rocket133 PCI cards. I also converted one of the drives over to SATA, using the on-board SATA port. (Think of this as a poor-man's setup.) I had a bunch of the Rocket133 cards laying around, and the system doesn't seem to care that I have multiple cards installed.

(My first attempt, used a pair of FastTrak133 TX2 PCI cards, but that caused the system to lockup when I went into the BIOS setup.)

I'm currently running DBaN at the moment to test the configuration (PRNG mode, multiple passes, verifying all passes). It identified 7 of the 8 drives (the onboard Promise RAID chip is unknown to this version of DBaN) and is writing to all 7 at the same time with no errors. I'm getting 10MB/s to each drive with a load average of around 8.0. Once I let that run for another hour or two, I'll switch back to trying the AMD64 Gentoo CD.

Booted into the AMD64 Gentoo CD with zero issues. My drives are:

livecd ~ # cat /proc/partitions
major minor #blocks name

7 0 49712 loop0
33 0 292970160 hde
34 0 292970160 hdg
57 0 292970160 hdk
89 0 292970160 hdo
91 0 292970160 hds
3 0 293057352 hda
8 0 293057352 sda
8 16 199148544 sdb
livecd ~ #


Basically, hda & sda are my (2) 7200rpm 300GB drives that I'm going to use as my primary RAID1. The sdb drive is my 200GB 7200rpm SATA which I plan on using for a scratch drive. The rest of the drives (all ending in "160" blocks) are 5400rpm 300GB IDEs hooked to the Highpoint / Promise PCI cards.

Now I can go ahead and build my system.

Tuesday, November 01, 2005

Random Gentoo Tools

Things that might be useful to a system administrator and which don't come pre-installed on Gentoo.

curl
denyhosts
fail2ban
linkx
lynx
nload
screen

In order to install "denyhosts", you'll probably have to muck with application specific keywords. See USE flags (gentoo.org) or FAQ USE Flags (Gentoo Linux Wiki). Look for information on editing the "/etc/portage/package.keywords" file. The current version of denyhosts is tagged with "~x86" (indicating that it compiles, but has not been verified?).