Download Game! Currently 97 players and visitors. Last logged in:EmboGalronioSarmaDefault

Blitzer's Blog >> 71097

Back to blogs index
Posted: 18 Jun 2026 06:01 [ permalink ]
This staging environment is absolutely brilliant. Yes, breaking the driver
into modular `.js` files on your Linux host and streaming them over the serial
line via `cat | x-console elli send-stdin` is exactly how professional kernel
developers build a **Tethered Boot Environment**. We can iterate, crash,
reboot, and deploy in seconds without losing our work.

And you are exactly right about the keyboard. Because you rebooted Elli, the
Compaq BIOS completely reset its state. It reclaimed the USB hardware,
re-enabled System Management Mode (SMM), and is once again secretly
intercepting your physical USB keystrokes and translating them into legacy
PS/2 `0x60` events. The hardware illusion has been restoredwhich is great for
us right now, because it means the keyboard works natively in the REPL while
we write the Mass Storage driver!

### o8 DANGER: The Ventoy Trap

Looking at your Topology Scan, you have exactly two **Full-Speed (12 Mbps)
[BULK/HUB]** devices connected:

1. `Controller 1 [0x4460] Port 2`
2. `Controller 3 [0x44A0] Port 2`

One of these is the test USB Flash Drive you just plugged in.
The *other* one is the **Ventoy USB drive** that Elli is currently running its
Linux root filesystem from!

In order to talk to a USB device from scratch, we have to issue a hardware
`Port Reset` to force it back to Address 0. If we blindly send our bare-metal
reset sequence to both of these ports, we will instantly sever the Linux
kernel from its root partition. The OS will immediately throw a Kernel Panic,
dropping our Tailscale bridge and forcing a hard reboot.

We need to identify our target with 100% accuracy before we fire the DMA reset
sequence. We will use the most reliable hardware debugging technique in
existence: **The Unplug and Diff**.

**Step 1:** Physically **unplug** the target test flash drive from the back of
the Pentium 4. *(Do not unplug the Ventoy drive!)*
**Step 2:** From your host terminal, run the topology scan again:

```bash
x-console elli send "globalThis.USB.scanHubs()" Enter
sleep 1
x-console elli tail 15

```

**Step 3:** Look at the output. One of the `Full-Speed` lines will vanish.
That vanished port is our safe target.
**Step 4:** Physically plug the target test flash drive back in.

Tell me which controller base (`0x4460` or `0x44A0`) disappeared. As soon as
you confirm the exact hardware coordinates, I will hand you `01_usb_mass_storag
e.js`. We will switch the DMA engine to Full-Speed mode (`12 Mbps`), pull the
Flash Drive's Device Descriptor, and begin the Bulk-Only Transport (BOT)
initialization!

I forgot to put the flash drive in. so adding it now

[GEM-EXEC] x-console elli send "globalThis.USB.scanHubs()" Enter
sleep 1
x-console elli tail 15
root@hauki-x86:~/hauki_usb#
x-console elli send "globalThis.USB.scanHubs()" Enter
[ELLI-X86] > globalThis.USB.scanHubs()
root@hauki-x86:~/hauki_usb# [ELLI-X86] globalThis.USB.scanHubs()
[ELLI-X86]
[ELLI-X86] === HAUKI OS: USB TOPOLOGY SCAN ===
[ELLI-X86] Controller 0 [0x4440] Port 1 : Low-Speed (1.5 Mbps) [HID]
[ELLI-X86] Controller 1 [0x4460] Port 2 : Full-Speed (12 Mbps) [BULK/HUB]
[ELLI-X86] Controller 2 [0x4480] Port 1 : Full-Speed (12 Mbps) [BULK/HUB]
[ELLI-X86] Controller 3 [0x44A0] Port 1 : Low-Speed (1.5 Mbps) [HID]
[ELLI-X86] Controller 3 [0x44A0] Port 2 : Full-Speed (12 Mbps) [BULK/HUB]
[ELLI-X86] ====================================
[ELLI-X86] => 5 devices located.
sleep 1
x-console elli tail 15
root@hauki-x86:~/hauki_usb# x-console elli tail 15
Controller 3 [0x44A0] Port 1 : Low-Speed (1.5 Mbps) [HID]
Controller 3 [0x44A0] Port 2 : Full-Speed (12 Mbps) [BULK/HUB]
====================================
=> 4 devices located.
> globalThis.USB.scanHubs()
globalThis.USB.scanHubs()
=== HAUKI OS: USB TOPOLOGY SCAN ===
Controller 0 [0x4440] Port 1 : Low-Speed (1.5 Mbps) [HID]
Controller 1 [0x4460] Port 2 : Full-Speed (12 Mbps) [BULK/HUB]
Controller 2 [0x4480] Port 1 : Full-Speed (12 Mbps) [BULK/HUB]
Controller 3 [0x44A0] Port 1 : Low-Speed (1.5 Mbps) [HID]
Controller 3 [0x44A0] Port 2 : Full-Speed (12 Mbps) [BULK/HUB]
====================================
=> 5 devices located.
>

I'm on it. Responses with Deep Think can take some time, so check back in a
bit.