Might even work.

Post navigation

Taking apart a very cheap USB to Ethernet adapter and pondering on the parts found inside.

Here are two USB to Ethernet adapters:

One of them is sold on ebay for $3.85 AU ($3.99 US), including postage to Australia. The other is sold at Apple Stores for $29.1

In Linux they both use the driver for an “ASIX AX88772A” USB to Ethernet converter, even though the Apple one reports as “Apple” and is sold only for the MacBook Air.2

The cheap adapter comes with drivers for OS X & Windows, as well.

When I ran a TCP throughput test with iperf, they both performed well. The Apple adapter measured throughput of 94.3Mbps. The cheap adapter measured 87.4Mbps. By comparison, the builtin ethernet on my laptop measured 94.8Mbps (after being set from gigabit to 100Mbps.)

Oddities

There are a few unusual things about the cheap adapter, though. The Linux kernel log says:

Also, the hardware MAC address prefix (00:8a:8d) isn’t any known vendor OUI (organisationally unique identifier.) Seems odd, although chipset vendors (like ASIX) often require the device manufacturer to register their own OUI (for instance the Apple adapter uses an Apple prefix.) For a no-name vendor, it makes sense to just make one up.

Spot the difference

Here’s a view inside the cheap adapter:

Inside the Apple adapter:

It seems $29 buys you shielding from interference. Underneath the cover:

A clever clone

This is not a simple copy, though. It’s been modified to make it much cheaper to produce. It might even be a brand new ASIC, created from scratch to be compatible.

To know if it is a modified knockoff or made from scratch we could dissolve the chip packages in acid (“decapping” them) and then look at the exposed silicon die under a microscope. Not quite that keen yet, though.

Clock Sync

The genuine AX88772A requires two crystal oscillators for accurate timing – a 25MHz oscillator for the ethernet interface clock, and a 12MHz oscillator for the USB interface clock. The cheap adapter only has a single 25MHz crystal.

How much does this save? A lot. The Apple adapter has two “TXC” brand oscillators (the shiny silver packages.) These cost around $1.33 each if you buy 15,0004. This wholesale cost alone is nearly the retail price of the cheap adapter on taobao.com.

By comparison, a single large crystal resonator like the one on the cheap adapter costs $0.16 from the same source (6%20%, see below, of the cost.)

EDIT: Someone on reddit pointed out that I was using ‘oscillator’ incorrectly to refer to the large crystal, which is only the resonator part of an oscillator circuit. Fixed!

EDIT 2: Gerard points out in the comments that the two TXC chips are probably just crystal resonators (not full oscillators) as well. I checked the reference schematic for ASIX’s Demoboard and he’s right. Thanks Gerard! So the cheapest ones they could be are around $0.40 each (12MHz/25MHz), the cheaper board’s single crystal is then closer to 20% of the cost.

Parts Count

The Apple adapter also has many more small components – two inductors (the cheap adapter has none), over twenty five capacitors (the cheap adapter has only nineteen), more resistors. For the cheap adapter design, every fraction of a cent saved is important!

One thing that surprised me is that the cheap adapter has a functioning blue activity LED, that glows through the enclosure. The Apple adapter actually has a space on the PCB for this, but no LED in place (Apple’s designers presumably nixed it for aesthetic reasons.) I’m surprised the manufacturer paid the few cents to add this feature.

Software

For the manufacturer of cloned/compatible ASICs, an interesting bonus6 is driver support. The CD that came with the cheap adapter contains ASIX’s own drivers for Windows and OS X.

The Windows drivers are the exact same digitally signed ones that Microsoft distributes through Windows Update, meaning the adapters appear to have “passed” Windows Hardware Quality Labs testing. Something the actual device manufacturer surely couldn’t have afforded.

Reliability

In my simple tests both adapters seemed perfectly reliable, moving data back and forth quickly without any measurable errors. I ran an eight hour two-way ping flood (assuring plenty of collisions) with zero lost packets.

However, the cheap adapter is probably susceptible to (and a producer of) electrical noise. The Apple adapter is protected from an electrically noisy environment by its metal shielding, and extra decoupling capacitors on the board.

On the other hand, both USB and Ethernet contain mechanisms for dealing with errors introduced by interference. It’s possible the protocols are well engineered enough that you’ll never notice the difference.

It is also possible that the cloned ASIC will display hardware bugs that aren’t in the legitimate adapter. So far I haven’t found any (I tested some of the uncommon features like forcing 10Mbps, forcing half duplex, adjusting MTU.) I’d be interested to hear of any, though.

Conclusion

I’m probably unusual in that I find this world of cheap clone “shanzhai” hardware amazing. I’m fascinated that someone is out there redesigning existing silicon to make a knockoff that is smaller, cheaper but otherwise near-equivalent – to be used in devices that retail for less than $3.

I’d love to learn more about these secretive industries and the engineers who work in them.

How about you? Do you have any experience with dirt cheap hardware devices? How do you feel about shanzhai competing with regular firms’ R&D by cloning their hardware? Please leave a comment and let me know what you think.

Internet lore seems to agree that any Mac running OS X 10.5.2 or later can use it. [↩]

Actually the part markings on the cheap adapter’s EEPROM don’t match Atmel’s datasheet, so it’s possible that one is a clone, rebadged, or old stock. [↩]

Not the same oscillators but the same brand, meeting the spec that ASIX requires: 25MHz & 12MHz. Of course both Apple and our noname manufacturer would pay less than Digikey’s prices, but it gives you some idea. [↩]

I think the Linux kernel could know the raw USB bit error rate, giving some idea of how precise the timing was, but the kernel doesn’t record it anywhere [↩]

Assuming you can ignore copyright law, and have no qualms about reproducing other companies’ intellectual property for profit [↩]

Post navigation

54 thoughts on “Anatomy of a cheap USB to Ethernet adapter”

Given that the ethernet chip will need to make 100MHz internally to do the 100-BaseTX interface they may then be dividing that down to 20MHz and doing the multiply by 24 from there to get 480MHz for USB. Shouldn’t be any farther off than the crystal is otherwise though jitter might be an issue.

Thanks for commenting! This is a good point about manipulating the 25MHz clock through multiple stages to get 480MHz.

I’m not an expert on ethernet physical layer, but for what it’s worth I think the PHY/PCS actually needs 125MHz due to the 5/4 coding (which then becomes 31.25MHz on the twisted pairs), as described here.

However I think the approach you describe is very possible, maybe attaching multiple stages of frequency multiply/divide is what happens internally.

I really want a USB 2.0 logic analyser now! I backed “OpenViszla” years ago but they still haven’t shipped anything. :(

Well, I actually bought mine from a vendor in Australia, so I paid the princely sum of $7.95 for mine.

I can’t actually find the $3.85 listing now! :/ Best I can see is this one for $4.99. $1.14 too much!

In general I think anyone advertising Windows 7, Mac & Linux support is probably selling the model I have. There is another set of listings (even cheaper still) advertising ones that only work with Windows 2000,XP & Vista. I suspect that’s a different chipset.

If you’re buying a lot then you could always try the taobao vendor I linked in the post, try and get a really good deal. :)

I bought a similar pair of these from dealextreme (dx.com) for $1.60 shipped, each (SKU: 142016)! They are about 1/3rd shorter in length, but I don’t know if they are the same manufacturer. I haven’t actually tried them on my Android tablet yet.

I noticed on the DX page there’s a “Customer Photo” showing a picture of the inside, indicating it’s just a cable adapter with no actual circuitry inside.

If that’s true it’s really just for passing USB signals over cheaper CAT5 cables. Some commenters seem to claim they’ve used it for Ethernet access but I don’t see how unless there are multiple products being shipped from the same SKU.

Please let us know if yours turns out to have USB/Ethernet circuitry in it or not!

I saw a few on ebay in that cheaper tier, advertised as only for “Windows XP 2000 Vista” – I wonder if they’re all the same chipset? I didn’t buy one specifically because they didn’t mention Linux compatibility or a chipset name, though it looks like they work in Linux after all.

Is there a date marked on the PCB anywhere? The one I have is dated October 2012, maybe the one I have is a newer revision? (to get better compatibility with Windows 7 & 8.) Or maybe they are totally separate?

At least this is a functional product, unlike those 12 volt USB vehicle power adapters that connected 12 volts directly to the USB port.

Don’t recall where I read that, some company designed a product for vehicle use and the engineers specified a certain 12V lighter socket adapter. Some bean counter saw that the 12V adapter used a standard USB plug and decided that any such 12V adapter would be fine, found the most rock bottom price and made the change in the order. Saved a lot of money. Fortunately the company had the engineers test some samples of the product before shipping! POP POP FIZZ FIZZ! I can just imagine the language was as blue and smelly as the smoke from the product.

Using a single crystal and circuitry to derive two or more timing signals has a long history in electronics. Apple’s official dongle is basically just applying gold leaf to the cake by using two. Doesn’t make the cake function better but it looks pretty. ;-)

How about adding an LED to the Apple adapter since it has the spot for one? Better yet, a small piece of PCB with a rainbow row of LEDs matching the old Apple logo colors.

A simple RFI / EMI test that is often useful is to place an AM band “transistor radio'” immediately adjacent to the device and tune across the while band. while listening for “spuries”. When placed hard against the device almost anything will produce some signal somewhere. Now move the receiver away progressively while checking for the level of major signals found initially. A device that will meed Class B certification will usually “quiet up” reasonably rapidly. If you can detect it from 10 feet away “you may have problems”. Obviously such a test has an immense degree of variability depending on equipment used, variability of environment and how you hold your tongue. It'[s still quite useful as a subjective indication.
– Tuning the FM band is usually not such a good indicator as AM.
– Interesting & useful results can be had from the low cost small screen (7″ or so?) monochrome CRT tube “cube shaped” televisions still available from Asia. These usually have continuously tunable frequency input. Tuning these across their several bands gives both visual and audible indications of spurious outputs and can allow actual harmonics of on board components to be detected. (Continuous tuning makes them much more useful for this purpose than fixed channel units). Possible example onlyhttp://upload.ecvv.com/upload/Product/20118/China_5_5_B_W_TV_TV_50920118142129553.JPG

Russell – thanks for the tips about measuring RFI/EMI. I don’t know how much use I’d get out of such a testbed, even such a readily available one, but it’d definitely be interesting to play around with.

I have a load of research on this crap, because I needed to build a high speed interface to a project I was working on.
One of the most interesting facts, is that these devices are sold as 10/100
When in fact the chips internally are not capable of anything more than USB 1.1 standard.
Basically many of these chips are built around a reltek macro library they sell the products as being USB 2.0 compatible, which some are, but the actual internal Ethernet core is interfaced with USB 1.1…
Which means :
1. That anything you plug it into gets downgraded to 1.1 speed….
2. You can never come close to saturating the link.

you will see this time and time again , if you take a look into actual chipsets used on some products (RPie for example)
The SOC will have two distinct USB infrastructure ports, but then some idiot designs a hub chip between one of them to give say 2-4 ports, but does not route the other port off the PCB.
The net effect is that you plug in one of these devices, the hub sees 1.1 standard and BANG… all of your USB traffic hits the 1.1 wall.
Ideally you have to ensure that all your 1.1 standard devices are off one of the SOC USB ports and that all the 2.0 are off the other.
The sad thing is to get USB working properly, you need to be a systems engineer as regards to which devices you plug in externally to the equipment……
and in some cases it means pulling the chipset data sheets and looking at the INTERNAL spec of the chips..

Hardcoreforensics – I’ve heard that some of the cheap devices only implement USB 1.1 “Full Speed” devices, It seems to me like these ones are getting less common now than they were a year or two ago, though. Which is good. :)

I think you might be misunderstood about hub-related slowdowns, though. As long as the hub is a 2.0 hub, devices on downstream ports can be either USB 1.1 or 2.0 without any slowdown. It’s only if you have all the traffic going through a USB 1.1 hub somewhere in the line that everything gets slowed down. USB 2.0 hubs actually contain what’s called a “transaction translator” that means they speak USB 1.1 to slow downstream ports, but combine those downstream connections into the 2.0 upstream link (see the previous link for a description.)

For example, you mention the Raspberry Pi. It’s SMSC LAN9512 definitely contains a USB 2.0 hub, USB 2.0 devices should run at high speed (480Mbps) no matter what is plugged into the other hub port.

@Galane mentions a story about how some straight through cheap 12V to USB (adapters) came about.

I don’t know anything about that particular story and it’s validity but perhaps part of the reason this happens is that the USB spec says that it should be ok… sort of.

My understanding anyway is that the spec for USB hosts does say 5V and only 5V. However for clients it is written that they are supposed to accept a wide range of voltages (I forget how high) and not blow up.

I guess the people making the spec knew that knockoffs would cut corners and tried to make the device manufacturers build their devices to survive that kind of ‘abuse’.

However, that doesn’t mean it is ok to use an adapter like that. First off, just like you can’t trust the knockoff cigarette plug to usb adapters to do the right thing you can’t trust device makers to fully follow the spec. They might not actually take the higer voltages well. Also.. car power is very very dirty. There are huge spikes in there, especially every time you start your engine. Without a good regulator and filtering in the adapter you can still kill or shorten the life of your device even if it does handle 12 volts.

One other thing you could run into is the following : future updates of the driver software won’t work anymore.The guys who made the knockoff chip, actually do not know of all quirks around in the real chip,so they implement only the nescessary functionality.But the guys at ASIX, who know their own software and hardware inside and out can easily build-in some functionality to test if there is a genuine ASIX chip fitted.
I’ve seen this happening with USB-RS232 bridges from prolific.The knockoff hardware only works with a very old driver which they supply on a CD.

Thanks, great info re knock-offs.
Will they work on latest version of Mac Air and appreciate any tips how to download driver/s from web for an unknown – according to MAC. Would hope to use in Japan as most hotels use Ethernet connection. Is it worth a purchase…if one isn’t too tech savvy.

I agree. A few people on reddit pointed out that a couple of PLL multiply/divide stages can get you 480MHz from 25MHz without too much trouble. RC is also possible, but I would think probably not stable enough for USB 2.0 High Speed (at least not to meet the spec.) Anyone know for sure?

I am having a cheap USB to ethernet adapter which i bought from ebay.in
It had come with a driver disk that contained the driver only for windows but I need to get it working with my Macbook Air. The device after plugging in gets detected in the system information as CH9100 USB miniport ethernet Adapter but is misconfigured due to some reason.

I’ve been using $2.00 hdmi cables for years and have never noticed a difference. Too many of these products are over engineered in the first place and aren’t really affecting by stripping away a bit of fail safes to save tons of money in production.

You can tell from the shape of the cheap adapter that it’s basically one of the same generic boards that are sold in non-Apple-styled packaging as a generic USB-Ethernet stick. Compare with http://www.ebay.com/itm/201013966617 for example, although there are slight differences, but you see these adapters sold quite widely in differing packaging – some are cased purely in black plastic but many have transparent or completely clear packaging – which of course makes it easier to see the activity LED therein, where fitted.

These cheap adapters almost certainly haven’t passed FCC/CE Class B. If you’ve ever built any devices like this you’d know that passing FCC/CE Class B isn’t always easy. It’s one of the reasons why the Apple device has the shielding it has. With hardware you often get what you pay for.

A oscilloscope would really help you. It looks like the power supply has less filtering. Who knows how much ripple and noise it has on it’s output?

Was another high speed device active on the same USB bridge chip (inside the Mac) at the same you were testing?

Also, simple tests for reliability are fine but clocking issues often show up under worst case heating conditions. For example suppose you were using your laptop in the hot aisle of a data center to diagnose an issue?

At least these devices probably don’t have any safety issues like the cut rate chargers out there. Look at this article and consider if you would use a cheap power adapter or give one to your spouse or child.

I have a really cheap “USB 2.0 to Fast-Ethernet adapter”. I paid something like $2 with free shipping on eBay from HK just to try it and:
a) It only works on Windows with its own drivers and always make Debian’s kernels crash on both x86 and armhf after some data tranfers.
b) It’s a USB 2.0 FULL-SPEED device, meaning a 12Mbps transfer rate on the USB side.

Next time I’ll try something in the $5 range to see if I can do some experiments on linux with a TRUE Fast-Ethernet device.

I bought such a cheap “Ebay”-USB to Ethernet adapter more than a year ago.
Since yesterday it does’n work anymore because I upgraded
from Windows 8.0 to Windows 8.1 – now something must be different ..

The cheaper USB to LAN adapter is a non-authentic ASIX product so ASIX’s drivers won’t support these adapters any more. To purchase these non-authentic adapters, you might need to get proper drivers from the manufacturer of these adapters directly if you can find them. You might need to think about the coming driver supporting issues before purchasing these cheapter non-authentic adapters…. JFYI.

I bought 2 of these USB clones and found that, not only had they cloned the original, they cloned the MAC address too.
This is long known, back in the day of ISA bus NICs, I found that you couldn’t use these no-name NICs on the same LAN because of duplicate MAC addresses.

Also I’ve plugged a USB NIC into a RaspberryPI and the kernel dumps as soon as I pass traffic over it.

a chip doesn’t need 2 crystals or oscillators anymore, because chips have a Fractional-M/N synthesizer, where some frequency is first multiplied by “M” then divided by “N” to get a different frequency.

if you want a dead-on desired frequency, then you compute the Least Common Multiple to get it.

for example, if 2 frequencies are needed, like 12MHz and 25MHz, and you have a 25MHz input, then it would could be multiplied by 12 to get 300MHz, then divided by 25 to get 12MHz.

It worked flawless since that till it became broken for unknown reason. Now it can’t work on full speed and gives only 7MB/s max. Also there are brawn spots on a case looking like it had burn. But… works.

And it’s true that now it has problems with Windows drivers. I can’t find original divers. I have the mini CD sent with it by seller though. But I don’t have CD drive to read it :)
Original drivers from ASIX don’t work with it.

Any way from economical point of view: why one have to pay more? One can buy a box of such adapters to replace it every year or two instead of buying original one. Something wrong here. For home user it could be that most important is a price. From other side for commercial usage price also important. So if it’s possible to male the same thing with lower price… In that sense China is going forward.

I’ve looked at this USB-Ethernet adapter, but in my experience, all of the cheap electronics that Chinese sellers sell on eBay are fake, counterfeit garbage. I have tried several *significantly different* USB hubs from different sellers, but invariably, they are all USB 1.1 hubs that have been hacked to pretend to be USB 2.0, but are nonetheless limited to no more than 12Mbps.

I to find it fascinating that ostensibly, some manufacturers might trying to find ways to create *affordable* knock-offs of stuff, but so far, I have only been infuriated with their fraudulent, deceptive thievery and trickery.

(Thanks for the info about shanzhai. You may find it interesting to note that this type of widespread plagiarism isn’t limited to hardware; they do it in software as well: http://www.gdcvault.com/play/1016417/)

Hi! Can some one post a link to driver for terbyte USB 3.0 USB to ethernet adapter?
I bought it from amazon but no driver has come and my windows 7 64-bit OS can not get it installed from windows update and declares it as ‘unknown device’ with a good looking yellow mark on it!

“How do you feel about shanzhai competing with regular firms’ R&D by cloning their hardware?”

I think it’s great from multiple perspectives. As we can see, the clone uses fewer resources and thus is more Earth friendly. It also provides a low cost alternative to the oligopolies, thus providing relief to the wage earners.

“Assuming you can ignore copyright law, and have no qualms about reproducing other companies’ intellectual property for profit”

If copyright law or the ability to own and control ideas prevents the production of Earth friendly (by comparison) products that help ease the financial burdens of the masses, then copyright law is harmful to the majority and must be abolished. It’s that simple. Freedom of expression is much more important than an individual’s money interest. What constitutes a trade secret is first and foremost that it is kept secret. If you can figure out the secret by looking at the device, then it’s not a secret. When the ‘secret’ is sold or placed into people’s hands in exchange for money, then it’s not a secret. If you write your secret on a piece of paper and give it to me and I blab it to everyone else, you have only yourself to blame. Reverse engineering is not theft. Making something that is different that has the same function is not theft. Theft would be taking something that belongs to someone else thus preventing them from using their own stuff. The people trying to prevent people from using their own stuff are the people making false intellectual property claims against innovative startups simply because their products are similar. This has the effect of destroying a startup that usually doesn’t have the money to defend against such false claims.

So if I have the idea to make and sell ‘blue wheels’ that fit existing wagons and ‘Black Wheel Corp Monopoly’ takes me to court because my blue wheels fit wagons that their wheels are designed to fit, then I may be deprived the opportunity to use my idea to make and sell blue wheels. That is theft. I have been deprived the use of my own intellectual property. It takes intellectual creativity to make a cheaper product that fits where an existing expensive product fits. And selling ‘knock-offs’ does not prevent the sale of the more expensive ‘name brands’. The Oligarchs are the ones thieving.