configuration gotchas with Maverick 2.6.35 kernel...

Bug #589439 reported by Daniel J Blueman on 2010-06-03
16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Medium
Unassigned
Declined for Maverick by Jeremy Foshee

Bug Description

The Maverick 2.6.35 kernel (based on 2.6.34) has a number of configuration options disabled - they should be enabled for optimal hardware support and thus end user experience, some with additional justification:

CONFIG_DMAR
CONFIG_INTR_REMAP "to support platforms with CPU's having > 8 bit APIC ID, say Y"
CONFIG_PCIEASPM
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS "including just the first page of the file in a core dump makes it possible to identify the build ID bits in the file, without paying the i/o cost and disk space to dump all the text. However, versions of GDB before 6.7 are confused by ELF core dump files in this format."
CONFIG_IP_PNP
CONFIG_BLK_DEV_DRBD
CONFIG_SCSI_PM8001
CONFIG_PATA_HPT3X3_DMA
CONFIG_MULTICORE_RAID456
CONFIG_KSZ884X_PCI
CONFIG_CHELSIO_T4
CONFIG_IXGBEVF
CONFIG_QLCNIC
CONFIG_B43_SDIO
CONFIG_LIBERTAS_MESH
CONFIG_RT2800USB_RT30XX
CONFIG_RT2800USB_RT35XX
CONFIG_RT2800USB_UNKNOWN
CONFIG_WIMAX_IWMC3200_SDIO
CONFIG_USB_IPHETH
CONFIG_USB_SIERRA_NET
CONFIG_ROADRUNNER_LARGE_RINGS "to allow for fastest operation"
CONFIG_GIGASET_CAPI
CONFIG_MOUSE_PS2_TOUCHKIT
CONFIG_TOUCHSCREEN_DYNAPRO
CONFIG_TOUCHSCREEN_MC13783
CONFIG_INPUT_APANEL
CONFIG_ISI
CONFIG_SERIAL_TIMBERDALE
CONFIG_LP_CONSOLE
CONFIG_SPI_DESIGNWARE
CONFIG_SPI_XILINX
CONFIG_PPS_CLIENT_LDISC
CONFIG_GPIO_MAX7300
CONFIG_GPIO_ADP5588
CONFIG_GPIO_CS5535
CONFIG_GPIO_SCH
CONFIG_GPIO_IT8761E
CONFIG_SENSORS_ADT7411
CONFIG_SENSORS_ASC7621
CONFIG_SENSORS_K10TEMP
CONFIG_SENSORS_LM73
CONFIG_SENSORS_AMC6821
CONFIG_SENSORS_VIA_CPUTEMP
CONFIG_SENSORS_LIS3_I2C
CONFIG_SENSORS_MC13783_ADC
CONFIG_HP_WATCHDOG
CONFIG_REGULATOR_FIXED_VOLTAGE
CONFIG_SOC_CAMERA_MT9T112
CONFIG_SOC_CAMERA_RJ54N1
CONFIG_SOC_CAMERA_OV9640
CONFIG_USB_GSPCA_BENQ
CONFIG_USB_GSPCA_CPIA1
CONFIG_USB_GSPCA_OV534_9
CONFIG_USB_GSPCA_PAC7302
CONFIG_USB_GSPCA_SN9C2028
CONFIG_USB_GSPCA_SN9C20X_EVDEV
CONFIG_USB_GSPCA_STV0680
CONFIG_VIDEO_TLG2300
CONFIG_MANTIS_CORE
CONFIG_DVB_NGENE
CONFIG_VGA_SWITCHEROO
CONFIG_FB_VESA
CONFIG_LCD_L4F00242T03
CONFIG_SND_AC97_POWER_SAVE_DEFAULT
CONFIG_SND_USB_UA101
CONFIG_LOGIG940_FF
CONFIG_HID_MAGICMOUSE
CONFIG_USB_DYNAMIC_MINORS
CONFIG_USB_SERIAL_QCAUX
CONFIG_USB_SERIAL_VIVOPAY_SERIAL
CONFIG_USB_SISUSBVGA_CON
CONFIG_USB_ETH_EEM
CONFIG_USB_MASS_STORAGE
CONFIG_USB_G_MULTI

In addition, a number of options present legacy drivers which may prevent the newer drivers from binding to devices, and also include legacy APIs for old userspace libraries, obsolete in Maverick:

CONFIG_AMD_IOMMU_STATS "If unsure, say N."
CONFIG_X86_MCE_INJECT "if you don't do kernel QA...say n"
CONFIG_K8_NUMA "It is recommended to use X86_64_ACPI_NUMA instead, which also takes priority if both are compiled"
CONFIG_PM_TEST_SUSPEND
CONFIG_ACPI_PROCFS "For backwards compatibility"
CONFIG_ACPI_PROCFS_POWER "For backwards compatibility"
CONFIG_ACPI_PROC_EVENT "Say N if your user-space is newer than kernel 2.6.23 (September 2007)"
CONFIG_X86_SPEEDSTEP_CENTRINO "This is deprecated"
CONFIG_HOTPLUG_PCI_FAKE "Use this module at your own risk. You have been warned! When in doubt, say N."
CONFIG_IP6_NF_QUEUE "obsoleted by CONFIG_NETFILTER_NETLINK_QUEUE"
CONFIG_BRIDGE_EBT_ULOG "obsoleted by CONFIG_NETFILTER_NETLINK_LOG"
CONFIG_MAC80211_DEBUGFS "Say N unless you know you need this."
CONFIG_MTD_DOC2000 "deprecated by new DiskOnChip driver"
CONFIG_MTD_DOC2001 "deprecated by new DiskOnChip driver"
CONFIG_PNP_DEBUG_MESSAGES
CONFIG_AIC7XXX_DEBUG_ENABLE "useful in diagnosing driver errors."
CONFIG_AIC79XX_DEBUG_ENABLE "useful in diagnosing driver errors."
CONFIG_SCSI_MVSAS_DEBUG "In debug mode, the driver prints some messages to the console."
CONFIG_ASYNC_RAID6_TEST "If unsure, say N."
CONFIG_IEEE1394 "superseded by the newer firewire-core driver."
CONFIG_8139TOO_PIO "If unsure, say N."
CONFIG_PRISM54 "deprecated in favor for the SoftMAC driver, p54pci."
CONFIG_B43LEGACY_DEBUG
CONFIG_LIBIPW_DEBUG
CONFIG_ISDN_I4L "deprecated"
CONFIG_ISDN_CAPI_CAPIFS_BOOL "You no longer need this, udev fully replaces it."
CONFIG_INPUT_MOUSEDEV_PSAUX "legacy"
CONFIG_LEGACY_PTYS "legacy"
CONFIG_I2C_STUB "If you don't know what to do here, definitely say N."
CONFIG_VIDEO_ALLOW_V4L1 "legacy V4L1 API."
CONFIG_VIDEO_CPIA "DEPRECATED please use the gspca cpia1 module instead."
CONFIG_USB_QUICKCAM_MESSENGER "DEPRECATED please use the gspca stv06xx module instead."
CONFIG_USB_ET61X251 "DEPRECATED please use the gspca zc3xx module instead."
CONFIG_VIDEO_OVCAMCHIP "DEPRECATED please use the gspca ov519 module instead."
CONFIG_USB_W9968CF "DEPRECATED please use the gspca ov519 module instead."
CONFIG_USB_OV511 "DEPRECATED please use the gspca ov519 module instead."
CONFIG_USB_SN9C102 "DEPRECATED please use the gspca sonixb and sonixj modules instead"
CONFIG_USB_STV680 "DEPRECATED please use the gspca stv0680 module instead."
CONFIG_USB_ZC0301 "DEPRECATED please use the gspca zc3xx module instead."
CONFIG_SOUND_PRIME "DEPRECATED"
CONFIG_SND_DUMMY "You don't need this unless you're testing"
CONFIG_SND_MIXER_OSS "Legacy OSS API"
CONFIG_SND_PCM_OSS "Legacy OSS API"
CONFIG_SND_SEQUENCER_OSS "Legacy OSS API"
CONFIG_SND_SUPPORT_OLD_API "for obselete ALSA libraries ver.0.9.0 rc3 or older"
CONFIG_INFINIBAND_AMSO1100_DEBUG "causes the amso1100 driver to produce a bunch of debug messages."
CONFIG_RTC_DRV_TEST "You want this driver only if you are doing development on the RTC subsystem."
CONFIG_XEN_COMPAT_XENFS "for old xenstore userspace tools"
CONFIG_THINKPAD_ACPI_DEBUGFACILITIES "extra stuff which is completely useless for normal use."
CONFIG_EXT3_DEFAULTS_TO_ORDERED
CONFIG_QFMT_V1 "This quota format was used by kernels earlier than 2.4.22."
CONFIG_AUTOFS_FS "say N here and say Y to "Kernel automounter v4 support""
CONFIG_SMB_FS "OBSOLETE, please use CIFS"
CONFIG_UNUSED_SYMBOLS "make the kernel needlessly bigger."
CONFIG_OPTIMIZE_INLINING "this option is there to test gcc"
CONFIG_SECURITY_SELINUX (apparmour used instead)

Jeremy Foshee (jeremyfoshee) wrote :

Hi Daniel,

Please be sure to confirm this issue exists with the latest development release of Ubuntu. ISO CD images are available from http://cdimage.ubuntu.com/daily-live/current/ . If the issue remains, please run the following command from a Terminal (Applications->Accessories->Terminal). It will automatically gather and attach updated debug information to this report.

apport-collect -p linux 589439

Also, if you could test the latest upstream kernel available that would be great. It will allow additional upstream developers to examine the issue. Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Once you've tested the upstream kernel, please remove the 'needs-upstream-testing' tag. This can be done by clicking on the yellow pencil icon next to the tag located at the bottom of the bug description and deleting the 'needs-upstream-testing' text. Please let us know your results.

Thanks in advance.

    [This is an automated message. Apologies if it has reached you inappropriately; please just reply to this message indicating so.]

tags: added: needs-kernel-logs
tags: added: needs-upstream-testing
tags: added: kj-triage
Changed in linux (Ubuntu):
status: New → Incomplete
Download full text (6.5 KiB)

Ok, I used the current Maverick 2.6.35-rc1 kernel's config-2.6.35-1-generic and finished audited everything again after a couple of hours.

A number of config options are still needed for optimal hardware support, and since they should be added as modular where possible, there is by no impact:

CONFIG_TASK_DELAY_ACCT
CONFIG_OPROFILE_EVENT_MULTIPLEX
CONFIG_COMPACTION - needed for huge pages support
CONFIG_INTEL_IDLE - Y rather than M
CONFIG_DMAR - needed for newest Intel server boards
CONFIG_INTR_REMAP - needed for newest Intel server boards
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS - saves I/O with GDB 6.7 and newer
CONFIG_IP_PNP - needed for network booting
CONFIG_L2TP_V3
CONFIG_NET_CLS_IND
CONFIG_BT_L2CAP_EXT_FEATURES
CONFIG_MTD_ONENAND_OTP
CONFIG_PARIDE_EPATC8
CONFIG_BLK_DEV_DRBD
CONFIG_CS5535_MFGPT
CONFIG_VMWARE_BALLOON
CONFIG_PATA_TOSHIBA
CONFIG_ENC28J60
CONFIG_R6040
CONFIG_DL2K
CONFIG_ROADRUNNER_LARGE_RINGS - "to allow for fastest operation,"
CONFIG_GIGASET_CAPI - "CAPI 2.0 driver interfacing the Kernel CAPI subsystem."
CONFIG_INPUT_APANEL
CONFIG_ISI
CONFIG_N_GSM
CONFIG_LP_CONSOLE - useful for certain setups
CONFIG_SPI_DESIGNWARE - as M not Y
CONFIG_SPI_XILINX
CONFIG_HP_WATCHDOG
CONFIG_REGULATOR_FIXED_VOLTAGE
CONFIG_DVB_USB_EC168
CONFIG_SND_AC97_POWER_SAVE_DEFAULT - set to eg 3
CONFIG_SND_HDA_POWER_SAVE_DEFAULT - set to eg 3
CONFIG_SND_USB_UA101
CONFIG_USB_DYNAMIC_MINORS - "needed for more than 16 of a single type device"
CONFIG_USB_SISUSBVGA_CON
CONFIG_USB_G_MULTI
CONFIG_ASYNC_TX_DMA
CONFIG_OTUS
CONFIG_VT6655
CONFIG_LOGFS
CONFIG_NFS_FSCACHE
CONFIG_ENABLE_WARN_DEPRECATED - better to have these messages in the build logs
CONFIG_ENABLE_MUST_CHECK - better to have these messages in the build logs
CONFIG_HEADERS_CHECK - better to have these sanity checks on userspace headers
CONFIG_EARLY_PRINTK_DBGP - needed for console on modern servers/laptops without serial ports
CONFIG_IO_DELAY_UDELAY or CONFIG_IO_DELAY_NONE - to avoid port I/O side effects. Currently non-recommended port 0xed is selected.

There are configuration options which are unmaintained and are best disabled to minimise later bug exploits/attack surface (particularly eg in server environments). Largely for old userspace libraries which haven't shipped with distros for some years - udev rules can be quickly updated if needed during the dev cycle:

PROC_PID_CPUSET - legacy
CONFIG_PERF_COUNTERS - obsoleted by CONFIG_PERF_EVENTS
CONFIG_AMD_IOMMU_STATS - more useful for debugging driver
CONFIG_X86_MCE_INJECT - only useful for testing and exposing more attack surface
CONFIG_K8_NUMA - X86_64_ACPI_NUMA takes priority rendering this useless
CONFIG_PM_TEST_SUSPEND - debug/test code
CONFIG_ACPI_PROCFS - "For backwards compatibility"
CONFIG_ACPI_PROCFS_POWER - "For backwards compatibility"
CONFIG_ACPI_PROC_EVENT - "Say N if your user-space is newer than kernel 2.6.23 (September 2007)"
CONFIG_ACPI_APEI_EINJ - "used for debugging"
CONFIG_X86_SPEEDSTEP_CENTRINO - "deprecated and now merged into acpi_cpufreq"
CONFIG_NF_CONNTRACK_PROC_COMPAT - "for old programs"
CONFIG_IP_NF_QUEUE - "obsoleted by CONFIG_NETFILTER_NETLINK_QUEUE"
CONFIG_IP6_NF_QUEUE - "obsoleted by CONFIG_NETFILTER_NETLINK_QUEUE"
CONFI...

Read more...

Changed in linux (Ubuntu):
status: Incomplete → Confirmed

I'm unable to remove the 'needs-upstream-testing' tag, as the pencil icon isn't visible, only the help icon at the bottom of the first posting.

AttilaN (attila123456) wrote :

With CONFIG_PCIEASPM=y in the maverick kernel my CPU fan doesn't spin down even at the lowest temperatures. It's noticeably louder than without this option.
Dell Inspiron e1505.

Also commented on https://bugs.launchpad.net/ubuntu/+source/pm-utils-powersave-policy/+bug/333990

tags: added: kernel-core kernel-needs-review
removed: needs-kernel-logs needs-upstream-testing
Changed in linux (Ubuntu):
status: Confirmed → Triaged
importance: Undecided → Medium
Andy Whitcroft (apw) on 2010-07-12
tags: added: kernel-reviewed
removed: kernel-needs-review
Dave Gilbert (ubuntu-treblig) wrote :

The CONFIG_BLK_DEV_DRBD that is listed would be good; I'm not sure but I think this would mean the end of the currently KMS build drbd8-source package (assuming that everything is compatible - but I guess that needs a check to see if all the tools can be bumped up).

Dave

Of the config requests made in comment #2 the following have been modified in Maverick:

CONFIG_TASK_DELAY_ACCT
config.common.ports:3567:CONFIG_TASK_DELAY_ACCT=y
config.common.ubuntu:4237:CONFIG_TASK_DELAY_ACCT=y

CONFIG_INTR_REMAP
amd64/config.common.amd64:74:CONFIG_INTR_REMAP=y

CONFIG_BLK_DEV_DRBD
config.common.ubuntu:426:CONFIG_BLK_DEV_DRBD=m

CONFIG_VMWARE_BALLOON
config.common.ubuntu:4864:CONFIG_VMWARE_BALLOON=m

CONFIG_NFS_FSCACHE
config.common.ports:2331:CONFIG_NFS_FSCACHE=y
config.common.ubuntu:2923:CONFIG_NFS_FSCACHE=y

CONFIG_STRIP_ASM_SYMS
config.common.ports:3523:# CONFIG_STRIP_ASM_SYMS is not set
config.common.ubuntu:4201:# CONFIG_STRIP_ASM_SYMS is not set

It's unlikely that every one of the requested config changes from comment #2 will be met for Maverick. However, we can continue to track the remaining ones here for the time being. If one is more critically important than the rest, please provide a more detailed explanation for the specific requested change. Thanks.

Jeremy Foshee (jeremyfoshee) wrote :

Declining the Maverick specific nomination for now and leaving this open against the actively developed Ubuntu kernel (which happens to be Maverick at this time). Will re-open the nomination should a fix be narrowed down which we can confirm specifically resolves this issue in Maverick.

Arnd (arnd-arndnet) wrote :

maverick: kernel config: CONFIG_B43_SDIO is not set

My b43 based SDIO does not work with maverick because this option is not set.

Please consider enabling this option at least for upcoming ubuntu releases.

Thanks
Arnd

This bug was filed against a series that is no longer supported and so is being marked as Won't Fix. If this issue still exists in a supported series, please file a new bug.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: Triaged → Won't Fix
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers