Penguin Wireless N USB Adapter for GNU / Linux (TPE-N150USB) Debian Firmware Install

Notes: These directions also work for TPE-N150USB, TPE-N150USBL, & TPE-NUSBDB. If you encounter errors please rotate through your USB ports until device works, or upgrade the kernel as instructed below. Older releases in particular have incomplete support for some USB controllers and switching USB ports on some systems that have multiple controllers will sometimes resolve the problem.

For Debian 6 (Squeeze) upgrade to the 3.2 kernel if you have the TPE-N150USB or TPE-N150USBL wireless adapters. If you have the TPE-NUSBDB wireless adapter you'll need to upgrade to the 3.5 kernel first, and then continue with the Debian 7 & 8 & 9 & 10 directions following the link:

http://www.cyberciti.biz/faq/debian-linux-6-apt-get-install-linux-kernel...

To use Debian 7 (Wheezy) or Debian 8 (Jessie) or Debian 9 (Stretch) or Debian 10 (Buster) with the adapter(s) do the following (if you have the TPE-NUSBDB adapter upgrade to at least 3.5 kernel using instructions above first):

Open a terminal and run:

sudo su [enter password if prompted]

or you may have to do:

su [enter password if prompted]

cd /lib/firmware

For Debian 7 & 8 do this:

wget https://www.thinkpenguin.com/files/ath9k_firmware_free-version/htc_9271.fw
wget https://www.thinkpenguin.com/files/ath9k_firmware_free-version/htc_7010.fw

For Debian 9 do this:

apt-get update
apt-get install wget
wget https://www.thinkpenguin.com/files/ath9k_firmware_free-version/deb9.tar.gz
tar xf deb9.tar.gz

reboot

Also Note: If you are on Debian 9 (Stretch) and you see a list of access points, but can't connect try this:

sudo nano /etc/NetworkManager/conf.d/l.conf

Add the following to this file:

[device]
wifi.scan-rand-mac-address=0

Then restart network manager:

sudo service network-manager restart

* Other network managers such as wicd will also work fine or you can use to work around the bug in Debian 9's Gnome Network Manager (sudo apt-get install wicd)

In Debian 9 systemd assigns very long names and this can create problems connecting. See here for solution.

For Debian 10+:

Debian has packaged the ath9k-htc firmwares separately and now builds the firmware from sources. This means you can safely install the firmware-ath9k-htc package without enabling the non-free repository or having to manually install the firmware as was the case in prior releases.

sudo apt-get install firmware-ath9k-htc

For Debian 11:

With Debian 11 the firmware was finally packaged properly and it is now in the main repository so you can simply run the command below to install it. Future releases may even include the package on install media so you can utilize the adapter during a net install.

sudo apt-get install firmware-ath9k-htc

Note: The license for the above ath9k-htc firmware files is here: here and the source code is available here.

For deb9.tar.gz version of the firmware which was built by Parabola GNU/Linux-libre: https://www.parabola.nu/packages/libre/x86_64/linux-libre-firmware/ the upstream source code 1.3-2 can be built from the source code available here: https://jxself.org/git/?p=linux-libre-firmware.git