This wasn’t how I planned my first steps into electro-mobility.

As many of your know by now my beloved Audi TT was severely damaged, a week ago, on 28 February 2022. It was for over 22 year my faithful companion. I truly can say is that this did not went as planned.

The TT was actually planned to get a worthy retirement, as a modern classic within the next months. Last autumn, I helped my good friend Michael Sanchez with a project of his and we got talking about electric vehicles (EV). I posited, wrongly, that there were no cheap EVs. He pointed me to the Dacia Spring. He bought one for his daughters.

I’m not going into the details, but the Luxembourg government gives a 8000€ subsidy, given certain conditions, for the acquisition of an EV. You can go and read the details here, if you need to know. I contacted the closest Dacia dealership to get a test ride, and well, seems they weren’t that eager to sell me anything because only I heard back months later, after I already made a decision. Granted, this could of course be just that they’re flooded with demands.

However, this set off a quite thorough investigation in cheap EVs. The conclusion: There definitely aren’t many. Most EVs start around 32k€, and even with a 8k€ subsidy, that’s still a lot of money for what essentially are compact cars. Cheap EVs are basically: the aforementioned Dacia Spring, the VW triplets (VW, e-Up, Seat Mii Electric and Škoda CITIGOe), the Renault Twingo ZE, and the Smart Electric. Anything else was beyond 32k€. Last autumn, the VW triplets could not be ordered any more. I heard you now can get the e-Up again.

What all cheap EVs have in common: low-range and are “destined” for city use. The range is the selling point of “going bigger”, because frankly, most EVs aren’t going to win beauty prizes, unless you go beyond 60k€. I do simply not understand why car manufacturers can’t make an EV that looks like a standard sedan or break. You only need to look at Tesla: their most coveted model is the Model S which stands for “Sedan”.

When you’re looking to complement your future modern classic, you start off with analysing your actual usage. Well, I would hope that people considering EVs do this. Regardless, basically I do:

  • Go to work, which is about 10km, one way. I come home for lunch.
  • Bring Little One to kindergarten, which is 3km, one way.
  • In the future I’ll bring Little Two to “précoce” (non-mandatory preschool), which is about 10km in the opposite direction of my workplace.
  • Go grocery shopping, mostly in shops not further than 15km from work or home.

I would say that the absolute worst case, would be about 120km of driving in a day. In other words, my driving profile matched exactly what a small EV could offer. As such, the idea was born to keep the TT as a weekend car, for the occasional longer non-family road trip, and the EV for everything else. A co worker jokingly quipped that is indeed one way to “go hybrid”.

I obviously need to be able to accommodate the kids, which was increasingly difficult in the TT. While the back seats are technically equivalent to children seats, the leg room is limited for my relatively tall offspring. Little One already started complaining about the restrained space. The conclusion of it all, is that I need a four door, four seat car: This excluded the Smart.

Given the VW triplets couldn’t be ordered, this left the Dacia Spring and the Renault Twingo ZE. Now Renault and Dacia are the same company, so I contacted a dealership in Capellen and asked for a test drive. That dealership immediately called back and organized something. It was a nice drive, I could easily see kid seats in the back and in contrast to the Dacia Spring, you could adjust the steering wheel in height. Sometimes, I just enjoy creature comforts.

So, I ordered a Renault Twingo ZE end November. Originally I was told that delivery should be end March, begin April. You can check the order status online and it has been on “ordered”, well, since November. I have no car right now and have to freeload on my wife’s car, so I asked them last week for a more precise date. Alas, it will be mid-april, end-april according to their salesman.

I would probably not have chosen this to replace the TT: It’s a bit small, has low range, and I chose it to be yellow (my better half’s car is red, the TT is blue. I have a strange sense of humour) but fine, I signed a contract, it will have to do.

Audi TT – Accident 28.02.2022

I heard that 2020 and 2021 were sucky years, well 2022 announces to be apocalyptic. There is that whole thing with war in Ukraine, and so on, but last week’s omen was even worse.

On 28.02.2022 around 8h10, on my way to work from Keispelt direction Schoenfels on the CR102 the unthinkable happened. A grey Golf GTI, travelling in the opposite direction, decided to overtake another vehicle. That’s steeply uphill, on a dangerous road with low visibility. When you drive there regularly, you know not to overtake there. I don’t even understand why technically overtaking is even allowed there.

As soon as I saw what was coming, I hit the bakes, so did he. We both did evasive manoeuvres: he back into his lane, me against the guard rail. We hit nevertheless: Essentially we hit driver side tyre against driver side tyre. I have erroneously said in the past that it was a frontal impact, it was not really.

I kept my calm, honestly, I am amazed by it myself. After all, we’re talking about the car I have driven half of my life. Not my adult life: my life. A fit of anger would have been understandable, but of course, totally misplaced.

Regardless, I post the pictures here again, but won’t link to this entry. I showed this enough on social media already. The reason is that I control this platform and as such, I am not dependent on the finicky antics of social media sites. This way, it will be easier to preserve this event for posterity.

Xerox WorkCentre 6605DN weirdness

Years ago, I chose to go with PostScript enabled printers in order to minimize frustration with them, as we all know: Printers were sent from hell. We had a Ricoh CL2000 with duplex unit, that served us for many years and when it broke (don’t repair printers, even expensive ones: I learned that the hard way) we got a Xerox WorkCentre 6605DN. It still is with us and has been doing its work mostly problem-free for eight years or so.

It works from Windows, Mac and also from our iPhones (and I presume my wife’s iPad, even though I never tested it). It has worked mostly out of the box when using Ubuntu Linux and Debian 10. At least I think so for Debian 10, because I normally don’t print anything fancy. As long as it outputs on normal paper, I’m fine.

Once a year, I actually do use one of the “fancier” features of the printer: the manual tray… and that’s when it got crazy. I simply could not get the manual tray to be used by my Linux desktop. It works fine from the Mac (and on iOS devices you can’t chose… so there is that). My wife regularly uses tray selection, as we have the optional second tray for thicker paper which she needs for work. To avoid complexity for her, I just created a few profiles for her on her Mac. A nifty feature that all operating systems should have. Regardless, it works for her machine.

I’m stumped. Didn’t this work in the past? It must have, but it doesn’t any more. Now, I tried many things: trying to find an official or unofficial PPD (PostScript Printer Description for the uninitiated), but no avail. I tried different protocols to talk to it, but no, tray selection did not work.

In utter frustration, I just accepted the defaults CUPS gave me. This results in a device URI looking like this: ipp://Xerox%20WorkCentre%206605DN._ipp._tcp.local/. It’s a Bonjour address, as far as I know, and I’m pretty sure the iOS devices use this.

Now, sure, I hear you: Why would you change what your computer detected, right? Well, because this is dependent on the name of the printer. Should I decide to rename the printer, this will cease to work. For things like this I have an internal DNS, and as it happens, the printer is called wobbegong.sharks.

So, I traditionally change the detected name to the “correct” name, and yes, I did this on my wife’s Mac too (iOS always runs with the defaults, you have no choice). So the string, as per documentation would be ipp://wobbegong.sharks/ipp/.

Now, if you do that: it prints fine and uses the default settings of the printer. You won’t notice something is wrong, because who thinks of testing all features, right? However, it doesn’t allow you to change anything. Now, my computer most likely does send the information: I can select the options I want, but they simply are ignored by the printer.

It totally escapes me what exactly the difference is. Yes, I know there is the /ipp part that is extra, and yes, I have omitted it and the printer ceased to work (as expected). Sure, I should just be happy that I found how to fix it, but… I would like to understand.

It took almost 21 years, but there we are…

400000km on the odometer of the TT.
After almost 21 years, I reached 400000km on the odometer of the TT. Also note the fantastic off-by-one bug I made while calculating when to reset the trip meter.

So, this time, I won’t bore you with silly stats. We’re there: 400000km with the TT. It took one year longer than expected. Actually, before COVID-19, I expected this to happen in the early summer.

The next photo is due in about five years, when I reach the half million mark. If, by then, the car is still going strong and we’re still allowed to drive internal combustion engines.

Oh, and yes, this is the original engine, the original turbo and the original transmission.

“SNES-like” Controllers in Steam on Linux

A few years ago, I got myself SNS-like Controllers on Gearbest for a whopping 3,55€ a piece. They are basically ripoff INNEXT Controllers. I mean, they were cheap and I had points left on Gearbest that were about to expire. They never really worked well in the sense that there was one button that clearly isn’t mapped correctly and whenever I tried to configure it, they freaked out completely.

So, they ended up in a drawer and when I built the SteamBox, I tried again. Failed again, and they were left there to distract Little One from the real Steam Controller. Thing is, Little One now wants to play “Cars Autos” and don’t ask me why he calls it that way. The Steam Controller is too big for him, and too complicated to be entirely honest.

So, I tried the SNES-like Controllers again and this time I managed to configure them. Basically, I think it’s a Steam Bug. The controller works fine-enough when you just plug it in, except for that one button. The innocent user will to go to the controller configuration panel (which only exists in Big Picture Mode), change the value of that key, save it and be done with it.

Mistake! At that point the D-Pad freaks out. The only way to fix this, is to edit ~/.steam/steam/config/config.vdf and remove the line beginning with "SDL_GamepadBind" and the lines following it referring to controllers and gamepads. Now this is documented in the Steam forums and I do remember doing this back with my first trials

Today, I had the grandiose idea to look at those lines before trying to configure it… and there it was: 030000001008000001e5000010010000,NEXT SNES Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b6,start:b9,x:b3,y:b0,"

A relatively concise description of the controller instead of the huge blurb of text the Steam configuration panel produces. This, I can read. The only thing to do was to change rightshoulder:b6 into rightshoulder:b5. That was it. The controller works as expected. Now, granted, the Steam configuration panel gave me the precious information that it was in fact “Button 5”, but that was about the only use the damned thing has.

The only thing I really want to know now is whether the INNEXT Controllers actually have right shoulder configured as “Button 6” instead of “Button 5”. Perhaps, one day I will find out as they aren’t actually that expensive and the black would look much better with my SteamBoxes case. Never even mind that the ripoff controllers don’t even have the same shade of grey.


For those who wonder: My SteamBox is just Debian 10 64-bit with multiarch 32-bit, booting in a minimal LXDE desktop and autostarting Steam Big Picture. I have Plymouth showing the Steam logo at bootup and LXDE using the same as a wallpaper. It’s pretty close to a “console” startup feeling, except of course sometimes you need to figure out missing dependencies for games and I can ssh into the machine for maintenance. The hardware is a simple Ryzen 3 2200G with 32GB RAM and a 256GB NVMe M.2 SSD. One of my greatest failings in life is that I did not document how I did it, because it would have made a damned great howto.

Two decades of TT

Today, exactly 20 years ago, I received the keys of my new Audi TT. It was the first and still is the only new car, I’ve ever owned. Now obviously, I don’t know exactly when it was built. I know it had been in the dealerships showroom for a few months, probably Autumn 1999. Regardless, the age of a car legally starts at the first registration, which was 7 February 2000.

Model badge on my Audi TT

Now, of course, finding someone who has a car that is two decades old isn’t exactly hard. Finding someone who has a twenty year old car and is the first owner, that is quite a bit harder. I haven’t reached 400000km yet, but I expect to reach that somewhere this year.
This is consistent with about 20000km/year: I had no driving license of about 5 months, and used the car less when I drove my wife’s Mini for a few months. That easily explains the “missing” 10000km.

I’d like to put the age of this car a bit into a personal context. In those two decades:

  • I left my parents to live alone in my apartment.
  • I met and married my better half.
  • I stopped drinking
  • We built a house together.
  • We had a son.
  • I had five different employers, and with all of them I had this car.
  • It served as a wedding car on two weddings, one being my own. (Protip: Don’t. Hooped dresses don’t mix at all with this type of car)
  • I lost all my hair. I’m pretty sure, I still had some when I bought it .

At the beginning of the year 2000, when I bough this car:

  • We all just survived the Y2k bug.
  • The twin towers still stood in New York.
  • We made jokes about cigars, blue dresses, and blow jobs in the white house.
  • The Euro hadn’t been introduced yet. I paid this car in LUF (Luxembourgish Francs). The official exchange rate to the Euro has already been set though.
  • The dotcom bubble was about to burst.
  • Digital photography was slowly taking hold of the market.
  • Apple hadn’t released Mac OS X yet.
  • … and Microsoft hadn’t even released Windows 2000.
  • The Playstation 2 wasn’t released yet.

Or perhaps you want to see how the world changed in those two decades:

  • Thirteen countries joined the European Union.
  • One left…
  • The United States had a black president.
  • A tsunami caused another nuclear disaster in Japan.
  • The middle east became even more of a mess than it already was, resulting in an uprise of terrorism across the world.
  • The Internet became ubiquitous.
  • Smartphones became a thing, mainly with the release of the iPhone.
  • The Concorde crashed and the only supersonic passenger plane was subsequently retired.
  • The Space Shuttle “Columbia” exploded.
  • The Space Shuttles were retired (but unrelated to the aforementioned disaster)
  • Three Mars rovers were landed and drove around on the red planet.
  • Thousands of exoplanets were discovered.
  • Someone sent an electric car to space, because he could.
  • The large hadron collider was turned on an we didn’t all die in an artificial black hole.
Two decades later, including the traces of time… and bird shit.

Want to have a numeric perspective? Here you go:

Numbers, numbers everywhere!
  • At 390000km, the car could theoretically have driven to the moon and about 3,5 laps around its equator.
  • Average speed over it’s whole lifetime, is a whopping 2,2km/h.
  • At an average of 9litres/100km, it burned 35100 litres of gasoline. This is about the volume of a 1C-series freight container. That’s the type of container you could transport a car in.
  • These 35100 litres of gasoline produced about 81 tonnes of CO2. That’s about the mass of sixteen African elephant bulls.
  • At today’s price of 1.288€/l for 98 oct gasoline, this would cost me 45k€, which is more than the car cost me two decades ago.
  • The average Luxembourger would have owned three cars, and would be thinking of buying the next one. (Average age of a passenger car in Luxembourg is 5,55 years)
  • I’ve had this car for 79% of the time that I had my driving license.
  • If it were a human, it still wouldn’t be allowed to drink in the United States.

Now, obviously this car has its quirks. There are quite a few things I’d like to repair, but well one has to balance annoyance vs expenses:

  • It really starts badly when the tank is filled below 1/2. I’m not sure what exactly causes it. It seems as if not enough fuel makes it to the engine. Cranking and flooring it often gets it started, until the tank is filled below 1/4, then the flooring doesn’t do anything any more. However, on the second try it invariably always starts. It might just be a relay that primes the fuel pump before starting. This really is one of the things I’d like to fix. I mean, in a zombie apocalypse, this is a deal-breaker.
  • The other major issue is, that it does consume about 1l of oil for ever 700km (I do about 700km with a full tank of gasoline and I check the oil at each fill up). I presume, that to fix this, the engine needs to be rebuilt. There is no oil leakage, so it must be burned. Occasional blue smoke confirms that.
  • The driver side Xeon light sometimes goes out after about 1 minute of driving on a cold start. You see it flicker a few times before it does that. Turn it off and on again, and it usually works for the rest of the trip. It’s probably a defective “Vorladegerät”, but alas for my car that’s integrated into the headlights. So, I’d have to replace the full part which goes for 1200€. I can live with the annoyance.
  • There is a decade old dent on the driver side front wheel arch.
  • There is rust, on the underside of the booth where the lighting for the license plate is. I suspect this is caused due to the added spoiler in the recall. In retrospect, I shouldn’t have gotten the spoiler.
  • There is rust hole on the driver side sill. I do have an appointment to get that fixed in two weeks.
  • The heating really doesn’t heat well any more. I probably should have the thermal exchanger cleaned.
  • There is a tear in the leather on the driver seat. You don’t see it and it doesn’t get much larger because it is exactly next to a seam.
Radio cover of my Audi TT.

So, let’s try to keep it a little longer. After all it has been my, mostly reliable, day to day car for two decades.

The ultimate goal would be to get it registered as a classic car. Whether I’ll succeed in that is still unclear: I’ll have to wait quite a bit longer than expected to get it qualified as a classic car: They increased the required age from 25 years to 30 years.

Let’s raise our glasses to, hopefully, at least another decade of TT.

WordPress back up!

Exactly two years ago, a lightning strike destroyed my ADSL Converter. I had to emergency switch to my FritzBox and it has remained like that ever since. I decided to clean up the rack and re-cable it. I removed everything, and well, suddenly the little one was there and everything lay just there for ages.

I think about a year ago, I modified my Cisco SG300-28P with more silent Noctua fans, and while that was successful, it really is something I’m not going to do ever again. Besides, turns out it’s mostly the house ventilation that makes the most noise.

Recently I did a minimum of re-cabling, and cleaned the rack up and now I could get back to running my servers again. I’m not there yet, but I used my Shuttle NC02U to get at least my WordPress site up and running with the data I exported from the Dell R210 II. Eventually, everything will be moved back to a virtual machine on the Dell, but for now this will do.

I fought some Latin1 to UTF8 conversion issues with that WordPress export, and decided to delete a few older articles that I didn’t think were worth keeping. I do find that I have a tendency to make articles way too long. I should impose a word limit on myself.

Is it worth running a WordPress in a Facebook and Twitter dominated world? Yes, I think so. It’s probably not for everyone, but at least it gives me back some control over my data.

Chuwi Hi10 Plus | Award BIOS

Chuwi Hi10 Plus – A Surface on the cheap?

This all started in autumn last year: I had mandatory courses to follow and I was sent there with our recently hired Digital Curator.  There we met a young IT guy from the CGIE (The IT department of Luxembourgish education), who owned a Surface.  I don’t particularly get enamoured with Microsoft products, especially those that cost 1000€ and more.  Our Digital Curator, however, saw something in the device.

He’s been talking ever since buying one, or at least a functionally equivalent machine.  Since we share an office, I told him what I knew about the hardware and if I didn’t I looked it up, interpreted the results and explained him what to know.  Different CPUs, USB-C, screen resolutions.  All the questions that are difficult because they go in the nitty gritty details.  It was all about the hardware, I may not like Microsoft but if he wants a Surface or Surface-like device, it’s going to be Microsoft whatever I do.  A very interesting device I discovered while researching alternatives, was the Acer Switch Alpha 12.  Still I wouldn’t buy it at that price, since I have four laptops.

As a sidenote, I’m pretty sure that properly justified, he’s simply be able to get a Surface from work.  After all that’s why he wants one: for work.  My question, however, is whether you really need so much power for the kind of work he does.  We IT people all know that our machines are extremely overpowered for most of the mundane tasks.

Gearbest Chuwi Hi10 Plus order

Gearbest Chuwi Hi10 Plus order

Any way, I’m pretty sure my research online got the attention of some advertisement algorithms and I started to get ads for Surface like devices.  I sometimes buy stuff directly in China and one day my GearBest newsletter offered me a Chuwi Hi10 Plus for just shy over 155€, and they’d throw in the keyboard for free.  That last one was important, because when you buy Chinese, you better read what you get and don’t rely on the pictures.  Keyboards are usually not included with Tablet.  I thought it was a decent deal enough in order to give it a try.  After all, that’s basically what you pay for a cheap Android tablet without a keyboard.  Oh, and if you never dealt with the Chinese: these things are basically always on sale.  (When I looked up the links, the Tablet could be had for 164,30€ and the keyboard for 24,24€.  A worse deal than what I got, but still relatively decent).

Of course, you do not get Surface hardware for that price.  You get:

– Cherry Trail Atom x5-Z8300, which truly is the lowest of the low end.  Don’t let the “Quad Core” impress you, this thing has a Passmark in the order of a Core-based Celeron 867 and that is a dual Core CPU.
– Intel Graphics (aka, whatever Intel thinks it can get away with)
– Full HD 10.2″ touch screen
– 4GB DDR3
– 64GB eMMC disk
– An American layout magnetic-attached keyboard
– Dual boot Android RemixOS and Windows 10 Home

I would never have recommended anything like this to anyone, given my relatively bad experiences with Atom chips.

As with all Chinese orders, you wait….
Surprisingly short wait… 11 days, which is really good.

What surprised me more is that these constructors have really looked at packaging from high end hardware manufacturers like that fruity company.  The packaging was excellent, well designed and well thought out.

Chuwi Hi10 Plus Keyboard Case

Chuwi Hi10 Plus Keyboard Case

Chuwi Hi10 | Front

Unboxing the Chuwi Hi10 Plus, front side

Chuwi Hi10 Plus | Backside

Unboxing Chuwi Hi10 Plus showing the metal backside

Chuwi Hi10 Plus | Award BIOS

Chuwi Hi10 Plus booted into Award BIOS, attached to its keyboard

As for the hardware?  Wow… If there wasn’t the Intel logo on the back and the mandatory “QA OK” small sticker on the back, I’d have guessed it was an iPad.  The back is metal, it has a nice heavy feel and the finish is really nice.  The keyboard, has a nice velvety feel (like the Surface keyboards) have and it clicks effortlessly in on the tablet while making a nice protective shell.  The triangular stand system is a bit awkward, but I’m using it right now to type this report.  It works.  One thing that I found a bit sad, is that I found no way to use the keyboard as a protective shell and still use the tablet in tablet mode.  For two reasons: you cannot fold the shell in such a way that you can use the tablet as a tablet and not be bothered by the shell.  Even if you could, the keyboard tells the tablet to behave as a laptop (you can switch that in Windows 10 though).  I don’t know if this flaw is shared with higher end devices.  Fine, when I don’t use it: fold it in its keyboard, and just detach when you want to use it as a tablet.

Initially, I thought to just image the disk of the device in order to be able to restore it to the original condition whenever I wanted.  I was pretty certain I could do that, if I found a way to boot to a Linux distro.  The ports are basically MicroUSB and USB-C and a MicroSD card reader.  Formats in which I have no bootable media.  Doesn’t matter, I thought…

On boot you can easily get into the EFI Firmware, which is bog standard Award Firmware.  I just hit Escape when the Chuwi logo popped up.  The firmware hinted already that the configuration might be a bit complicated.  As bootable devices, it listed three times Android and once Windows 10.  Weird.  If you let it go, you get a nice boot screen showing the Android and the Windows logo.  Just select with mouse or keyboard whatever you want.  Windows it is then.  In typical Chinese style you do not get an Out of the Box (OOBE) experience, which are actually mandatory for OEMs if I recall correctly.  You boot into a pre-created “admin” user and get presented with your Windows 10 Home desktop.  I expected some Chinese crapware, but in reality it does look pristine.  Windows activated without any problem.  The mind boggles.

The partition dedicated to Windows 10 is 45GB large.  Not stellar, but 25B is usable, Windows 10 taking approximately 20GB.  I was curious on how the partitioning on a Android/Windows 10 computer would be.  Well, if you must know: Highly complicated.  Two EFI partitions, many small partitions.   Apart from the EFI partitions, the only things I can identify is the 9GB partition probably being the Android “Internal storage” (Android reports: 8GB), and the two Windows partitions.  Originally I thought of trying Linux, or something, but given this partitions scheme, I will never be able to set it back to anything resembling the original state.

Chuwi Hi10 Plus | Partitions

Screenshot of the Chuwi Hi10 Plus partitioning scheme

So, I used it a few days running Windows 10.  Frankly, Windows 10 is annoying.  It does push all kind of Microsoft Services on you.  For example, in the action center, there is an icon called “Notes”.  I thought: “Cool, a post-it” application.  Nope, it launches OneNote.  OneNote for which you need a Microsoft account, and on top of that is uninstallable (Well, unless you find the magical powershell incantation)  This kind of stuff is everywhere, and I truly have no idea how Windows users stomach it.
Another really annoying this is how Windows 10 uses gestures.  Whether it’s on the touchpad or the touchscreen, sometimes I just move in such a way that suddenly Windows minimuze, or resize or, disappear and I have no idea what I did.  I tried to figure out what exactly I did, in order to understand the gesture I accidentally invoked, but I don’t seem to be able to find any consistency.  I also have found no way to disable gestures.
Another thing that irked me was that if you touch the screen, sometimes (but not always) you see some kind of trail following your finger.  At first, I thought it was just me touching too heavily on the screen and making the LCD misbehave.  Not so.  Windows 10 does that.  It doesn’t happen on Android.
When in tablet mode, the on screen keyboard is weird.  You don’t have directional keys, which makes it very annoying when doing shell work (how the hell do you navigate in the history), but there is one thing worse: the on-screen numeric keypad follows the phone layout!  Not the traditional computer numeric keypad layout.  I have no words.  This is not a phone!

Windows 10 has an immature beta feel to me.   There is a lot of work to make it usable, at least in my book.  The combobox bug is still there by the way (In modern apps, you cannot press a letter to jump to the items starting with that letter).

A little word on touch screens.  I am surprised that you don’t see finger smudges as much as you’d expect.  Yes, when the device is off you see how bad it is, but in use, pretty much not at all.  I did see them when I had direct sunlight shining on the screen.  That said, the touch functionality is basically not used when using it as a little laptop.

As for just light working on the machine?  I’m surprised myself, but having HTML5-playback music clips running in Firefox, with 11 tabs open, while typing this in Notepad++, it doesn’t use all that much resources, as you can see in the screenshot.  Sure, the Core i machines I have, don’t even use 5% when doing similar tasks, but if the intended use case is too take notes, shoot a picture of an object/document for documentation and stuff like that.  More than sufficient.

The battery seems to be ok.  When I started writing this about two hours ago, it told me 9h of battery remaining.  Now it says a bit over 4h remaining.  We all know these predictions are too optimistic.  I can just extrapolate: I guess another two hours should be possible with that prediction.  Giving me a total of 4h.  Acceptable, but I expected a tad more.  Definitely not a full day of work.  Perhaps if you really just have an editor open or so…

System usage Chuwi Hi10 Plus

System resource usage with light work

All in all: It’s not a Surface, but the hardware is damn impressive, well built, and high quality for the price I paid.  If you know your needs, and a tablet/laptop hybrid is what you want, plus you don’t want to break the bank and understand you won’t be running Crysis on it, this is a good choice for a Windowd 10 based device.  If you need more power, get yourself a refurbished Lenovo X220, which comes at a similar price point with a whole lot more power and expandability, but you won’t get touch or a tablet.  If you want everything and money is no object, get the real thing.

I should really try the Android part next.


Note: I did not have a spell checker on this machine, so this document wasn’t spell checked

Using a SLIC license in a VM

SLIC licenses are interesting.  In my last post, I covered how you can get the SLIC installation medium for select HP machines.  Now, obviously, I went back to Linux, but it did open some experimenting opportunities using virtual machines.

Now, let’s be clear, my Windows needs are tiny and most are covered by a VM I run on my infrastructure and I connect using RDP+SSH.  I really just like to mess around and see where the limits of these things are.

So, back in Linux, I installed VirtualBox and looked how I could use the SLIC enabled license within a virtual machine.  Obviously, I need the installation medium, which I have in WIM format (look up the package wimtools on Linux: Invaluable for working with WIM images).  So, ignoring anything else, I used that installation medium to install Windows 7 Pro.  That worked fine, albeit it was a hassle to try boot from USB (Solution: Don’t. Boot from a second SATA disk containing an image of the USB).  It obviously wasn’t activated, and I though “VirtualBox Guest Additions will take care of it, right?”.  Well, no…

Googling around gave me the solution.  You can make your information from your firmware available to the machines running1.  Theoretically, you could use the following:

VBoxManage setextradata "DummyVM" "VBoxInternal/Devices/acpi/0/Config/CustomTable" "/sys/firmware/acpi/tables/SLIC"

(Where “DummyVM” is the name of your virtual machine)
It would be the most honest form, as you directly use the license information from the host machine.  It won’t work, though, because the rights of that table are readonly for root only.  No problem!  Everything is a file, so do simply copy the SLIC table and give yourself the rights:

sudo cp /sys/firmware/acpi/tables/SLIC ${HOME}/VirtualBox\ VMs/DummyVM/SLIC.bin ; sudo chown ${USER}:${USER} ${HOME}/VirtualBox\ VMs/DummyVM/SLIC.bin

At this point, you can tell VirtualBox to use the SLIC file:

VBoxManage setextradata "DummyVM" "VBoxInternal/Devices/acpi/0/Config/CustomTable" "${HOME}/VirtualBox VMs/DummyVM/SLIC.bin"

The path to the SLIC.bin file must be fully qualified.  Dispite my best efforts, I couldn’t get it to use relative paths.  Doesn’t matter as the vbox configuration file is littered with absolute paths.

Anyway, launch the Windows 7 virtual machine and it will be instantly activated.  It gets better though: cloning a COA (Certificate Of Authority) based Virtual Machine, will almost always trigger an activation, because normally cloning changes system-ids and MAC addresses.  Cloning this won’t, because Windows 7 thinks it runs on a machine that’s licensed based on the SLIC table.  Theoretically, but I didn’t try, it should not even complain when moving to a totally different host machine.

Starting from a clone, I investigated what would happen upon Windows 10 upgrade.  So, I launched the “Assistive Technologies Upgrade” and got Windows 10 Pro, fully activated running inside the VM.  I was still curious what would happen if I removed the SLIC file from that VM.  After all, under Windows 7, removing it would make it unactivated.  To remove the SLIC file from the VM execute:

VBoxManage setextradata "Dummy10VM" "VBoxInternal/Devices/acpi/0/Config/CustomTable" ""

The activation remained!

This is an upgrade, so perhaps I want a fresh install?  No problem.  Keep the Virtual Machine configuration as is, but delete the associated hard disk.  Create a new empty one, and hand the Win10 iso to the optical drive.  Boot, go through installer, skip license key.  Wait… a… long… time… and: Activated Windows 10 Pro.

Conclusion: neither SLIC, nor the hard disk are in the hash submitted to Microsoft.  Well, if they are, they do not count towards activation.  Oh, and the difference between a fully patched Win7 vs Win10 regarding disk usage?  Seventeen fucking Gigabytes!  Windows 7 patching eats storage for breakfast:

find /home/${USER}/VirtualBox\ VMs/ -name Win*.vdi -exec ls -sh {} \; | sed s/\\/.*\\///g
29G Win7Pro.vdi
12G Win10Pro.vdi

Reminds me, that I should write up on how to get a Windows 7 machine up to patch-level in minimal time.  It’s a nightmare frankly.


1 Source https://forums.virtualbox.org/viewtopic.php?f=2&t=43678&p=227455

Recovering an SLP license for an “OS-less” machine.

Marketing stickers

Microsoft Windows and Intel marketing stickers

Windows 10 is actually awesome. Not for the reason you think, but you’ll understand soon. You see, I got myself a second hand HP ProBook 4340s. Sandy Bridge i3, 4GB RAM, 320GB HDD. Nothing fancy. It’s a business machine and it’s in an excellent state, it was worth the 200€ I paid for it.

It was sold without operating system, which really is quite odd for a HP machine. I checked the spot, under the battery, where the COA (Certificate of authenticity) sticker should be and it wasn’t there. Now, one thing you need to understand about Windows licenses, prior to Windows 8, was that for each computer you get two types of licenses. The SLP license, and the COA license (The “sticker with the key”). The SLP is tied to the manufacturer of your computer and is some kind of “mass pre-activation”, which is done by the installation medium provided by the manufacturer. So, if every manufacturer would provide you with an installation medium, you would never actually need the COA sticker/license.  We all know you rarely get installation media.  You also need to understand that you can’t actually both at the same time: if you use the COA, you can’t use the SLP and inversely.
The COA is something like a “backup” license. You could use any OEM installation medium and activate your Windows. So, if you have a COA sticker, I could give you a Dell installation DVD (and I have a few of those), and you could install it on your Lenovo and while it wouldn’t activate, you could use the sticker to get it activated.  Alas, COA stickers fade (my fathers old Alienware has a totally unreadable COA) or get accidentally ripped off.  Both happen very often on laptops.
All this explains why Microsoft wanted to get away from this system quickly and went for firmware-tied keys from Windows 8 on: every Windows 7 COA sticker was a potential “pirate” installation.

Now, what made me suspicious that this machine wasn’t actually originally OS-less, was that it had the “Windows” sticker next to the “Intel i3 Inside” sticker. You know, the marketing ones that actually have no value and I usually remove any way. I have seen quite a few “true” OS-less machines, and I can assure you, there won’t be a “marketing Windows” sticker on those. So, after I did my initial Linux install for my usage, I took out the disk and slammed in a 160GB HDD that I had lying around. Next I installed Windows 10 Pro, on it while skipping the activation. At this point, I have a fully functional Windows 10 that simply isn’t activated. (I downloaded and burned the Windows 10 installation ISO using Linux, on the machine itself)

After Googling, I found out about “HP Cloud Recovery Tool“. I downloaded it, and ran it. It detected which machine I had (including serial number) and told me that it originally came with “Windows 7 Pro” and I could download it, including drivers.

Now, I do not know why, but it failed… several times. I don’t really know why, perhaps my 16GB USB stick was bad (doesn’t look like it), perhaps something else. What I do know for certain is that it downloaded something big. Very big. Well, I found a file called “650434-DN6.WIM” in %USERPROFILE%\AppData\Local\Temp [This is equivalent to %TMP%. Corrected: Originally I wrote “C:\Windows\Temp”] and a WIM file is nothing else than a certain kind of Windows image file. I copied it over to the desktop, and used 7Zip to extract the contents and… indeed… it looks like a Windows 7 Pro installation DVD. At that point I just ran the setup.exe in the extracted folder and it started installing Windows 7. Half an hour later, it booted in a clean Windows 7 Pro installation which was activated. This due to the magic of SLP.

At this point, I could have stopped, because… well, there I have it: a running activated Windows 7 and that’s basically the best that Microsoft has to offer. However, the legality of this installation is debatable. Windows 10 is the way to make your installation “legal”, in the sense it doesn’t need a COA any more and gets a digital entitlement.  Well, that isn’t hard… Use the “Assistive Technologies” loophole. After installing a network driver, I downloaded the Windows 10 Assistive Technologies Upgrade and ran it.

In the morning1, I had a shiny activated Windows 10 Pro waiting for me. So, by using only Microsoft and HP approved tools, I went from a machine with a missing COA, to a digital entitled Windows 10 Pro. You know, the one that “never expires” and doesn’t require stickers, license keys or anything. Just a hash stored by Microsoft. The installation has become indistinguishable from a totally legit machine (with COA ripped off, which… well happens in reality)

If you wonder: At this point I put back the 320GB disk and it is running Linux again. The 160GB disk has been formatted. Even if it’s free, I don’t want their junk. I just like a challenge from time to time.


1 I’m simplifying. In reality it took several, attempts to get through the Windows 7 “update hell” before the upgrade tool actually did what it needed to do. Never mind the upgrade tool cannot be interrupted and when it hung on 99%, I aborted it and I had to do it all again. Disable Windows Update in services before you even try the upgrade tool.