VMware WS 6.5.1(2), Opensuse 11.1, Kernel-Update

Bei mir laufen die VMware-Workstation Versionen 6.5.1 und 6.5.2 inzwischen unter Opensuse 11.1 mit KDE 4.2 auf einem x86_64 System mit Intel-Quad-Core-Prozessor ohne Probleme (Kernel-Versionen: 2.6.27.19-3.2-default und 2.6.27.21-0.1-default).

Nachdem ich dabei allerdings zum zweiten Mal auf die neuen Install- und Kompilationsmechanismen von VMware reingefallen bin, dokumentiere ich kurz, wie man mit den neuen VMware-Workstation-Versionen (> 6.5.1) nach einem Kernel-Update verfahren kann und wie man eine Rekompilation der benötigten Module erzwingt.

Problemsituation 1 nach Kernel-Update:
Ich hatte VMware unter Opensuse 11.1 (mit KDE 4.2) neu installiert. Die Installation und die spätere Einrichtung einer virtuellen Maschine verliefen zunächst problemfrei. Dann habe ich den Kernel upgedated. Folgt man dem von früher gewohnten Verfahren, so müsste man nun “vmware-config.pl” laufen lassen. Dieses Script sucht man ab Version 6.5.1 allerdings vergeblich. Es hilft hier aber überraschenderweise (manchmal ?), einfach einen Neustart der virtuellen Maschine zu versuchen. Wird erkannt, dass ein neuer Kernel vorliegt, so erfolgt automatisch eine Neukompilation der benötigten Module. Hilft dies nicht, so siehe das Vorgehen unter Problem 2.

Problemsituation 2:
Nach einer Neukompilation des Kernels hatte ich in einem anderen Fall zudsätzlich noch eine neue Version der Workstation über das entsprechende “bundle”-Paket installiert. D.h., es handelte sich um eine Neuinstallation über eine bereits vorhandene ältere VMware-Installation. Leider gab der graphische Installer das Installationsverhalten falsch wieder. Er teilte mir nämlich mit, dass das alte System deinstalliert und dass die nachfolgende neue Installation erfolgreich abgeschlossen wurde. Dies war in meinem Fall aber falsch: Die Installation schlug wegen nicht ladbarer Kernelmodule fehl. Dies sieht man aber erst nach einem Blick in die Datei “/var/log/vmware-installer”.

Lösung: Erzwinge Neukompilation
Die Lösung besteht darin, eine Neukompilierung zu erzwingen. Am einfachsten erreicht man dies dadurch, dass man die vorhandenen von VMware im “bundle” mitgelieferten Kernelmodule, die der Installer verwenden will, entfernt:

mv /usr/lib/vmware/modules/binary /usr/lib/vmware/modules/binary_orig

Danach startet man VMware erneut – entweder über den KDE-Menü-Punkt unter “Programme->System->Weitere Programme->VMware Workstation” oder durch den Aufruf von “vmware” in ein er Shell. Es wird dann eine Neukompilation der VMware-Kernel-Module durchgeführt. (Bei mir zumindest liefen die Neu-Kompilation und das anschließende Laden der Module erfolgreich ab.)

Ob in anderen Problemsituationen ein direktes Löschen der vmware-Kernelmodule unter “/lib/modules/KERNEL_VERSION/misc” hilft, habe ich nicht ausprobiert.

Zusätzlicher Hinweis 07.06.2009:

Vor einer kompletten Neuinstallation (z.B. des Bundles VMware-Workstation-6.5.2-156735.x86_64.bundle ) ist es übrigens ratsam, zunächst die Verzeichnisse “/usr/lib/vmware” bzw. “/etc/vmware” zu löschen. Ich hatte Schwierigkeiten, eine komplette VMware-Neuinstallation auch mit dem Kernel 2.6.27.19 durchzuführen. Der Installer lief dabei zunächst eine ganze Weile ordnungsgemäß (Deinstallation vorhandene Version, Kopieren von Files, Konfiguration Player,..), stoppte dann aber und deinstallierte die eben erst eingerichteten Dateien wieder.
Evtl. lag dies an dem Vorhandensein des früher (s.o.) erzeugten Verzeichnisses “/usr/lib/vmware/modules/binary_orig” oder an Einträgen in “/etc/vmware”, die der Installer nicht selbständig beseitigt.

Nach dem Löschen war eine VMware-Neuinstallation mit dem Kernel 2.6.27.19 jedenfalls möglich. Danach kann man dann den Kernel-Update auf spätere Versionen (z.B. auch 2.6.27.23) wir oben beschrieben durchführen.

Link:
http://communities.vmware.com/thread/185900

VMware – Windows – kein Sound ?

Gestern hatte ich einen dummen Fehler zu beheben, an dem ich möglicherweise selbst schuld war. Die zugehörigen Meldungen des Systems aus Redmond waren aber auch nicht dazu angetan, der Sache schnellstmöglich auf die Spur zu kommen. Da diese Meldungen z.T. widersprüchlich bis kurios sind, hilft der folgende Beitrag vielleicht auch anderen:

MS Win XP läuft bei anracon auf Opensuse Hosts als VMware-Gastsystem. Da ich fast nie den Bedarf verspüre, auch noch Töne aus dem Windows-System zu hören, ist die virtuelle Soundkarte bei mir normalerweise deaktiviert. Nun ergab sich gestern doch einmal der Bedarf, dem Windows-Gast ein paar Töne zu entlocken (Grund war eine Flash-Programmierung). Da ich wusste, dass mir das früher schon gelungen war (allerdings unter Opensuse 10.2 statt meinem aktuellen 10.3 und mit der VMware Workstation 5 statt der WS 6), fügte ich meiner virtuellen Maschine frohgemut eine virtuelle Soundkarte hinzu.

Windows erkennt diese Karte – eine Soundblaster PCI 128 – im Normalfall auch anstandslos und lädt den passenden, im Windows Treiber-Resevoir befindlichen Treiber. Der Windows Gerätemanager zeigte mir dann auch brav, dass die Soundkarte funktionstüchtig sei.

Leider war aber schon beim obligatorischen Windows-Neustart die übliche Redmonder Startmelodie nicht zu vernehmen. Da dachte ich noch optimistisch, dass der Ton vielleicht zu leise eingestellt sei. Also: Linux-Soundsystem und Mixereinstellungen überprüfen – alles OK.

Im nächsten Schritt rief ich dann die Lautstärekregelung bzw. den Mixer im Windows-System auf. Antwort des Systems: ” Es ist kein Mixer installiert. Gehen Sie zu “Drucker und sonstige Hardware”, um einen geeigneten Mixer zu installieren.” So einen Punkt gibt es zwar gar nicht und was der Drucker damit zu tun haben soll, bleibt auch rätselhaft. Aber wer weiß schon, wie Windows-Entwickler denken …..

Früheren Erfahrungen folgend werfe ich erst mal einen kleinen Blick in die Registry. Sieht alles OK aus. Auch hier ist die Soundblasterkarte verzeichnet. Anderen schlechten Erfahrungen mit Windows folgend, entferne ich die Soundkarte dennoch aus der Hardwareliste und lasse sie danach neu erkennen und installieren. Keine Veränderung. Die Karte läuft angeblich, aber “No Sound” – kein Ton vom Windows VMware Gast. Also doch ein Problem mit VMware WS 6 unter Opensuse 10.3 ?

In banger Erwartung werfe ich nun einen Blick ins Internet und in diverse VMware Foren – wenig überrascht stelle ich fest, dass bemerkenswert viele Leute Probleme mit dem Sound eines Windows-VMware-Gastes auf einem Linux-Host haben – wenn auch eher im Ubuntu/Debian-Bereich als unter SUSE.

Ich befolge dann zur Sicherheit den ersten Ratschlag, aus alten Archiven den letzten Creative-Treiber für diesen Typ Soundkarte im Gastsystem zu installieren. Die Installation verlief zwar erfolgreich, zeitigte aber keinen Effekt in puncto “hörbare” Töne. Ich folge weiteren intelligent klingenden Diskussionen darüber, dass VMware evtl. Probleme mit Alsa habe und dass das liebe, alte “OSS” statt “Alsa” aktiviert werden müsse. Ich probiere diverse Varianten und Einstellungen des Linux-Soundsystems unter KDE aus. Keine Wirkung. Kein Ton. Auch andere Ratschläge in diversen Foren helfen nicht weiter.

In dem sicheren Bewusstsein, dass das alles doch schon mal lief, gebe ich die Schuld nun endgültig irgendeiner verpfuschten Einstellung unter Windows. Ein wenig dumpfes Suchen führt mich zu “Sounds und Audiogeräte” unter der “Systemsteuerung”. Hier kommt die interessante Meldung “Kein Audio-Device”, die in krassem Widerspruch zu den Informationen des Gerätemanagers steht, der eine funktionstüchtige Soundkarte meldet.

Etwas genervt kommt mir der Gedanke, dass die Soundkarte vielleicht zwar läuft, aber nicht ins System eingebunden ist – was vielleicht auch den fehlenden Mixer erklären könnte. Für letzteren sollte ich ja meinen Drucker checken, ha, ha, ha … . Das tue ich nicht, sondern wende mich
nun der Zwischenschicht der “Dienste” unter Windows zu und studiere die entsprechende Rubrik in der “Verwaltung”. Und da werde ich endlich fündig: Der Dienst “Windows Audio” befindet sich im Status deaktiviert.

Wie kam er denn in den Zustand? Liebe Leut’, glaubt es mir, ich weiß es nicht. Da ich für Windows nur eine sehr schlampige Buchführung zu administrativen Änderungen führe, kann ich nicht ausschließen, dass ich diese Einstellung irgendwann mal selbst vorgenommen habe. Vielleicht war es aber doch eines der vielen Updates ?

Na ja, die Umstellung des Dienstes auf einen öminös klingenden “Autostarttyp: Automatisch” bringt die Erlösung – endlich vernehmbare Töne aus dem Windows-Gast-System. …

Hmm …. “Autostarttyp Automatisch” – da braucht man auch erst mal Zeit, um über diese Alliteration hinweg zu kommen … Toll ist auch “Autostarttyp: Manuell “….. Wer sich sowas wohl ausgedacht hat ? Aber ich schweife ab ….

Was lernen wir nach 1 Stunde Nervenverlust zum Thema “Kein Ton vom Windows Gast auf einem Linux-Host”:

  1. Prüfe zunächst, ob die virtuelle Soundkarte erkannt wurde und ob der zugehörige MS Treiber geladen wurde (der reicht nämlich).
  2. Überprüfe dann die Anzeige des Soundblaster-Devices unter “Sounds und Audiogeräte” in der Systemsteuerung.
  3. Prüfe dann, ob der Audio-Service überhaupt aktiv ist.
  4. Fange erst dann, wenn die oberen Punkte alle OK sind, an, über Probleme von VMware und/oder Linux nachzudenken.

……und – fast hätte ich es vergessen – führe ein Logbuch auch über administrative Veränderungen am Windows-Gast-System ……selbst wenn es nervt …..

VMware – config-Datei nach Kernel-Update

In einem Beitrag zur VMware Workstation habe ich beschrieben, was man tun muss, wenn man ein Update des Kernels durchführt. In noch früheren Beiträgen standen Rezepte zur manuellen Vorgabe der CPU-Taktung für VMware in der Datei /etc/vmware/config. (Dies ist für den ordentlichen Betrieb auf manchen Prozessoren wichtig).

Ich vergaß, in beiden Beiträgen Folgendes zu erwähnen: Ein Durchführen der Prozedur “vmware-config.pl”

  • nach einem Kernel-Update
  • oder wenn man Veränderungen an den VMware-Basiseinstellungen wie dem virtuellen Netzwerk vornehmen will

führt zu einer Neuerzeugung der Datei “/etc/vmware/config”. Dabei verliert man i.d.R. alle schönen und mühsam erarbeiteten Einträge der Art

host.cpukHz = 2412359
host.noTSC = TRUE
ptsc.noTSC = TRUE.

Daher nun nachträglich der Hinweis:

Immer eine eigene Sicherung der “/etc/vmware/config” mit allen erarbeiteten eigenen Parametern anlegen. Nach der Durchführung von “vmware-config.pl” den Stand der “config”-Datei prüfen und die Parameter ggf. wieder nachtragen.

Das ist zugegebenermaßen unangenehm. Ich kenne aber keinen Weg, das zu vermeiden. Es liegt nahe, ein kleines Script zu schreiben, das wenigstens die Editierarbeit für einen erledigt.