super (Chromebook X2 12-f014dx)
Table of Contents
Summary
This is my ex-chromebook tablet. It was real nice, but alas a drop cracked the screen and broke touch/pen interaction. Now it has been converted to a Linux machine with MrChromebox UEFI firmware and Debian.
Notes
Hardware
Make | HP |
Year | 2018 |
Model | Chromebook X2 12-f014dx |
Chassis | Chromebook X2 |
Power Supply | |
Processor | Intel Core m3-7Y30 |
Memory | 4GB LPDDR3-1600 |
Ports | 2x USB C 3.0 Gen 1 |
Graphics | Intel Graphics 615 |
Storage | 32GB eMMC |
Display | 12.3" 2400x1600 WLED |
Int. Peripherals | |
Ext. Peripherals | |
Dimensions | |
Length/Depth | |
Width | |
Height/Thickness | |
Weight | kg (lbs oz) |
Software
Operating System | |
Unique applications |
Links
- [[][]]
Log
Bought on ebay
I bought this used with the pen as mostly a media consumption tablet. It has a nice high res screen. It's thin, and battery life was good.
Bought another one
At some point this one went to my Mom as a more portable machine for sheet music. I guess I liked it a lot because I bought another one.
Mom's broke
Mom's unit got dropped. The screen glass cracked which broke touch and pen input. I gave her the intact unit, and kept the broken one with intent to sell.
A new purpose
Yamato had been running Frigate NVR, but I found some instability. Frigate relies on the Intel GPU for running image recognition models so it needs particular hardware, and not much else I had was up to it without springing for a Coral TPU.
I looked about, and noticed this Chromebook had a Kaby Lake CPU, and therefore slightly newer GPU than the other machine. It also seems to benchmark reasonably (2579 vs 3000 CPU Mark), and have less power requirements (4.5W vs 15W) so I decided to commandeer it.
Of course ChromeOS isn't ideal for this, and it only has two USB C ports. Additionally I considered that a battery in an always on device tends to suffer so I want to remove that.
Unlocking the chromebook
I knew I needed to replace the stock firmware, and that requires some steps. I looked at MrChromebox's supported device list, and can see that HP Chromebook X2 (Soraka) is a CR50 device. This can be modified without disassembly.
I went to work following the Guide for disabling Write Protect on CR50 devices via CCD.
The first snag I ran into is that tablet devices require some different operations to enter recovery. I followed this xda developers guide. But the general idea is similar to phones. Hold volume up + volume down + power
for 7 seconds to enter recovery. Then ignore the empty recovery screen, use the volume down
button to access a menu, then volume up + volume down
to get to the prompt to disable OS verification.
The rest can be done according to the MrChromebox guide.
I had some confusion about the physical presence (PP) actions. When ChromeOS asserts for physical presence you press the power button as described, but this turns the screen off, and locks the device. I had to turn it back on immediately, type my password/pin to unlock, then be ready for the next time it asserts. In all I think I did this 6 or 7 times. Rather annoying process.
Next I realized that a special Suzy-Q cable is necessary to actually enable firmware writing, but I didn't have this ready. Fortunately I have a few USB C breakouts, but I need to hunt down the right resistors, and get my bench clear so that will wait.
Suzy-Q cable and Debian
I built the Suzy-Q cable according to Making your own SuzyQ. Since my breakouts already had headers soldered I crimped some connectors on resistors, and a cut up USB cable so they can just plug into place. Then I soldered some wire bits to connect all the VCC pins together, and the GND pins together.
For resistor values I had a 22K (red-red-orange), and I used 47K (yellow-violet-orange) instead of the 45.3K.
Then you hook the special end up on the left port, and I used an A to C adapter to hook the plain USB end up to the other port. ChromeOS will complain about low power charging, but you should see the serial ports as the guide describes (/dev/ttyUSB…).
It looks like:
After this you do a few more steps to enable writing. Verify the settings. The guide says to reboot before flashing UEFI, so I did.
Then I followed the UEFI firmware install script instructions. There's a scary message about ChromeOS >R117, but mine was on 108 so I ignored it. I ran the script, and chose to install the full UEFI firmware. Everything went off without a hitch.
I booted it back up, stuck a Debian installer USB stick in, and booted that. Install went normally except for the small eMMC storage (only 32GB).
When I got into Gnome (Wayland) the trackpad started behaving weirdly, like it was a absolute position device. Something to look into later.
Battery removal
First, a quick note about power-on weirdness with the MrChromeBox firmware. I've had the machine sitting around, and it seems to power itself on, and run the battery down. Then it blinks annoyingly to indicate low battery. Unfortunately, I am not going to find out if there is a solution for that. Since it is going to be an always on machine, I don't want the battery in there anyway.
I removed the battery, and the machine boots fine without it. The only annoying issue is that the charging LED blinks constantly, but it's easy to cover up.
Removal is pretty straight-forward. HP has a guide on youtube. The plastic frame that clips into the body is quite thin. You basically get a thin spudger, start by the speaker which has a void that lets the plastic flex. Then slowly work around popping the plastic frame clips out.
There are two cables to remove to separate the halves. They both can be removed from the motherboard side. If you need the clearance you can open the case to about 90 degrees (keeping the base, pogo pin edges together).
To get the battery out I removed five screws, lifted it slightly, then pulled it away from the motherboard connector. There are no adhesives behind the battery.
I like how all HP's cables are clearly labeled with their purpose.
Mount and peripherals layout
I need to gather some more cables and right angle adapters, but I think I figured out how things will be arranged on the back.
I'm a little worried that the power draw might be a little high for the PoE adapter. I think the chromebook expects 15V which means I can get 20W from the adapter, or at 12V only 17W. Mostly I worry once frigate gets running, plus having the screen on, but we'll see.
More finalized mount and cables
I got some better cables and did a bit of rearrangement.
The mount uses a steel ball, but it's impossible to clamp it so it does not slip. I ended up cutting the finger off a dipped nitrile foam fabric glove and putting the rubber side on the ball. This, plus tightening the clamp with a crescent wrench gives a stable mount even for this heavy tablet.
The hub and ethernet adapter ended up stacked since this gave the best port access to the hub, and kept the ethernet ports well located. They're attached using 3M VHB tape.
Incompatible PoE adapter, possibly over current limit
I got the machine mounted up.
When I went to power it up with the PoE adapter it cut power during the boot. I put my USB C meter an it, and I can't see anything over 13W draw which should be fine. The chromebook is negotiating 20V with this adapter, but I've never seen it do that on any other. HP only shipped it with a 15V max adapter.
I tried it with a power bank, and there it negotiates 15V, but also seems to trip some protection during boot. A second power bank it negotiated 9V, and booted fine.
Since a higher wattage PoE adapter is a bit expensive, and not strictly necessary, I have a couple ideas for a fix:
- Disconnect some unnecessary peripherals inside. I can certainly disconnect the rear camera (points at a wall), and touchscreen (broken, and causes bad input anyway). WiFi might be an option, but I'm not sure if it is a separate card. I would pull the audio chip board, but it also has the power button.
- Get a suitable power bank with pass-through power (doesn't reset other ports when the supply state changes). I even found one that claims to have "battery protection mode" to act as a UPS. From what I can see it requires a phone app to activate, which might be OK if it's a one-time thing.
I tried disconnecting the wifi, rear camera, and the whole display. The reset behavior is still there. I still find it concerning that it negotiates 20V with this adapter.
I noticed some slowness. Turns out the CPU is running at 400 MHz. I tried loading the performance governer, but it seems to only let it increase to around 700 MHz despite stress -c 4
running. I wonder if this is being throttled at the firmware level due to lack of a battery.
I put the battery back. CPU speed recovered.
This presents a couple new issues though:
- Powering the charge circuit on one port, and having my USB/ethernet hub on the other causes a very annoying whine.
- This machine can't set a charge end threshold. This will probably lead to the battery becoming a spicy pillow.
I need new hardware. I'm considering forbidden with it's N100 CPU, but the form factor (16" laptop) is all wrong.