Analyzing The Microsoft Surface Touch Keyboard Cover

The Microsoft Surface is an awesome Tablet PC, but it has one problem: there is just one USB port on it. There is an additional port, though: a connector for the Surface Touch Keyboard connector. That’s what [Edward Shin] is looking into, with the long-term intention of creating an adapter that allows him to connect a Thinkpad keyboard to this proprietary connector. His initial work identified the connector as using Microsoft’s own HID over I2C protocol, which sends the standard USB HID protocol over an I2C connection. So far so good, but it seems to get a little odd after that, with a serial connection running at nearly 1 Mbps and sending 9 bits per transfer with 1 stop bit. Presumably this is because Microsoft had planned to release other devices that used this connector, but this hasn’t panned out so far.

Anybody want to help him out? He has posted some captured data from the connection for analysis, and is looking for assistance. We hope he manages to build his converter: a Microsoft Surface with a decent keyboard and an open USB port would be a great portable setup. Bonus: for those teardown fans among you, he has done a great teardown of a Touch Cover keyboard that reveals some interesting stuff, including a lot of well-labelled test points.

Via [Reddit]

KeyMouSerial Solves Your Raspberry Pi Keyboard Problems

All laptops have a working keyboard and mouse built into them, the only problem is that you can’t use these tools on other computers that don’t have them. At least, until now. [Peter] has created the KeyMouSerial in order to use his laptop’s keyboard and mouse as physical devices on his Raspberry Pi, finally freeing the bonds holding our laptops’ human interface devices back.

The software for KeyMouSerial copies keystroke and mouse information and sends this out via a serial port on his laptop (using a USB to serial adapter). From there the information is translated by an Arduino into HID commands which are sent via USB to the target computer, in this case a Raspberry Pi. It’s a pretty elegant solution to carrying a bulky keyboard and mouse along just for a Raspberry Pi, or for any computer that might not have access to a network and SSH.

[Peter] has also been working on using his iPod as a serial-to-USB converter, so if you’re a Rockbox developer and want to help out then drop him a line. All of the software is available (for Windows, Mac, or Linux) including the Arduino sketch if you want to try this software out for yourself. And, if you don’t want to turn a computer into a keyboard and want to go the other direction and turn a keyboard into a computer, that is also an option.

Hacking An Android Laptop To Run Linux

A few years ago, someone at Lenovo realized they could take an Android tablet, add a keyboard, and sell a cheap netbook that’s slightly more useful than a YouTube and Facebook machine. Since then, Lenovo has stopped making the A10 notebook and has moved on to manufacturing Chromebooks. That doesn’t mean this little Laptop doesn’t have some life left in it: it still has a Cortex A9 Quad core CPU, is reasonably priced on the ‘defective’ market, and can now run a full-blown Linux.

When the A10 notebook was released, there was a statement going around saying it was impossible to install Linux on it. For [Steffen] that was a challenge. He cracked open this netbook and took a look around the Flash chips. There were two tiny pads that could be shorted to put the device in recovery mode, and the entire thing can be booted from a USB stick.

[Steffen] ran into a problem while putting a new kernel on the netbook: there was a null pointer reference in some device during boot. The usual way of diagnosing this problem is to look at the console to see what device failed. This netbook doesn’t have a UART, though, and [Steffen] had to use an FTDI chip and set the console to USB to see why this device failed.

Just about everything on this tiny laptop works right now, with a few problems with WiFi, webcam, and standby mode – all normal stuff for a putting Linux on a random machine. It’s worth it, though: the quad-core ARM is a very good chip, and [Steffen] is running x86 apps with qemu. Not bad for something that can be found very, very cheap.

Reading Analog Values With A MagSafe Port

The MagSafe adapter in MacBooks and MacBook Pros is probably the greatest single advancement in laptop technology in the last 10 years. Interestingly, the MagSafe port is also a an analog volt meter that can be read by the OS, and it’s not just limited to monitoring battery voltage; with the right software, you can turn a MagSafe port into a terrible and expensive analog sensor, letting scripts on the computer run based on analog values.

[Peter] created a voltmeter application for his mac after realizing the System Management Controller – the chip responsible for charging the battery – was accessible through low-level kernel calls. If you care enough to chop an Apple power adapter in half, the MagSafe port can read other analog inputs.

The SMC Voltmeter app [Peter] wrote samples the voltage every second and displays values on a graph. This app also allows you to run scripts. While you won’t be able to do much with an extremely expensive, very slow, one-channel data logger (the battery is going to run down eventually), we’re sure we’ll see something that’s held together with duct tape and prayer that uses this weird tool.

Using LVDS Laptop Displays

No doubt anyone reading this has access to a few ancient laptops and the displays contained within. While those laptops are probably still stuck with a Gig of RAM and Windows ME, the display panels are probably still good. They don’t have HDMI, DVI, or VGA, though, which means those panels will need a converter.

[Jared] had a different idea. Instead of reusing laptop displays with a converter, why not connect them to an LVDS connector on some modern hardware? He had a RIoT board with a native LVDS connector, and with some clever reverse engineering and PCB fabrication he can put those old displays to work.

[Jared] had a very cool sunlight-readable ‘transflective’ LCD from on old Portege R500 laptop. If he was going to take apart one laptop to use with modern hardware, this was the one. Opening up the display he found a tiny connector but no obvious markings of what pins did what. The datasheet was also not to be found. By shorting two pins together, he could figure out what the pins were: shorting the clock freezes the screen, shorting the HSYNC and VSYNC means the screen loses sync. Blues, reds, and greens can be found the same way.

With the pins identified, a breakout board was in order. This is just a small board to break out the very small wires to solderable pads and a driver for the backlight. With that, and the RIoT with an LVDS output, [Jared] was able to use new hardware with this old but still serviceable display.

laptop with external gpu

A Laptop With An External Graphics Card?

It used to be that desktop computers reigned king in the world of powerful computing, and to some extent, they still do. But laptops are pretty powerful these days, and in our experience, a lot of engineering companies have actually swapped over to them for resource hungry 3D CAD applications — But what if you still need a bit more power?

Well, [Kamueone] wasn’t satisfied with the performance of his Razer Blade GTX870m laptop, so he decided to hack it and give it its own external graphics card.

Now unfortunately this really isn’t quite a simple as running some PCIE extender cables — nope. You’ll have to modify the BIOS first, which according to [Kamueone], isn’t that bad. But after that’s done you’ll also need a way to mount your graphics card outside of the laptop. He’s using an EXP GDC Beast V6 which uses a mini PCIE cable that can be connected directly to the laptop motherboard. You’re also going to need an external power supply.

[Kamueone] ran some benchmarks and upgrading from the stock onboard GTX870m to an external GTX 780ti resulted in over three times the frame rate capability — 40fps stock, 130fps upgraded!

Fake Certificate

Lenovo Shipped PC’s With Spyware That Breaks HTTPS

If you’ve ever purchased a new computer then you are probably familiar with the barrage of bloatware that comes pre-installed. Usually there are system tools, antivirus software trials, and a whole bunch of other things that most of us never wanted in the first place. Well now we can add Superfish spyware to the list.

You may wonder what makes this case so special. A lot of PC’s come with software pre-installed that collect usage statistics for the manufacturer. Superfish is a somewhat extreme case of this. The software actually installs a self-signed root HTTPS certificate. Then, the software uses its own certificates for every single HTTPS session the user opens. If you visit your online banking portal for example, you won’t actually get the certificate from your bank. Instead, you’ll receive a certificate signed by Superfish. Your PC will trust it, because it already has the root certificate installed. This is essentially a man in the middle attack performed by software installed by Lenovo. Superfish uses this ability to do things to your encrypted connection including collecting data, and injecting ads.

As if that wasn’t bad enough, their certificate is actually using a deprecated SHA-1 certificate that uses 1024-bit RSA encryption. This level of encryption is weak and susceptible to attack. In fact, it was reported that [Rob Graham], CEO of Errata Security has already cracked the certificate and revealed the private key. With the private key known to the public, an attacker can easily spoof any HTTPS certificate and systems that are infected with Superfish will just trust it. The user will have no idea that they are visiting a fake phishing website.

Since this discovery was made, Lenovo has released a statement saying that Superfish was installed on some systems that shipped between September and December of 2014. They claim that server-side interactions have been disabled since January, which disables Superfish. They have no plans to pre-load Superfish on any new systems.