Skip to content
Oznog

1.8 · hardware failures and rmas · after redaction

The USB network adapter that was actually a flash drive in disguise

date
20260908
what happened
env1's second USB Ethernet adapter enumerated as USB mass storage, a 1.2 MB driver-install partition, rather than as a network interface. With no interface to add, the host's bond ran on a single leg with no redundancy, silently.
what it cost
Undetected loss of network redundancy on env1 until a direct comparison against a working sibling host caught it.
what changed
A boot-time systemd unit now sends the adapter's mode-switch command before networking starts, verified to survive a reboot.
the check now
After fitting any USB Ethernet adapter, confirm the network interface actually exists, not merely that some device enumerated on the bus.

Some USB Ethernet chipsets ship with two personalities. On first plug-in they present as a tiny CD-ROM holding a Windows driver installer, and they only become a network adapter once a driver on the host sends them the command to switch modes. On Linux, with no driver interested in the storage device, the adapter can sit in that first mode forever.

On 20260908 one of these adapters did exactly that on env1, a small environment-monitoring host. Every layer above behaved reasonably and was still wrong. The switch reported the port up, because something with a link-layer chip really was plugged in. The bond configuration waited patiently for an interface that could never appear, because in storage mode there is no interface at all. Nothing failed, nothing logged an error, and the bond simply ran on one leg with no redundancy.

What found it was luck plus a comparison. A second host with the identical adapter model had come up correctly. That proved neither the hardware model nor the operating system was at fault, and that this one unit had simply never been told to switch. The fix is a systemd unit that sends the mode-switch command before networking starts, and it was tested by rebooting rather than by reading the unit file.

The check that generalises is smaller than the fix: after fitting any USB network adapter, look for the interface, not for the device. Enumeration on the bus is not the same claim.

Source: node0 lessons v0.1, lesson 1.8. Sanitized: checklist v0.1, 20260921; USB IDs, MAC address; voice pass 20260921. Part of oznog.com/node0.