SymPak Posted May 14, 2013 Share Posted May 14, 2013 (edited) UPDATE v1.3, Pineapple v2.8.1 and v3.0.0 compatible! Hi all,This update brings WPS button cancel to stop the script, ICS improvements including network address detection in case your pineapple is using a different IP address, command execution upon successful connection and general improvements and bug fixes. Other features include, blacklisting and whitelisting for unencrypted networks, /etc/config/wireless backup, /etc/config/wireless restore, temporarily blacklisting the internal Wifi MAC addresses to prevent it from connecting to itself, automatic internet connection sharing setup, options to start karma once connected, macchanger support for random MAC addresses on both WLAN0 and WLAN1 interfaces, connecting to user specified wifi including encrypted and unencrypted networks and WPS button LED feedback. More info: ICS now shares to br-lan by default. Specify what interface you want to share the internet connection to using the -t option. The /etc/config/wireless file can now be backed up and restored with the script. Run ./connect.sh -B to backup and ./connect.sh -R to restore. Blacklisting and whitelisting can now be done through the script. Use the -b option to specify an access point you want to blacklist. Use the -w option to specify an access point you want to whitelist. Use the -W option to use the whitelist. Blacklists and whitelists only work with unencrypted wifi networks. Commands can now be run upon successful connection. Commands are to be placed on their own line in commands.txt in the same directory as connect.sh. Create commands.txt manually, or alternatively by running connect.sh with the -c option. If commands.txt does not exist it will be created. If it does exist the commands will be run as specified in the file. WPS button LED feedback: The WPS button LED will flash when the script starts. This means the script is starting. After 30 or 40 seconds count the flashes! There will be a series of flashes followed by a pause. The flashes will then repeat.Currently there are 3 status states:If the WPS LED goes solid, the script executed successfully! The pineapple is now connected to Wifi and has an IP address.If the LED flashes once, it found wifi but was unable to obtain an IP address.If the LED flashes twice, the pineapple was unable to find any open wifi networks.If the connection is not successful, the WPS LED will remain off. Restarting the pineapple will restore the LED to normal operation. Installation Download the attached file below. Copy or create the wificonnect directory at /pineapple/components/wificonnect/ (or where ever you would like) and place connect.sh in it. SSH into your pineapple, change into the script directory with cd and execute (without quotes): "chmod +x connect.sh". WPS Button Pineapple v3.x Go to the Configuration tile > Button Configuration and add the following to the wps button script (without quotes): "sh /pineapple/components/wificonnect/connect.sh -i wlan1 &" (for external wifi) or "sh /pineapple/components/wificonnect/connect.sh -i wlan0 &" (for internal wifi). IMPORTANT: Keep the & at the end to ensure the script works properly. It is necessary if you would like to use the WPS button to stop the running script. Alternatively, you can add this to a custom script in the WPS Manager infusion or run it from the terminal. Pineapple v2.x Go to the configuration tab in the Pineapple Control Center and add the following to the wps button script (without quotes): "sh /pineapple/components/wificonnect/connect.sh -i wlan1 &" (for external wifi) or "sh /pineapple/components/wificonnect/connect.sh -i wlan0 &" (for internal wifi). IMPORTANT: Keep the & at the end to ensure the script works properly. It is necessary if you would like to use the WPS button to stop the running script. Alternatively, you can add this to a custom script in the Button infusion or run it from the terminal. Screenshots Wifi Connect v1.3 Created by: SymPak USAGE: ./connect.sh [-BRWkrc] [-i <wlan0|wlan1>] [-s SSID] [-p Wifi Password] [-t Interface] [-b SSID] [-w SSID]... OPTIONS: -B Backup /etc/config/wireless -R Restore /etc/config/wireless from backup -k Start Karma -r Random MAC -i Interface -s SSID -p Wifi Password -t To interface for ICS. From interface is specified with -i -w Whitelists AP by SSID. Scans with WLAN0 if no interface is specified. Unencrypted netowrks only -W Checks for and connects to networks specified in the whitelist. Unencrypted netowrks only -b Blacklists AP by SSID. Scans with WLAN0 if no interface is specified. Unencrypted netowrks only -c Run commands specified in commands.txt upon successful connection. Blacklisting and whitelisting screenshot: root@Pineapple:/pineapple/scripts/wificonnect# ./connect.sh -i wlan1 -b someAPStarting on wlan1Scanning for wifisomeAP added to blacklistDone.root@Pineapple:/pineapple/scripts/wificonnect# ./connect.sh -i wlan1 -w myAPStarting on wlan1Scanning for wifimyAP added to whitelistDone. root@Pineapple:/pineapple/scripts/wificonnect# ./connect.sh -i wlan1 -WStarting on wlan1Stopping karmaScanning for wifiChecking for whitelisted APsFound myAP in whitelist.Connecting to myAP on channel 6 signal quality 72%Requesting IP Address ConnectedConfiguring ICSDone. Backup and restore screenshot: root@Pineapple:/pineapple/scripts/wificonnect# ./connect.sh -BWireless configuration file backed upDone. root@Pineapple:/pineapple/scripts/wificonnect# ./connect.sh -RWireless configuration file restored from backupDone. If you encounter any errors please report them here. Also feature requests or improvement suggestions are always welcome! Note: If you would like to use parts of this script for a script or infusion of your own, contact me by a PM. -SymPak wificonnect-v1.3.zip Edited September 26, 2013 by SymPak Quote Link to comment Share on other sites More sharing options...
dustbyter Posted May 14, 2013 Share Posted May 14, 2013 (edited) Sympak, How appropriate, I was just about to post a question about connecting to another wifi. In my setup, i was trying to connect a usb nic to a secured network, I was able to but never got an IP Address. udhcpc just was waiting.... The command I used were... iwconfig wlan0 mode managed iifconfig wlan0 up iwlist wlan0 scan | grep SSIDiwconfig wlan0 essid <networkname> key <networkkey>udhcpc -i wlan0 -B Your script looks for strongest open wifi, it wont be to hard to configure a network key and hard code ESSID to connect to. Edited May 16, 2013 by dustbyter Quote Link to comment Share on other sites More sharing options...
SymPak Posted May 14, 2013 Author Share Posted May 14, 2013 Dustbyter, I find it better to edit /etc/config/wireless using the uci command. More info about the UCI system and /etc/config/wireless here: http://wiki.openwrt.org/doc/uci Also, try udhcpc -n -i wlan0. The -n option makes udhcpc exit after 3 failed tries. By default, it just sits and waits after 3 tries. The next version of my script will include user specific ESSIDs and passkeys. Quote Link to comment Share on other sites More sharing options...
kpoeticg Posted May 15, 2013 Share Posted May 15, 2013 (edited) Dustbyter. It looks like you're forgetting to put "mode managed" in the iwconfig cmd. Also don't forget that iwconfig will only associate to WEP or OPEN networks. You need wpa_supplicant for WPA/WPA2. Keep in mind the Network Manager infusion works pimp for connecting to a single secured network now since the 2.8.1 update. SymPak, this script looks sick as hell. Great features. Can't wait for the option to keep a list of user-defined networks with keys! U should add a macchanger -r or -A $WIFI_INT to the beginning. It would be sick as hell if this could interface with reaver or access the reaver infusion somehow. Lol the Jammer would be sweet too before Karma starts. That would really automate things!!! Sorry I'm getting carried away q=] Edited May 15, 2013 by kpoeticg Quote Link to comment Share on other sites More sharing options...
SymPak Posted May 15, 2013 Author Share Posted May 15, 2013 Thanks! I could have kept adding features, but I did not want to get ahead of myself. I am currently working on adding the list of user defines networks and setting up ICS once it has an ip address. After that I will begin work on an infusion to act as a control interface. Adding a macchanger is a good idea! I will look into implementing it. Quote Link to comment Share on other sites More sharing options...
dustbyter Posted May 15, 2013 Share Posted May 15, 2013 I was setting my connection to connect with a WEP protected AP, thus I used iwconfig. Quote Link to comment Share on other sites More sharing options...
kpoeticg Posted May 15, 2013 Share Posted May 15, 2013 Sorry, my adhd turns me into captain obvious sometimes. Quote Link to comment Share on other sites More sharing options...
SymPak Posted May 25, 2013 Author Share Posted May 25, 2013 Just a small status update. Version 1.1 will be out soon with some new features! Features will include: User specific wifi (encrypted and unencrypted) Option to start karma once connected Option to change to a random MAC address Automatic setup of internet connection sharing between wifi interfaces. I would also like to get some feedback from those of you who have tried my script. Has it worked for you? Have you had issues running it? Anything helps. -SymPak Quote Link to comment Share on other sites More sharing options...
dustbyter Posted May 25, 2013 Share Posted May 25, 2013 SymPak, I ran your script and it worked well. Thanks. Quote Link to comment Share on other sites More sharing options...
SymPak Posted May 27, 2013 Author Share Posted May 27, 2013 Good to hear. Thanks! Quote Link to comment Share on other sites More sharing options...
SymPak Posted May 28, 2013 Author Share Posted May 28, 2013 Updated! v1.1 is now available! Quote Link to comment Share on other sites More sharing options...
Davepheadrus Posted May 29, 2013 Share Posted May 29, 2013 When I try to run the script its comes back with permission denied? Ive tried it in advanced tab and it says nothing and also tried it in putty, ive done chmod.. I noticed my internal wifi card is on wlan0 not wlan1 also. any suggestions? really want to get this up and running! Dave Quote Link to comment Share on other sites More sharing options...
kpoeticg Posted May 30, 2013 Share Posted May 30, 2013 (edited) Did you remember to chmod +x ? Nvm, just saw where u said you did. Internal wifi should be on wlan0 unless u change it. If u chmod +x it shouldn't come back with permission denied. When you're in putty and u do a " ls " in the directory does it show the script in green letters or white? Edited May 30, 2013 by kpoeticg Quote Link to comment Share on other sites More sharing options...
SymPak Posted May 30, 2013 Author Share Posted May 30, 2013 Version 1.1r2 fixes an error in the script. Each line was filled with ^M characters, which caused the script not to run properly. -SymPak Quote Link to comment Share on other sites More sharing options...
SymPak Posted May 30, 2013 Author Share Posted May 30, 2013 Dave, how did you go about putting the script on your pineapple? Starting the script on wlan0 is simple. Just run ./connect.sh -i wlan0 Quote Link to comment Share on other sites More sharing options...
Davepheadrus Posted May 30, 2013 Share Posted May 30, 2013 I put it in pineapple/scrips/connectwifi with winSCP any idea why my internal card is coming up as wlan1 ? I'm guessing it's the internal because when I run iwconfig it gives me 27dbi on wlan0 and 18 or something on wlan1 (at work right now so can't check) I did the chmod, tried it with putty and with winSCP.. When I do factory reset it still loads the wifi the wrong way around I'm using the Alfa awus036h, I'm assuming this card works as it does with everything I've tried in the past..? Quote Link to comment Share on other sites More sharing options...
Status_Fugged Posted May 30, 2013 Share Posted May 30, 2013 I still have that problem with the awus036H...It happens to me when the unit is booted with the Alfa already plugged in...I usually just plug it in post-boot and it is assigned wlan1 as expected. Thought I read somewhere around here that the issue is resolved when using the awus036NH, but maybe not with the 36H...I am using 2.81 Final BTW. -Fugged Quote Link to comment Share on other sites More sharing options...
Davepheadrus Posted May 30, 2013 Share Posted May 30, 2013 Okay cheers, I'll test that tonight, should fix tht issue but still think I'll have the other issue above.. Quote Link to comment Share on other sites More sharing options...
Davepheadrus Posted May 30, 2013 Share Posted May 30, 2013 (edited) Thanks got it to a further point now but still getting errors in the script, Ran iwconfig and it says the wifi is up then I run the script and it says the wifi is unavailable? Then if i run iwconfig again after running the script it says the wifi is now down :s any ideas? here is the output: root@Pineapple:/pineapple/scripts/wificonnect# iwconfig lo no wireless extensions. wlan1 IEEE 802.11bg ESSID:off/any Mode:Managed Access Point: Not-Associated Tx-Power=27 dBm RTS thr:off Fragment thr:off Encryption key:off Power Management:off eth1 no wireless extensions. wlan0 IEEE 802.11bgn Mode:Master Tx-Power=18 dBm RTS thr:off Fragment thr:off Power Management:on eth0 no wireless extensions. br-lan no wireless extensions. root@Pineapple:/pineapple/scripts/wificonnect# ./connect.sh -i wlan1 Stopping karma Starting on wlan1 Scanning for wifi Scan not completed. Retrying. 1 of 3 Scan not completed. Retrying. 2 of 3 Scan not completed. Retrying. 3 of 3 Cannot scan for wifi. Interface down or unavailable. Done. Edit: Same error when I remembered to specify the -s and -p functions Edited May 30, 2013 by Davepheadrus Quote Link to comment Share on other sites More sharing options...
kpoeticg Posted May 30, 2013 Share Posted May 30, 2013 Sounds like it could be an issue in ur /etc/config/wireless file... Quote Link to comment Share on other sites More sharing options...
Davepheadrus Posted May 30, 2013 Share Posted May 30, 2013 Hmmm I did mess with that file a while ago trying to get this set up but Ive ran a factory reset since, also when i look the alterations i made are gone. What else could I try or would I need to re-flash? Quote Link to comment Share on other sites More sharing options...
kpoeticg Posted May 30, 2013 Share Posted May 30, 2013 Paste the file here Quote Link to comment Share on other sites More sharing options...
SymPak Posted May 30, 2013 Author Share Posted May 30, 2013 Thats not an /etc/config/wireless issue. Thats an issue with the iwlist command. The interface isn't allowing a scan to be completed. Try executing iwlist wlan1 scan and see what errors it gives Quote Link to comment Share on other sites More sharing options...
thesugarat Posted May 30, 2013 Share Posted May 30, 2013 Davepheadrus, What firmware are you using for your pineapple? Doesn't the ifconfig command show the MAC address of the devices? That should help you determine which is which wlan device... By the TX power I'd say your internal is wlan0 at 18. And you must have an Alpha with "iw reg set" to another county to get 27 on wlan1? Just guessing. Quote Link to comment Share on other sites More sharing options...
Davepheadrus Posted May 30, 2013 Share Posted May 30, 2013 wlan1 Failed to read scan data : No such device thats what i get for "wlist wlan1 scan" if i do ifconfig wlan1 up before it. if i do it without ifconfig wlan1 up then it says: wlan1 Interface doesn't support scanning : Network is down @thesugarat Im running the newest (2.8.1? idk) but I flashed only a few days ago onto whatever was the newest.. & it is the alfa, I only get 27 dBm when i plug the alfa in after reboot and then do 'ifconfig wlan1 up' otherwise it just says 0. and after any task at all it goes back to 0. what do you mean about other country's? I live in the UK if that has anything to do with anything.. Cheers, Dave Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.