Review, Teardown: Unbranded AC1200 Dual-Band USB 3.0 Wi-Fi Adapter

In the short span of about two decades, Wi-Fi went from being a luxury that you would consider a limited alternative to a cabled Ethernet connection, useful for mobile devices only, to something resembling a near-replacement for the cabled Ethernet connection.

In this time, we’ve seen bitrates rise from an initial 2Mbit/s (802.11), to 11Mbit/s (802.11b), to 54Mbit/s (802.11a/g), to 72.2Mbit/s (802.11n) to 86.7Mbit/s (802.11ac) when considering a 20Mhz channel with a single spatial stream and only IEEE ratified standards (thus excluding 802.11b+, Super-G, Afterburner, TurboQAM modes). The addition of up to four spatial streams can almost quadruple the link rate (depending on orthogonality) and the use of wider 40Mhz, 80Mhz and 160Mhz channels can increase the rate by two, four and eight-fold respectively. That means an 802.11ac quad-stream product supporting 160Mhz wide channels theoretically could achieve in excess of 3Gbit/s data rate, or over 1500x faster than the original 802.11 specification would allow. The standards continue to evolve, and even faster standards such as 802.11ax are on the horizon.

This has only been possible through the use of higher-order modulation, better mixed-signal IC design, better error correction code strategies, new protocol specifications, MIMO and MU-MIMO technology and digital signal processing/software defined radio technologies. The larger bandwidths pose a problem for the bandwidth-limited 2.4Ghz ISM bands which are heavily interfered with (due to other protocols and devices using the band), and thus the focus is now on 5Ghz for 802.11ac.

However, in this day and age, there are still “lite” 802.11n and single-band 802.11n products dominating the lower end of the market. These devices are normally only support a single spatial stream or two spatial stream configuration on 2.4Ghz, advertising a rate of 150Mbit/s or 300Mbit/s. In reality, due to the congestion and interference on the 2.4Ghz band, it’s unlikely that 40Mhz channels would be consistently possible and backwards compatibility coexistence measures can disable the use of short guard intervals, pushing the link rate down to a paltry 65Mbit/s or 135Mbit/s. Actual throughput falls significantly below this, due to signal to noise ratio issues caused by distance or interference sources such as microwave ovens or 2.4Ghz cordless telephones.

In my experience, computers using such adapters can make reliable Wi-Fi connections and large file transfers rather frustrating. Unfortunately, changing out your Wi-Fi adapter on your laptop can run into some difficulties with whitelisting. The next best solution is to install a USB adapter instead (although these can be lost or damaged). Traditionally, dual-band adapters were significantly more expensive than their “lite” single-band cousins. However, this too seems to be changing. Just the other day, after looking at a local computer shop for 802.11ac capable dual-band USB wireless adapters, the choices included (chipset in square brackets):

  • Edimax EW-7822UAC $36 [RTL8812AU]
  • ASUS USB-AC53 Nano $38 [RTL8812BU]
  • TP-Link Archer T4U $54 [RTL8812AU/RTL8812BU]
  • Netgear A6210 $79 [MT7612U]

While this is still more expensive than a single band adapter which can be had as low as $9, they are no longer unaffordable. However, I challenged myself to go even cheaper, and scoured eBay for an option. Ultimately, I chose an unbranded adapter, advertising itself as an AC1200 Dual-Band USB 3.0 Wi-Fi Adapter with an external RP-SMA antenna for better range compared with units with just an integrated antenna. This cost just AU$17.04 each including shipping.

The Product

The adapter came in a plastic zip-lock bag with a hanging eye. The bag is clear on the front side and opaque white on the rear, allowing you to see the adapter and antenna inside. The cardboard insert advertises its features including AC1200 rating made of 300Mbit/s on 2.4Ghz (i.e. two stream 40Mhz 802.11n capability) and 867Mbit/s on 5Ghz (i.e. two stream 80Mhz 802.11ac capability). This is rather curious as only a single RP-SMA connector and external antenna is provided. Two transmit and receive chains are required (at a minimum) to achieve these rates, along with the claimed beamforming abilities. It also claims capability to work with MU-MIMO (i.e. partial 802.11ac Wave 2 capabilities) suggesting a recent chipset.

The provision of an RP-SMA connector is a positive design point, as it allows you to utilise other antennas for higher gain, more directionality and better speeds. However, it was advertised as a “high power” adapter, and yet the specifications on the rear only show a maximum output of 17 +/- 1.5dBm on 2.4Ghz and 12 +/- 1.5dBm on 5Ghz. This is not high power for the most part, as many regular adapters are capable of 20dBm transmit powers, and the true high power adapters often reach 26dBm or above. The reception sensitivity is not stated, however, the lack of specification is probably not critical, as the accuracy of the specifications is debatable. It claims support for a wide range of OSes including Windows XP/7/8/8.1/10, MacOS 10.7+ and Linux.

Taking everything out of the packet, there is also a mini-CD containing the drivers. The adapter has a gold-coloured USB 3.0 plug matching the gold-plated RP-SMA socket. There is no branding on the adapter, but it is fairly compact and features a rounded matte-black plastic finish.

On one side, the WPS setup button is made out of a cut-out in the plastic casing which flexes to push on an internal button. This seems to be a cost-reduction measure, reducing the number of parts and construction complexity of the unit.

The rear has no pertinent information whatsoever, such as model numbers, safety approvals, etc.


Curious as to what is inside, I decided to crack it apart. The two halves of the plastic casing are secured together by stakes which push into their respective receptacles. Opening it is a simple case of gently prying the halves of the case apart.

The rear of the PCB shows that the unit is based on an RTL8812BU, with Realtek’s information confirming the capabilities of the unit. Each of the transmit/receive chains appears to go through an amplifier IC which was not identified. It seems that there are two antennas after all, with one attached to the RP-SMA connector at the rear (with a footprint for an alternative MCX (?) socket on the PCB). The other antenna is soldered directly onto the board near the top, with the PCB glued into the casing using hot melt glue. The PCB is marked with USB3.0-8812BU. Other products based on the RTL8812BU can be found on WikiDevi but do include some from the major brand names. The most visually similar adapters on the market include the YOTECE AC1200 and the Simplecom NW621, although I cannot confirm that the latter actually uses the RTL8812BU.

A little prying to releaase the PCB reveals a 40Mhz crystal oscillator, a blue LED, and a position on the rear for an antenna socket for the second stream (MCX?). It also shows the switch for the WPS functionality, and the secondary antenna.

A closer look at the second antenna shows it is similar in design to many “internal” antennas on USB Wi-Fi products being of a planar-inverted-F type. In the case where you might have a signal which is not strong, the second stream signal will be much worse than the primary, and thus contributes less to the overall throughput. As a result, I would expect that this adapter may maintain a connection at a further distance (as larger external antennas often have better gain) but its throughput will not be as good as an adapter with two external antennas. A bit of a compromise, although it seems the PCB is amenable to rather simple modifications.


Installation on Windows 10 is almost entirely plug-and-play as Windows 10 does have a driver that supports the card as part of the WHQL set.

Realtek do offer their own driver download, which offers a slightly more updated driver.

The drivers supplied on the shipped CD-ROM are another option for those with optical drives. This is the most up-to-date driver I have been able to source.

The product does not appear to have any EEPROM, and thus presents the default Realtek configuration showing their VID 0BDA and PID of B812.

I did test the adapter on a Windows 7 laptop and desktop with no difficulties. I also tested the adapter on a Windows 10 laptop with an Intel CPU and encountered no trouble. Connections could be accomplished on both bands, and in strong signal areas, throughput was quite acceptable. Having the RP-SMA adapter allowed for external antennas to be used – longer distance links on 2.4Ghz were possible with throughput commensurate with a single-stream adapter.

However, testing on my Windows 10 desktop with an AMD Ryzen CPU and X370 chipset USB 3.0 port proved to be problematic.

The default drivers showed problems starting the devices. Upgrading the driver to newer versions such as the one on Realtek’s site caused BSODs to appear after a few minutes with the adapter connected.

Reverting back to the included drivers allowed the unit to start and scan for networks. However, this did not persist after a reboot. As a result, I tried the drivers on the CD.

That too, unfortunately, caused BSODs. As a result, I suspect there could be a possible incompatibility between some other drivers I have installed on my Ryzen machine (or its supplied drivers) and the drivers supplied by Realtek. The root cause is unclear at this time, but it may just be my configuration at fault.

I did try the adapter under a few Linux installations, however, it doesn’t seem kernel support is built in for the distributions that I tried, making it a bit of a hassle. However, there seems to be a guide for getting the Asus AC53 Nano (based on the same chipset) working on the Raspberry Pi, which might also work for this adapter (although I haven’t tried it).


Dual-band capable wireless adapters have finally “come of age” and are no longer expensive, which is good news. It seems that Realtek solutions are dominating the lower end of the market and this cheap USB 3.0 AC1200 adapter purchased from eBay is no exception.

The design of the unit is relatively basic and spartan, but functional. It is based around the Realtek RTL8812BU, offering dual-stream and MU-MIMO capabilities. It only has one RP-SMA connector and external antenna fitted, relying on an internal PIFA for the second stream, which is not an optimal configuration for the best throughput at long distances. However, it should still offer a stable link where regular “internal” antennas are insufficient.

The transmit power of the card as stated in the specs is relatively ordinary compared to others and it doesn’t seem to be a true “high power” adapter. The flexibility to use external antennas could make up for this shortcoming.

While it did work flawlessly with my Windows 7 and Intel-based Windows 10 machines, I did experience BSODs with my Windows 10 AMD Ryzen machine due to possible driver incompatibility. Support in Linux does not seem to be “out of the box” as it is with some older single-band Wi-Fi adapters.

For the price, it’s rather inexpensive for what it offers and has some modification possibilities. It uses the same chipset as a number of branded low-cost alternatives with only internal antennas and should offer a very similar level of performance for half the cost.

Continue reading

Posted in Computing, Radio, Telecommunications | Tagged , , , , , , , , , | 5 Comments

Failed: Okuma CNC Lathe Control IPL 3.5″ Floppy Data Recovery

In mid-January this year, a reader contacted me regarding their set of control floppies for an Okuma CNC lathe. Owing to the age of the equipment, the control program is loaded into volatile SRAM, backed-up by a battery. Every five years, the battery needs to be replaced (or when it goes dead) and the program is lost from memory. Restoring the machine to function requires reloading this program from an initial program load (IPL) source. In the case of their lathe, this was on a set of five floppy disks (but alternatively, could be from paper tape or even audio cassette). Unfortunately for them, the disks proved to be unreadable.

After a few back and forth messages, I established that the disks were likely to be physically recorded in MFM format with IBM-style geometry on High Density (HD) media, but with a custom filesystem that needed the use of a custom program to handle the files on the disk. This is something the Kryoflux (and indeed, most regular floppy drives) can handle in regards to making direct images and writing a copy. The biggest challenge was the fact the media was physically in bad shape, and it seemed highly unlikely to me that a full recovery would be possible.

Despite explaining this, the reader still wished for me to give them a try with the Kryoflux to see if anything could be recovered from them, as there was nothing to be lost. I agreed, on the condition that postage costs are covered both ways, and that I would not accept any payment (owing to the licensing conditions of the Kryoflux).

The Journey Begins

Thanks to Australia Post, the disks arrived safely the next day.

As instructed, the disks were packaged safely, with some level of mechanical protection and physical separation to prevent any further damage to the disks.

The full set of five disks were sent, two of which (Disk 1 and 5) were not functioning. The other three were claimed to be working.

A look at a working Disk 3 was already not encouraging. A look at the media through light shows the oxide coat for one track clearly being “carved” off the film base by a read head in the past. It’s almost certain that the data is lost in that track, so the fact the disk works is probably a pure miracle (e.g. no data recorded at that location). At least, I have been reassured that the disk was successfully imaged in the past, so the physical condition is probably of little concern for this disk.

A look at Disk 2 which was also claimed to be working shows both irregular scoring of the surface which suggests the head may have been “bouncing” along the track with a partial head clog (as oxide is abrasive and will damage the media surface). Also visible are concentric rings where the media has been scored, but not sufficiently to cause the oxide to lift. Owing to the condition of these “good” disks, I wasn’t too optimistic about the bad ones. I decided not to even attempt reading these disks to avoid further damage to the disks or to my equipment, and instead looked at the image files to see if anything interesting could be gleaned. As far as I can tell, it has its own relatively primitive filesystem and format that has some “magic bytes” scattered around the beginning of each file, but without knowing more about the machine, I couldn’t make any further deductions.

The first of the bad disks was Disk 1. This one showed much of the same, but instead of being limited to one track, there was a range of sequential tracks where the oxide had been lost completely. Not very encouraging.

The other bad disk was Disk 5, and it’s in arguably worse shape with even more oxide loss. I have not experienced such dramatic oxide loss of high density 3.5″ floppy disks until this case. I’ve experienced similar with double density disks, but it just goes to show that if you have any data on floppy disks, it’s probably a good time to image it to other storage ASAP or risk losing it.

The disks themselves are unbranded, with a flexible black plastic shutter. These seem quite similar (superficially) to some I had bought in bulk from a duplication house in Hong Kong around 2000. I don’t have any of those anymore, as they didn’t seem to be of high quality and did cause problems – so I can’t rule out the possibility that Okuma had used low quality media to hold the IPL program. This isn’t helped by the fact that many industrial environments are quite harsh in terms of temperature, humidity and chemical atmosphere, so that may have accelerated the demise of the disks. Add to this the fact the disks are serial-number married to their respective machines, that IPL only needs to be performed once in a few years and the urgency of backing the data up doesn’t seem to be there. On the other hand, it is said that Okuma makes a lot of money from providing replacement disks … so it’s probably a good idea to make a backup as soon as you can.

Giving it a Shot

Seeing that the disks made it all the way to my house, regardless of how pessimistic I was about their chances, I would have to give them a go to be absolutely sure. I was hoping that there would be other very similar disk sets where any “missing” tracks might be able to be filled in with the data from their images to make a working disk set. But even sourcing any other images proved to be hard enough.

I have heard of oxide shedding from reel to reel tape due to sticky shed syndrome. To remedy this temporarily, a reel can be baked at a low heat to drive out the moisture to temporarily restore the binder to functionality. I decided I would experiment with a similar idea for this set of disks in case it improved the situation. I built a quick shelf of cardboard over my PC’s top exhaust fans with ~80mm holes to expose the 3.5″ disk shell area. As I was running an intensive GPU workload, the heat output was moderate and by adjusting the height of the cardboard and monitoring a thermocouple, I was able to achieve about 45C for a period of 12 hours before attempting to read the disks.

The reading strategy needed a bit of thought. The Kryoflux likes to run a good number of retries when it can’t read any data, however, dwelling on a flaky track is likely to damage it quite severely. This is relatively minor, compared to the possibility that the dislodged oxide might lodge in the read head and then go on to damage the next track the Kryoflux attempts to read. As a result, the first step was to change the retry setting to a very timid number of just 3 retries. The read mode was set to guided STREAM (but non-preservation) so as to limit the number of revolutions per track. After each read, the drive was cleaned and the disk retried. After three reads, I swapped to a different brand drive to see if more data could be recovered.

The results of five reads of Disk 1 were not encouraging. The most important areas of the disk are generally the outer tracks (lower track numbers) as that is where the recording starts from and filesystem metadata are usually stored. In this case, many of the tracks on Side 1 were unidentifiable. One drive did seem to do better than the other, but only the tracks that come up with orange-H or green blocks are completely recovered. This leaves a significant area of the disk unrecovered, and thus even writing a partial-copy disk doesn’t seem to be worthwhile.

The story of Disk 5 is quite similar with the exception that some tracks did result in misdetections of format due to what appears to be a weak recording. Again, the result was quite negative.

A Look at the STREAMs

A few of the tracks come up good. A good MFM recording has three “bands” with a clear separation between them. There is some peak-shift which is probably down to the quality of the media and the drive used to initially record the disk.

Some of the tracks with lost data seem to show either a lot of peak-shifting which suggests a weakening of the signal on the disk to the point that the “margin” between different signal periods is not clearly distinguishable.

Some tracks seem to have a pattern which suggests that half of the disk had somehow been magnetically weakened. This may be because a weak magnet had run through that area of the disk, maybe it was sitting near a CRT monitor degauss coil at a distance or maybe a power cable.

Other tracks had a more uniform weakening resulting in the symbol periods drifting wildly and occasionally moving into “noise”.

One side of one disk had a distinctive radial section at the middle of each revolution where the signal turned noisy. This implies a radial damage, consistent relative to the index signal. When I asked the reader about this, they admitted to cleaning off some gunk from the disk surface using a soft cloth and some methylated spirits. Unfortunately, this is likely to have caused permanent damage, as ethanol does dissolve the oxide binders and can “smear” the oxide around damaging the recording. It’s part of the reason we use it to clean heads.

This one shows mostly noise, and is what comes from the tracks where the oxide had almost been completely lost. The data isn’t there.


Rather unfortunately, but also rather predictably, these disks were not recoverable. I can’t say for sure whether the baking process helped or hindered the recovery, but even just looking at the physical condition of the disks as received, it seems it was never meant to be.

The disks themselves may have been low quality media, stored in sub-optimal conditions, but it is a reminder that even High Density 3.5″ floppy disk media can be victim of oxide shedding and that recovery of data from floppy disks is an urgent priority to prevent data loss.

In the case of these floppy disks, these flimsy pieces of plastic and metal are basically all that stand between a fairly expensive machine working and not working, so it’s rather disappointing to have not been able to have better news to offer.

Posted in Computing | Tagged , , , , , | Leave a comment

Repair: LG WF-T552A 5.5kg TurboDrum Washing Machine

In what seems to be just another day at the office home, something always manages to need my attention. This time, it was our washing machine which was behaving strangely. This particular machine was an LG WF-T552A TurboDrum 5.5kg with Fuzzy Logic which was handed down to us and saw a relatively hard life before we got it. It was probably due to retire for good, but my Dad wanted me to take a look at it to see if anything could be done to fix it.

The Symptoms

The first sign of problems was the first load of that morning. My Dad put the machine on, and left it to run as usual. However, the machine stalled early on in the cycle in the soak mode, and no water was running into the drum. Feeling like he was forgetful, he checked the tap on the wall and gave it a turn, and water began to flow in just fine. He concluded that he must have forgotten to turn on the tap.

Later on in that cycle, the machine stalled again at the rinse step. This time he recalls that the water flow into the drum was slower than usual. He chose to abort the step by jumping the machine into spin and completing the load so a second load could be started.

By the time the second load is attempted, the water flow was slowed down to a trickle. The drum would take an eternity to fill, and thus the machine was declared non-operational.


The first I found out about this issue was while I was riding my bike and came to a dead-end cycleway. I took out my phone to call Dad and inform him of my displeasure when he alerts me to something more to look at. After he informs me of the story, I immediately suspect either a water pressure, piping or inlet solenoid valve fault. The latter seemed most likely, but it felt important to exhaustively eliminate other possible causes.

As soon as I got home, I removed the hose from the tap on the wall and checked the water pressure and flow into a bucket. The water stream was a bit more turbulent than I expected, but the flow and pressure both seemed acceptable.

Removing the hose from the back of the machine, it seemed the hose assembly was in good order and flow through the hose was unimpeded. In the rear of the hose inlet, there was a grit filter which showed only minor residue – not enough to significantly impede the flow of water. A small orifice presented itself as the water inlet, and it too, appeared to be clear.

Having eliminated external factors as the cause, the fault is likely within the machine. I attempted to reproduce the fault through running a test load of washing. Immediately, the machine presented with a very slow trickle fill during the soak phase. Opening the tap at the wall further did not improve the situation, however, occasionally, turning the tap off and on again did restore full flow temporarily.


Based on the symptoms, it seemed to me that this was a fault in the cold water water solenoid valve being stuck on a semi-permanent basis. Shocking the valve through changing the pressure did unstick it, but not reliably.

The operation of a water solenoid valve is quite interesting as only a small flow of water is controlled (the pilot jet) to change the pressure across a diaphragm to allow a larger amount of water to flow, as illustrated by the above diagram from Wikipedia by SimonOrJ. Bigclivedotcom recently posted a video about such valves and did a teardown.

Based on this, I suspect that the diaphragm is sticky. Either it remains shut and the slow flow of water into the drum is solely the pilot jet, or it is only partially opening, and thus causing a lot of resistance to water flow. This might be because the diaphragm is physically disintegrating (e.g. rubber turns into a sticky goo as it ages), or its physical properties have changed (e.g. it is not as flexible as it should be), or it is contaminated in some way to make it sticky (e.g. biofilms).

Whatever the cause may be, the first remedy that comes to mind is to replace the inlet solenoid unit. A quick search online shows that the solenoid assembly is still available for about AU$45 to $60. While this is not particularly expensive, it is still about 10% of the cost of a new machine. Considering the history of the machine, there may be a good chance that something else more expensive may well fail, and thus the investment into a new solenoid unit might not be justified.

Bright Idea #1

The first bright idea came to me as soon as I walked out of the laundry. Given that the machine has both hot and cold inputs, there are two solenoids. The machine itself doesn’t really know what we’re putting in – after all, older machines are pretty simple state machines (hence the “stalling” with no error feedback). As we are an energy conscious family, we normally wash everything with cold water only, so we really only need one solenoid to be operative to have a working machine.

Why don’t we just swap the hot and cold hoses from the wall, so that the cold water is entering the hot water port on the machine, and we tell the machine we are washing with hot water alone?

I thought this would be the simplest solution and require no extra work. Another test load of laundry was loaded, and the hot solenoid was verified to be operative. The drum filled for the soak just fine, and it did the wash …

But come time for the rinse part of the cycle, the machine once again stalled. The machine’s internal logic appears to be hard-wired to rinse with cold water only regardless of the water selection for the cycle.

Unfortunately, because of this, the simple workaround would not suffice.

Bright Idea #2

The next bright idea was a more involved extension of the first. As whitegoods often are still worth repairing, LG provided a helpful schematic on the rear to help us understand just how the parts of the machine are connected together.

The hot and cold water solenoids are marked H.V and C.V respectively. The drive appears to come from Orange and Grey wires, and return is via Blue. To my surprise, these were connected by a red and a blue connector.

If we swap the solenoid drive lines, so that the machine’s cold solenoid signal is connected to the hot solenoid, and we connect the cold water to the hot inlet, we should be in business!

To get access to the solenoid unit, it was a simple matter of undoing the top rear two screws (based on a hunch that the panel with the words “Fuzzy Logic” would be removable).

Inside, it’s clear that the solenoid unit itself is a module which is symmetrical – cold on the left, hot on the right, mixing together in the centre into a plastic part that diverts the water into the drum.

The connectors are colour coded as promised, and keyed as well. But they are interchangeable, except for one hitch – the hot lead is longer than the cold lead, so thus it makes it impossible to just swap the leads around without some extra work.

As a result, I grabbed some terminal connector blocks and stripped down some spare sheathed mains rated wire and removed the sheath. Using this arrangement, I was able to extend the cold solenoid valve control lines enough to reach the hot solenoid. As a washing machine is a fairly high vibration environment, crimping or soldering the wires may have been a better option, but this was somewhat more convenient given the tools at hand.

Another test load was washed, and this one completed successfully. The workaround cost practically nothing (maybe $1 in terminal blocks and wire scraps) and should let us use the machine for at least a little while longer.


Through the process of careful troubleshooting, the problem with slow filling of the drum was narrowed to a faulty sticky cold water solenoid input valve. Because of our usage habits, only one solenoid is necessary to achieve a cold water wash, and thus the signals were physically exchanged between the hot and cold solenoid valves to avoid the need to purchase any spare parts and bring the machine back into service as promptly as possible. An extension of wires was necessary to enable this workaround to be completed.

That being said, it doesn’t restore full functionality (e.g. hot or warm wash is not possible). The lifetime of the remaining hot solenoid is also unknown, along with the other pumps and motors that make up the remainder of the machine. Should the hot solenoid also fail, it’s probably a good time to take the solenoid assembly out and clean out the diaphragms and see if that restores functionality. If not, a whole replacement of the unit is probably the next best option short of replacing the whole machine.

All in all, it was a pretty interesting project to have undertaken – it’s not everyday you make an improvised hack to keep a washing machine going.

I also did make an improvised hack of an LG fridge that didn’t get posted – this one had constant beeping and random front panel button activation, so I disconnected the front panel which rendered the unit silent but with a loss of manual temperature selection. The fridge continues to serve us today, over eight years since the modification. It’s probably a win for the environment too – waste averted!

Posted in Electronics | Tagged , , , | Leave a comment