Reset Terminal license on Windows 2008, 2008 R2 and 2012

While Windows installed with Terminal Server role it does work without License for 120 Days on trail license, where within 120 days if the License server is not Connected the server will stop accepting connection with below error and event ID

EventID: 1128
Source: TerminalServices-RemoteConnectionManager

The RD Licensing grace period has expired and the service has not registered with a license server with installed licenses. A RD Licensing server is required for continuous operation. A Remote Desktop Session Host server can operate without a license server for 120 days after initial start up.

The official solution is to Activate the RDS/TS CAL License server and point the Server to License server with User/Device License and will be resolve the problem

But if you want to reset the timer and again avail 120 days grace time  here is the solution

The solution was to delete the REG_BINARY in
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod
Only leaving the default.

Note: you must take ownership and give admin users full control to be able to delete this key.

After a reboot the server should be working again for another 120 Days

Quelle: anilgprabhu


Hinterlasse einen Kommentar

Eingeordnet unter Allgemein, Microsoft

Rebuild einer „Leftover“ Vdisk in einer HP MSA


In einer HP MSA wird der Status einer vDisk als „Kritisch“ („Crit“) angezeigt und eine der Festplatte in dem betroffenen Array hat plötzlich den Status „LEFTOVER“. Wenn dem Raid5-Array vorher eine Spare-Platte zugeordnet war, hat diese plötzlich den Status „AVAIL“. Die LEFTOVR-Platte leuchtet auch Orange. Zudem sind im Log möglicherweise die Meldungen

  • Event 55: A disk drive reported a SMART event
  • Event 314: There is a problem with a FRU.

zu lesen.


Die LEFTOVR-platte enthält noch Metadaten der betroffenen vDisk. Die Metadaten müssen entfernt und die Platte neu zugeordnet werden. Das pasisert, wenn eine Platte in den Status „defekt“ wechselt, dann aber wieder zurück in „OK“. Das kann am Defekt selber liegen, oder an einem Problem mit der Stromversorgung (Log prüfen!).

So löscht man die Metadaten der LEFTOVR Disk:

  1. Im Webfrontend („HP MSA Storage Management Utility“) links in der Baumstruktur ganz oben auf das MSA-Gerät klicken. Dann in der rechten Hälfte auf Tools > Clear Disk Metadata (je nach Sprache mag das anders heissen).
  2. Rechts im main panel, die richtige(n) Disk(s) auswählen und „Clear Metadata“ klicken, dann OK. Das ziemlich recht schnell.

Die Disk sollte der VDisk dann wieder zugeordnet werden:

  1. Im Webfrontend die vdisk mit dem Prblem auswählen, rechte Maustaste Configuration > Manage Dedicated Spares
  2. Die soeben gelöschte Disk taucht jetzt hier als „AVAIL“ auf. Die disk auswählen und zuordnen.

Das war schon alles. Die MSA fügt die Platte jetzt an der Orginalstelle dem Array wieder hinzu und startet (falls notwendig) auch das Rebuild. Die Platte wird meistens noch eine Weile als „SPARE“ angezeigt, dieser Status ändert sich aber. Je nach Array-Konfiguration dauert das Rebuild eine ganze Weile.

Wenn es eine SPARE disk für das Array gegeben hat, wird dieses nun ebenfalls AVAL und muss dem Array erneut hinzugefügt werden.



Hinterlasse einen Kommentar

Eingeordnet unter Allgemein, HP

Watchguard System Manager on Linux

Watchguard System Manager unter Linux benutzen

If you are a WCSP and work with Linux for network administration, perhaps this little how-to is for you.
Scritto da Sebastian Zdrojewski, pubblicato il 26/01/2014 08:00

Watchguard System Manager on Linux

Did you notice anything particular about the above screenshot? It is a remote session on a Customer’s Watchguard Management Server, but running from a Linux shell instead of a Windows OS. I switched back to Linux some time ago, and I’m trying to get rid of Windows for my day by day activities. Administering a Watchguard device was one of those activities I was still relying on Windows for.

I have started again playing with Wine for a couple of Windows based tools I needed to run, and thought: why not trying WSM on it too?

Well at first I had a couple of issues with launching WSM, and since Nov. 19th I was able to run the Policy Manager freely from my Linux box (either Fedora and CentOS distros). Today I digged a bit deeper into it and made run everything: both WSM 11.7 and WSM 11.8 suites now runs completely on my computers (did not try the Setup Wizard because I mostly don’t use it).

There’s a trick about running WSM which otherwise will throw an exception related to the SNMP driver. All you have to do is get a wsnmp32.dll file from an existing XP or Windows 7 box, and copy it into the wine’s system32 directory. Once you done that you need to define a DLL Override in Wine and stating that mentioned dll has to be a „Native (Windows)“ library.

Done that, you should be able to run all the Watchguard management tools on your linux box, which added to the support of OpenVPN for SSL VPN connections turns your linux box into a fully working management station for your hosts.

If you are a network administrator running on Linux for all the most easy to guess reasons, having your most precious firewall management tool handy without the need of virtual machines or multiple devices can be a great game changer.

I hope you may find useful this 🙂


Albeit working smoothly and being really stable on my installations, if you plan to work with WSM on Linux you should be very familiar with troubleshooting and using this OS. Linux is not supported by Watchguard as an OS running WSM, as you can read on the release notes of the mentioned software.


Hinterlasse einen Kommentar

Eingeordnet unter Allgemein, Watchguard

Extending an LVM volume on TurnkeyLinux for VMware

Ich hatte das Problem bei meinem MineOS, über die Weboberfläche ließ sich nichts erweitern… Also hier die Lösung!

Logical Volume Management (AKA LVM) is a powerful, robust mechanism for managing storage space.

In TurnKey 11,  instead of installing the root filesystem directly to a fixed size partition, we setup LVM by default, and install the root filesystem to a Logical Volume, which may later be expanded, even across multiple physical devices.

Unfortunately, as with anything powerful, to get the most out of LVM you first have to negotiate a learning curve. From the feedback we’ve been getting it seems that confusion regarding LVM is  common with new users, so here’s a quick „crash course“…

How LVM works

In LVM, there are several layers, each builds on top of the other:

PV[s] (Physical Volumes) -> VG[s] (Volume Groups) -> LV[s] (Logical Volumes) -> Filesystems.

Logical Volumes are allocated/extended within the boundaries of their underlying storage pool which is called a Volume Group in LVM terminology.

For example, in TurnKey the filesystem is installed by default to the /dev/turnkey/root Logical Volume, which is allocated within the turnkey Volume Group:

--- Logical volume ---
  LV Name                /dev/turnkey/root
  VG Name                turnkey
  LV UUID                OzX3fe-aRQa-81XM-0vCV-8aJo-eUL4-6J90XJ
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                17.0 GiB
  Current LE             4502
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           251:0

Out of the box the turnkey Volume Group doesn’t have too much free space:

# vgdisplay
  --- Volume group ---
  VG Name               turnkey
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               18.14 GiB
  PE Size               4.00 MiB
  Total PE              4645
  Alloc PE / Size       4480 / 17.50 GiB
  Free  PE / Size       165 / 660.00 MiB
  VG UUID               IwaFL0-QCi8-iIUE-TWjQ-R906-PYpH-gMPaH9

We can only extend a Logical Volume within the free space of the underlyingVolume Group. How much free space we currently have within the Volume Group can be seen in this part of the output:

Free  PE / Size       165 / 660.00 MiB

In the above example we only have 660 MB to allocate to LVMs within theturnkey Volume Group. So if we want to extend the root LV we’ll have to first extend the VG backs it up.

Volume Groups group together Physical Volumes. That’s why they’re called Volume Groups. This command will show us which Physical Volumes have been registered into LVM, and to which volume groups they have been assigned:

# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               turnkey
  PV Size               18.15 GiB / not usable 4.00 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              4645
  Free PE               165
  Allocated PE          4480
  PV UUID               H1Prpv-0VXR-7moE-zsbt-eyVt-m0fQ-GkAT6w

In this example we only have one Physical Volume (the /dev/sda2 partition) in theturnkey Volume Group.

Extending a Logical Volume

Bottom line: if the underlying Volume Group doesn’t have enough free space, to extend the Logical Volume you’ll first have to extend the underlying Volume Groupby adding another Physical Volume to it.

In VMWare you could either create a new virtual hard disk device to add to the volume group, or extend an existing virtual hard disk device, create a new partition with cfdisk, and add the new partition to the Volume Group:

# example #1: you've added to VMWare a new virtual hard disk called /dev/sdb
pvcreate /dev/sdb
vgextend turnkey /dev/sdb

# example #2: you've expanded the existing sda hard disk
cfdisk /dev/sda  # creating /dev/sda3 (you may need to reboot before you can see this)
pvcreate /dev/sda3
vgextend turnkey /dev/sda3

After you’ve extended the Volume Group, you are free to extend the underlyingLogical Volume:

# lvextend -L+10G /dev/turnkey/root
Extending logical volume root to 27.0 GiB
Logical volume root successfully resized

Finally, you’ll have to resize the filesystem within /dev/turnkey/root so it can see that the underlying block device just got 10G bigger:

# resize2fs /dev/turnkey/root
resize2fs 1.41.11 (14-Mar-2010)
Filesystem at /dev/turnkey/root is mounted on /; on-line resizing required
old desc_blocks = 2, new_desc_blocks = 2
Performing an on-line resize of /dev/turnkey/root to  7077888 (4k) blocks.
The filesystem on /dev/turnkey/root is now 7077888 blocks long.


Hinterlasse einen Kommentar

Eingeordnet unter Linux, VMware

Tutorial – OS X Terminal – Suchen und Finden


Wenn wir uns mit dem Suchen und Finden von Informationen auf dem Mac beschäftigen, dann darf der Befehl grep auf gar keinen Fall fehlen. grep gehört zu den wichtigsten Kommandos auf Unix-Systemen und ist so essentiell wie das Einmaleins in der Schule. In seinen Grundzügen ist der Befehl recht einfach zu verstehen. Wer aber möchte, kann damit sehr komplexe und mächtige Abfragen bauen. Die gilt vor allem, wenn reguläre Ausdrücke mit ins Spiel kommen. Alleine darüber ließe sich ein Buch, geschweige denn mehrere Tutorials füllen. Wir möchten es heute aber nicht ganz so weit treiben, lernen aber dennoch an vielen Beispielen die Funktion von grep kennen.

Der Aufruf von grep ist ganz simpel. Als erstes kommt das Suchmuster, sprich wonach gesucht werden soll und danach kommt die Angabe wo nachgesehen wird. Wenn man dies ausprobieren möchte, öffnet man einfach das Terminal und gibt den unten stehenden Befehl ein.

grep sucht hier nach dem Wort SSH in der Datei services. Für alle die noch nicht viel Erfahrung mit der OS X Shell haben noch mal eine kleine Wiederholung. Generell wird zwischen Groß- und Kleinschreibung unterschieden. Dies gilt sowohl für das Suchwort als auch für den Dateinamen. Für grep sind daher SSH und ssh zwei unterschiedliche Worte. Danach folgt wie schon erwähnt die Angabe wo gesucht werden soll. Hier beinhaltet das nicht nur den Dateinamen (services), sondern auch den Pfad zu dieser Datei (/etc). etc ist ein Ordner, in dem ausschließlich Konfigurationsdateien liegen, die für den gesamten Rechner gelten.

Nach dem Wir nun erste Bekanntschaft mit grep geschlossen haben, können wir mit weiteren Beispielen fortfahren. Wer diese ausprobieren möchte, sollte sich vielleicht einen Ordner mit drei bis vier Textdateien erstellen und diese mit Inhalt füllen. So kann man direkt herausfinden, was die vielen Schalter und Optionen von grep bewirken.

grep versteht wie viele andere Unix-Befehle auch den Platzhalter * (Stern). Die Angabe von *.txt besagt, suche in allen Dateien in diesem Ordner die auf txt enden. Zwischen grep und *.txt haben wir wieder das Suchwort

Soll das Suchmuster ein Leerzeichen enthalten, so muss es mit einfachen oder doppelten Gänsefüßchen umschlossen werden. grep könnte ansonsten nicht erkennen wo die Dateiangabe beginnt.

Nachdem die generelle Syntax bekannt ist, lernen wir den ersten Schalter kennen. Mit -r kann eine rekursive Suche begonnen werden. Bisher haben wir nur Dateien im aktuellen Verzeichnis unter die Lupe genommen. Soll die Suche jedoch auch in Unterordnern fortgesetzt werden, muss man sich dieses Schalters bedienen. Im Fachjargon spricht man auch vom “im Verzeichnisbaum herabsteigen”.

Wie eingangs erwähnt unterscheidet OS X wie alle Unix-Derivate zwischen Groß- und Kleinschreibung. Sollte man jedoch nicht mehr wissen wie ein Wort, das gefunden werden soll, in einer Datei steht, kann dieses Verhalten auch einfach mit -i deaktiviert werden. Alternativ zu -i kann auch die lange Schreibweise –ignore-case verwendet werden. Als Faustregel kann man sich merken das Optionen, die nur aus einem Buchstaben bestehen, auch nur mit einem vorangestellten Bindestrich geschrieben werden. Bei Schaltern, die als ganzes Wort geschrieben werden, jedoch mit zwei Bindestrichen eingeleitet werden. Dies gilt für fast alle Unix-Befehle und nicht nur für grep.

Ein Problem bei der obigen Abfrage ist, dass auch Wörter gefunden werden, welche Apfel nur als Teilwort enthalten. grep würde daher auch Apfelbaum oder Apfelwein finden. Soll jedoch nur nach einem alleinstehenden Begriff gesucht werden, ist -w hinzuzufügen. An diesem Beispiel sehen wir auch sehr schön, dass mehrere Optionen kombiniert werden können.

Hat grep bei einer Abfrage einen Treffer, führt er immer den Dateinamen, gefolgt vom gefundenen Wort auf. Damit das deutlich wird, hier ein kleines Beispiel.

In manchen Fällen möchte man aber einfach nur den Dateinamen wissen und nicht mehr. Das ist häufig in kleinen selbst programmierten Scripten der Fall, wenn die Ausgabe von grep an einen anderen Befehl zur Weiterverarbeitung übergegeben wird. Um dies zu erreichen, wird -l oder dessen Langform –files-with-matches verwendet.

Eine weitere nützliche Sache ist die Option -c. Hiermit werden ebenfalls wieder alle Dateinamen ausgegeben, in denen das gesuchte Wort gefunden wurde. Zusätzlich wird aber auch noch die Anzahl der gefundenen Worte angezeigt. Das c steht dabei für Count und kann mit dieser Eselsbrücke sicher leichter behalten werden.

Um das nächste Beispiel besser verdeutlichen zu können, bitten wir euch zunächst diesen Befehl in das Terminal einzugeben.

Mit ps können wir alle auf dem Mac laufenden Prozesse auflisten. Je nach Anzahl der im Hintergrund laufenden Programme kann die Ausgabe locker 300 Zeilen umfassen. Es wäre ziemlich mühselig, wenn wir die Ausgabe nicht durch grep filtern würden. Um dies zu erreichen, können wir die Ausgabe von ps umleiten und an grep weiter geben. Dies geschieht mit dem senkrechten Strich, der auch Pipe genannt wird. Eingegeben werden kann er mit der Tastenkombination CMD + 7. Statt wie bisher, können wir uns hinter grep den Eintrag für den Dateinamen sparen, da der Input ja von ps kommt. Wenn man das Prinzip der Umleitung mittels einer Pipe erst einmal verstanden hat, hat man ein sehr mächtiges Werkzeug an der Hand, mit dessen Hilfe diverse Unix-Befehle miteinander kombiniert werden können.

Kommen wir zum letzten Abschnitt dieses Tutorials, den regulären Ausdrücken. Leider können wir das Thema nur streifen, da es einfach zu umfangreich und komplex ist, um es hier zu behandeln.  Es gibt aber einen guten Einblick darin, was mit regulären Ausdrücken alles möglich ist und das es lohnenswert ist, sich eingehender damit zu beschäftigen. Für den Anfang starten wir mit einem ganz einfachen Beispiel.

grep muss erst noch mitgeteilt werden, dass das Suchmuster nun als regulärer Ausdruck geschrieben wird. Dies geschieht mit -E. Der Punkt bei regulären Ausdrücken steht für einbeliebiges Zeichen, also a-z, A-Z, 1-9 und alle Sonderzeichen. Wie man vielleicht schon erahnen kann, wollen wir alle Worte finden, welche mit “baum“ enden. Da es aber kaum vorstellbar ist das vor baum nur ein Buchstabe steht (denn dafür steht der Punkt), benötigen wir noch einen * (Stern). Der Stern besagt nämlich das ein Zeichen beliebig oft vorkommen darf. Der Stern ergänzt sozusagen den Punkt und gibt ihm eine weiter gefasste Logik.

Nun wollen wir eine Oder-Abfrage erzeugen. Finde alle Dateien in denen Apfelbaum oder Birnbaum vorkommen. Für diese Abfrage benötigen wir einen senkrechten Strich, den wir schon etwas weiter oben kennengelernt haben. In diesem Fall hat das Zeichen aber eine andere Bedeutung und leitet nichts weiter, wie eine Pipe.

So, das war es mit unserem dritten Teil zu “Suchen und Finden” auf dem Mac. Als Beispiel noch mal eine komplexe Abfrage. Der unten stehende Ausdruck sieht zwar ziemlich kryptisch aus, aber man kann uns glauben, er findet alle E-Mail-Adressen in einer Datei – einfach ausprobieren.

Hinterlasse einen Kommentar

Eingeordnet unter Allgemein

HP Integrated Lights-Out 3 (iLO 3) funktioniert nicht im Internet Explorer und Firefox


Die HP Integrated Lights-Out Webseiten (iLO 3 und iLO 2) zeigen im Internet Explorer ab Version 10 nur noch “Die Seite kann nicht angezeigt werden.”

ilo-seite-kann-nicht-angezeigt-werdenDie selbe URL im Firefox zeigt den Fehler “Fehler: Gesicherte Verbindung fehlgeschlagen” mit der Erkläsrung “Ein Fehler ist während einer Verbindung mit aufgetreten. Das Aussteller-Zertifikat ist ungültig. (Fehlercode: sec_error_ca_cert_invalid)”


Um möglichst schnell und unkompliziert auf die Remote-Console und Remote-Media zuzugreifen, gibt es ein Standalone-Tool für Windows, das eine direkte Verbindung unabhängig von den SSL-Fehlern zulässt.

Die vollständige Lösung ist natürlich, auf die jeweils aktuelle ILO-Firmware zu aktualisieren; ab der Version 1.8x ist das fehlerhafte (leere) ausstellende Zertifikat nicht mehr vorhanden. Admin-Kurztipp: Google Chrome lässt dem Admin noch die Wahl, die Seite “trotzdem” anzuzeigen.

Achtung, ältere iLO 3 Versionen vor v1.20 müssen erst auf v1.20 aktualisiert werden, sonst startet die ILO-Engine überhaupt nicht mehr ohne Kaltstart. Die Update auf v1.20 gibt es hier:

Alle HP ILO Firmware Downloads finden sich auf (Danke monopoly-spieler)


Hinterlasse einen Kommentar

Eingeordnet unter Allgemein

Lenovo Yoga 2 – WLAN Hardware ausgeschaltet


Having a Lenovo Yoga 2 13″ (non-pro) running Ubuntu 14.04.1, I couldn’t get Wireless LAN up and running, as the WLAN NIC appeared to be “hardware locked”. This is the summary of how I solved this issue. If you’re not interested in the gory details, you may jump right to bottom, where I offer a replacement module that fixes it. At least for me.

Environment details: Distribution kernel 3.13.0-32-generic on an Intel i5-4210U CPU @ 1.70GHz. The Wifi device is an Intel Dual Band Wireless-AC 7260 (8086:08b1) connected to the PCIe bus, taken care of by the iwlwifi driver.

The problem

Laptops have a mechanism for working in “flight mode” which means turning off any device that could emit RF power, so that the airplane can crash for whatever different reason. Apparently, some laptops have a physical on-off switch to request this, but on Lenovo Yoga 13, the arrangement is to press a button on the keyboard with an airplane drawn on it. The one shared with F7.

It seems to be, that on Lenovo Yoga 13, the ACPI interface, which is responsible for reporting the Wifi’s buttons state, always reports that it’s in flight mode. So Linux turns off Wifi, and on the desktop’s Gnome network applet it says “Wi-Fi is disabled by hardware switch”.

In the dmesg log one can tell the problem with a line like

iwlwifi 0000:01:00.0: RF_KILL bit toggled to disable radio.

which is issued by the interrupt request handler defined in drivers/net/wireless/iwlwifi/pcie/rx.c, which responds to an interrupt from the device that informs the host that the hardware RF kill bit is set. So the iwlwifi module is not to blame here — it just responds to a request from the ACPI subsystem.


The management of RF-related devices is handled by the rfkill subsystem. On my laptop, before solving the problem, a typical output went

$ rfkill list all
0: ideapad_wlan: Wireless LAN
        Soft blocked: yes
        Hard blocked: yes
1: ideapad_bluetooth: Bluetooth
        Soft blocked: no
        Hard blocked: yes
6: hci0: Bluetooth
        Soft blocked: no
        Hard blocked: no
7: phy1: Wireless LAN
        Soft blocked: yes
        Hard blocked: yes

So there are different entities that can be controlled with rfkill, enumerated and assigned soft and hard blocks. Each of these relate to a directory in /sys/class/rfkill/. For example, the last device, “phy7″ enumerated as 7 corresponds to /sys/class/rfkill/rfkill7, where the “hard” and “soft” pseudo-files signify the status with “0″ or “1″ values.

The soft block can be changed by “rfkill unblock 0″ or “rfkill unblock 7″, but this doesn’t really help with the hardware block. Both has to be “off” to use the device.

As can be seen easily from the rkfill list above, each of the physical devices are registered twice as rfkill devices: Once by their driver, and a second time by the ideapad_laptop driver. This will be used in the solution below.

The ideapad_laptop module

The ideapad-laptop module is responsible for talking with the ACPI layer on machines that match “VPC2004″ as a platform (as in /sys/devices/platform/VPC2004:00, or /sys/bus/acpi/devices/VPC2004:00, but doesn’t fit anything found in /sys/class/dmi/id/).

Blacklisting this module has been suggested for Yoga laptops all over the web. In particularthis post suggests to insmod the module once with a hack that forces the Wifi on, and then blacklist it.

But by blacklisting ideapad-laptop, the computer loses some precious functionality, including disabling Wifi and the touchpad by pressing a button. So this is not an appealing solution.

Ideapad’s two debugfs output files go:

# cat /sys/kernel/debug/ideapad/cfg
cfg: 0x017DE014

Capability: Bluetooth Wireless Camera
# cat /sys/kernel/debug/ideapad/status
Backlight max:	16
Backlight now:	9
BL power value:	On
Radio status:	Off(0)
Wifi status:	Off(0)
BT status:	On(1)
3G status:	Off(0)
Touchpad status:Off(0)
Camera status:	On(1)

So the Radio and Wifi statuses, which are read from the ACPI registers, are off. This makes the ideapad_laptop module conclude that everything should go off.

The solution

In essence, the solution for the problem is to take the ideapad_laptop’s hands off the Wifi hardware, except for turning the hardware block off when it’s loaded. It consists of making the following changes in drivers/platform/x86/ideapad-laptop.c:

  • First, remove the driver’s rfkill registration. Somewhere at the beginning of the file, change
    #define IDEAPAD_RFKILL_DEV_NUM	(3)


    #define IDEAPAD_RFKILL_DEV_NUM	(2)

    and in the definition of ideapad_rfk_data[], remove the line saying


    This prevents the driver from presenting an rfkill interface, so it keeps its hands off.

  • There is however a chance that the relevant bit in the ACPI layer already has the hardware block on. So let’s turn it off every time the driver loads. In ideapad_acpi_add(), after the call to ideapad_sync_rfk_state(), more or less, add the following two lines:
    pr_warn("Hack: Forcing WLAN hardware block off\n");
    write_ec_cmd(priv->adev->handle, VPCCMD_W_WIFI, 1);
  • And finally, solve a rather bizarre phenomenon, that when reading for the RF state with a VPCCMD_R_RF command, the Wifi interface is hardware blocked for some reason. Note that radio is always in off mode, so it’s a meaningless register on Yoga 2. This is handled in two places. First, empty ideapad_sync_rfk_state() completely, by turning it into
    static void ideapad_sync_rfk_state(struct ideapad_private *priv)

    This function reads VPCCMD_R_RF and calls rfkill_set_hw_state() accordingly, but on Yoga 2 it will always block everything, so what’s the point?
    Next, in debugfs_status_show() which prints out /sys/kernel/debug/ideapad/status, remove the following three lines:

    if (!read_ec_data(priv->adev->handle, VPCCMD_R_RF, &value))
      seq_printf(s, "Radio status:\t%s(%lu)\n",
        value ? "On" : "Off", value);

Having these changes made, the Wifi works properly, regardless of it was previously reported hardware blocked.

This can’t be submitted as a patch to the kernel, because presumably some laptops need the rfkill interface for Wifi through ideapad_laptop (or else, why was it put there in the first place?).

Also, maybe I should have done this for Bluetooth too? Don’t know. I don’t use Bluetooth right now, and the desktop applet seems to say all is fine with it anyhow.

Download the driver fix

For the lazy ones, I’ve prepared a little kit for compiling the relevant driver. I’ve taken the driver as it appears in kernel 3.16, more or less, and applied the changes above. And I then added a Makefile to make it compile easily. Since the kernel API changes rather rapidly, this will probably work well for kernels around 3.16 (that includes 3.13), and then you’ll have to apply the changes manually. If it isn’t fixed in the kernel itself by then.

Download it from here, untar it, change directory, and compile it with typing “make”. This works only if you have the kernel headers and gcc compiler installed, which is usually the case in recent distributions. So a session like this is expected:

$ make
make -C /lib/modules/3.13.0-32-generic/build SUBDIRS=/home/eli/yoga-wifi-fix modules
make[1]: Entering directory `/usr/src/linux-headers-3.13.0-32-generic'
  CC [M]  /home/eli/yoga-wifi-fix/ideapad-laptop.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /home/eli/yoga-wifi-fix/ideapad-laptop.mod.o
  LD [M]  /home/eli/yoga-wifi-fix/ideapad-laptop.ko
make[1]: Leaving directory `/usr/src/linux-headers-3.13.0-32-generic'

Then replace the fresh ideapad-laptop.ko with the one the kernel uses. First, let’s figure out where to. The modinfo command help here:

$ modinfo ideapad_laptop
filename:       /lib/modules/3.13.0-32-generic/kernel/drivers/platform/x86/ideapad-laptop.ko
license:        GPL
description:    IdeaPad ACPI Extras
author:         David Woodhouse <>
srcversion:     BA339D663FA3B10105A1DC0
alias:          acpi*:VPC2004:*
depends:        sparse-keymap
vermagic:       3.13.0-32-generic SMP mod_unload modversions
parm:           no_bt_rfkill:No rfkill for bluetooth. (bool)

So the directory is now known (marked in red). This leaves us with copying it into the right place:

$ sudo cp ideapad-laptop.ko /lib/modules/3.13.0-32-generic/kernel/drivers/platform/x86/

The new module is valid on the next reboot. Or the next insmod/modprobe, if you’re have the same allergy as myself regarding rebooting a Linux system.

Quelle: Eli Billauer

Hinterlasse einen Kommentar

Eingeordnet unter Linux

vSphere Client auf DC installieren


Der vmware vSphere Client ab Version 5.1u1 lässt sich nicht mehr freiwillig auf einem Domänencontroller installieren. Versucht man das, erhält man folgende Ferhlermeldung:

“vSphere Client erfordert Windows XP XP2 oder höher. vSphere Client kann auf dem Domänencontroller nicht installiert.”



Aufgrund der Microsoft-Vorgabe “Always Isolate DC Role”, der auch grundsätzliche zuzustimmen ist, hat vmWare den OS-Check in den MSI-Wrapper eingebaut. Selbstverständlich lässt sich das (auf eigene Gefahr) auch umgehen. Der Client läuft auch stressfrei auf einem DC.

  • Plattform-Installer (~100mb) aus dem Globalen Installert (~350MB) befreien. Dazu einfach das Paket ganz normal aufrufen un den “viclient-setup.exe” aus %temp%\{langeinummer} wegkopieren. Danach den Installer nach der Fehlermeldung wieder schliessen.
  • Den Installer aufrufen mit: viclient-setup.exe /VSKIP_OS_CHECKS=”1″

Update: Ein vmware Engineer sagt zu diesem Installer folgendes (Zitat):

We did this deliberately to enforce a Microsoft standard that our guys agree with – don’t install software on a DC, but they made that decision in isolation. Nothing more than that.  So use the workaround safely and hopefully we can undo this in the future.


2 Kommentare

Eingeordnet unter Microsoft, VMware

VMware ESXi-5.X Warnung: “Systemprotokolle auf dem host XXXX werden in einem nicht beständigen Speicher gespeichert”

Frische Neuinstallationen des ESXi 5.1/5.5 auf einem USB-Stick oder einer SD-Karte behaupten gerne mal “Systemprotokolle auf dem host XXXX werden in einem nicht beständigen Speicher gespeichert“. Das ist auch fast korrekt – USB-Speicher und Sd-Karten sind nach VMWare-denke “volatil”. Nur Festplatten (respektive Datastores) sind beständig.

Lösung (bessere Lösung):

Einen Speicherort für die Scratch-Files für jeden betroffenen ESX(i)-Host auf einem Datastore erstellen. Das geht direkt im vSphere Client und im laufenden Betrieb – die Änderung wird nur erst bei einem Neustart des Hosts aktiv.

  1. Auf dem jeweiligen ESX(i)-Host unter Konfiguration/Speicher den passenden Datastore Durchsuchen und einen Ordner erstellen. VMWare schlägt einen Namen wie .locker-ESXHOSTNAME vor, denn Ordner die mit einem “.” beginnen werden im Browser nicht angezeigt. Jeder Host braucht einen eigenen Scratch-Ordner.
  2. Diesen neuen Ort dann in die ESX(i) Konfiguration der Hosts eintragen: Unter Konfiguration -> Software -> Erweiterte Einstellungen -> ScratchConfig -> ScratchConfig.ConfiguredScratchLocation auf den neuen Pfad setzen, z.B. /vmfs/volumes/DATASTORENAME/.locker-ESXHOSTNAME

Der Defaultwert ist /tmp/scratch, was in einer Standartinstallation auf der Ramdisk liegt. Eine Möglichkeit diese Warnung ohne die solche Anpassung des Setups auszuschalten ist (mir) nicht bekannt.


Hinterlasse einen Kommentar

Eingeordnet unter VMware

How to deploy an “classic” terminal server with Windows 2012

Einfach und schnell… Nur bitte noch an den Lizenzserver denken 😉

Ramazan Can BLOG : Hyper-V, High Availibility, Infrastructure......

Since Windows 2008 the “oldschool” and well known 2003 terminal services are extended on rich web services which provides now great new capabilities in designing and deploying built in terminal server services based on HTTP/HTTPS. in combination with RD Gateway the applications can also be securely published to WWW and session host server be isolated in non public facing network segments. all terminal services are now called Remote Desktop services shortly RD.

To enable RD (Remote Desktop) services there are generally 2 ways, “Quickstart” and “Standard Deployment”. Also there 2 types of RD services available, Session Virtualization or VDI (Virtual Desktop Infrastructure). In this blog article I focus and deploy RDS for session virtualization which means hosting and publishing of terminal server applications.


Quickstart is straight forward and deploys you quickly the required services and configure an standard pool of applications mainly can be used for setting up a…

Ursprünglichen Post anzeigen 240 weitere Wörter

Hinterlasse einen Kommentar

Eingeordnet unter Allgemein