Zum Inhalt

Marco Di Feo Posts

Powershell CmdLet Set-Printer fails with 0x80070709

We are running several Powershell scripts at our server to add printer remotly at the printserver. From time to time we see the error 0x80070709 with something like „unknown server“. We traced this problem, after we see that some printers fail to get created while some successfully got created at the printserver. So there wasn’t a general problem regarding our server, it had something to do with the set-printer powershell call. After some investigation we found out, that only printers that start(!) with a lowercase character are failing to create. If we change the first char to uppercase, the printers got created without any problem. So maybe someone will help this. I don’t know why or where this happens, but it does and is reproducable

Word / Excel Problem: There is not enough memory or disk space to run word

If you get this annoying message from your favorite MS application, you may have read the internet to the end until you got here. We had the same issue with Word or Excel and tried to get into that problem. First of all, we recognized that it only appears when we upgrade our clients from Windows 7 to Windows 10 1809. If we made a different step between, that everything worked as expected. You may read a lot of stories where Microsoft has a bug on 1809 and you should upgrade to the next Windows 10 version (1903) to „fix“ this problem, but in some cases you can’t and have to deal with this problem like we did. What’s the problem? As you can read in the internet, you may have already mentioned that this issue is a issue with fonts. Some problems occur, when you add fonts to the fonts directory and add an entry to the registry, like everyone does, when you have to deal with additional fonts like barcode fonts e.g. Even it is not recommended, it worked for a long time What did you do while analyzing the root cause? We tried several tools like „fontreg“…

The End of GPOFirefox

First thanks to killerxcana for initializing this project some years ago. He did a great job to help Firefox to get into Enterprise environments. We wouldn’t have moved to Firefox without the ability to take full control of it and organize different policies among our large active directory. How I came to this and what was planned for GPOFirefox Since 2014 I was co author of this plugin and only fixing some bugs I found. From time to time I worked on a new version and planned some intelligent policy update mechanism to ensure a flexible and easy way to update old Firefox versions to new with new settings. This version was in an early beta status and unfortunately didn’t made it to production recently. After some projects I had to work on the past years, Mozilla announced their new version 57 and the new webextension. I was happy to hear about the way they went and started to evaluate on how to get my plugin post Firefox 56 compatible. Because GPOFirefox is a small and stupid piece of software, I was sure that porting it can’t be that hard. First I found out that accessing the registry directly isn’t…

Symfony pdo_sqlsrv Database setup on Ubuntu 16.x

If you have ever tried to connect to a Microsoft sql server from a linux system, you may have run into some issues regarding how to get valid drivers and don’t break your system. After a lot of search I came across this link: https://www.microsoft.com/de-DE/download/details.aspx?id=50420 If you click download, you are able to download a pdf file with installation instructions for mssql drivers on Ubuntu 16.04 (worked on 16.10) and so on. Here are the commands from the instruction manual:

I skipped the last line and deleted „msodbcsql=“ because the mssql-tools have a dependency to the latest msodbcsql 13 drivers and will install them.

After running all these commands I now can go further and talk to my mssql servers with the following Symfony setup (we use DBAL)

Quiet easy if you know how to install the correct drivers 😀

Firefox Bookmarks with XMarks and local sync

It feels like I haven’t wrote since years. The reason for this was, that non of my projects really fits into a great topic for my blog. But now I have found something, that may be interesting for you, maybe from a theoretical / technical perspective. If you deal with Bookmarks and synchronisation, you surely have heard about an extension called „XMarks“, which was initial called Foxmarks, and if you dig into its sourcecode, you will see alot old unnamed function calls with Foxmarks. But I think you are not interested in a story about XMarks and its history but on how to get this thing synchronizing your bookmarks to your local harddrive (that is the thing I start to talk about in the after next section). I had a lot of problems with XMarks, which starts with synchronizing bookmarks over a webdav server, because XMarks doesn’t encode your password before sending it to the server. This ends in weird error messages about a not reachable or missing server. If you encode the password by yourself, everything works fine… So keep an eye on a hashtag within your password… This error is reported somewhere in the XMarks forum universe, included with…

Graupner MX-16 Hott – NONE RFID

Wie sollte es auch anders sein, wollte ich letztens gerne fliegen gehen und habe zu Hause glücklicherweise nochmal auf die Fernbedienung geguck. Da stand nach dem Einschalten NONE RFID. Da ich zuletzt die Firmware auf 1.804 aktualisiert hatte, musste es davon kommen, also habe ich erst einmal versucht die Firmware up- und downzugraden, allerdings ohne Erfolg. Der Menüpunkt RFID hat auch unter „INFO ANZ.“  folgendes Angezeigt: RFID 44444444 Auf meiner Fehlersuche bemerkte ich, dass es mehrere Leute mit dem gleichen Problem gibt. Lustigerweise konnte man es durch eine ominöses Firmware von Graupner beheben, allerdings bekommt man die nur, wenn man etwas hartnäckig bleibt. Auf meiner erste Frage am Telefon erwiderte man mir, dass ich die Funke einschicken soll. Das wollte ich natürlich unter keinen Umständen. Dann schickten sie mir die Firmware und das Problem war innerhalb von 2 Minuten vom Tisch… Komisch! Anbei gibt es die Firmware, die man mir geschickt hat. Bitte habt Verständnis dafür, dass das Updaten der Firmware zu Beschädigungen führen kann und ihr dafür verantwortlich seid. Eine Anfrage bei Graupner ist auf jeden Fall ratsam. mx-16_1id705v_German Die Installation lief bei mir einwandfrei über die Graupner Hott Software und zwar über den Menüpunkt „Wiederherstellen“

ESP8266 Wifi Modul – Logging data to a server

While searching for something new overthere at banggood, I ordered some ESP8266 modules that are soldered to a dev board. The board is pretty awesome, has a solid quality and can be flashed without any trouble with a micro USB cable from your Arduino IDE. All you need to do is to follow some of the available tutorials on how to load the ESP Flash utility and you are ready to go. While I was looking for a new project, I decided to use the ESP8266 for something I ever wanted – a simple temperature logging device at my balcony. I started to read a lot of tutorials and choose an old friend as a temperature sensor – the DS18B20. These are available in a waterproof housing and with up to 3m cable, which is perfect for measuring temperature not in the near of the powersupply. DS18B20 basic working example As the DS18B20 arrived, I started to test it with my Arduino Nano, to check if the basics are working, before I start over with the ESP8266. First of all, I put a 4,7KOHM resistor between signal and vcc and connected it to pin 6. Everything works fine with this…

Micro MinimOSD – Flash it with UM/CP2102 USB to Serial Converter (UART)

I bought a micro MinimOSD and failed to order a FTDI Board for flashing. Because I don’t need the MinimOSD at the moment, I didn’t bought a board for flashing. Today, I had a bit of spare time, and soldered the pins onto the MinimOSD, so I can connect it easily to a breadboard. I googled at bit and found out, that it should be possible to flash this little thing with an UM2102 / CP 2102 USB to Serial Converter. Luckily, I bought one maybe 6 Years ago, when me and another friend dived into the microcontroller world more deeply, and faced the lack of debugging functionality, and compensated this, with a serial connection to the controller, to transmit debug strings to a serial connection (fun times!). The one I bought wasn’t really expensive and came from a German distributor called ELV (elv.de and search for UM2102). After checking the datasheet for the UM/CP2102 and the Micro MinimOSD, I put everything on a breadboard, and wired it up. Because the DTR pin isn’t in front of the CP2102, I have to solder this directly to a wire and hook it up to the MinimOSD (red Line). After I connected…

GRBL 0.9j – Running your laser with spindle pin

The new big upgrade to my eShapeOko was a 250mW laser, ordered by Banggood for 10€. These can be driven with 5V and come with nearly everything you need, to get started. First of all, I upgraded the GRBL version on my Arduino Uno and ran into some problems, on how to drive the laser, to avoid, that this little beast is turned on all the time and leaves track, while speedfeeding to the next „cut location“.

PHP LDAP Pagination (Solution for PHP5.4+)

Because Active Directory restricts returning all results fetched by LDAP Query, I found a solution to get around this problem, without changing anything in Active Directory.

The root cause for this problem is: AD has a pagesize limit for returning elements through LDAP (default is 1000). As every good Admin / Dev knows, systemwide hardlimits should not be changed by a client system, which sends requests, because this could end up in hugh desaster. Why? Because everyone would set these limits as high as he can to prevent his software from crashing itself (better burn server cpu)

That means, we can’t set any pagelimit in PHP above the pagelimit from the server. What we need to do is to iterate through all results, check if there are more pages left and start another request until we fetched everything.

There are two functions we need to focus on. ldap_control_paged_result and ldap_control_paged_result_response

The first function enables the pagination for the current connection. The second function retrieves the information if more paged data is available (more than 1000 results). After we put everything together, we have something like that:

Quadcopter Projekte – Der Quadroder

Nach dem ich den Rahmen und die Motoraufhänger gefräst hatte ging es nicht lange, bis ich den kompletten Quadcopter (Ich habe ihn mal Quadroder getauft) zusammengebaut hatte. Wie designed passten alle Teile 1A auf den Rahmen, so dass der Zusammenbau schnell und einfach von statten ging. Ich muss zugeben, dass das Projekt fast schon zu einfach zu bewerkstelligen war :). Nach dem der Quadroder zusammengebaut war ging es an die Software und die Anbindung an die Fernbedienung. Was ich vorher nicht bemerkt hatte war, dass die Regler kein BEC haben, also keinen Strom über den Stecker, der zur Flight Control Naze32 geht führen. Das heisst, dass alles Strom hat, bis auf den Regler und der Empfänger. Also habe ich kurzerhand einen uBEC auf Ebay für 7€ geschossen und diesen eingebaut, damit alles soweit versorgt ist. Die korrekten Anschlüsse für den Empfänger an der Naze32 zu finden war mit etwas Schwierigkeiten verbunden. Damit ich nicht noch mehr Kabel im Quadroder rumfliegen habe, habe ich mich dazu entschlossen die Signale mit einem einzigen Kabel zu übertragen (Summen Signal). Die Naze32 versteht das, wenn man diese vorher über USB verbindet und über Baseflight entsprechend konfiguriert. Was allerdings noch fehlte und etwas Lötarbeit war,…