Add 1209:4665 ferros (Nick Spiker) - #1208
Conversation
pid.codes PR #1208 (pidcodes/pidcodes.github.com#1208) assigns 1209:4665 to ferros. Bridge firmware now enumerates as that pair instead of the 1209:000c generic test PID. Confirmed on device: $ lsusb | grep 1209 Bus 001 Device 010: ID 1209:4665 Generic pipe-bridge-rp2040 ferros_hal_m1 still spoofs 0x1838:0xFE01 (Samsung VID) for Pixel 8 / M1 fastboot compatibility — that's a separate question (whether to use a ferros-owned PID once nothing relies on the Samsung-spoof anymore). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
I really don't quite understand what this is. For a project to be eligible for a PID code, it needs to have a embodiment. For instance schematic + board files, or if a commercial board custom firmware is loaded on an actual board. |
|
The embodiment is custom firmware on a real board. ferros is a bare-metal OS (Rust, no Android/Linux underneath) and it brings up the SoC's USB device controller itself and enumerates as a vendor-specific bulk device for its host tooling. It's currently running on a Pixel 8 Pro (Tensor G3) today. lsusb -v from a machine it's plugged into right now: Bus 003 Device 012: ID 1209:4665 Nick Spiker ferros The USB device stack is open (Apache-2.0), in Rust — the descriptor definitions and DWC3 device-mode driver are in the repo; happy to link the exact files. So it's "commercial board + custom firmware that enumerates," per the eligibility note. Let me know if you'd like anything else like a full descriptor tree, the driver source, or a photo of the device enumerated. |
|
To clarify I meant it needs to have a hardware embodiment. It sounds like your embodiment is a Pixel 8 Pro? And your software is the kernel and stack for the phone? |
Adds:
org/nickspiker/— organization page1209/4665/— ferros (open-source mobile OS in Rust)ferros is licensed under Apache-2.0, with the LICENSE file in the source repository.
PID
0x4665is the ASCII encoding of "Fe" — the chemical symbol for iron, etymological root of the project name, and a human-readable identifier in USB descriptor hex dumps.