The solution I provided here involves using a Puppy computer as a wifi bridge
A more comprehensive approach; wifi access point PLUS full router solution, is now provided by rcrsn51 here -
http://www.murga-linux.com/puppy/viewtopic.php?t=95768
A Linux computer can be used as wifi access point ("hotspot") using the hostapd application, now attached.
At Feb 2013 I have compiled hostapd under Slacko 5.4. This package might work with other Puppy versions and their modern kernels, but it's likely to fail with older Puppy versions (such as Lucid 5.1/5.2.x) since older kernels don't have "nl80211" wifi support.
INSTRUCTIONS:
Install these two dotpets -
http://www.smokey01.com/tempestuous/hostapd-2.0.pet
http://www.smokey01.com/tempestuous/bri ... ls-1.5.pet
First have a think about:
- what you want your Access Point to be known as - this is the SSID.
- whether you want WPA or WPA2 encryption, or no encryption.
- if encryption, what passphrase. Then you should convert your chosen ASCII passphrase into its true 64 digit hex value, using this command -
Code: Select all
wpa_passphrase <ssid> <passphrase>
I have pre-configured this file for the SSID of "Puppy_Hotspot", using WPA2 encryption, with the PSK passphrase "woof1234".
so there's no need to change anything - you can just use my settings if you wish.
But it's worth opening /etc/hostapd.conf in Geany just to see what I'm talking about. You will see that I have commented out the PSK password (woof1234) and used the full passphrase hex value, calculated as explained earlier.
Note the relevant value for WPA2 encryption: "wpa_pairwise=CCMP"
If you want to use the older WPA encryption, you will need: "wpa_pairwise=TKIP" and "wpa=0"
And if you want no encryption, you will need to comment out the line "wpa=.."
Now connect your Puppy computer's ethernet interface to some form of modem/router. This will be the internet connection that you are about to share via your wifi interface.
I will assume your ethernet interface is "eth0" and your wifi interface is "wlan0".
If in doubt, run this command to check -
Code: Select all
ifconfig
Code: Select all
ifconfig eth0 down
Go to Menu > System > System Status and Config > Pprocess process manager
and somewhere in the list of processes you should see "dhcpcd -d -l eth0"
Select it, and press "End process"
Now you need to remove the stale dhcpcd run file with this command -
Code: Select all
rm -f /var/run/dhcpcd-eth0.*
Code: Select all
ifconfig wlan0 down
iwconfig wlan0 mode Master
Code: Select all
ifconfig eth0 0.0.0.0 up
ifconfig wlan0 0.0.0.0 up
modprobe bridge
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 wlan0
Now in theory it's optional to give the Puppy computer an IP address for its bridged interface,
but in practice I found this is essential. So do this -
Code: Select all
rm -f /var/run/dhcpcd-br0.*
dhcpcd -t 30 -h puppypc -d br0
Various code will run by, and eventually you should see "...forking to background".
Now you're finally ready to run the hostapd daemon
Code: Select all
hostapd /etc/hostapd.conf -dd
"wlan0: Setup of interface done.
l2_packet_receive - recvfrom: Network is down"
Don't worry, this means success.
Any wifi client (running on any operating system) should now be able to connect to your Puppy access point.
THE GOOD NEWS IS THAT I HAVE CREATED A SCRIPT WITH ALL THESE COMMANDS!
The script is installed at /usr/bin and it's called "Wifi-AP-launch.sh"
Obviously you can run this script from an rxvt terminal, but better still, I have created a desktop launch-script called "Wifi-AP-launch". With ROX, go to /usr/bin and drag the icon for "Wifi-AP-launch" (not Wifi-AP-launch.sh") onto the desktop. This is ready to go, but it has a generic icon. To give it a nice icon, right-click it, select File 'Wifi-AP-launch' > Set Icon...
and this will present a window. Use ROX to drag /usr/local/lib/X11/pixmaps/Wifi-AP-48.png into the window.
Done!