Wifi in Puppy. How does it work, what do I need to know? First you need a suitable driver for your wifi device. The right driver is NOT determined by the manufacturer of the wifi adaptor, but by the chipset contained within the wifi adaptor. From version 2.12 onwards, Puppy Linux includes EXTENSIVE wifi driver support, including many Linux drivers written by independent development projects not aligned with the official Linux kernel. For wifi chipsets not supported by a native Linux driver, Puppy also includes ndiswrapper, which will "wrap" a Windows driver. Obviously, you must supply the Windows driver files. ndiswrapper is a workaround solution, but sometimes it's the ONLY solution. Usually, Puppy will automatically detect your wifi device, and load the suitable driver from its "zdrv" compressed driver collection. Then to configure your wifi connection, you should simply run the Network Wizard. This will make sure you have a driver loaded, and scan for available wifi networks. The Network Wizard now supports WPA encryption as well as the older WEP encryption. There is also another wifi wizard available, RutilT, which is much larger. Its WPA support is limited to Ralink-based wifi adaptors only, because its development was originally based around the Ralink driver. "WAG" is an older Puppy wifi wizard, which has been replaced by the Network Wizard. The Network Wizard will provide a fast and simple connection in the majority of cases, but sometimes the setup will fail ... WHAT THEN? If you are prepared to run commands from the command prompt (in rxvt), here are the basic commands for setting up a wifi connection. Remember, this is exactly what the wizard is doing. Even if some of these commands fail, at least you will gain a clue about what is going wrong. ## first check that your driver has created a valid network interface ifconfig iwconfig ## both of these commands should indicate your wifi interface, ## the interface can be called "eth.." "wlan0" "ra0" "ath0" or "rausb0" ## for the sake of this example, let's assume "eth1". Now continue - ifconfig eth1 up #(sometimes necessary) iwconfig eth1 essid MY_ESSID key 1234567890 mode managed ## obviously replace "MY_ESSID" with your SSID ## and "1234567890" with your WEP encryption key ## now for automatic IP - ## first remove stale dhcpcd file if it exists rm /etc/dhcpc/*.pid dhcpcd -t 30 -h puppypc -d eth1 ## or for static IP ## modify /etc/resolv.conf to include your nameservers #ifconfig eth1 192.168.0.xx broadcast 192.168.0.255 netmask 255.255.255.0 #route add default gw 192.168.0.1 eth1 # or whatever your router's IP is