Homemade Subaru Head Unit is Hidden Masterpiece

The Subaru BRZ (also produced for Toyota as the GT86) is a snappy sportster but [megahercas6]’s old US version had many navigation and entertainment system features which weren’t useful or wouldn’t work in his native Lithuania. He could have swapped out the built in screen for a large 4G Android tablet/phone, but there’s limited adventure in that. Instead, he went ahead and built his own homemade Navigation system by designing and integrating a whole bunch of hardware modules resulting in one “hack” of an upgrade.

The system is built around a Lenovo 4G phone-tablet running android and supporting GPS, GLONASS as well as the Chinese BeiDou satellite navigation systems. He removed the original daughter board handling the USB OTG connection on the tablet, and replaced it with his version so he could connect it to his external USB board via a flat ribbon cable. The USB board contains a Cypress 4-port USB hub. One port is used as the USB HID device to allow external buttons for system control — Power, Volume Up/Down, Fwd/Rev, Play/Pause, and Phone Answer/Hangup. The second port is used as a regular USB input to allow connecting external devices such as flash drives. The third one goes to a reversing camera while the fourth port goes to a USB DAC.

The USB DAC is another hardware board by itself and also includes a Bluetooth module which integrates his phone’s audio and control functions with the on-board system. There’s also an audio mixer which allows him to use the phone audio without having to miss out on the navigation prompts from the tablet. Both boards also contain several peripheral circuits such as amplifiers and DC power supplies. Audio to the speakers is routed through six LM3886 based power amplifier boards. And the GPS module receives its own special low-noise amplifier board to ensure extremely strong reception at all times. That’s a total of ten boards custom built for this project. He’s also managed to source all the original harness connectors so his system is literally a snap in replacement. The final assembly looks pretty dashing.

For some strange reason, the Lenovo tablet uses 4.35V as the ‘fully charged” value for its LiPo instead of the more common 4.20V, so even with the whole system connected to a hefty 12V lead acid battery from which he’s deriving the 4.20V charging voltage for the tablet, it still complains about “low battery” — and he’s looking for advice on how he can resolve that issue short of blowing up the LiPo by using the higher charge voltage. Besides that, he’s (obviously a kickass) hardware designer and a little bit rusty on the software and programming side of things, for which he’s looking for inputs from the community. His introductory video is almost 30 minutes long, but the shorter demo video after the break shows the system after installation in his car. He’s posted all of his Altium hardware source files on the project page, but until he shares PDF versions, it would be difficult for most of us to look at his work.

Continue reading “Homemade Subaru Head Unit is Hidden Masterpiece”

A Personal Fight Against The Modern Laptop

If you haven’t gone laptop shopping recently, you’re in for a big shock when you do. While the current generation of MacBook Pros is rightly torn to shreds for being an overpriced machine with a stupid gimmick of a Touch Bar, there are issues with laptops across the industry. No one has figured out how to take a high-res iPad screen and add a keyboard, most laptops with a display smaller than 13 inches are capped at 720 resolution, new features are introduced at the expense of old ones, binary blobs are cast into a web of BIOS whitelists and missing drivers, No, the Microsoft Surface doesn’t count, because while it’s a nice machine it’s a tablet with a keyboard, not a laptop.

After months of searching, [Hamish Coleman] found the closest thing to a perfect laptop. It’s a Thinkpad X230 from the ancient days of yore, or 2012 depending on how you’re counting. It’s close to perfect, though: aside from an old CPU and GPU, the only real show stopper is the keyboard. Replacing that keyboard was [Hamish]’s personal fight against the modern laptop (YouTube, embedded below), and he’s making it easier for us to fight against the current crop of craptops, too.

Continue reading “A Personal Fight Against The Modern Laptop”

Apple Sucks Now, Here’s A ThinkPad Buyer’s Guide

For the last decade, Macs have been running a UNIX-ish operating system on x86 processors. They’ve been fantastic developer’s machines, and the MacBook Pro is the de facto standard laptop issued to all developers, all hackathon attendees, and arguably, anyone who does real work with a computer.

This week, Apple unveiled the latest MacBook Pro and provided more evidence Steve Jobs actually knew what he was doing. Fifteen hundred bones will get you a MacBook Pro with a last-gen processor, an Escape key, a headphone jack, and two Thunderbolt 3 ports (with one port required for charging). The next model up costs $1800, ditches the Escape key for a dedicated emoji bar, and includes four Thunderbolt 3 ports.

In the past, I have defended people who choose MacBooks as their laptop of choice. A MacBook is a business-class laptop, and of course carries a higher price tag. However, Apple’s latest hardware release was underwhelming and overpriced. If you’re looking for a new laptop, you would do well to consider other brands. To that end, here’s a buyer’s guide to ThinkPads, currently the second most popular laptop I’ve seen with the dev/hacker/code cracker crowd.

Continue reading “Apple Sucks Now, Here’s A ThinkPad Buyer’s Guide”

Unlocking Thinkpad Batteries

A few months ago, [Matt] realized he needed another battery for his Thinkpad X230T. The original battery would barely last 10 minutes, and he wanted a battery that would last an entire plane flight. When his new battery arrived, he installed it only to find a disturbing message displayed during startup: “The system does not support batteries that are not genuine Lenovo-made or authorized.” The battery was chipped, and now [Matt] had to figure out a way around this.

Most recent laptop batteries have an integrated controller that implements the Smart Battery Specification (SBS) over the SMBus, an I2C-like protocol with data and clock pins right on the battery connector. After connecting a USBee logic analyser to the relevant pins, [Matt] found the battery didn’t report itself correctly to the Thinkpad’s battery controller.

With the problem clearly defined, [Matt] had a few options open to him. The first was opening both batteries, and replacing the cells in the old (genuine) battery with the cells in the newer (not genuine) battery. If you’ve ever taken apart a laptop battery, you’ll know this is the worst choice. There are fiddly bits of plastic and glue, and if you’re lucky enough to get the battery apart in a reasonably clean matter, you’re not going to get it back together again. The second option was modifying the firmware on the non-genuine battery. [Charlie Miller] has done a bit of research on this, but none of the standard SBS commands would work on the non-genuine battery, meaning [Matt] would need to take the battery apart to see what’s inside. The third option is an embedded controller that taps into the SMBus on the charger connector, but according to [Matt], adding extra electronics to a laptop isn’t ideal. The last option is modifying the Thinkpad’s embedded controller firmware. This last option is the one he went with.

There’s an exceptionally large community dedicated to Thinkpad firmware hacks, reverse engineering, and generally turning Thinkpads into the best machines they can be. With the schematics for his laptop in hand, [Matt] found the embedded controller responsible for battery charging, and after taking a few educated guesses had some success. He ran into problems, though, when he discovered some strangely encrypted code in the software image. A few Russian developers had run into the same problem, and by wiring up a JTAG to the embedded controller chip, this dev had a fully decrypted Flash image of whatever was on this chip.

[Matt]’s next steps are taking the encrypted image and building new firmware for the embedded controller that will allow him to charge is off-brand, and probably every other battery on the planet. As far as interesting mods go, this is right at the top, soon to be overshadowed by a few dozen comments complaining about DRM in batteries.

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.

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.

Extreme Repair of an All-in-One PC

While browsing a local auction site, [Viktor] found himself bidding on a beat up Lenovo A600 all-in-one PC. He bid around $50 and won. Then came the hard part – actually making the thing work. The front glass was cracked, but the LCD was thankfully unharmed. The heat pipes looked like they had been attacked with monkey wrenches. The superIO chip’s pins were mangled, and worst of all, the MXM video card was dead.

The first order of business was to fix the superIO chip’s pins and a few nearby discrete components which had been knocked off their pads. Once that was done, [Viktor] was actually able to get the computer to boot into Linux from a USB flash drive. The next step was bringing up the display. [Viktor] only needed a coding station, so in addition to being dead, the video accelerator on the MXM wasn’t very useful to him. The Lenovo’s motherboard was designed to support video on an MXM card or internal video. Switching over meant changing some driver settings and moving a few components, including a rather large LVDS connector for the display itself. A difficult task, compounded by the fact that [Viktor’s] soldering tools were a pair of soldering guns that would be better suited to fixing the bodywork on a ’57 Chevy. He was able to fashion a hot wire setup of sorts, and moved the connector over. When he was done, only one tiny solder bridge remained!

The end result is a new coding battle station for [Viktor] and a computer which was a basket case is saved from the landfill. If you like this hack, check out [Viktor’s] low power PSU, or his 1 wire network!