Hacking a printer’s WiFi module.

A cousin of mine dropped over to my house an out of economical repair inkjet printer. HP Photosmart Plus All-in-One B209a to be exact. I dismantled it and kept the main board and the motors. While trashing the left overs I noticed the WiFi logo on one of the plastic covers. Immediately picked up the main board and there was a daughter board. I took the board out (standard 0.079″ [2 mm] pitch connector) and saw an Atheros chip. AR2524-AQ1C. I knew by heart it was an Atheros USB WiFi chip. A free WiFi USB dongle maybe? Lets find out.



The first thing I had to do was to have a look at the connector. 8 pins in total. Locating Vcc was piece of cake! Pins 1 & 2. Ground was also trivial. Pins 3,4 and 8. Pins 5 & 6 were connected to a tiny ferrite transformer, so one must be D+ and the other D- of the USB differential data bus. The only one remaining to identify was pin 7. I thought it should be something like module enable/disable pin. Pull it low/high to Enable/Disable the module or something similar. I decided to leave it unconnected.


I had also to convert the USB’s +5 volts to +3.3 volts for the module. So I bodged together a 3.3 volts voltage regulator.


The next thing to do was to find an old USB cable and bodge everything together.




Time to connect it… I immediately run lsusb. Success!

0ace:1215 ZyDAS ZD1211B 802.11g

After that I installed the z1211-firmware (Firmware for the in-kernel26 zd1211rw wireless driver). There you go. A free WiFi USB dongle. Actually I am writing this post while connected to the Internet using the salvaged WiFi card.

This entry was posted in Electronics, Miscellaneous, Science and tagged , , , , , , , , , , , , , , , , , . Bookmark the permalink.

12 Responses to Hacking a printer’s WiFi module.

  1. Galane says:

    Nice! Now how about those “winprinters” that have zero onboard “smarts” and rely on the host PC to control 100% of everything? They’re basically a stepper motor breakout board connected to a parallel port and the printer driver is specialized motion control software. The USB ones are a bit more sophisticated to deal with taking commands over USB, but the positioning of the paper and printhead and where the ink is applied is controlled by the host.

  2. sam says:

    i tried the same hack as i had an old broken wifi hp printer laying around. my wifi card is different from yours though. it is a broadcom bcm94319wlusbn4l card. it has got the same 8 pin setup. so i soldered a 3.3v regulator and a usb cable together. now lsusb only gives: Bus 001 Device 006: ID 0a5c:bd16 Broadcom Corp. Is this a dead end or do you have any sugestions on how to get this thing to work? i dont think there are any drivers but im not sure.

  3. Alex Sanders says:

    do you think it could be possible to separate the card reader and scanner from the dead printer?

    • Alex Sanders says:

      Maybe the Touchsmart display? very same model

    • alexkaltsas says:

      The specific printer didn’t use a distinct usb host chip via USB, SPI or a similar bus. It was using the usb host capability of the SOIC running a GNU/Linux flavor. So you can;t separate the card reader. The same goes for the scanner.

      • Alex Sanders says:

        Thanks for your answer, I wanted the reader for a project, and the scanner so I can ditch the rest, but I guess I will find it some room till I get another scanner.

  4. I had also one lying around and saw this post. hooked it up to my arduino trough the 3.3v pin and the rx tx. saw it on the screen as a 802.11b/g lp/sc usbless adapter. but it cant find drivers for it. any ideas?

  5. This is a great Post i have the exact board for years and i just stumbled here. Always wanted to use this for something! Now i can 🙂

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s