I just needed a simple USB to Ethernet adapter for testing. It does not need to be fast, it does not need to reach USB 3.0 speeds or gigabit speeds. I own two other USB ethernet adapters that have various reliability issues so I got a random cheap one from ebay.
The adapter I ended up getting was the SR-QF9700 that does not have an actual brand on it. When plugging it into my laptop there was a slight issue though. It shows up as a CD drive...
This is one of those annoying features where USB dongles will present a CD drive with drivers to windows to make them work, ignoring that this is just an rndis device that has worked without special drivers for decades. This wouldn't be problematic if it exposed both the ethernet interface and the driver CD at the same time so I could just ignore it.
In theory this can be made working by hacks such as usb_modeswitch
but I've seen several forum posts online that mention it not working on this hardware. Even if that did solve the issue, it still makes this device useless for me because I don't want to mess with special software on every device I plug it into.
I was ready to add this adapter to the e-waste problem but then I thought about how this would be handled from the manufacturing side. The chip is generic but those driver installers are usually branded. There needs to be somewhere to actually store the drivers on the device...
Taking it apart
This thing is very easy to open. There are no screws or clips in it at all, it's all held together by the sticker with the model number.
Inside the adapter is a simple PCB that has a crystal and the USB ethernet module. This particular adapter contains a CoreChips SR9700 single-chip ethernet controller. Doing anything interesting with this would be hard, there's not really public documentation for this chip except for the pin descriptions. The SR9900 datasheet mentions some internal one-time programmable memory, but it being one-time programmable does not really help me.
So lets look at the back of the PCB
Another chip! This is an 4MBit SPI Nor flash chip. This must be the chip actually storing the windows drivers.
So what is the behavior of the ethernet controller chip if this chip is absent...
SPI flash pinouts are pretty standardized, but I looked up the datasheet for this specific chip to be sure:
There's many ways to make a SPI flash chip temporarily not function. I decided to jam a screwdriver between the CS
and SO
pin to make the chip unable to respond to SPI communication. With the screwdriver in place I plugged in the USB cable and behold:
Ethernet! Well that was easy. Now to make this permanent I shorted together the same two pins with my soldering iron since removing the whole chip is way harder.
So instead of messing with any device/computer I want to plug this ethernet adapter into I now have a normal USB ethernet adapter with just one extra solder connection :)