Wpa_supplicant is a network management daemon that runs in the background on your computer and connects you to wireless networks. It supports open networks, WEP networks, and WPA networks.

Puppy supports wpa_supplicant with the Network Wizard, but not in roaming mode. Roaming mode is a godsend for people with laptops who may need to reconfigure their wireless network several times a day. In roaming mode, you set up each network one time, and wpa_supplicant will automatically connect to it whenever you're in range. If multiple networks are in range, you can set priorities to tell wpa_supplicant which one you prefer.

Until now, the only way to configure wpa_supplicant roaming mode was by editing the configuration files by hand, or use wpa_gui (http://www.murga-linux.com/puppy/viewtopic.php?t=47838). Wpa_gui has a somewhat confusing interface and requires large Qt libraries, so I thought it was time someone wrote a lightweight GUI frontend that was specifically designed for and integrated into Puppy.

Pwireless2 looks much the same as the original Pwireless [well not so much any more] but the guts are totally replaced. Pwireless2 uses wpa_cli to communicate with wpa_supplicant. Wpa_supplicant handles profile storage, and all network configuration tasks. I've also included an upgraded version of Dhcpcd which handles allocating IP addresses and notifying you when the status of your network changes.

Finally, I've modified a program called gtrayicon to provide you with a very basic networking tray applet. Clicking on the applet will tell wpa_supplicant to start or stop (clicking it if you haven't configured any networks won't do much of anything). Right click and choose Configure to launch the Pwireless2 configuration gui.

Installing the pet below will place a script called "Pwireless2" in /etc/inid.d. The script handles the launching of wpa_supplicant and dhcpcd. Gtrayicon is launched from /root/Startup/gtrayicon.

Currently Pwireless2 doesn't have support for wpa-enterprise. If anyone desires this functionality, let me know and I'll think about adding it. Also let me know if you find any bugs.

It should also be noted that Pwireless2 conflicts with Network Manager. So you should remove any profiles from Network Manager before installing the pet. After installing the pet, you should reboot, and everything should start up automatically.

The ralink staging drivers (ie rt2860sta and similar) in kernel 2.6.30.5 do not work with Pwireless2. Please upgrade to 2.6.31.5 or newer.

EDIT: I've uploaded a new version with a bugfix for interfaces that are not named wlan0.
EDIT - 11-18-09: I've uploaded a new version with several enhancements and bugfixes. I've added tabs for logging and dns and increased the verbosity of the status. Also fixed a bug where dhcpcd would not update the resolv.conf. Attempted to make the startup script a little smarter.
EDIT - 11-18-09:Fixed a bug where long log files would break the GUI.
EDIT - 11-18-09:Fixed a bug with wpa2 and other minor enhancements
EDIT - 11-23-09:UI and backend enhancements
EDIT = 11-30-09:UI and backend enhancements
EDIT = 11-30-09:a quick bugfix for the reset-wpa script
Edit - 12-02-09 : bugfix for quit button and connection dialog
Edit - 12-03-09 : bugfix for 32bit WEP keys and SSID names and passwords containing spaces
Edit - 12-09-09: Improvements to the Gui
Edit - 1-03-10: Added Dhcp configuration tab, improvements to the gui, and bugfixes
Edit - 1-6-10: Patch to gtrayicon so it will work on Puppy 4.2 (you still need to install libgio)
Edit - 1-17-10 Moved some files around and make some changes to make Pwireless2 work better for repackaging for Quirky and other puplets. Minor gui improvements and bugfixes. Added 'nolink' dhcp option for flaky connections. Fix to start dhcpcd when no wireless interface is found. and fix for wpa_supplicant "failed to start" error (hopefully).
Edit - 2-10-10 - Nolink mode now the default, I'm using wpa_cli to monitor the connection and coordinate dhcp. Also the init.d script is fixed to shutdown properly.
6-22-10 Various updates synced from Puppeee version

Looks pretty good, especially the tray icon - where did you get that anyways?

One note: dhcpcd and wpa_supplicant are compiled to /usr/local instead of /usr ... can be fixed by compiling with --prefix=/usr (or by editing the makefile)
currently there is already a version of wpa_supplicant in /usr/sbin that will override /usr/local/sbin unless $PATH is modified

I already recompiled gtrayicon but can recompile it again with different default icons (png etc) if you tell me which ones should be default for activate/deactivate

Edit: posted new gtrayicon with patches... also patched it for optimization and to use existing icons as the default:
Deactivate = /usr/share/mini-icons/mini-rball.xpm
and
Activate = /usr/share/mini-icons/mini-gball.xpm

My intent was to have the old system versions of dhcpcd and wpa_supplicant be the default, to avoid breaking anything and make the package uninstallable. The 'networking' script calls the newer versions by the full path. I did build this pet the hodge-podge way and didn't bother rebuilding with /usr/local in the Makefile; does that break anything? Seems to run ok in my tests.....

You'll need the patch I made for gtrayicon. It allows you to change the state of the applet by sending a SIGALRM or SIGCONT. Otherwise, there's no way to communicate with it except clicking.

I stole the icons from the dhcpcd-ui applet, not sure if that's totally ok or not. [Edit: I discovered these are actuall Tango icons, so yes it is ok] I'd welcome any user-contributed iconset. I didn't compile them in; gtrayicon allows you to specify them on the command line when you start gtrayicon. You can see what they are by looking at the /root/Startup/networking script.

If Pwireless2 doesn't work for you, just uninstall the pet, and then add your profiles back into Network Wizard. Pwireless2 doesn't break Network Wizard, you just shouldn't try use them both at the same time.

If you just want to test it with no commitment, make a backup of your save file, then create a new clean save. When you are done testing, put the original save back, and you are back to normal. I haven't tested Pwireless2 on anything but 4.3.1 so let me know if it has a problem on other versions.

I tried it with Puppy 431 on a laptop that I had set up to use ndiswrapper to load a windows driver for my USB Netgear WG111T wireless device.
I got a message of no network interfaces found.
So I must have been doing something wrong.
Laptop is Compaq Presario 450mhz 160megs ram internal wired (not connected) port and the external USB port the Netgear WIFI stick was connected to.

I've just installed Pwireless2 on a new install of Puppy 4.2.1, all went smoothly except that I got a report of a missing dependency ( libgio-2.0.so.0 ) for the Ptray icon - ignore? - and I had to make the initial connection using Network Wizard. I've loaded my home wireless profile into Pwireless 2, presumably now I need to delete any copies of that profile in Network Wizard?

I've found what may be a bug in networking. My wireless card uses a Ralink chipset - rt61 driver - and the interface identifies as wlan0. Looking in networking, if I read it correctly it expects ralink to identify as ra0, and sees wlan0 as identifying wext. Running Network manager correctly uses the rt73 driver and the link and activity lights on my card light up, with Pwireless although it reports completed there is no light activity. I know earlier drivers for rt73 identified as ra0, not sure when it changed to wlan0.

I think if it identifies as wlan0 it's supposed to use wext, but I'm not exactly a Linux networking expert yet. Do you get an error that wpa_supplicant has failed to load? You need to actually add a network for it to do anything. I'm assuming you've scanned and nothing shows up.

You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot vote in polls in this forumYou cannot attach files in this forumYou can download files in this forum