Lenovo x121e + debian 6 squeeze LAN, WLAN – Walkthrough

Hallo,

in folgendem beschreibe ich einen kompletten Walkthrough, den ich gehen musste um Debian auf einem Lenovo x121e zum laufen zu bringen, und alle daraus resultierenden Probleme, wie etwa:
-Probleme mit Ethernet
-Probleme mit Erkennung des WLAN Adapters
-Probleme beim Umbau auf einen alternativen Adapter (hier: Intel Centrino Wireless N1000)

Zu meiner selbst: ich sehe mich selbst lediglich als einen fortgeschrittenen Linux Anwender. Vieles von den hier beschriebenen Sachen könnte ich tiefergehend gar nicht erklären. Aber googeln kann ich Ziel dieses WT’s ist es all die verstreute Information greifbar in einem Stück zu geben, in der Hoffnung, dass jemand so effektiver das Ziel erreicht.

Zu meiner Ausgangsposition:
Zur Hand liegt mein Lenovo Thinkpad x121e mit AMD64 Architektur
Ein Rechner mit Windows 7 64 Bit (32bit wäre für den späteren Verlauf besser gewesen, wer also eine VM erstellt → 32bit!)
Ein USB-Stick
Google!

Leider ist das Projekt x121e mit einigen Schwierigkeiten verbunden, aber wo ein Wille ist, ist bekanntermaßen auch ein Weg.

Das erste Hinderniss beginnt während der Installation: debian erkennt den Ethernet-Adapter nicht…was tun?

Beim erstmaligen Auftreten des Fehlers in ein anderes Terminal springen (STRG+ALT+F2) und eingeben

Code:
~# modprobe atl1c
~# echo "1969 1083" > /sys/bus/pci/drivers/atl1c/new_id
~# modprobe -r atl1c

und man sollte auch mit einem Editor(vi, nano) folgendes in /etc/network/interfaces einstellen:

Code:
allow-hotplug eth0

iface eth0 inet dhcp
        pre-up modprobe atl1c
        pre-up echo "1969 1083" > /sys/bus/pci/drivers/atl1c/new_id
        post-down modprobe -r atl1c

Durch STRG-ALT-F7 wieder zurück zur Installation und fortfahren, Pakete aussuchen und wenn sonst keine Katastrophen passieren, sollte das ganze fuktionieren (so wars bei mir)

Nun kommt der Anstrengende Teil: WiFi

Natürlich kennt das Lenovo auch euren Wirelessadapter nicht, wäre ja sonst langweilig. Also muss erst mal heraus gefunden werden, ob es sich hier bei um Realtek oder Broadcom (wenn es nicht das selbe ist, gab je zu Beiden Ergebnisse bei meiner Suche) handelt.

Wie?

Code:
~# lspci | grep WiFi

Sollte das Ergebnis dann folgendes sein:

Code:
01:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8188CE 802.11b/g/n WiFi Adapter (rev 01)

habt ihr erst mal 2 Probleme.

Problem 1: Es will nicht erkannt werden → kein Kabellos – Internet
Dazu benötigt man passende Header von linux 3.2 sowie squeeze backports.

Folgende Abfolge:

Erst einmal mit einem Editor nach Wahl /etc/apt/sources.list bearbeiten und folgende Zeile ergänzen:

Code:
deb http://ftp.de.debian.org/debian-backports/ squeeze-backports main contrib non-free

Dannach:

Code:
~# apt-get update
~# apt-get -t squeeze-backports install firmware-realtek linux-image-3.2.0-0.bpo.3-amd64

Auf Nummer sicher mal neu starten und an sich müsste der Rechner so erstmal ins Netz über WiFi gehen.

Doch wenn man sein ThinkPad eine Weile benutzt, stellt man Problem 2 fest.

Problem 2: Instabile Verbindung, Häufige Re-connects etc.

Das liegt einfach daran, dass die RTL8188CE einfach Schrott ist. Anders formuliert: die für Linux vorhandenen Treiber sind buggy, sowie aber auch für andere Systeme, so läuft ubuntu/Windows da nicht wesentlich stabiler.

Wie löst man nun dieses Problem?

Wenn man sich mit diesem Zustand nicht zufrieden gibt, führt kein Weg um eine Neuanschaffung einer alternativen Wireless-Card. Dazu googelt man erst mal nach „Lenovo x121e Hardware Maintance Manual“ (HMM). Die PDF die man dabei findet, kann man sich gleich speichern, da stehen viele interessante Sachen drin, die man wissen sollte, und die wir im Walkthrough später noch brauchen werden.

Man sucht zunächst nach der Liste mit den FRU Nummern. Dies ist wichtig, um zu ermitteln, welche Karte man alternativ einbauen kann, die sich nicht mit dem ThinkPad juckt → kompatibel ist. Meine Wahl war eine Intel Centrino Wireless N1000. Generell würde ich für sowas Intelkarten empfehlen, da sie erfahrungsgemäß gut sind. Wichtig ist hierbei auch zu beachten, wo man sich diese Karte besorgt. Diejenigen die bereits auf Ebay Ausschau halten, finden sicher einiges aus China. Da sollte man Vorsichtig sein, dass man kein Engineering Sample kriegt, sondern ein Original. Anderfalls hat man sonst das Problem, dass es von Linux nicht erkannt wird.

Zur Info: Kostenpunkt war in dem Fall 15€

Karte angekommen, schon kann’s losgehen.
In meinem Fall war es interessanter Weise, das erste mal in über 13 Jahren Erfahrung, dass ich in die Hardware gehe. Habe also vorher weder Rechner nur Notebooks auseinander gebaut. Daher keine falsche Bescheidenheit, aber bestimmte Dinge sollte man doch wissen. Teppichböden vermeiden und am besten vor dem Aufschrauben Heizung anfassen um sich kurz zu entladen. Passiert die Entladung am Mainboard, könnt ihr das ThinkPad danach wegwerfen!
Also Akku raus und Netzkabel weg (Ja, hab gelesen, es soll Leute geben die die Karte im Betrieb ausgetauscht hatten und alles ging wunderbar, aber ich bin da eher vorsichtig )

(Achtung, an dieser Stelle erst mal weiterlesen, da höchstwahrscheinlich der erste Umbau verlorene Zeit ist, aber eine Übung ist immer gut)

Deckel ab, und an sich, wenn man sich das mal anschaut, was da geliefert wurde, sollte es nicht allzu schwer fallen, die verbaute PCI zu erkennen. Im Zweifelsfall aber im HMM Seite 56, alles sehr ausführlich beschrieben.
Nach dem man die neue Karte verbaut hat und das ThinkPad in Betrieb nimmt, gibt’s erstmal eine Kampfansage seitens des Bios mit dem Wortlaut:

1802: Unauthorized network card is plugged in – Power off and remove the miniPCI network card [...]
System halted.

Was ist da los?

Das vom Hersteller installierte BIOS verfügt über eine whitelist. Unabhängig davon, ob das Gerät in der HMM verzeichnet ist oder nicht, scheidet konkret dieses aus der Liste aus und wird verweigert, ehe man was machen kann.
Wer bis hier her schon die neue Karte verbaut hat, wird die alte wieder reinbauen müssen, oder eben ohne, aber raus muss die neue auf jeden Fall.

Was kann man dagegen tun?

Hierzu muss man eine BIOS Modifikation installieren, welche bereits ohne Whitelist ist.
Nach ein wenig googlen („x121e whitelist removal“) findet man z.B. sowas hier:

http://www.mediafire.com/?d2el2b94u5ty5#5nk3h666our5o
und
http://www.mediafire.com/?vwc2gge18jwejio ← das konkret gesuchte.
Besten Dank an den Modler, aber nun weiter im Programm.

Eines wird man aber sicher nicht finden: Ein Patch für Linux.

Es gibt 2 Wege, den Patch in dieser Situation zum Laufen zu bringen.
Der einfache: Man schmeisst debian runter, haut Windows rauf, modded sein BIOS, schmeisst Windows wieder runter und installiert ein neues Debian. Ist aber laut meinem Befinden doof.

Das ganze geht auch ohne Windows (naja, fast).
Was wir brauchen ist ein Windows PE. Das ist eine Pre Install Umgebung von Windows wie man sie beispielsweise aus der Windows 7 Installation kennt.

Was wollen wir tun?

Wir wollen ein minimiertes Windowssystem vom USB-Stick starten, und das Tool zum Überschreiben von BIOS von dort aus abfeuern, ohne dabei die vorhandene Installation zu beeinträchtigen.

Dazu googelt man einfach nach „WAIK“. Was man kriegt ist das Windows AIK, was uns ermöglicht, ein WinPE zu erstellen. Installation dauert ein wenig, danach sucht man sich aus’m Startmenü (Ruhe in Frieden, seit Win8) „Microsoft Windows AIK“ >> „Eingabeaufforderung für Bereitstellungstools“ (Rechtsklick → als Administrator ausführen)

Soweit so gut, erst mal muss grundlegend ein PE erzeugt werden. Lasst euch davon nicht täuschen, dass ihr eine amd64 Architektur habt, winpe_amd64 kann man in die Tonne treten und x86 ist des Rätsels Lösung, also gibt man folgende Befehle ein:

Code:
> cd PETools
> copype.cmd x86 ?:\???\??? ← hier pfad angeben.

Da mein Hauptrechner (leider Gottes und der elektrischen Musik Willens) Windows 7 mit 2 Festplatten C: und D: hat, habe ich das ganze auf
d:\winpe_x86 kopieren lassen. Das nutze ich nun frecher Weise als Bezug im weiteren Verlauf.

Somit hat man eine Grundversion von PE, mit der wir aber so noch nicht viel Anfangen können.
Nun müssen wir daraus eine Spezial PE basteln, die tut was wir wollen. Dazu muss das Windows-Image gemountet werden, damit wir dessen Inhalt bearbeiten können und anschließend ins WIM zurückschreiben können. Dazu tut man:

Code:
> cd ..
> xcopy servicing d:\winpe_x86\iso\servicing\ /s
> cd x86
> imagex.exe /mountrw /boot  d:\winpe_x86\iso\winpe.wim 1 d:\winpe_x86\mount

Nun öffnen wir ebenfalls als Administrator einen Editor nach Wahl und öffnet die Datei Windows/System32/startnet.cmd und fügt ans Ende der Datei folgende Zeile hinzu:

Code:
drvload %SystemRoot%\Inf\Battery.inf

um keine Probleme mit der AC/Energieversorgung zu haben.

Nach dem man den Patch heruntergeladen hat (und ich gehe jetzt mal stumpf von aus, dass der Leser das aus der o.g. Quelle gemacht hat, sonst ist der Absatz hier überfällig), sieht man eine .exe. Ausgehend vom WinRAR Logo, war ich mir nicht sicher, ob es unter WinPe funzt. Daher, mal in ein beliebiges Verzeichnis entpackt, Setup abgebrochen und die entpackten Dateien nach Program Files des gemounteten WinPe kopieren. Bei mir hieß es LENOVOBIOS und lag letztendlich in d:\winpe_x86\mount\Program Files\LENOVOBIOS.

Um späteres Erbrechen zu vermeiden, kann ich schon vorhersagen, dass die oledlg.dll fehlen wird. Wer artig aus einer Windows 7 32bit Umgebung angefangen hat, hat jetzt keine besonderen Probleme (C:\Windows\systen32\oledlg.dll), aber die 64bit die ich hatte, war in der Situation nutzlos. Habe mir die also auf http://dll-files.com rausgesucht (nach Empfehlung mit dem Bericht, dass es sich bei der Seite nicht um Virenverteiler handelt, was ich rückwirkend ebenfalls bestätigen kann), und sie auch ins System32 vom WinPE kopiert.

Sobald man das also fertig hat, ist unser WinPe auch schon komplett. Ehe man jetzt „unmountet“, gründlichst darauf achten, dass alles was irgendwie Dateien oder Ordner vom WinPE offen hat geschlossen ist, denn sonst schlägt der commit fehl und man muss unmounten, mounten, und dann commit-unmounten…uncool.

Nun gibt mal folgendes ins cmd ein:

Code:
> imagex.exe /unmount /boot /commit d:\winpe_x86\mount

Weiter nimmt man sich den Stick zur Hand und formatiert ihn mit FAT32.
Um WinPE auf den Stick zu kriegen, muss man jetzt 3 Dinge tun.

1.

Code:
> xcopy d:\winpe_x86\iso\*.* /s /e /f <LWBuchstabe des USB-Sticks>:\

2.
Winpe erwartet die .wim Datei im /sources/boot.wim, aber die gibt es dort nicht. Also: winpe.wim von Hand als boot.wim dort reinkopieren.

3.
wird man leider feststellen müssen, dass windows zu doof ist sich selbst zu erkennen, daher müssen wir dort eine kleine Starthilfe geben, in dem wir auf dem Stick ein Multiboot erstellen mit einem DSL (Damn Small Linux).

Dies holt man sich hier: http://distro.ibiblio.org/damnsmall/current/ und nimmt dsl-4.4.10-initrd.iso
Um das ganze ans WinPE zu kuscheln, brauchen wir noch ein kleines Tool namens YUMI, dieses kriegen wir hier: http://www.pendrivelinux.com/yumi-mu…t-usb-creator/

Damit wählen wir die zuvor heruntergeladene ISO und den Stick (lassen das Formatieren deaktiviert) und beschreiben den Stick.

Zu guter Letzt gehen wir im Stick auf /multiboot/menu/linux.cfg und fügen dort folgende Zeilen ans Ende der Datei:

Code:
LABEL bootmgr
MENU LABEL BOOTMGR
COM32 /multiboot/chain.c32
APPEND fs ntldr=/BOOTMGR

Stick Auswerfen und fertig ist unser spezielles WinPE.

Nun rein damit in x121e, an machen, ENTER, F12 und USB HDD als Bootdevice auswählen.

Damit bekommen wir den Bootloader von DSL zu sehen. Unter „Linux-Distributionen“ findet man den Punkt „BOOTMGR“, den wir auswählen.

Nun startet das WinPE und nach einer Weile sehen wir eine weitere Eingabeaufforderung.

Code:
> cd ..
> cd ..
> cd Program Files\LENOVOBIOS
> WINUPTP.EXE

Dort alles durchklicken, unbedingt dem Hinweis folgen den Rechner anzulassen. Und sofern fertig, ThinkPad aus und wie gewohnt Debian booten.

Um die Sache abzuschließen tut man noch den hier:

Code:
~# apt-get install firmware-iwlwifi
~# reboot

Und schon man genießt stabiles kabelloses Internet

Ich danke allen Quellen die mir zum Lösen des Problems sowie aufbereiten dieses Walkthroughs verholfen haben, insbesondere die Ratgeber aus debianforum und thinkpad Forum, so wie folgenden Quellen:

Markus Lindenbergs „ausführliche“ Beschreibung der Vorgehensweise
https://plus.google.com/101275811041…ts/LTboYLM8SAc
hier musste ich sehr viel nacharbeiten, aber der Ansatz ist der entscheidende

Sowie
http://blogs.itacs.de/HS/Lists/Beitr…d846185a&ID=56
Hier lernt man wie man „eigentlich“ ein WinPE erstellt.

scrippi

Mehr

Gigra Game Returns

2 Jahre lang wusste niemand mehr um das alte Projekt. Man munkelte, es sei eine dritte Version in Entwicklung, doch dies waren nur Gerüchte.

Doch nun hat das warten ein Ende, und ein Projekt, welches viele für tot hielten ist nun wieder da.

Gigra V3 auf www.gigra-game.de

Mehr