// Intel 82574L NICs: network hangs / ASPM Bug / e1000 driver

A few days ago, I ran into an ugly bug on different Scientific Linux 6.3 hosts (therefore this should also affect RHEL 6.3 and CentOS 6.3). The network hangs while the system itself is up, running and responsive. “Just” no network. Restarting the affected network interfaces is not enough, only a complete reboot brings the Intel 82574L-based network cards back to life (those NICs are onBoard on the Supermicro X9SCM-F and X8SIL mainboards of the affected hosts, so I can't simply change them). The logs showed entries like the following:

Jan 24 09:52:35 host2 kernel: WARNING: at net/sched/sch_generic.c:261 dev_watchdog+0x26d/0x280() (Not tainted)
Jan 24 09:52:35 host2 kernel: Hardware name: X9SCL/X9SCM
Jan 24 09:52:35 host2 kernel: NETDEV WATCHDOG: eth1 (e1000e): transmit queue 0 timed out
Jan 24 09:52:35 host2 kernel: Modules linked in: fuse autofs4 sunrpc vboxpci(U) vboxnetadp(U) vboxnetflt(U) vboxdrv(U) cpufreq_ondemand acpi_cpufreq freq_table mperf ipt_REJECT nf_conntrack_ipv4 nf_defrag_ipv4 iptable_filter ip_tables ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 xt_state nf_conntrack ip6table_filter ip6_tables ipv6 ext3 jbd uinput raid1 sg microcode i2c_i801 i2c_core iTCO_wdt iTCO_vendor_support shpchp e1000e ext4 mbcache jbd2 fpu aesni_intel cryptd aes_x86_64 aes_generic xts gf128mul dm_crypt raid10 sd_mod crc_t10dif ahci video output dm_mirror dm_region_hash dm_log dm_mod [last unloaded: scsi_wait_scan]
Jan 24 09:52:35 host2 kernel: Pid: 0, comm: swapper Not tainted 2.6.32-279.19.1.el6.x86_64 #1
Jan 24 09:52:35 host2 kernel: Call Trace:
Jan 24 09:52:35 host2 kernel: <IRQ>  [<ffffffff8106a1e7>] ? warn_slowpath_common+0x87/0xc0
Jan 24 09:52:35 host2 kernel: [<ffffffff8101c0fa>] ? intel_pmu_enable_all+0xba/0x160
Jan 24 09:52:35 host2 kernel: [<ffffffff8106a2d6>] ? warn_slowpath_fmt+0x46/0x50
Jan 24 09:52:35 host2 kernel: [<ffffffff8144792d>] ? dev_watchdog+0x26d/0x280
Jan 24 09:52:35 host2 kernel: [<ffffffff814476c0>] ? dev_watchdog+0x0/0x280
Jan 24 09:52:35 host2 kernel: [<ffffffff8107d2c7>] ? run_timer_softirq+0x197/0x340
Jan 24 09:52:35 host2 kernel: [<ffffffff810a0910>] ? tick_sched_timer+0x0/0xc0
Jan 24 09:52:35 host2 kernel: [<ffffffff8102adad>] ? lapic_next_event+0x1d/0x30
Jan 24 09:52:35 host2 kernel: [<ffffffff81072991>] ? __do_softirq+0xc1/0x1e0
Jan 24 09:52:35 host2 kernel: [<ffffffff81095510>] ? hrtimer_interrupt+0x140/0x250
Jan 24 09:52:35 host2 kernel: [<ffffffff8100c1cc>] ? call_softirq+0x1c/0x30
Jan 24 09:52:35 host2 kernel: [<ffffffff8100de05>] ? do_softirq+0x65/0xa0
Jan 24 09:52:35 host2 kernel: [<ffffffff81072775>] ? irq_exit+0x85/0x90
Jan 24 09:52:35 host2 kernel: [<ffffffff814f1fa0>] ? smp_apic_timer_interrupt+0x70/0x9b
Jan 24 09:52:35 host2 kernel: [<ffffffff8100bb93>] ? apic_timer_interrupt+0x13/0x20
Jan 24 09:52:35 host2 kernel: <EOI>  [<ffffffff812ec17e>] ? acpi_idle_enter_c1+0xa3/0xc1
Jan 24 09:52:35 host2 kernel: [<ffffffff812ec15d>] ? acpi_idle_enter_c1+0x82/0xc1
Jan 24 09:52:35 host2 kernel: [<ffffffff813f6c67>] ? cpuidle_idle_call+0xa7/0x140
Jan 24 09:52:35 host2 kernel: [<ffffffff81009fc6>] ? cpu_idle+0xb6/0x110
Jan 24 09:52:35 host2 kernel: [<ffffffff814d109a>] ? rest_init+0x7a/0x80
Jan 24 09:52:35 host2 kernel: [<ffffffff81c21f7b>] ? start_kernel+0x424/0x430
Jan 24 09:52:35 host2 kernel: [<ffffffff81c2133a>] ? x86_64_start_reservations+0x125/0x129
Jan 24 09:52:35 host2 kernel: [<ffffffff81c21438>] ? x86_64_start_kernel+0xfa/0x109
Jan 24 09:52:35 host2 kernel: ---[ end trace 1f3cc9d5dfc619c0 ]---
Jan 24 09:52:35 host2 kernel: e1000e 0000:02:00.0: eth1: Reset adapter

After some googleing, I found a useful Bug-Report and a mailing list thread. Especially three postings are quite informative:

It seems that the ASPM of the Intel 82574L is broken. The corresponding Linux driver “e1000” therefore has this chip on its ASPM blacklists and disables it when the systems boots. However, there is some side effect which re-enabled the NIC'S ASPM state L1 after a network connection was established. This does not happen on all Linux flavors and kernel versions, but it happens at least on Scientific 6.3 with kernel 2.6.32-279.19.1.

Workaround: disable the NIC's ASPM after the system boots

A quick workaround is to manually disable the NIC'S ASPM after the system booted and the network “stabilized” (e.g. after a few minutes). The following command disables ASPM for a device:

setpci -s <ID-of-device> CAP_EXP+10.b=40

You can use lspci -vnn to get the device ID (first number of the line, 02:00.0 in the following example output):

[root@host2 ~]# lspci -vnn | grep '82574'
02:00.0 Ethernet controller [0200]: Intel Corporation 82574L Gigabit Network Connection [8086:10d3]

Example: I used /etc/rc.local to disable ASPM on the device with ID 02:00.0, five minutes after the system boots by putting the following lines at the end of the file:

# workaround for Intel 82574L bug, see http://bit.ly/1565w6I for details
printf '%s\n' 'setpci -s 02:00.0 CAP_EXP+10.b=40' | at now + 5min

Use lspci -vvvv -s <ID-of-device> if you want to check if ASPM is really disabled (look for “LnkCtl: ASPM Disabled”):

[root@host2 ~]# lspci -vvvv -s 02:00.0
02:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
		LnkCtl:	ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-

I hope this helps someone else in some way. :-)

// LSI 3ware RAID controller: "Parameter not changeable"

I upgraded the OS of two servers last weekend. The planned downtime was also used to install LSI 3ware 9650SE-4LPML RAID controllers plus Battery Backup Unit (BBU). The BBU enables the controller to keep the write cache during a power failure. However, I was not able to create a RAID array with “Write Cache: enabled” on one system. I always got the message “Parameter not changeable” when the configuration was stored.

The solution was simple: wait. The Battery Backup Unit (BBU) on the system was not charged enough, therefore the controller denied enabling the “Write Cache” setting. So if you get the message “Parameter not changeable” when configuring a LSI 3ware Raid Controller, check if the “Write Cache” setting is the root of it and if a charging or failed BBU caused it. You can check the BBU status in the Controller BIOS Setup (I found “BBU Ready: no” in “Information→Battery”).

// Linux laptop recommendation: ThinkPad T420 4180W1G / 4180PH1

If you are searching for a powerful laptop to run Fedora 15 Lovelock on, have a look at the Lenovo ThinkPad T420 4180W1G/4180PH1.1) It simply rocks. All the internal peripherals are working out of the box (LAN, WLAN, graphics, sound, microphone, webcam, volume up/down and mute buttons, brightness control buttons, eSATA…). The Intel HD3000 processor graphics runs smoothly. Even no problems with external monitors up to a 2560×1600 resolution or when using both the built-in screen plus an external monitor connected to the Mini Dock Series 3 45N6678 docking station. The Intel Core i5-2520M CPU provides VT-d and VT-x. So everything is fine if you want to run VMs.

Downsides, pitfalls and notes:

  • The built-in speakers are really bad, even for a laptop.
  • The keyboard shows signs of cosmetic wear after a few weeks of usage.
  • Microsoft tax a.k.a. Windows 7 Professional 64bit. At least, you can use the pre-installed Windows to update the laptop's firmware with a few clicks before installing Linux. And the license may be used to run a Windows 7 VM (although the laptop is shipped without installation media, you can download the original Windows 7 ISO images from Digital River).
  • I can't tell if the fingerprint sensor and the Class 1 Smartcard Reader are working out of the box because I do not need nor did I test them. But the Smartcard Reader is at least recognized by the OS.
  • When using the Mini Dock Series 3 45N6678, the analog sound line-out is not passed-through (everything else works). This means you still have to use the laptop's headphone connector to connect speakers.
  • If you are looking for similar models out of the T420 family, you should know that some of them got two graphics adapters (a combination of Intel and NVIDIA). I don't know if these make any trouble or need special configuration because the 4180W1G/4180PH1 comes with Intel graphics only.

:!: Tip for German readers: Studenten, Lehrer, Lehrkräfte und wissenschaftliche Mitarbeiter bekommen das ThinkPad T420 4180PH1 bei Brünings + Sander :lang_de: mit erheblichem Rabatt. Ich habe nichts mit der Firma zu tun und bekomme auch keine Provision. Aber meine Erfahrungen mit B+S waren bisher stets positiv.

Don't get confused: 4180W1G and 4180PH1 are two model numbers for the same hardware.

// Nexus S

I just did the basic setup of my Nexus S (i0923 with SCLD). What should I say? It totally rocks. The pre-installed Android 2.3.3 is a pure revelation compared to the older versions running on my Motorola Milestone. All those small but annoying bugs seem to be gone. And most important: no more PITA regarding Android Updates.2) The phone comes with a micro-USB connector as my Milestone and most other new non-Apple phones do. Therefore there is no need to buy new USB-A→micro-USB-B cables.3)

BTW: You'll find some app hints for new Android users below… ;-).4)

Must-have apps for common tasks and daily usage:

“Pure Google”, you know.
I got one for every PC to charge my phone wherever I am. They are very cheap… all of mine cost between ~80ct and 1,50€
The names are linking QR Code images (created with goQR.me/QR-Server) containing an Android Market search query. Simply scan the code e.g. with the mentioned “Barcode Scanner” and visit the URL to install.

// Neues Spielzeug: Kodak M753 und Motorola Motofone F3

Endlich habe ich mir mal eine neue Digicam für alltägliche Schnappschüsse gegönnt, welche die absolut veraltete Fuji Finepix 1300 ablöst. Die Wahl viel auf eine Kodak M753. Das Ding ist perfekt für mich, ich bin nämlich ein fotografischer n00b – muss also einfach zu bedienen sein, sollte dennoch schöne Schnappschüsse abliefern und nicht mehr als 100€ kosten. Besonders informiert habe ich mich vor dem Kauf zwar nicht, ich bin bis jetzt aber zurieden damit. Der Li-Ionen-Akku hält ewig und kann über das mitgelieferte Ladegerät oder per USB geladen werden, zahlreiche einfach zu bedienende Funktionen/Profile und eine ziemlich gute Automatik, wenn es darum geht mit schwierigen Lichtverhältnissen umzugehen lassen selbst mich brauchbare Bilder machen. Einen KLIC-7001-Zusatzakku gibt es ebenfalls sehr günstig, sofern man da nicht das Original von Kodak kauft. Flach, leicht und schön anzusehen ist die M753 auch noch – was will man mehr? Ok, vielleicht 'nen Sucher… ;-)

Dann gab es noch ein Motorola Motofone F3 zusammen mit einem Congstar Prepaid-Tarif, weil ich für Impressumsangaben etc. unbedingt noch eine neue Nummer wollte – günstiger kommt man wohl an kein neues Mobiltelefon, das so flach und leicht ist.

Und hier noch ein paar Pics dazu (aber keine Angst, die M753 macht normal deutlich bessere Aufnahmen – sind halt für das Blog zugeschnitten und hier im Raum ist wirklich so komisches Licht wie es den Anschein macht ;-) ).

// Musikalischer Scanner

Hammer. Überall Hardware mit Sound. Erst neulich die Sache mit der musikalischen HDD, jetzt dudeln Scanner sogar Mozart vor sich hin (MPEG Video).

HP hat für einige seiner SCSI-Scanjet Modelle einen Befehl namens Play Tune zur Verfügung gestellt (undokumentiert, versteht sich – alles was Spaß macht ist grundsätzlich undokumentiert *g*). Mehr über die Hintergründe findet sich unter http://www.ganjatron.net/misc/scanjet/, ein “Notensample” findet sich im HP Journal des Februars 1997. Ich müsste noch irgendwo einen ScanJet 5P haben, muss mal bei Gelegenheit ausprobieren, ob das da ebenso ohne größere Probleme klappt wie bei dem im Video zu sehenden ScanJet 4c. Falls ja, bau’ ich mir irgendwann was schönes draus… ist doch mal n’ netter Gag. Echt, solche Dinge liebe ich. :-D


// "Festplatte tot musikalisch, bitte RMA"

…mit dieser Aufschrift lag vor einigen Tagen eine 300GB Maxtor HDD im Serverraum auf dem Tisch:

Defekte Maxtor HDD

Bevor ich aber defekte Ware per RMA zurückschicke, teste ich das Ganze natürlich nochmal selbst. Ich habe aber nicht damit gerechnet, dass der Zettel so wörtlich gemeint war. Aber lauscht selbst, ich hab es nämlich aufgenommen:

Unglaublich, oder? Ich wusste nichtmal, dass Festplatten einen wie auch immer gearteten Lautsprecher haben. Und ich meine wirklich die HDD, diese kam mit keinem Rechner in Berührung, sondern wurde alleine über das Netzteil von einem Sharkoon DriveLink mit Strom versorgt. Also nix mit BIOS → PC-Speaker oder Ähnliches. ;-)

Das richtig Gemeine ist aber, dass das Teil nach ca. acht Sekunden (welche man in der verlinkten MP3-File hören kann) für ungefähr zwei Minuten einfach kein Geräusch mehr von sich gibt, um wiederum für acht Sekunden zu piepen. Man fängt also an, alles abzusuchen und an alles zu denken, was da denn so piepen könnte. Und sucht sich natürlich in der Pause zwischen den Piepsern 'nen Wolf:

  • [Piepsen]
  • Check: Brennt der Server ab? – Nope :-D
  • Check: Brennt das Gebäude ab? – Nope :-D
  • [Unterbrechung durch erneutes Piepsen]
  • Check: Assi vor der Tür mit nem bescheuerten Klingelton? – Nope :-D
  • Check: Brennt der Server wirklich nicht ab? – Nope :-D
  • [Unterbrechung durch erneutes Piepsen]
  • Check: Alles untersuchen was in dem verdammten Raum ist…
  • [Gehe nicht über Los, ziehe keine Bescheinugung bezüglich der vollkommenen geistigen Gesundheit ein, und wiederhole das Spiel]

Ehrlich, hat 'ne Weile gedauert, bis ich das Geräusch der HDD zuordnen konnte. Dann war ich aber beruhigt und wirklich überrascht. Zumal man über Google etc. eigentlich immer nur lesen kann Festplatten piepen nicht, die haben ja keinen Lautsprecher. Denkste! :-D

// USB Missile Launcher

Das Teil wäre doch echt mal schick: USB Missile Launcher - High-Powered Office Artillery Piece

Stelle mir gerade vor, in der Uni-Bib zu sitzen, die Büchermassen geschickt zu stapeln und dann ganz unaufällig diverse Mitmenschen aus Ihrem Mittagsschlaf zu bomben wecken :-D (da wird nämlich aufgrund des Mangels an geeigneten Plätzen zum lernen gerne mal geschlafen, um in der Klausurphase den Platz nicht abtreten zu müssen). Wär’ sicher ein heiden Spaß. *g*

// Service Guides von Acer und anderen Firmen

Leider ist das so ein leidiges Thema mit Notebooks und anderen Geräten, die nur zum Teil irgendwelchen Standards entsprechen: Hardware-Austausch. Es soll mit Service und Co. nochmals Kasse gemacht werden – nachvollziehbar aber dennoch ärgerlich. Bei vielen Geräten geht ohne sog. “Service Guide” (im Grunde sind dies gut kommentierten Demontageanleitung), praktisch nichts, ohne grob fahrlässig zu basteln.

So ist es auch immer wieder eine Kunst, profane Dinge wie DVD-Laufwerke aus Acer-Laptops auszutauschen. Leider kommt man an deren Service Guides nicht ohne Weiteres ran. Einige geistern allerdings durchs Web, andere lassen sich durch das Erraten von Dateinamen von der zur Acer zugehörigen Website synapsenow.com herunterladen. Sämtliche Acer-Support-Dokumente scheinen sich dort unterhalb des Pfades https://www.synapsenow.com/synapse/data/7117/documents/ zu befinden.

Zum Beispiel findet sich der Service Guide für die Aspire 1300-Serie unter dem Dateinamen as1300sg.pdf, die 1400er-Serie unter as1400sg.pdf und die 2000er-Serie unter as2000sg.pdf. Leider ist das Schema aber nicht immer so eindeutig. Ich benötigte z. B. den Service Guide für ein Acer Aspire 1692WLMi (also ein Stück aus der 1690er-Serie), welches sich unter S.G_AS1690_AS3510_BOOK.pdf versteckte. Google hilft da aber oft weiter.

Eine weitere, kostenlose Fundgrube für Service Guides und Schaltpläne aller Art ist eServiceInfo.com und eine entsprechende Kategorie auf laptoprepair101.com. Sollten alle Stricke reißen muss man ggf. auf kommerzielle Anbieter wie Nodevice.com zurückgreifen. Die paar Dollars zu der selbst gekauften Ersatz-Hardware sind nämlich immer noch geschenkt, wenn man das mit den Kosten vergleicht, ein Notebook außerhalb der Gewährleistungszeit vom Hersteller reparieren zu lassen.

// CSI:Munich - für ZFS im Einsatz

ZFS ist eine feine Sache und wird mittelfristig sicherlich in der UNIX-Welt sehr erfolgreich. Sun hat diesbezüglich ganze Arbeit geleistet. Was man mit einem ZFS-Pool (welcher mittels zweier simpler Befehle erstellt wird) alles anstellen kann, ist schon heute der Wahnsinn.

Dazu gibt es auch ein geiles Video – Nerds im Einsatz, gelebter Geekism. Die Jungs bauen doch tatsächlich innerhalb weniger Minuten einen Hochverfügbarkeitsspeicher mit billigen USB-Sticks und ZFS. Dazu noch mit einer netten Prise Humor… ein “must see” ;-)

PS: Nach dem Genuss von Flash-Videos sollte man sich ggf. noch Gedanken über SharedObjects machen.

I'm no native speaker (English)
Please let me know if you find any errors (I want to improve my English skills). Thank you!
QR Code: URL of current page
QR Code: URL of current page start (generated for current page)