• Diese Seite verwendet Cookies. Indem du diese Website weiterhin nutzt, erklärst du dich mit der Verwendung von Cookies einverstanden. Erfahre mehr

Lenovo Thinkpad Edge E545 bootet nicht

hessijens

Well-Known Member
Themenstarter #1
Mein neues Notebook verweigert leider seinen Dienst. Währen Windoes 7 und SuSE Linux problemlos booten bleibt die FreeBSD mit folgende Message (Verbose) hängen.

atkbdc0 <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi
atkbd0: <AT Keyboard> irq 1 on atkbdc0
atkbd: the current kbd controller command byte 0067
atkbd: keyboard ID 0x41ab (2)
kbdc: RESET_KBD return code:00fa
kbdc: RESET_KBD status:00aa

Weiter geht's nicht, egal ob FreeBSD stabe oder current mit oder ohne VT - das gleiche Ergebnis. Ich habe auch schon hint.atkbd.0.flags="0x2","0x8","0x10" probiert, aber alles ohne Erfolg. Das Keyboard will nicht. Selbst mit hint.atkdb.0.disabled="1" bleibt der Computer (ohne obrige Ausgabe) an dieser Stelle hängen.

Das Abschlaten aller UEFI Option im Bios (ein anderen User hatte mit einem anderen Modell bei ähnlichen Fehler Erfolg) bring leider auch nicht die Lösung.

Das Problem scheint es schon mal gegeben zu haben https://groups.google.com/forum/#!topic/fa.freebsd.stable/8w22TLyd25A. Der Code wurde gefixt, trotzdem geht's nicht.

Vielen Dank für weitere Ideen und Anregungen.

P.S. Kann man die Bootausgabe noch gesprächiger machen. Für eine Bugreport ist mir die Info ein wenig spärlich.
 

Yamagi

Possessed With Psi Powers
Mitarbeiter
#2
Man kann irgendwo in den Tiefen des Bootmenüs einen "Verbose Boot" auswählen. Leider haben sie das Bootmenü so oft geändert, dass ich es dem Kopf nicht sagen kann. Einen Bugreport würde ich auf jeden Fall erstellen, auch wenn es irgendwie hinzufummeln ist. Dazu eine Mail parallel an freebsd-current@ denn sonst wird es eher nicht beachtet werden. Für eine schnelle Lösung könntest du nochmal probieren, einen Kernel ohne atkbd, atkbdc und psm zu bauen. Den Kernel kann man auf dem offiziellen Installations-Stick ja problemlos tauschen. Allerdings wird das nur Chancen auf Erfolg haben, wenn das Notebook ein USB-Keyboard verbaut hat. Sonst hast du natürlich ohne Keyboard-Controller gar keines mehr.
 

[KB]

Well-Known Member
#4
Ich hatte das gleiche Problem.

Du musst dafür einen speziellen Kernel bauen.

Kommentiere mal den Funktionsaufruf in /usr/src/sys/dev/atkbdc/atkbd.c Zeile 436 aus:

// get_typematic(kbd);

Baue den Kernel auf einer anderen funktionierenden Maschine und ersetze den Kernel in deiner Installation.

Dann sollte es gehen.

Erklärung:


In der Funktion get_typematic steht folgender Kommentar:

/*
* Only some systems allow us to retrieve the keyboard repeat
* rate previously set via the BIOS...
*/

Und trotzdem wird die Funktion standardmäßig aufgerufen.
Kann ich nicht verstehen!
 
Zuletzt bearbeitet:

hessijens

Well-Known Member
Themenstarter #5
Kommentiere mal den Funktionsaufruf in /usr/src/sys/dev/atkbdc/atkbd.c Zeile 436 aus:

// get_typematic(kbd);

Baue den Kernel auf einer anderen funktionierenden Maschine und ersetze den Kernel in deiner Installation.
Funktioniert, nur nicht richtig. Mit diesem Kernel bootet der Rechner weiter, hängt dann aber beim Prüfen des DVD Laufwerkes, kann man aber erst mal abschalten. Trotzdem funktioniert die Tastatur dann nicht. Kernel Panic nach ein bis zwei Tasteneingaben - ohne eine Ausgabe übrigens.

Also habe ich versucht testhabler defined(__amd64__) in der Funktion entfernt um definitiv ein return(ENODEV); zu erhalten, Hat aber auch nichts geholfen. Ich werde nun weiter suchen wo genau der Fehler liegt.
 

[KB]

Well-Known Member
#6
Auch diesen Fehler kenne ich und der hat nichts mit dem Patch in atkbd.c zu tun. :-)

Du versuchst einen STABLE-Kernel zu booten. Korrekt?

Wechsle mal in den RELEASE-Zweig!

Oder Du patched auch die Funktion ahci_setup_interrupt in /usr/src/sys/dev/ahci/ahci.c.

Hier muss die Initialisierung der Variablen msi von 2 wieder zurück auf 1 gesetzt werden.

static int
ahci_setup_interrupt(device_t dev)
{
struct ahci_controller *ctlr = device_get_softc(dev);
// int i, msi = 2;
int i, msi = 1;

...​

Dann sollte auch der Fehler mit dem DVD-Laufwerk verschwinden.

Viel Glück!

EDIT: Ich lese gerade, dass der Fehler mit der Tastatur bei Dir nach wie vor besteht. Darum empfehle ich Dir wirklich mal auf einen RELEASE-Kernel zu wechseln, da ich nicht weiß, was sich im STABLE-Zweig noch geändert hat! Den Patch in atkbd.c musst Du aber auch hier einspielen.
 

hessijens

Well-Known Member
Themenstarter #7
Vielen Dank besonders an [KB]. Dass das DVD Problem mit MSI und AHCI zu tun hat habe ich mir schon gedacht. Ich hab's mit hint.ahci.X.msi=1 in der loader.conf hinbekommen. Ich will 10 Stable, damit ich X mit Dircet Rendering (und newcons) bekomme und damit ich den Kernel und Pakete auf meinen Desktop Rechner bauen kann. Mittlerweile bootet der Rechner Dank das Hacks auch. Das Problem war, das newcons die Tastatur zum Absturz "Kernel panic" bringt. Mit der traditionellen Console funktioniert es. Ich habe sogar X mit Direct Rendering am laufen, hier war aber AllowEmptyInput und AutoAddDevice in der xorg.xonf auf false zu stellen, sonst blockierte auch hier wieder die Tastatur.

Die letzten Baustelle ist dann noch die Broadcom Bluetooth "4312" und Netzwerkkarte sowie die Webcam. Existiert eigentlich die BIOS sperre bei den Lenovo Laptops noch, sprich kann ich keine andere Netzwerk NIC einbauen? Am einfachsten wäre wohl eine Atheros PCIe Karte zu nehmen, wenn's dann geht. Webcam brauche ich nicht, aber da gibt's schon einen Bugreport/Fix.
 

[KB]

Well-Known Member
#8
@hessijens:

Dann hab ich jetzt auch mal eine Frage. Derzeit läuft mein X lediglich mit dem VESA-Treiber und sowohl der VGA-Ausgang als auch der HDMI-Ausgang an meinen LENOVO E545 wird nicht korrekt erkannt bzw. sie werden von xrandr nicht gelistet und können somit auch nicht konfiguriert werden. Welcher Grafik-Chip ist in deinem Rechner verbaut? Für den bei mir verbauten AMD Radeon HD 8650G + 8570M Dual Graphics habe ich bisher noch keinen Treiber gefunden. Hast Du hier etwa schon eine Lösung gefunden? Denn VESA scheinst Du ja nicht zu verwenden. :-)

Die WebCam lief bei meinem E545 nach Anpassungen der Zugriffsrechte. Jedoch funktioniert auch der SD-Karten-Leser noch nicht, da wahrscheinlich noch kein Treiber dafür existiert.

Hier mal ein Auszug aus der pciconf-Ausgabe:

hostb0@pci0:0:0:0: class=0x060000 card=0x510a17aa chip=0x14101022 rev=0x00 hdr=0x00
vendor = 'Advanced Micro Devices [AMD]'
device = 'Family 15h (Models 10h-1fh) Processor Root Complex'
class = bridge
subclass = HOST-PCI

vgapci0@pci0:0:1:0: class=0x030000 card=0x510a17aa chip=0x990b1002 rev=0x00 hdr=0x00
vendor = 'Advanced Micro Devices [AMD] nee ATI'
class = display
subclass = VGA
bar [10] = type Prefetchable Memory, range 32, base 0xe0000000, size 268435456, enabled
bar [14] = type I/O Port, range 32, base 0x2000, size 256, enabled
bar [18] = type Memory, range 32, base 0xf0300000, size 262144, enabled
cap 01[50] = powerspec 3 supports D0 D1 D2 D3 current D0
cap 10[58] = PCI-Express 2 root endpoint max data 128(128) link x0(x0)
cap 05[a0] = MSI supports 1 message, 64 bit
ecap 000b[100] = Vendor 1 ID 1
PCI-e errors = Non-Fatal Error Detected
Unsupported Request Detected


none0@pci0:0:1:1: class=0x040300 card=0x510a17aa chip=0x99021002 rev=0x00 hdr=0x00
vendor = 'Advanced Micro Devices [AMD] nee ATI'
class = multimedia
subclass = HDA
bar [10] = type Memory, range 32, base 0xf0344000, size 16384, enabled
cap 01[50] = powerspec 3 supports D0 D1 D2 D3 current D0
cap 10[58] = PCI-Express 2 root endpoint max data 128(128) link x0(x0)
cap 05[a0] = MSI supports 1 message, 64 bit
ecap 000b[100] = Vendor 1 ID 1
PCI-e errors = Non-Fatal Error Detected
Unsupported Request Detected


...

re0@pci0:1:0:0: class=0x020000 card=0x510017aa chip=0x816810ec rev=0x07 hdr=0x00
vendor = 'Realtek Semiconductor Co., Ltd.'
device = 'RTL8111/8168B PCI Express Gigabit Ethernet controller'
class = network
subclass = ethernet
bar [10] = type I/O Port, range 32, base 0x1000, size 256, enabled
bar [18] = type Prefetchable Memory, range 64, base 0xf0004000, size 4096, enabled
bar [20] = type Prefetchable Memory, range 64, base 0xf0000000, size 16384, enabled
cap 01[40] = powerspec 3 supports D0 D1 D2 D3 current D0
cap 05[50] = MSI supports 1 message, 64 bit
cap 10[70] = PCI-Express 2 endpoint IRQ 1 max data 128(128) link x1(x1)
speed 2.5(2.5) ASPM disabled(L0s/L1)
cap 11[b0] = MSI-X supports 4 messages, enabled
Table in map 0x20[0x0], PBA in map 0x20[0x800]
cap 03[d0] = VPD
ecap 0001[100] = AER 1 0 fatal 0 non-fatal 1 corrected
ecap 0002[140] = VC 1 max VC0
ecap 0003[160] = Serial 1 3be80100684ce000
PCI-e errors = Correctable Error Detected
Corrected = Receiver Error


none2@pci0:2:0:0: class=0x028000 card=0x061117aa chip=0x436514e4 rev=0x01 hdr=0x00
vendor = 'Broadcom Corporation'
device = 'BCM43142 802.11b/g/n'
class = network
bar [10] = type Memory, range 64, base 0xf0200000, size 32768, enabled
cap 01[40] = powerspec 3 supports D0 D1 D2 D3 current D0
cap 09[58] = vendor (length 120)
cap 05[48] = MSI supports 1 message, 64 bit
cap 10[d0] = PCI-Express 1 endpoint max data 128(128) link x1(x1)
speed 2.5(2.5) ASPM L0s/L1(L0s/L1)
ecap 0001[100] = AER 1 0 fatal 0 non-fatal 0 corrected
ecap 0002[13c] = VC 1 max VC0
ecap 0003[160] = Serial 1 00002fffff3a40f0
ecap 0004[16c] = Power Budgeting 1

none3@pci0:3:0:0: class=0xff0000 card=0x510017aa chip=0x522910ec rev=0x01 hdr=0x00
vendor = 'Realtek Semiconductor Co., Ltd.'
device = 'RTS5229 PCI Express Card Reader'
bar [10] = type Memory, range 32, base 0xf0100000, size 4096, enabled
cap 01[40] = powerspec 3 supports D0 D1 D2 D3 current D0
cap 05[50] = MSI supports 1 message, 64 bit
cap 10[70] = PCI-Express 2 endpoint max data 128(128) link x1(x1)
speed 2.5(2.5) ASPM L0s/L1(L0s/L1)
ecap 0001[100] = AER 1 0 fatal 0 non-fatal 1 corrected
ecap 0003[140] = Serial 1 00000001004ce000
PCI-e errors = Correctable Error Detected
Corrected = Receiver Error

Ich hoffe, jetzt kannst Du mich einen Schritt weiter bringen. ;-)

Vielen Grüße,
[KB]
 

hessijens

Well-Known Member
Themenstarter #9
Ich würde Dir gerne helfen, leider befürchte ich ich kann nicht. Ich habe die Sparversion des Thinkpads. Diese hat nur eine 7640G Grafikchip (ARUBE) und damit geht es seit http://lists.freebsd.org/pipermail/svn-src-head/2013-August/050903.html. Du hingegen hat gleich zwei Probleme. Zum einen unterstützt der radeonkms Treiber noch nicht die HD8xxxx Serie, zum anderen ist Dual Graphics wohl auch noch nicht implementiert. Aber es soll ja irgendwann ein update geben, ich hoffe, dass dann auch das Powermanagement funktioniert.

Den Cardreader hab ich total vergesen. Na ja alles was ich finden konnte ist eine Anfrage zum Portieren des OpenBSD Treibers. http://www.freebsd.org/cgi/query-pr.cgi?pr=161719 ,was meine Fähigkeiten bei weiten übersteigt.