Device

iPhone ICCID Unlock: Activation Ticket Backup and Restore

7 minute read Published: 2026-06-22

ICCID activation was once a common workaround for carrier-locked iPhones. Apple patched it, so it cannot issue new unlocked tickets, but tickets created before the patch still work. To preserve an existing unlock through a reset, downgrade, or DFU restore, back up the activation ticket first and restore it afterward. The ticket is tied to one device and cannot be transferred. I use my iPhone 5s (A1453, au/KDDI Japan) as the example.

Recovering a Bricked 360T7 via UART After a DDR3 RAM Upgrade

10 minute read Published: 2026-05-23

A memory-modded 360T7 had run for years until I flashed OpenWrt's bl2 and fip. It then stopped at dram size: 0MB. Every rescue package I found failed for the same reason: OpenWrt's official bl2 drives DDR3 at 2133MT/s, while this router has a DDR3-1600 chip. DRAM initialization failed before the rest of the boot chain could load. I traced the settings in the ATF source, built a bl2 at 1866MT/s, and recovered the router over UART.

Dual-Partition Sysupgrade on the 360V6 with OpenWrt

5 minute read Published: 2026-05-23

The 360V6 has A/B dual-partition flash: two complete rootfs copies and a bootloader slot flag that selects one at boot. Updates write the inactive partition and leave the running one alone. If a write fails or is interrupted, the router can still boot the old system.

OpenWrt's sysupgrade ignored the layout and wrote the running partition in place. A power loss or bad image mid-write left the device unbootable, recoverable only over TTL. I added proper A/B support upstream, and it has merged.

Running Proxmox on a 2012 Mac Mini

4 minute read Published: 2024-11-11

The Late 2012 Mac Mini Server makes a cheap Proxmox VE node and is the last fully upgradeable Mac Mini. Its two SO-DIMM slots support 16GB of RAM, and its two 2.5-inch SATA bays can hold a boot disk and a datastore. Apple soldered the RAM in 2014 and moved the line to ARM in 2020, so newer Minis either cannot take more memory or cannot run x86 virtualization.

Its quad-core mobile Ivy Bridge i7 keeps power use modest for four cores. The whole machine is a 19cm-square box that fits on a shelf.

Optimizing Sony Digital Paper for Chinese

4 minute read Published: 2024-06-18

The Sony DPT-RP1 is a large-screen E Ink reader built for A4 PDFs. Sony ships the same firmware image in China, Japan, and the United States. A region identifier stored outside the firmware selects the UI language, the input methods, and the default font families, so flashing firmware cannot change the region.

The Japanese build has Japanese and English fonts. The American build has English only, while the Chinese build has Chinese and English. My Japanese unit rendered Chinese characters in a book's table of contents with Japanese glyph variants, or did not render them at all. The Chinese and American builds did not have that problem. Their default font families differ.

Creating a Bootable macOS USB Installer

4 minute read Published: 2023-07-19

Making a macOS USB installer becomes awkward when the host and target use different architectures or macOS generations. I ran into it while reinstalling macOS 10.7 Lion on a 2012 Mac Pro from an M1 MacBook Air. The M1 cannot run Lion's installer, and Apple's direct Lion download is packaged in a form that modern macOS refuses to open.

Building Padavan Router Firmware

2 minute read Published: 2022-10-05

Padavan is an open-source firmware derived from the GPL source ASUS released for the RT-N56U router. It targets MediaTek and Ralink SoCs: RT3883, MT7620, MT7621, and MT7628. The upstream repository on BitBucket last received updates in 2018. A fork on GitLab carries current development.

A prebuilt image targets one board and feature set. Building from source lets you match the device and select the features to compile. This post builds firmware for the MI-NANO router, whose official firmware is old and has no IPv6 support.

Flashing the Xiaomi Router Nano Bootloader

3 minute read Published: 2022-09-28

The Xiaomi Router Nano is a MediaTek MT7628 router. Stock MiWiFi accepts only signed updates and exposes no shell. Replacing the bootloader lets it run OpenWrt or Padavan.