Saturday, November 9, 2013

Broken resume after suspend to ram on Toshiba R830-10p

Resume after suspend to RAM is broken on Toshiba R830. I want to fix it. Can you help me, or introduce me to someone who can help me?

Somehow the bug is related to Intel VT-d or x2apic. Disabling VT-d on the BIOS, makes the resume work. With VT-d enabled, passing nox2apic as boot parameter to Kernel also makes the resume work.

I've asked for help: https://lkml.org/lkml/2013/11/1/186

The current issue is that my notebook doesn't have real serial port, so I can't track what's going on. Suspend / resume steps before calling the platform firmware work perfectly. So it works perfectly if I echo freeze > /sys/power/state...

Ideas? Any creative idea on using systemtap to debug this issue?

Wednesday, October 30, 2013

Debugging suspend on Toshiba R830-10p: Some test results and logs

When testing suspend to RAM, all tests went well. But the real thing doesn't work... Ideas?

# echo freezer > /sys/power/pm_test
# echo mem > /sys/power/state
[27354.755748] PM: Syncing filesystems ... done.
[27354.780184] PM: Preparing system for mem sleep
[27354.780687] Freezing user space processes ... (elapsed 0.007 seconds) done.
[27354.787975] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[27354.789133] suspend debug: Waiting for 5 seconds.
[27359.783027] PM: Finishing wakeup.
[27359.783028] Restarting tasks ... done.
[27359.784320] video LNXVIDEO:01: Restoring backlight state

# echo devices > /sys/power/pm_test
# echo mem > /sys/power/state 
[27476.796841] PM: Syncing filesystems ... done.
[27476.820641] PM: Preparing system for mem sleep
[27476.820952] Freezing user space processes ... (elapsed 0.001 seconds) done.
[27476.822083] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[27476.823290] PM: Entering mem sleep
[27476.823403] Suspending console(s) (use no_console_suspend to debug)
[27476.824398] sd 0:0:0:0: [sda] Synchronizing SCSI cache
[27476.826199] sd 0:0:0:0: [sda] Stopping disk
[27476.949881] mei_me 0000:00:16.0: suspend
[27477.060221] i915 0000:00:02.0: power state changed by ACPI to D3cold
[27477.123519] PM: suspend of devices complete after 300.336 msecs
[27477.123520] suspend debug: Waiting for 5 seconds.
[27482.117473] i915 0000:00:02.0: power state changed by ACPI to D0
[27482.117503] e1000e 0000:00:19.0: setting latency timer to 64
[27482.117517] mei_me 0000:00:16.0: irq 55 for MSI/MSI-X
[27482.117522] e1000e 0000:00:19.0: irq 56 for MSI/MSI-X
[27482.121797] ehci-pci 0000:00:1a.0: setting latency timer to 64
[27482.121974] ehci-pci 0000:00:1d.0: setting latency timer to 64
[27482.121984] toshiba_bluetooth: Re-enabling Toshiba Bluetooth
[27482.127556] i915 0000:00:02.0: setting latency timer to 64
[27482.128809] ahci 0000:00:1f.2: setting latency timer to 64
[27482.133671] snd_hda_intel 0000:00:1b.0: irq 57 for MSI/MSI-X
[27482.145762] [drm] Wrong MCH_SSKPD value: 0x16040307
[27482.145763] [drm] This can cause pipe underruns and display issues.
[27482.145763] [drm] Please upgrade your BIOS to fix this.
[27482.444173] ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[27482.446135] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[27482.446461] ACPI Error: [GTF0] Namespace lookup failure, AE_NOT_FOUND (20130517/psargs-359)
[27482.446471] ACPI Error: Method parse/execution failed [\_SB_.PCI0.SAT0.PRT0._SDD] (Node ffff880437c91cd0), AE_NOT_FOUND (20130517/psparse-536)
[27482.446525] ACPI Error: [GTF0] Namespace lookup failure, AE_NOT_FOUND (20130517/psargs-359)
[27482.446532] ACPI Error: Method parse/execution failed [\_SB_.PCI0.SAT0.PRT0._GTF] (Node ffff880437c91cf8), AE_NOT_FOUND (20130517/psparse-536)
[27482.446912] ACPI Error: [GTF0] Namespace lookup failure, AE_NOT_FOUND (20130517/psargs-359)
[27482.446918] ACPI Error: Method parse/execution failed [\_SB_.PCI0.SAT0.PRT0._SDD] (Node ffff880437c91cd0), AE_NOT_FOUND (20130517/psparse-536)
[27482.446955] ACPI Error: [GTF0] Namespace lookup failure, AE_NOT_FOUND (20130517/psargs-359)
[27482.446960] ACPI Error: Method parse/execution failed [\_SB_.PCI0.SAT0.PRT0._GTF] (Node ffff880437c91cf8), AE_NOT_FOUND (20130517/psparse-536)
[27482.446999] ata1.00: configured for UDMA/100
[27482.447050] sd 0:0:0:0: [sda] Starting disk
[27482.448130] ata4: SATA link down (SStatus 0 SControl 300)
[27482.449304] ata3.00: configured for UDMA/100
[27482.634261] PM: resume of devices complete after 517.541 msecs
[27482.634521] PM: Finishing wakeup.
[27482.634523] Restarting tasks ... done.
[27482.635801] video LNXVIDEO:01: Restoring backlight state
[27483.509825] [drm] Enabling RC6 states: RC6 on, RC6p off, RC6pp off
[27483.881322] e1000e: enp0s25 NIC Link is Up 100 Mbps Full Duplex, Flow Control: None
[27483.881332] e1000e 0000:00:19.0 enp0s25: 10/100 speed: disabling TSO

# echo platform > /sys/power/pm_test
# echo mem > /sys/power/state 
[27721.020621] PM: Syncing filesystems ... done.
[27721.043989] PM: Preparing system for mem sleep
[27721.044287] Freezing user space processes ... (elapsed 0.001 seconds) done.
[27721.045418] Freezing remaining freezable tasks ... (elapsed 0.000 seconds) done.
[27721.046353] PM: Entering mem sleep
[27721.046436] Suspending console(s) (use no_console_suspend to debug)
[27721.047172] sd 0:0:0:0: [sda] Synchronizing SCSI cache
[27721.047261] sd 0:0:0:0: [sda] Stopping disk
[27721.166793] mei_me 0000:00:16.0: suspend
[27721.293987] i915 0000:00:02.0: power state changed by ACPI to D3cold
[27721.341260] PM: suspend of devices complete after 295.104 msecs
[27721.341494] PM: late suspend of devices complete after 0.231 msecs
[27721.373902] ehci-pci 0000:00:1d.0: System wakeup enabled by ACPI
[27721.385162] ehci-pci 0000:00:1a.0: System wakeup enabled by ACPI
[27721.395828] e1000e 0000:00:19.0: System wakeup enabled by ACPI
[27721.417761] PM: noirq suspend of devices complete after 76.364 msecs
[27721.418005] ACPI: Preparing to enter system sleep state S3
[27721.418275] PM: Saving platform NVS memory
[27721.418953] suspend debug: Waiting for 5 seconds.
[27726.413177] ACPI: Waking up from system sleep state S3
[27726.413576] i915 0000:00:02.0: power state changed by ACPI to D0
[27726.468195] ehci-pci 0000:00:1a.0: System wakeup disabled by ACPI
[27726.490167] ehci-pci 0000:00:1d.0: System wakeup disabled by ACPI
[27726.512267] sdhci-pci 0000:01:00.0: MMC controller base frequency changed to 50Mhz.
[27726.545198] PM: noirq resume of devices complete after 131.829 msecs
[27726.545317] PM: early resume of devices complete after 0.076 msecs
[27726.545346] i915 0000:00:02.0: setting latency timer to 64
[27726.545364] mei_me 0000:00:16.0: irq 55 for MSI/MSI-X
[27726.545371] e1000e 0000:00:19.0: System wakeup disabled by ACPI
[27726.545380] e1000e 0000:00:19.0: setting latency timer to 64
[27726.545401] e1000e 0000:00:19.0: irq 56 for MSI/MSI-X
[27726.545534] ahci 0000:00:1f.2: setting latency timer to 64
[27726.545924] ehci-pci 0000:00:1a.0: setting latency timer to 64
[27726.546096] snd_hda_intel 0000:00:1b.0: irq 57 for MSI/MSI-X
[27726.546294] ehci-pci 0000:00:1d.0: setting latency timer to 64
[27726.550352] toshiba_bluetooth: Re-enabling Toshiba Bluetooth
[27726.568320] [drm] Wrong MCH_SSKPD value: 0x16040307
[27726.568321] [drm] This can cause pipe underruns and display issues.
[27726.568321] [drm] Please upgrade your BIOS to fix this.
[27726.866676] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[27726.867036] ACPI Error: [GTF0] Namespace lookup failure, AE_NOT_FOUND (20130517/psargs-359)
[27726.867047] ACPI Error: Method parse/execution failed [\_SB_.PCI0.SAT0.PRT0._SDD] (Node ffff880437c91cd0), AE_NOT_FOUND (20130517/psparse-536)
[27726.867096] ACPI Error: [GTF0] Namespace lookup failure, AE_NOT_FOUND (20130517/psargs-359)
[27726.867104] ACPI Error: Method parse/execution failed [\_SB_.PCI0.SAT0.PRT0._GTF] (Node ffff880437c91cf8), AE_NOT_FOUND (20130517/psparse-536)
[27726.867463] ACPI Error: [GTF0] Namespace lookup failure, AE_NOT_FOUND (20130517/psargs-359)
[27726.867471] ACPI Error: Method parse/execution failed [\_SB_.PCI0.SAT0.PRT0._SDD] (Node ffff880437c91cd0), AE_NOT_FOUND (20130517/psparse-536)
[27726.867516] ACPI Error: [GTF0] Namespace lookup failure, AE_NOT_FOUND (20130517/psargs-359)
[27726.867524] ACPI Error: Method parse/execution failed [\_SB_.PCI0.SAT0.PRT0._GTF] (Node ffff880437c91cf8), AE_NOT_FOUND (20130517/psparse-536)
[27726.867564] ata1.00: configured for UDMA/100
[27726.867622] sd 0:0:0:0: [sda] Starting disk
[27726.868654] ata4: SATA link down (SStatus 0 SControl 300)
[27726.870659] ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[27726.875856] ata3.00: configured for UDMA/100
[27727.046699] PM: resume of devices complete after 502.030 msecs
[27727.046971] PM: Finishing wakeup.
[27727.046973] Restarting tasks ... done.
[27727.048108] video LNXVIDEO:01: Restoring backlight state
[27728.195009] [drm] Enabling RC6 states: RC6 on, RC6p off, RC6pp off
[27728.355744] e1000e: enp0s25 NIC Link is Up 100 Mbps Full Duplex, Flow Control: None
[27728.355752] e1000e 0000:00:19.0 enp0s25: 10/100 speed: disabling TSO

# echo processors > /sys/power/pm_test
# echo mem > /sys/power/state 
[27808.566665] PM: Syncing filesystems ... done.
[27808.590955] PM: Preparing system for mem sleep
[27808.591499] Freezing user space processes ... (elapsed 0.001 seconds) done.
[27808.592616] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[27808.593723] PM: Entering mem sleep
[27808.593828] Suspending console(s) (use no_console_suspend to debug)
[27808.594707] sd 0:0:0:0: [sda] Synchronizing SCSI cache
[27808.594775] sd 0:0:0:0: [sda] Stopping disk
[27808.715371] mei_me 0000:00:16.0: suspend
[27808.823963] i915 0000:00:02.0: power state changed by ACPI to D3cold
[27808.889284] PM: suspend of devices complete after 295.679 msecs
[27808.889467] PM: late suspend of devices complete after 0.181 msecs
[27808.921825] ehci-pci 0000:00:1d.0: System wakeup enabled by ACPI
[27808.933096] ehci-pci 0000:00:1a.0: System wakeup enabled by ACPI
[27808.943763] e1000e 0000:00:19.0: System wakeup enabled by ACPI
[27808.965705] PM: noirq suspend of devices complete after 76.335 msecs
[27808.965999] ACPI: Preparing to enter system sleep state S3
[27808.966272] PM: Saving platform NVS memory
[27808.967073] Disabling non-boot CPUs ...
[27808.967359] Broke affinity for irq 54
[27808.968711] smpboot: CPU 1 is now offline
[27808.970200] smpboot: CPU 2 is now offline
[27808.970687] Broke affinity for irq 16
[27808.970690] Broke affinity for irq 23
[27808.970693] Broke affinity for irq 42
[27808.970695] Broke affinity for irq 43
[27808.970696] Broke affinity for irq 44
[27808.970698] Broke affinity for irq 45
[27808.970700] Broke affinity for irq 46
[27808.970702] Broke affinity for irq 47
[27808.970703] Broke affinity for irq 48
[27808.970705] Broke affinity for irq 49
[27808.970707] Broke affinity for irq 50
[27808.970708] Broke affinity for irq 51
[27808.970710] Broke affinity for irq 52
[27808.971730] smpboot: CPU 3 is now offline
[27808.972038] suspend debug: Waiting for 5 seconds.
[27813.965863] Enabling non-boot CPUs ...
[27813.965885] smpboot: Booting Node 0 Processor 1 APIC 0x1
[27813.966148] [sched_delayed] sched: RT throttling activated
[27813.979154] Intel pstate controlling: cpu 1
[27813.979217] microcode: CPU1 sig=0x206a7, pf=0x10, revision=0x29
[27813.979220] CPU1 is up
[27813.979236] smpboot: Booting Node 0 Processor 2 APIC 0x2
[27813.992495] Intel pstate controlling: cpu 2
[27813.992558] microcode: CPU2 sig=0x206a7, pf=0x10, revision=0x29
[27813.992561] CPU2 is up
[27813.992576] smpboot: Booting Node 0 Processor 3 APIC 0x3
[27814.005844] Intel pstate controlling: cpu 3
[27814.005890] microcode: CPU3 sig=0x206a7, pf=0x10, revision=0x29
[27814.005893] CPU3 is up
[27814.008977] ACPI: Waking up from system sleep state S3
[27814.009621] i915 0000:00:02.0: power state changed by ACPI to D0
[27814.064059] ehci-pci 0000:00:1a.0: System wakeup disabled by ACPI
[27814.086029] ehci-pci 0000:00:1d.0: System wakeup disabled by ACPI
[27814.108153] sdhci-pci 0000:01:00.0: MMC controller base frequency changed to 50Mhz.
[27814.141065] PM: noirq resume of devices complete after 131.682 msecs
[27814.141188] PM: early resume of devices complete after 0.077 msecs
[27814.141203] i915 0000:00:02.0: setting latency timer to 64
[27814.141237] mei_me 0000:00:16.0: irq 55 for MSI/MSI-X
[27814.141257] e1000e 0000:00:19.0: System wakeup disabled by ACPI
[27814.141265] e1000e 0000:00:19.0: setting latency timer to 64
[27814.141285] e1000e 0000:00:19.0: irq 56 for MSI/MSI-X
[27814.142181] ahci 0000:00:1f.2: setting latency timer to 64
[27814.152469] ehci-pci 0000:00:1a.0: setting latency timer to 64
[27814.152545] snd_hda_intel 0000:00:1b.0: irq 57 for MSI/MSI-X
[27814.152695] ehci-pci 0000:00:1d.0: setting latency timer to 64
[27814.152704] toshiba_bluetooth: Re-enabling Toshiba Bluetooth
[27814.166059] [drm] Wrong MCH_SSKPD value: 0x16040307
[27814.166059] [drm] This can cause pipe underruns and display issues.
[27814.166060] [drm] Please upgrade your BIOS to fix this.
[27814.466522] ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[27814.468514] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[27814.468696] ACPI Error: [GTF0] Namespace lookup failure, AE_NOT_FOUND (20130517/psargs-359)
[27814.468700] ACPI Error: Method parse/execution failed [\_SB_.PCI0.SAT0.PRT0._SDD] (Node ffff880437c91cd0), AE_NOT_FOUND (20130517/psparse-536)
[27814.468718] ACPI Error: [GTF0] Namespace lookup failure, AE_NOT_FOUND (20130517/psargs-359)
[27814.468722] ACPI Error: Method parse/execution failed [\_SB_.PCI0.SAT0.PRT0._GTF] (Node ffff880437c91cf8), AE_NOT_FOUND (20130517/psparse-536)
[27814.468954] ACPI Error: [GTF0] Namespace lookup failure, AE_NOT_FOUND (20130517/psargs-359)
[27814.468958] ACPI Error: Method parse/execution failed [\_SB_.PCI0.SAT0.PRT0._SDD] (Node ffff880437c91cd0), AE_NOT_FOUND (20130517/psparse-536)
[27814.468976] ACPI Error: [GTF0] Namespace lookup failure, AE_NOT_FOUND (20130517/psargs-359)
[27814.468979] ACPI Error: Method parse/execution failed [\_SB_.PCI0.SAT0.PRT0._GTF] (Node ffff880437c91cf8), AE_NOT_FOUND (20130517/psparse-536)
[27814.469006] ata1.00: configured for UDMA/100
[27814.469037] sd 0:0:0:0: [sda] Starting disk
[27814.471662] ata3.00: configured for UDMA/100
[27814.472504] ata4: SATA link down (SStatus 0 SControl 300)
[27814.652459] PM: resume of devices complete after 511.934 msecs
[27814.652616] PM: Finishing wakeup.
[27814.652617] Restarting tasks ... done.
[27814.653218] video LNXVIDEO:01: Restoring backlight state
[27815.939622] e1000e: enp0s25 NIC Link is Up 100 Mbps Full Duplex, Flow Control: None
[27815.939632] e1000e 0000:00:19.0 enp0s25: 10/100 speed: disabling TSO
[27816.080477] [drm] Enabling RC6 states: RC6 on, RC6p off, RC6pp off

# echo core > /sys/power/pm_test
# echo mem > /sys/power/state 
[27978.819058] PM: Syncing filesystems ... done.
[27978.847076] PM: Preparing system for mem sleep
[27978.847699] Freezing user space processes ... (elapsed 0.006 seconds) done.
[27978.854415] Freezing remaining freezable tasks ... (elapsed 0.000 seconds) done.
[27978.855398] PM: Entering mem sleep
[27978.855500] Suspending console(s) (use no_console_suspend to debug)
[27978.856388] sd 0:0:0:0: [sda] Synchronizing SCSI cache
[27978.856480] sd 0:0:0:0: [sda] Stopping disk
[27978.976177] mei_me 0000:00:16.0: suspend
[27979.079138] i915 0000:00:02.0: power state changed by ACPI to D3cold
[27979.149989] PM: suspend of devices complete after 294.725 msecs
[27979.150318] PM: late suspend of devices complete after 0.325 msecs
[27979.182982] ehci-pci 0000:00:1d.0: System wakeup enabled by ACPI
[27979.194246] ehci-pci 0000:00:1a.0: System wakeup enabled by ACPI
[27979.204909] e1000e 0000:00:19.0: System wakeup enabled by ACPI
[27979.226842] PM: noirq suspend of devices complete after 76.622 msecs
[27979.227095] ACPI: Preparing to enter system sleep state S3
[27979.227344] PM: Saving platform NVS memory
[27979.228057] Disabling non-boot CPUs ...
[27979.228319] Broke affinity for irq 54
[27979.229609] smpboot: CPU 1 is now offline
[27979.231147] smpboot: CPU 2 is now offline
[27979.231783] Broke affinity for irq 16
[27979.231785] Broke affinity for irq 23
[27979.231788] Broke affinity for irq 42
[27979.231789] Broke affinity for irq 43
[27979.231791] Broke affinity for irq 44
[27979.231793] Broke affinity for irq 45
[27979.231794] Broke affinity for irq 46
[27979.231796] Broke affinity for irq 47
[27979.231798] Broke affinity for irq 48
[27979.231799] Broke affinity for irq 49
[27979.231801] Broke affinity for irq 50
[27979.231802] Broke affinity for irq 51
[27979.231804] Broke affinity for irq 52
[27979.232828] smpboot: CPU 3 is now offline
[27979.233279] suspend debug: Waiting for 5 seconds.
[27984.227385] microcode: CPU0 sig=0x206a7, pf=0x10, revision=0x29
[27984.227418] Enabling non-boot CPUs ...
[27984.227450] smpboot: Booting Node 0 Processor 1 APIC 0x1
[27984.240724] Intel pstate controlling: cpu 1
[27984.240789] microcode: CPU1 sig=0x206a7, pf=0x10, revision=0x29
[27984.240793] CPU1 is up
[27984.240808] smpboot: Booting Node 0 Processor 2 APIC 0x2
[27984.254085] Intel pstate controlling: cpu 2
[27984.254146] microcode: CPU2 sig=0x206a7, pf=0x10, revision=0x29
[27984.254150] CPU2 is up
[27984.254164] smpboot: Booting Node 0 Processor 3 APIC 0x3
[27984.267446] Intel pstate controlling: cpu 3
[27984.267506] microcode: CPU3 sig=0x206a7, pf=0x10, revision=0x29
[27984.267510] CPU3 is up
[27984.270772] ACPI: Waking up from system sleep state S3
[27984.271203] i915 0000:00:02.0: power state changed by ACPI to D0
[27984.325879] ehci-pci 0000:00:1a.0: System wakeup disabled by ACPI
[27984.347850] ehci-pci 0000:00:1d.0: System wakeup disabled by ACPI
[27984.369927] sdhci-pci 0000:01:00.0: MMC controller base frequency changed to 50Mhz.
[27984.402884] PM: noirq resume of devices complete after 131.893 msecs
[27984.403005] PM: early resume of devices complete after 0.078 msecs
[27984.403030] i915 0000:00:02.0: setting latency timer to 64
[27984.403059] mei_me 0000:00:16.0: irq 55 for MSI/MSI-X
[27984.403060] e1000e 0000:00:19.0: System wakeup disabled by ACPI
[27984.403069] e1000e 0000:00:19.0: setting latency timer to 64
[27984.403093] e1000e 0000:00:19.0: irq 56 for MSI/MSI-X
[27984.403258] ahci 0000:00:1f.2: setting latency timer to 64
[27984.403614] ehci-pci 0000:00:1a.0: setting latency timer to 64
[27984.403816] snd_hda_intel 0000:00:1b.0: irq 57 for MSI/MSI-X
[27984.403988] ehci-pci 0000:00:1d.0: setting latency timer to 64
[27984.408183] toshiba_bluetooth: Re-enabling Toshiba Bluetooth
[27984.425895] [drm] Wrong MCH_SSKPD value: 0x16040307
[27984.425895] [drm] This can cause pipe underruns and display issues.
[27984.425895] [drm] Please upgrade your BIOS to fix this.
[27984.722410] ata4: SATA link down (SStatus 0 SControl 300)
[27984.724371] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[27984.724764] ACPI Error: [GTF0] Namespace lookup failure, AE_NOT_FOUND (20130517/psargs-359)
[27984.724777] ACPI Error: Method parse/execution failed [\_SB_.PCI0.SAT0.PRT0._SDD] (Node ffff880437c91cd0), AE_NOT_FOUND (20130517/psparse-536)
[27984.724836] ACPI Error: [GTF0] Namespace lookup failure, AE_NOT_FOUND (20130517/psargs-359)
[27984.724864] ACPI Error: Method parse/execution failed [\_SB_.PCI0.SAT0.PRT0._GTF] (Node ffff880437c91cf8), AE_NOT_FOUND (20130517/psparse-536)
[27984.725245] ACPI Error: [GTF0] Namespace lookup failure, AE_NOT_FOUND (20130517/psargs-359)
[27984.725255] ACPI Error: Method parse/execution failed [\_SB_.PCI0.SAT0.PRT0._SDD] (Node ffff880437c91cd0), AE_NOT_FOUND (20130517/psparse-536)
[27984.725309] ACPI Error: [GTF0] Namespace lookup failure, AE_NOT_FOUND (20130517/psargs-359)
[27984.725318] ACPI Error: Method parse/execution failed [\_SB_.PCI0.SAT0.PRT0._GTF] (Node ffff880437c91cf8), AE_NOT_FOUND (20130517/psparse-536)
[27984.725386] ata1.00: configured for UDMA/100
[27984.725474] sd 0:0:0:0: [sda] Starting disk
[27984.726351] ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[27984.731495] ata3.00: configured for UDMA/100
[27984.904359] PM: resume of devices complete after 502.002 msecs
[27984.904677] PM: Finishing wakeup.
[27984.904679] Restarting tasks ... done.
[27984.906546] video LNXVIDEO:01: Restoring backlight state
[27985.851959] [drm] Enabling RC6 states: RC6 on, RC6p off, RC6pp off
[27986.207485] e1000e: enp0s25 NIC Link is Up 100 Mbps Full Duplex, Flow Control: None
[27986.207493] e1000e 0000:00:19.0 enp0s25: 10/100 speed: disabling TSO





Monday, October 28, 2013

Kernel Summit 2013

I did a brief presentation of Coccinelle in a lightning talk on Friday. It was the first time I had Linus on the audience. :-) Slides here.

Photo on the Linux Kernel Summit 2013. I'm near Linus and Greg :-)*

:-)


*Photo by: Thorsten Leemhuis

Sunday, October 20, 2013

Fedora: Compile a single module directory for current running Kernel

Sometimes one may want to just compile a single module and use it without rebooting the machine. In my case I wanted to play with 8139cp/8139too modules inside a KVM virtual machine running Fedora.

There are two requirements:
1 - Kernel source code
2 - Kernel development package

The source code is where to do the changes, while the development package contains the headers that allow to compile Kernel modules with the right version magic.

There are some options for obtaining the Kernel source code, but here the Fedora way is listed. You could probably download the Kernel from http://kernel.org.

Install packages, prepare RPM buil tree, and "install" the source code(Fedora way):
[fedora] $ sudo yum install @"Development Tools" rpmdevtools yum-utils ncurses-devel
[fedora] $ rpmdev-setuptree
[fedora] $ yumdownloader --source kernel
[fedora] $ sudo yum-builddep kernel-<version>.src.rpm
[fedora] $ rpm -Uvh kernel-<version>.src.rpm
Prepare the source code for building:
[fedora] $ cd ~/rpmbuild/SPECS
[fedora] $ rpmbuild -bp --target=$(uname -m) kernel.spec

Install kernel-devel:
[fedora] $ sudo yum install kernel-devel

Build Realtek Ethernet modules:
[fedora] $ cd ~/rpmbuild/BUILD/kernel-<version>/linux-<version>
[fedora] $ make -C /lib/modules/`uname -r`/build M=`pwd`/drivers/net/ethernet/realtek modules

Remove original mudules, load new ones:
[fedora] $ sudo rmmod 8139cp
[fedora] $ sudo rmmod 8139too
[fedora] $ sudo insmod ~/rpmbuild/BUILD/kernel-<version>/linux-<version>/drivers/net/ethernet/realtek/8139cp.ko
[fedora] $ sudo insmod ~/rpmbuild/BUILD/kernel-<version>/linux-<version>/drivers/net/ethernet/realtek/8139too.ko

Nice resources:
 - Building a custom kernel

Saturday, August 24, 2013

What are the source code files associated to Kconfig symbol?

I needed a way to discover which Linux source code files are related to a Kconfig symbol. As there is at least one Kconfig symbol for each Linux device driver, how could I find out what files are part of a device driver based on a single, or a set, of Kconfig symbols? I made a Perl script for that. For example:

$ cd /src/linux/drivers/net/ethernet
$ Kconfig-files.pl ALX
atheros/alx/hw.h
atheros/alx/hw.c
atheros/alx/ethtool.c
atheros/alx/main.c
atheros/alx/alx.h
atheros/alx/reg.h

All source files associated to the ALX Kconfig symbol are listed. The script is at Github.

Wednesday, January 9, 2013

make localmodconfig

Always wanted easy way of creating good config for compiling your own Kernel? You should try make localmodconfig

Before running make localmodconfig connect everything you want to work on your custom Kernel like USB pen drives and webcamera. make localmodconfig probes for loaded modules and make a new CONFIG for you.

From: http://www.h-online.com/open/features/Good-and-quick-kernel-configuration-creation-1403046.html
Thanks to +Thorsten Leemhuis