Lately, a bunch of cheap Chinese USB-to-Ethernet dongles have been making their appearance in various parts of the world by a Chinese vendor. Often these can be gotten for around USD$2 or less. They're frequently referred to as "HG2f09" adapters.

The VID/PID is 066b/20f9, which would lead one to think that the maker is Linksys--except the PID doesn't appear in any Linksys registry. So we've got a counterfeit. (Why pay good money to IF-USB when you can just "borrow" a VID? I've seen the same thing in cheap USB flash drives. )

A bit of probing shows the operative device is the Asix AX88772B (and has been verified by others).

The pragmatic approach would be to reprogram the serial configuration EEPROM in this thing to match something better known, say, the Linksys USB200, but Asix Taiwan is not forthcoming with their programming utility, citing "confidential, restricted to verified customers". I'm not inclined to tear my hair out trying to write a utility for a $2 part (there are some pretty good hints in the Asix datasheet).

Mine arrived with a mini-CD containing Windows drivers (uncertified, of course) and Linux source (no good for OpenBSD).

At any rate, a stopgap solution for me was to simply add the following line to the 5.2 USB if_axe.c axe_devs[] structure:

{ { USB_VENDOR_LINKSYS, 0x20f9}, AX772 | AX772B}, // Fake Linksys HG20f9

It's an ugly hack, but it seems to work just fine. I have a bit of a dilemma tagging the code as if this really were a Linksys-badged device. I'll leave the symbolic definitions to those official custodians of OpenBSD source for a cleaner version, should the need for this arise.

You can see the extent of the problem, just by searching the web for "HG2f09".

Perhaps there should be some sort of USB VID/PID "aliasing" capability to avoid having to rebuild the kernel for this sort of thing.

Submitted for whatever it's worth...

Chuck Guzis
Sydex, Inc.

Reply via email to