wok-current rev 1941

tazndis, Ask for starting at boot timeadd. Add CHANGELOG file.
author Eric Joseph-Alexandre <erjo@slitaz.org>
date Sat Dec 27 22:07:42 2008 +0100 (2008-12-27)
parents ef142acb45e8
children 8c110ce7ce64
files tazndis/stuff/CHANGELOG tazndis/stuff/tazndis
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/tazndis/stuff/CHANGELOG	Sat Dec 27 22:07:42 2008 +0100
     1.3 @@ -0,0 +1,10 @@
     1.4 +2008-12-27	Eric Jsoeph-Alexandre	<erjoslitaz.org>
     1.5 +
     1.6 +* Add set_rcs_config, add ndiswrapper to LOAD_MODULES in /etc/rcS.conf.
     1.7 +
     1.8 +* Add load_ndiswrapper, load ndiswrapper kernel module.
     1.9 +
    1.10 +* set_net_config, set WIFI="yes" in /etc/network.conf.
    1.11 +
    1.12 +* new vars: $net_config, set network.conf path.
    1.13 +			$rcs_config, set rcS.conf path.
     2.1 --- a/tazndis/stuff/tazndis	Fri Dec 26 20:56:19 2008 +0000
     2.2 +++ b/tazndis/stuff/tazndis	Sat Dec 27 22:07:42 2008 +0100
     2.3 @@ -26,6 +26,7 @@
     2.4  #*
     2.5  #*/
     2.6  
     2.7 +$VERSION="1.53.1";
     2.8  $ENV{PATH} = "/sbin:/usr/sbin:/bin:/usr/bin";
     2.9  
    2.10  my $WRAP_PCI_BUS = 5;
    2.11 @@ -45,7 +46,9 @@
    2.12  my $re_dev_conf = "$re_dev_id:$re_dev_id\.([[:xdigit:]]+)\.conf";
    2.13  
    2.14  my $rcs_config = "/etc/rcS.conf";
    2.15 -$rcs_config_change = 1;
    2.16 +my $net_config = "/etc/network.conf";
    2.17 +my $config_change = 1;
    2.18 +
    2.19  
    2.20  # fixup list for parameters.
    2.21  my %param_fixlist = ("EnableRadio|0" => "1",
    2.22 @@ -66,6 +69,7 @@
    2.23  
    2.24  # "-D" is for development/debugging only
    2.25  if ($ARGV[0] eq "-D") {
    2.26 +	my $dbg = true;
    2.27      $dbg_file = "/tmp/ndiswrapper.dbg";
    2.28      $confdir = "/tmp/ndiswrapper";
    2.29  	open(DBG, "> $dbg_file") or die "couldn't open $dbg_file: $!";
    2.30 @@ -194,6 +198,7 @@
    2.31  	  " by driver ('%s')!\n", $utils_version, $module_utils_version;
    2.32  	$res = -1;
    2.33      }
    2.34 +    printf "tazndis version: %s\n ", $VERSION;
    2.35      printf "utils version: '%s', utils version needed by module: '%s'\n",
    2.36        $utils_version, $module_utils_version;
    2.37      printf "module details:\n";
    2.38 @@ -209,32 +214,60 @@
    2.39  
    2.40  sub set_rcs_config {
    2.41      # Add ndiswrapper to LOAD_MODULES if needed.
    2.42 -    open (RCS_CONF, "< $rcs_config") or die "couldn't open $rcs_config:$!";
    2.43 -    open (RCS_CONF1, "> $rcs_config.tmp") or die "couldn't open $rcs_config.tmp for writting:$!";
    2.44 -    LINE: while(<RCS_CONF>){
    2.45 +    open (CONFIG, "< $rcs_config") or die "couldn't open $rcs_config:$!";
    2.46 +    open (CONFIG1, "> $rcs_config.tmp") or die "couldn't open $rcs_config.tmp for writting:$!";
    2.47 +    LINE: while(<CONFIG>){
    2.48      	if(/^LOAD_MODULES/){
    2.49      		if (!/^LOAD_MODULES=.*ndiswrapper/){ 
    2.50     				print "Add ndiswrapper to module list...\n";
    2.51      			$_ =~ s/(.*)\"$/$1 ndiswrapper\"/;
    2.52 -    			$rcs_config_change = 0;
    2.53 +    			$file_change = 0;
    2.54      		}
    2.55      	}
    2.56  		chomp;
    2.57 -    	print RCS_CONF1 "$_\n";
    2.58 +    	print CONFIG1 "$_\n";
    2.59     	}	
    2.60 -    close RCS_CONF, RCS_CONF1;
    2.61 +    close CONFIG, CONFIG1;
    2.62      
    2.63 -    if($rcs_config_change == 0){
    2.64 +    if($file_change == 0){
    2.65      	rename "$rcs_config.tmp","$rcs_config" or die "couldn't update $rcs_config: $!";
    2.66 +    	$config_change=1;
    2.67      } else {
    2.68      	unlink "$rcs_config.tmp";
    2.69      }
    2.70 +}
    2.71 +
    2.72 +sub set_net_config {
    2.73 +    # 
    2.74 +    open (CONFIG, "< $net_config") or die "couldn't open $net_config:$!";
    2.75 +    open (CONFIG1, "> $net_config.tmp") or die "couldn't open $net_config.tmp for writting:$!";
    2.76 +    print "Set WiFi to start at boot time...\n";
    2.77 +    LINE: while(<CONFIG>){
    2.78 +    	if(/^WIFI=/){
    2.79 +    		if (/^WIFI="no"$/){ 
    2.80 +    			$_ =~ s/^WIFI="no"$/WIFI="yes"/;
    2.81 +    			$config_change = 0;
    2.82 +    		}
    2.83 +    	}
    2.84 +		chomp;
    2.85 +    	print CONFIG1 "$_\n";
    2.86 +   	}	
    2.87 +    close CONFIG, CONFIG1;
    2.88      
    2.89 +    if($rcs_config_change == 0){
    2.90 +    	rename "$net_config.tmp","$net_config" or die "couldn't update $rcs_config: $!";
    2.91 +    	$config_change=1;
    2.92 +    } else {
    2.93 +    	unlink "$net_config.tmp";
    2.94 +    }
    2.95  }
    2.96  
    2.97  sub load_ndiswrapper {
    2.98  	open (LSMOD, " lsmod |") or die "couldn't get loaded module list: $!";
    2.99 -	`modprobe ndiswrapper` unless  (/^ndiswrapper/);
   2.100 +	if(!/^ndiswrapper/){
   2.101 +		print "Loading ndiswrapper...\n";
   2.102 +		`modprobe ndiswrapper`;
   2.103 +	}
   2.104  }
   2.105  
   2.106  sub install {
   2.107 @@ -268,6 +301,12 @@
   2.108      set_rcs_config();
   2.109      load_ndiswrapper();
   2.110      
   2.111 +    # Ask for WiFi at boot time.
   2.112 +    print "Would you to start WiFi at boot time [y/N]? ";
   2.113 +    chomp(my $answer = <STDIN>);
   2.114 +    if (lc($answer) eq "y") {
   2.115 +    	set_net_config();
   2.116 +	}
   2.117      
   2.118      return 0;
   2.119  }